{"version":3,"file":"main-es2015.js","mappings":"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AAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;IAC9C,GAAG,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE;CACjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9C+G;AAErD;AAER;AACqB;AAC9B;AACD;AAGM;;;;;;;;ICFvC,yEAAsE;IAClE,wEAAqB;IAAA,uDAA2C;;IAAA,4DAAI;IACxE,4DAAM;;IADmB,0DAA2C;IAA3C,2JAA2C;;;IAyBjC,uEAAkC;IAAA,uDAAyB;IAAA,4DAAO;;;IAAhC,0DAAyB;IAAzB,iGAAyB;;;IAAO,uEAA+B;IAAC,uDAAoB;IAAA,4DAAO;;;IAA3B,0DAAoB;IAApB,6FAAoB;;;;IALrJ,yEAA4K;IAAnH,0YAA2B;IAChF,qEAAI;IAAA,uDAAsB;IAAA,4DAAK;IAC/B,qEAAI;IAAA,uDAAY;IAAA,4DAAK;IACrB,qEAAI;IAAA,uDAAqB;IAAA,4DAAK;IAC9B,qEAAI;IAAA,uDAAsB;IAAA,4DAAK;IAC/B,qEAAI;IAAA,wDAAuB;IAAA,0IAAkE;IAAA,0IAA2D;IAAA,4DAAK;IAC7J,sEAAI;IAAA,wDAAqB;IAAA,4DAAK;IAClC,4DAAK;;;;IAPgF,wKAAsF;IACnK,0DAAsB;IAAtB,qFAAsB;IACtB,0DAAY;IAAZ,2EAAY;IACZ,0DAAqB;IAArB,oFAAqB;IACrB,0DAAsB;IAAtB,qFAAsB;IACtB,0DAAuB;IAAvB,sFAAuB;IAAO,0DAAyB;IAAzB,yFAAyB;IAAyC,0DAAsB;IAAtB,sFAAsB;IACtH,0DAAqB;IAArB,oFAAqB;;;IAPjC,4EAAuD;IACnD,gIAOK;IACT,4DAAQ;;;IARc,0DAAmB;IAAnB,0FAAmB;;;;IA3BrD,yEAA+D;IAC3D,yEAAyB;IACrB,yEAAyC;IACrC,yEAAsB;IAClB,2EAAgK;IAAjD,wVAAuB;;IAAtI,4DAAgK;IACpK,4DAAM;IACN,uHAEM;IACN,yEAA8B;IAC1B,4EAAoI;IAAtF,6SAAgB,aAAa,wBAAgB,aAAa,UAAG,+BAAuB,IAAC;IAAC,uDAAqC;;IAAA,4DAAS;IACtL,4DAAM;IACV,4DAAM;IACV,4DAAM;IACN,0EAAoB;IAChB,6EAAkF;IAAxD,qUAA2B;IACjD,yEAAO;IACH,sEAAI;IACA,sEAAI;IAAA,wDAA2C;;IAAA,4DAAK;IACpD,sEAAI;IAAA,wDAAiC;;IAAA,4DAAK;IAC1C,sEAAI;IAAA,wDAAkC;;IAAA,4DAAK;IAC3C,sEAAI;IAAA,wDAAmC;;IAAA,4DAAK;IAC5C,sEAAI;IAAA,wDAAoC;;IAAA,4DAAK;IAC7C,sEAAI;IAAA,wDAAkC;;IAAA,4DAAK;IAC/C,4DAAK;IACT,4DAAQ;IACR,8HASQ;IACZ,4DAAQ;IACZ,4DAAM;IACV,4DAAM;;;IAlCuE,0DAAiD;IAAjD,uKAAiD;IAAC,qFAAuB;IAEnH,0DAA6C;IAA7C,uHAA6C;IAIoE,0DAAqC;IAArC,uJAAqC;IAQjK,0DAA2C;IAA3C,6JAA2C;IAC3C,0DAAiC;IAAjC,mJAAiC;IACjC,0DAAkC;IAAlC,oJAAkC;IAClC,0DAAmC;IAAnC,qJAAmC;IACnC,0DAAoC;IAApC,sJAAoC;IACpC,0DAAkC;IAAlC,oJAAkC;IAGf,0DAAsB;IAAtB,yFAAsB;;;;IAejE,yEAA4D;IACxD,0EAAyB;IACrB,6EAAwF;IAAlC,oTAAgB,gBAAgB,IAAC;IAAC,uDAA0C;;IAAA,4DAAS;IAC/I,4DAAM;IACN,0EAAmD;IAC/C,0EAAyB;IACrB,0EAAgE;IAC5D,uDACA;;IAAA,8EAAkC;IAAA,wDAAiD;;IAAA,4DAAS;IAChG,4DAAM;IACN,2EAAgD;IAC5C,2EAAmD;IAC/C,2EAAoB;IAAA,wDAAiC;;IAAA,4DAAM;IAC3D,2EAAoB;IAChB,6EAAwG;IAAhE,6WAA2C;IAAnF,4DAAwG;IAC5G,4DAAM;IACV,4DAAM;IACN,2EAAmD;IAC/C,2EAAoB;IAAA,wDAAoC;;IAAA,4DAAM;IAC9D,2EAAoB;IAChB,6EAA2G;IAAnE,gXAA8C;IAAtF,4DAA2G;IAC/G,4DAAM;IACV,4DAAM;IACN,2EAAmD;IAC/C,2EAAoB;IAAA,wDAAoC;;IAAA,4DAAM;IAC9D,2EAAoB;IAChB,6EAA2G;IAAnE,gXAA8C;IAAtF,4DAA2G;IAC/G,4DAAM;IACV,4DAAM;IACN,2EAAmD;IAC/C,2EAAoB;IAAA,wDAAiC;;IAAA,4DAAM;IAC3D,2EAAoB;IAChB,6EAAwG;IAAhE,6WAA2C;IAAnF,4DAAwG;IAC5G,4DAAM;IACV,4DAAM;IACN,2EAAmD;IAC/C,2EAAoB;IAAA,wDAAkC;;IAAA,4DAAM;IAC5D,2EAAoB;IAChB,6EAAwG;IAAhE,6WAA2C;IAAnF,4DAAwG;IAC5G,4DAAM;IACV,4DAAM;IACN,2EAAmD;IAC/C,2EAAoB;IAAA,wDAAkC;;IAAA,4DAAM;IAC5D,2EAAoB;IAChB,6EAAyG;IAAjE,8WAA4C;IAApF,4DAAyG;IAC7G,4DAAM;IACV,4DAAM;IACN,2EAAmD;IAC/C,2EAAoB;IAAA,wDAAmC;;IAAA,4DAAM;IAC7D,2EAAoB;IAChB,6EAA0G;IAAlE,+WAA6C;IAArF,4DAA0G;IAC9G,4DAAM;IACV,4DAAM;IACN,2EAAmD;IAC/C,2EAAoB;IAAA,wDAAqC;;IAAA,4DAAM;IAC/D,2EAAoB;IAChB,6EAA+F;IAAvD,oWAAkC;IAA1E,4DAA+F;IACnG,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;IACN,2EAAyB;IACrB,2EAAgE;IAC5D,wDACA;;IAAA,8EAAkC;IAAA,wDAAiD;;IAAA,4DAAS;IAChG,4DAAM;IACN,2EAAgD;IAC5C,2EAAmD;IAC/C,2EAAoB;IAAA,wDAAiC;;IAAA,4DAAM;IAC3D,2EAAoB;IAChB,6EAAuG;IAA/D,4WAA0C;IAAlF,4DAAuG;IAC3G,4DAAM;IACV,4DAAM;IACN,2EAAmD;IAC/C,2EAAoB;IAAA,wDAAoC;;IAAA,4DAAM;IAC9D,2EAAoB;IAChB,6EAA0G;IAAlE,+WAA6C;IAArF,4DAA0G;IAC9G,4DAAM;IACV,4DAAM;IACN,2EAAmD;IAC/C,2EAAoB;IAAA,wDAAoC;;IAAA,4DAAM;IAC9D,2EAAoB;IAChB,6EAA0G;IAAlE,+WAA6C;IAArF,4DAA0G;IAC9G,4DAAM;IACV,4DAAM;IACN,2EAAmD;IAC/C,2EAAoB;IAAA,wDAAiC;;IAAA,4DAAM;IAC3D,2EAAoB;IAChB,6EAAuG;IAA/D,4WAA0C;IAAlF,4DAAuG;IAC3G,4DAAM;IACV,4DAAM;IACN,2EAAmD;IAC/C,2EAAoB;IAAA,wDAAkC;;IAAA,4DAAM;IAC5D,2EAAoB;IAChB,6EAAwG;IAAhE,6WAA2C;IAAnF,4DAAwG;IAC5G,4DAAM;IACV,4DAAM;IACN,4EAAmD;IAC/C,4EAAoB;IAAA,yDAAkC;;IAAA,4DAAM;IAC5D,4EAAoB;IAChB,8EAAwG;IAAhE,8WAA2C;IAAnF,4DAAwG;IAC5G,4DAAM;IACV,4DAAM;IACN,4EAAmD;IAC/C,4EAAoB;IAAA,yDAAmC;;IAAA,4DAAM;IAC7D,4EAAoB;IAChB,8EAAyG;IAAjE,+WAA4C;IAApF,4DAAyG;IAC7G,4DAAM;IACV,4DAAM;IACN,4EAAmD;IAC/C,4EAAoB;IAAA,yDAAgC;;IAAA,4DAAM;IAC1D,4EAAoB;IAChB,8EAA+F;IAAvD,qWAAkC;IAA1E,4DAA+F;IACnG,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;IACV,4DAAM;IACN,4EAAoD;IAChD,uEAEM;IACN,uEAEM;IACV,4DAAM;IACV,4DAAM;;;IA5H0F,0DAA0C;IAA1C,2JAA0C;IAK1H,0DACA;IADA,iKACA;IAAkC,0DAAiD;IAAjD,mKAAiD;IAI3D,0DAAiC;IAAjC,mJAAiC;IAET,0DAA2C;IAA3C,yGAA2C;IAInE,0DAAoC;IAApC,sJAAoC;IAEZ,0DAA8C;IAA9C,4GAA8C;IAItE,0DAAoC;IAApC,sJAAoC;IAEZ,0DAA8C;IAA9C,4GAA8C;IAItE,0DAAiC;IAAjC,mJAAiC;IAET,0DAA2C;IAA3C,yGAA2C;IAInE,0DAAkC;IAAlC,oJAAkC;IAEV,0DAA2C;IAA3C,yGAA2C;IAInE,0DAAkC;IAAlC,oJAAkC;IAEV,0DAA4C;IAA5C,0GAA4C;IAIpE,0DAAmC;IAAnC,qJAAmC;IAEX,0DAA6C;IAA7C,2GAA6C;IAIrE,0DAAqC;IAArC,uJAAqC;IAEb,0DAAkC;IAAlC,gGAAkC;IAOlF,0DACA;IADA,6JACA;IAAkC,0DAAiD;IAAjD,mKAAiD;IAI3D,0DAAiC;IAAjC,mJAAiC;IAET,0DAA0C;IAA1C,wGAA0C;IAIlE,0DAAoC;IAApC,sJAAoC;IAEZ,0DAA6C;IAA7C,2GAA6C;IAIrE,0DAAoC;IAApC,sJAAoC;IAEZ,0DAA6C;IAA7C,2GAA6C;IAIrE,0DAAiC;IAAjC,mJAAiC;IAET,0DAA0C;IAA1C,wGAA0C;IAIlE,0DAAkC;IAAlC,oJAAkC;IAEV,0DAA2C;IAA3C,yGAA2C;IAInE,0DAAkC;IAAlC,qJAAkC;IAEV,0DAA2C;IAA3C,yGAA2C;IAInE,0DAAmC;IAAnC,sJAAmC;IAEX,0DAA4C;IAA5C,0GAA4C;IAIpE,0DAAgC;IAAhC,mJAAgC;IAER,0DAAkC;IAAlC,gGAAkC;;;;IAiClF,yEAA8K;IAA/H,wYAA2B;IACtE,qEAAI;IAAA,uDAAoB;IAAA,4DAAK;IAC7B,qEAAI;IAAA,uDAAuB;IAAA,4DAAK;IACpC,4DAAK;;;;IAHsE,+KAAkG;IACrK,0DAAoB;IAApB,mFAAoB;IACpB,0DAAuB;IAAvB,sFAAuB;;;IAX3C,yEAA8F;IAC1F,4EAAgD;IAC5C,wEAAO;IACH,qEAAI;IACA,yEAAgB;IAAA,uDAAiC;;IAAA,4DAAK;IACtD,yEAAgB;IAAA,uDAAoC;;IAAA,4DAAK;IAC7D,4DAAK;IACT,4DAAQ;IACR,yEAAO;IACH,8HAGK;IACT,4DAAQ;IACZ,4DAAQ;IACZ,4DAAM;;;IAX0B,0DAAiC;IAAjC,iJAAiC;IACjC,0DAAoC;IAApC,oJAAoC;IAItC,0DAA2B;IAA3B,qGAA2B;;;IAOzD,0EAA+G;IAC3G,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,4KACJ;;;;IAzBJ,yEAA+D;IAC3D,yEAAsB;IAClB,4EAAsL;IAA9I,6VAA4B;;IAApE,4DAAsL;IAC1L,4DAAM;IACN,0EAAiB;IACb,6EAAuE;IAA/B,qUAA8B;IAAC,uDAAqC;;IAAA,4DAAS;IACzH,4DAAM;IACN,yHAeM;IACN,wHAEM;IACV,4DAAM;;;IAxBmI,0DAAoD;IAApD,kLAAoD;IAA7I,0FAA4B;IAGG,0DAAqC;IAArC,qJAAqC;IAE3F,0DAAuE;IAAvE,iJAAuE;IAgBvD,0DAAwE;IAAxE,kJAAwE;;;;IAsBjG,yEAA2J;IAA5G,uYAA0B;IACrE,qEAAI;IAAA,uDAAY;IAAA,4DAAK;IACrB,qEAAI;IAAA,uDAAe;IAAA,4DAAK;IAC5B,4DAAK;;;;IAHqE,6JAAgF;IAClJ,0DAAY;IAAZ,2EAAY;IACZ,0DAAe;IAAf,8EAAe;;;IAXnC,yEAA8F;IAC1F,4EAAsC;IAClC,wEAAO;IACH,qEAAI;IACA,yEAAgB;IAAA,uDAAiC;;IAAA,4DAAK;IACtD,yEAAgB;IAAA,uDAAoC;;IAAA,4DAAK;IAC7D,4DAAK;IACT,4DAAQ;IACR,yEAAO;IACH,8HAGK;IACT,4DAAQ;IACZ,4DAAQ;IACZ,4DAAM;;;IAX0B,0DAAiC;IAAjC,iJAAiC;IACjC,0DAAoC;IAApC,oJAAoC;IAItC,0DAA2B;IAA3B,qGAA2B;;;IAOzD,0EAA+G;IAC3G,uDACJ;;IAAA,4DAAM;;IADF,0DACJ;IADI,4KACJ;;;;IAzBJ,yEAA8D;IAC1D,yEAAsB;IAClB,4EAAoL;IAA5I,4VAA2B;;IAAnE,4DAAoL;IACxL,4DAAM;IACN,0EAAiB;IACb,6EAAsE;IAA9B,oUAA6B;IAAC,uDAAqC;;IAAA,4DAAS;IACxH,4DAAM;IACN,yHAeM;IACN,wHAEM;IACV,4DAAM;;;IAxBiI,0DAAoD;IAApD,kLAAoD;IAA3I,yFAA2B;IAGG,0DAAqC;IAArC,qJAAqC;IAE1F,0DAAuE;IAAvE,iJAAuE;IAgBvD,0DAAwE;IAAxE,kJAAwE;;;;IAmBjG,0EAA0F;IAA7C,oZAAgC,UAAU,KAAE;IAAC,uDAAa;IAAA,4DAAM;;;IAAnB,0DAAa;IAAb,4EAAa;;;IAD3G,0EAAwH;IACpH,+HAA6G;IACjH,4DAAM;;;IADiB,0DAAwB;IAAxB,kGAAwB;;;;IAb3D,yEAA4D;IACxD,yEAAoB;IAChB,6EAA+F;IAAvD,oTAAuB,KAAK,wBAAS,gBAAgB,IAAC;IAAC,kEAAO;IAAA,4DAAS;IACnH,4DAAM;IACN,yEAAoB;IAChB,0EAAwB;IACpB,4EAA0B;IAAA,uDAAiC;;IAAA,4DAAQ;IACnE,4EAAqI;IAA5C,4WAA2C;IAApI,4DAAqI;IACzI,4DAAM;IACN,2EAAwB;IACpB,6EAA6B;IAAA,wDAAoC;;IAAA,4DAAQ;IACzE,6EAA+K;IAAlH,2TAAuB,UAAU,KAAE;IAAhG,4DAA+K;IAC/K,0HAEM;IACV,4DAAM;IACN,2EAAwB;IACpB,6EAA6B;IAAA,wDAAoC;;IAAA,4DAAQ;IACzE,6EAA4K;IAA/G,wTAAoB,UAAU,KAAE;IAA7F,4DAA4K;IAChL,4DAAM;IACN,2EAAwB;IACpB,6EAA0B;IAAA,wDAAiC;;IAAA,4DAAQ;IACnE,6EAAqI;IAA5C,6WAA2C;IAApI,4DAAqI;IACzI,4DAAM;IACN,2EAAwB;IACpB,6EAA0B;IAAA,wDAAkC;;IAAA,4DAAQ;IACpE,6EAAqI;IAA5C,6WAA2C;IAApI,4DAAqI;IACzI,4DAAM;IACN,2EAAwB;IACpB,6EAA2B;IAAA,wDAAkC;;IAAA,4DAAQ;IACrE,6EAAuI;IAA7C,8WAA4C;IAAtI,4DAAuI;IAC3I,4DAAM;IACN,2EAAwB;IACpB,6EAA2B;IAAA,wDAAmC;;IAAA,4DAAQ;IACtE,6EAAwI;IAA9C,+WAA6C;IAAvI,4DAAwI;IAC5I,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IA/BgC,0DAAiC;IAAjC,kJAAiC;IAC8B,0DAA2C;IAA3C,yGAA2C;IAGvG,0DAAoC;IAApC,sJAAoC;IAC+D,0DAA8C;IAA9C,4GAA8C;IACnI,0DAA2E;IAA3E,qJAA2E;IAKzF,0DAAoC;IAApC,sJAAoC;IAC4D,0DAA8C;IAA9C,4GAA8C;IAGjJ,0DAAiC;IAAjC,mJAAiC;IAC8B,0DAA2C;IAA3C,yGAA2C;IAG1G,0DAAkC;IAAlC,oJAAkC;IAC6B,0DAA2C;IAA3C,yGAA2C;IAGzG,0DAAkC;IAAlC,oJAAkC;IAC6B,0DAA4C;IAA5C,0GAA4C;IAG3G,0DAAmC;IAAnC,qJAAmC;IAC4B,0DAA6C;IAA7C,2GAA6C;;;;IAmBnI,0EAAyF;IAA5C,oZAAgC,SAAS,KAAE;IAAC,uDAAa;IAAA,4DAAM;;;IAAnB,0DAAa;IAAb,4EAAa;;;IAD1G,0EAAuH;IACnH,+HAA4G;IAChH,4DAAM;;;IADiB,0DAAwB;IAAxB,kGAAwB;;;;IAb3D,yEAA2D;IACvD,yEAAoB;IAChB,6EAA6F;IAArD,mTAAsB,KAAK,wBAAS,eAAe,IAAC;IAAC,kEAAO;IAAA,4DAAS;IACjH,4DAAM;IACN,yEAAoB;IAChB,0EAAwB;IACpB,4EAAyB;IAAA,uDAAiC;;IAAA,4DAAQ;IAClE,4EAA2H;IAAnC,mWAAkC;IAA1H,4DAA2H;IAC/H,4DAAM;IACN,2EAAwB;IACpB,6EAA4B;IAAA,wDAAoC;;IAAA,4DAAQ;IACxE,6EAAoK;IAAxG,6TAAuB,SAAS,KAAE;IAA9F,4DAAoK;IACpK,0HAEM;IACV,4DAAM;IACN,2EAAwB;IACpB,6EAA4B;IAAA,wDAAoC;;IAAA,4DAAQ;IACxE,6EAAiK;IAArG,0TAAoB,SAAS,KAAE;IAA3F,4DAAiK;IACrK,4DAAM;IACN,2EAAwB;IACpB,6EAAyB;IAAA,wDAAiC;;IAAA,4DAAQ;IAClE,6EAA2H;IAAnC,sWAAkC;IAA1H,4DAA2H;IAC/H,4DAAM;IACN,2EAAwB;IACpB,6EAAyB;IAAA,wDAAkC;;IAAA,4DAAQ;IACnE,6EAA4H;IAApC,uWAAmC;IAA3H,4DAA4H;IAChI,4DAAM;IACN,2EAAwB;IACpB,6EAA0B;IAAA,wDAAkC;;IAAA,4DAAQ;IACpE,6EAA6H;IAApC,uWAAmC;IAA5H,4DAA6H;IACjI,4DAAM;IACN,2EAAwB;IACpB,6EAA0B;IAAA,wDAAmC;;IAAA,4DAAQ;IACrE,6EAA8H;IAArC,wWAAoC;IAA7H,4DAA8H;IAClI,4DAAM;IACV,4DAAM;IACV,4DAAM;;;IA/B+B,0DAAiC;IAAjC,kJAAiC;IAC8B,0DAAkC;IAAlC,gGAAkC;IAG9F,0DAAoC;IAApC,sJAAoC;IAC8D,0DAAqC;IAArC,mGAAqC;IACxH,0DAA0E;IAA1E,oJAA0E;IAKzF,0DAAoC;IAApC,sJAAoC;IAC2D,0DAAqC;IAArC,mGAAqC;IAGvI,0DAAiC;IAAjC,mJAAiC;IAC8B,0DAAkC;IAAlC,gGAAkC;IAGjG,0DAAkC;IAAlC,oJAAkC;IAC6B,0DAAmC;IAAnC,iGAAmC;IAGjG,0DAAkC;IAAlC,oJAAkC;IAC6B,0DAAmC;IAAnC,iGAAmC;IAGlG,0DAAmC;IAAnC,qJAAmC;IAC4B,0DAAoC;IAApC,kGAAoC;;;IAcjH,8DAAgK;IAAhK,0EAAgK;IAC5J,sEAAmG;IACnG,sEAA4G;IAChH,4DAAM;;;IACN,8DAAqL;IAArL,0EAAqL;IACjL,sEAAkT;IACtT,4DAAM;;;;IAcV,+DAA2E;IAA3E,0EAA2E;IACvE,uEAAM;IAAA,uDAAsC;IAAA,4DAAO;IACnD,uEAAM;IAAA,uDAA0E;IAAA,4DAAO;IAC3F,4DAAM;;;IAFI,0DAAsC;IAAtC,0GAAsC;IACtC,0DAA0E;IAA1E,gKAA0E;;;;IAEpF,+DAA+C;IAA/C,sEAA+C;IAAA,uDAAsC;;IAAA,4DAAM;;IAA5C,0DAAsC;IAAtC,sJAAsC;;;;IASrF,+DAA8C;IAA9C,sEAA8C;IAAA,uDAAoC;IAAA,4DAAM;;;IAA1C,0DAAoC;IAApC,wGAAoC;;;;IAClF,+DAA6C;IAA7C,sEAA6C;IAAA,uDAAoC;;IAAA,4DAAM;;IAA1C,0DAAoC;IAApC,oJAAoC;;;;IAQjF,+DAAmF;IAAnF,sEAAmF;IAAA,uDAA0G;IAAA,4DAAM;;;IAAhH,0DAA0G;IAA1G,gMAA0G;;;;IAC7L,+DAAiF;IAAjF,sEAAiF;IAAA,uDAAoC;;IAAA,4DAAM;;IAA1C,0DAAoC;IAApC,oJAAoC;;;IAQjH,8DAA+J;IAA/J,0EAA+J;IAC3J,sEAAmG;IACnG,sEAA4G;IAChH,4DAAM;;;IACN,8DAAoL;IAApL,0EAAoL;IAChL,sEAAkT;IACtT,4DAAM;;;;IAaV,+DAA0E;IAA1E,0EAA0E;IACtE,uEAAM;IAAA,uDAAqC;IAAA,4DAAO;IAClD,uEAAM;IAAA,uDAAwE;IAAA,4DAAO;IACzF,4DAAM;;;IAFI,0DAAqC;IAArC,yGAAqC;IACrC,0DAAwE;IAAxE,8JAAwE;;;;IAElF,+DAA8C;IAA9C,sEAA8C;IAAA,uDAAsC;;IAAA,4DAAM;;IAA5C,0DAAsC;IAAtC,sJAAsC;;;;IAQpF,+DAA6C;IAA7C,sEAA6C;IAAA,uDAAmC;IAAA,4DAAM;;;IAAzC,0DAAmC;IAAnC,uGAAmC;;;;IAChF,+DAA4C;IAA5C,sEAA4C;IAAA,uDAAoC;;IAAA,4DAAM;;IAA1C,0DAAoC;IAApC,oJAAoC;;;;IAQhF,+DAAiF;IAAjF,sEAAiF;IAAA,uDAAuG;IAAA,4DAAM;;;IAA7G,0DAAuG;IAAvG,6LAAuG;;;;IACxL,+DAA+E;IAA/E,sEAA+E;IAAA,uDAAoC;;IAAA,4DAAM;;IAA1C,0DAAoC;IAApC,oJAAoC;;;IAQ/G,8DAAgK;IAAhK,0EAAgK;IAC5J,sEAAmG;IACnG,sEAA4G;IAChH,4DAAM;;;IACN,8DAA2M;IAA3M,0EAA2M;IACvM,sEAAkT;IACtT,4DAAM;;;;IAcN,+DAA2E;IAA3E,0EAA2E;IACvE,uEAAM;IAAA,uDAAsC;IAAA,4DAAO;IACnD,uEAAM;IAAA,uDAA0E;IAAA,4DAAO;IAC3F,4DAAM;;;IAFI,0DAAsC;IAAtC,0GAAsC;IACtC,0DAA0E;IAA1E,gKAA0E;;;;IAEpF,+DAA+C;IAA/C,sEAA+C;IAAA,uDAAsC;;IAAA,4DAAM;;IAA5C,0DAAsC;IAAtC,sJAAsC;;;;IAQrF,+DAA6C;IAA7C,sEAA6C;IAAA,uDAAmC;IAAA,4DAAM;;;IAAzC,0DAAmC;IAAnC,uGAAmC;;;;IAChF,+DAA4C;IAA5C,sEAA4C;IAAA,uDAAoC;;IAAA,4DAAM;;IAA1C,0DAAoC;IAApC,oJAAoC;;;;IAQhF,+DAAmF;IAAnF,sEAAmF;IAAA,uDAA0G;IAAA,4DAAM;;;IAAhH,0DAA0G;IAA1G,gMAA0G;;;;IAC7L,+DAAiF;IAAjF,sEAAiF;IAAA,uDAAoC;;IAAA,4DAAM;;IAA1C,0DAAoC;IAApC,oJAAoC;;;IAjC7H,sEAAgC;IAC5B,0EAA4C;IACxC,yEAA8B;IAAA,6EAA4K;IAAA,uDAAwD;IAAA,4DAAS;IAAA,uDAA0E;IAAA,4DAAK;IAC9V,4DAAM;IACN,0EAA6B;IACzB,0EAAiC;IAC7B,8DAA2I;IAA3I,0EAA2I;IACvI,sEAA8F;IAC9F,uEAAwI;IAC5I,4DAAM;IACV,4DAAM;IACN,uIAGM;IACN,uIAA2F;IAC/F,4DAAM;IACN,+DAA6B;IAA7B,2EAA6B;IACzB,2EAAiC;IAC7B,8DAA2I;IAA3I,2EAA2I;IACvI,uEAA2J;IAC/J,4DAAM;IACV,4DAAM;IACN,uIAAsF;IACtF,uIAAsF;IAC1F,4DAAM;IACN,+DAAkC;IAAlC,2EAAkC;IAC9B,2EAAiC;IAC7B,8DAA2I;IAA3I,2EAA2I;IACvI,uEAAyN;IAC7N,4DAAM;IACV,4DAAM;IACN,uIAAmM;IACnM,uIAA2H;IAC/H,4DAAM;IACV,4DAAM;;;IAjCoE,0DAAuE;IAAvE,8IAAuE;IAAiE,0DAAwD;IAAxD,qIAAwD;IAAS,0DAA0E;IAA1E,uJAA0E;IASpT,0DAAwC;IAAxC,6GAAwC;IAInE,0DAAuC;IAAvC,4GAAuC;IAQvC,0DAAqC;IAArC,0GAAqC;IACrC,0DAAoC;IAApC,yGAAoC;IAQpC,0DAA2E;IAA3E,yJAA2E;IAC3E,0DAAyE;IAAzE,uJAAyE;;;;IAGvF,0EAA0D;IACtD,6EAA6E;IAA/C,iVAA4B,gBAAgB,KAAE;IACxE,8DAAmI;IAAnI,0EAAmI;IAC/H,sEAAkF;IACtF,4DAAM;IAAA,uDACV;;;;IAAA,4DAAS;IACb,4DAAM;;IAFQ,0DACV;IADU,4TACV;;;IAQI,8DAA+J;IAA/J,0EAA+J;IAC3J,sEAAmG;IACnG,sEAA4G;IAChH,4DAAM;;;IACN,8DAAyM;IAAzM,0EAAyM;IACrM,sEAAkT;IACtT,4DAAM;;;;IAcN,+DAAkE;IAAlE,0EAAkE;IAC9D,uEAAM;IAAA,uDAA6B;IAAA,4DAAO;IAC1C,uEAAM;IAAA,uDAAwD;IAAA,4DAAO;IACzE,4DAAM;;;IAFI,0DAA6B;IAA7B,iGAA6B;IAC7B,0DAAwD;IAAxD,8IAAwD;;;;IAElE,+DAAsC;IAAtC,sEAAsC;IAAA,uDAAsC;;IAAA,4DAAM;;IAA5C,0DAAsC;IAAtC,sJAAsC;;;;IAQ5E,+DAAqC;IAArC,sEAAqC;IAAA,uDAA2B;IAAA,4DAAM;;;IAAjC,0DAA2B;IAA3B,+FAA2B;;;;IAChE,+DAAoC;IAApC,sEAAoC;IAAA,uDAAoC;;IAAA,4DAAM;;IAA1C,0DAAoC;IAApC,oJAAoC;;;;IAQxE,+DAAiE;IAAjE,sEAAiE;IAAA,uDAA+E;IAAA,4DAAM;;;IAArF,0DAA+E;IAA/E,qKAA+E;;;;IAChJ,+DAA+D;IAA/D,sEAA+D;IAAA,uDAAoC;;IAAA,4DAAM;;IAA1C,0DAAoC;IAApC,oJAAoC;;;IAjC3G,sEAA+B;IAC3B,0EAA4C;IACxC,yEAA8B;IAAA,6EAA0J;IAAA,uDAA+C;IAAA,4DAAS;IAAA,uDAAwD;IAAA,4DAAK;IACjT,4DAAM;IACN,0EAA6B;IACzB,0EAAiC;IAC7B,8DAA2I;IAA3I,0EAA2I;IACvI,sEAA8F;IAC9F,uEAAwI;IAC5I,4DAAM;IACV,4DAAM;IACN,uIAGM;IACN,uIAAkF;IACtF,4DAAM;IACN,+DAA6B;IAA7B,2EAA6B;IACzB,2EAAiC;IAC7B,8DAA2I;IAA3I,2EAA2I;IACvI,uEAA2J;IAC/J,4DAAM;IACV,4DAAM;IACN,uIAAsE;IACtE,uIAA8E;IAClF,4DAAM;IACN,+DAAkC;IAAlC,2EAAkC;IAC9B,2EAAiC;IAC7B,8DAA2I;IAA3I,2EAA2I;IACvI,uEAAyN;IAC7N,4DAAM;IACV,4DAAM;IACN,uIAAsJ;IACtJ,uIAAyG;IAC7G,4DAAM;IACV,4DAAM;;;IAjCoE,0DAA8D;IAA9D,qIAA8D;IAAwD,0DAA+C;IAA/C,4HAA+C;IAAS,0DAAwD;IAAxD,qIAAwD;IASvQ,0DAA+B;IAA/B,oGAA+B;IAI1D,0DAA8B;IAA9B,mGAA8B;IAQ9B,0DAA6B;IAA7B,kGAA6B;IAC7B,0DAA4B;IAA5B,iGAA4B;IAQ5B,0DAAyD;IAAzD,uIAAyD;IACzD,0DAAuD;IAAvD,qIAAuD;;;;IAGrE,0EAAyD;IACrD,6EAA4E;IAA9C,iVAA4B,eAAe,KAAE;IACvE,8DAAmI;IAAnI,0EAAmI;IAC/H,sEAAkF;IACtF,4DAAM;IAAA,uDACV;;;;IAAA,4DAAS;IACb,4DAAM;;IAFQ,0DACV;IADU,oTACV;;;;IAtNZ,0EAAkD;IAE9C,0EAA0B;IACtB,0EAA4C;IACxC,qEAAI;IAAA,uDAAqC;;IAAA,4DAAK;IAC9C,0EAAwD;IAAnD,kVAAuC,UAAU,IAAC;IACnD,mIAGM;IACN,mIAEM;IACV,4DAAM;IACV,4DAAM;IACN,0EAA4C;IACxC,0EAA8B;IAAA,8EAA4K;IAAA,wDAAwD;IAAA,4DAAS;IAAA,wDAC3Q;IAAA,4DAAK;IACT,4DAAM;IACN,2EAA6B;IACzB,2EAAiC;IAC7B,8DAA2I;IAA3I,2EAA2I;IACvI,uEAA8F;IAC9F,uEAAwI;IAC5I,4DAAM;IACV,4DAAM;IACN,gIAGM;IACN,gIAA2F;IAC/F,4DAAM;IACN,+DAA6B;IAA7B,2EAA6B;IACzB,2EAAiC;IAC7B,8DACoD;IADpD,2EACoD;IAChD,uEAA2J;IAC/J,4DAAM;IACV,4DAAM;IACN,gIAAwF;IACxF,gIAAuF;IAC3F,4DAAM;IACN,+DAAkC;IAAlC,2EAAkC;IAC9B,2EAAiC;IAC7B,8DAA2I;IAA3I,2EAA2I;IACvI,uEAAyN;IAC7N,4DAAM;IACV,4DAAM;IACN,gIAAmM;IACnM,gIAA2H;IAC/H,4DAAM;IACV,4DAAM;IAEN,+DAA0B;IAA1B,2EAA0B;IACtB,2EAA4C;IACxC,sEAAI;IAAA,wDAAgC;;IAAA,4DAAK;IACzC,2EAAuD;IAAlD,mVAAuC,SAAS,IAAC;IAClD,qIAGM;IACN,qIAEM;IACV,4DAAM;IACV,4DAAM;IACN,2EAA4C;IACxC,0EAA8B;IAAA,8EAA0K;IAAA,wDAAuD;IAAA,4DAAS;IAAA,wDAAwE;IAAA,4DAAK;IACzV,4DAAM;IACN,2EAA6B;IACzB,2EAAiC;IAC7B,8DAA2I;IAA3I,2EAA2I;IACvI,uEAA8F;IAC9F,uEAAwI;IAC5I,4DAAM;IACV,4DAAM;IACN,gIAGM;IACN,gIAA0F;IAC9F,4DAAM;IACN,+DAA6B;IAA7B,2EAA6B;IACzB,2EAAiC;IAC7B,8DAA2I;IAA3I,2EAA2I;IACvI,uEAA2J;IAC/J,4DAAM;IACV,4DAAM;IACN,gIAAsF;IACtF,gIAAsF;IAC1F,4DAAM;IACN,+DAAkC;IAAlC,2EAAkC;IAC9B,2EAAiC;IAC7B,8DAA2I;IAA3I,2EAA2I;IACvI,uEAAyN;IAC7N,4DAAM;IACV,4DAAM;IACN,gIAA8L;IAC9L,gIAAyH;IAC7H,4DAAM;IACV,4DAAM;IAEN,+DAA0B;IAA1B,2EAA0B;IACtB,2EAA4C;IACxC,sEAAI;IAAA,wDAAqC;;IAAA,4DAAK;IAC9C,2EAAwD;IAAnD,mVAAuC,UAAU,IAAC;IACnD,qIAGM;IACN,qIAEM;IACV,4DAAM;IACV,4DAAM;IACN,kIAmCM;IACN,gIAMM;IACV,4DAAM;IAEN,2EAA0B;IACtB,2EAA4C;IACxC,sEAAI;IAAA,wDAAoC;;IAAA,4DAAK;IAC7C,2EAAuD;IAAlD,mVAAuC,SAAS,IAAC;IAClD,qIAGM;IACN,qIAEM;IACV,4DAAM;IACV,4DAAM;IACN,kIAmCM;IACN,gIAMM;IACV,4DAAM;IACV,4DAAM;;;IArNU,0DAAqC;IAArC,sJAAqC;IAE0E,0DAA+C;IAA/C,oHAA+C;IAI1B,0DAA+C;IAA/C,oHAA+C;IAMrH,0DAAuE;IAAvE,8IAAuE;IAAiE,0DAAwD;IAAxD,qIAAwD;IAAS,0DAC3Q;IAD2Q,iKAC3Q;IASiC,0DAAwC;IAAxC,6GAAwC;IAInE,0DAAuC;IAAvC,4GAAuC;IASvC,0DAAsC;IAAtC,2GAAsC;IACtC,0DAAqC;IAArC,0GAAqC;IAQrC,0DAA2E;IAA3E,yJAA2E;IAC3E,0DAAyE;IAAzE,uJAAyE;IAM3E,0DAAgC;IAAhC,kJAAgC;IAE+E,0DAA8C;IAA9C,mHAA8C;IAIzB,0DAA8C;IAA9C,mHAA8C;IAMpH,0DAAsE;IAAtE,6IAAsE;IAAgE,0DAAuD;IAAvD,oIAAuD;IAAS,0DAAwE;IAAxE,qJAAwE;IAS/S,0DAAuC;IAAvC,4GAAuC;IAIlE,0DAAsC;IAAtC,2GAAsC;IAQtC,0DAAqC;IAArC,0GAAqC;IACrC,0DAAoC;IAApC,yGAAoC;IAQpC,0DAAyE;IAAzE,uJAAyE;IACzE,0DAAuE;IAAvE,qJAAuE;IAMzE,0DAAqC;IAArC,uJAAqC;IAE0E,0DAA+C;IAA/C,oHAA+C;IAI1B,0DAAqE;IAArE,mJAAqE;IAK3M,0DAAwB;IAAxB,6FAAwB;IAoCG,0DAAuB;IAAvB,4FAAuB;IAWhD,0DAAoC;IAApC,sJAAoC;IAE2E,0DAA8C;IAA9C,mHAA8C;IAIzB,0DAAmE;IAAnE,iJAAmE;IAKzM,0DAAuB;IAAvB,4FAAuB;IAoCI,0DAAsB;IAAtB,2FAAsB;;;IAnNvE,yEAAsD;IAClD,yEAAoB;IAChB,0HAyNM;IACV,4DAAM;IACV,4DAAM;;;IA3N0B,0DAAwB;IAAxB,2FAAwB;;ADpSjD,MAAM,qBAAqB;IAyChC,YAAoB,IAAgB,EAAU,UAA6B;QAAvD,SAAI,GAAJ,IAAI,CAAY;QAAU,eAAU,GAAV,UAAU,CAAmB;QAvClE,SAAI,GAAW,OAAO,CAAC;QACvB,eAAU,GAAkB,IAAI,CAAC;QAChC,eAAU,GAAG,IAAI,uDAAY,EAAE,CAAC;QAMhC,WAAM,GAAG,IAAI,uDAAY,EAAE,CAAC;QAC5B,QAAG,GAAG,IAAI,uDAAY,EAAE,CAAC;QACzB,WAAM,GAAG,IAAI,uDAAY,EAAE,CAAC;QAC5B,aAAQ,GAAG,IAAI,uDAAY,EAAE,CAAC;QAKxC,cAAS,GAAW,EAAE,CAAC;QAIvB,eAAU,GAAY,KAAK,CAAC;QAC5B,eAAU,GAAW,CAAC,CAAC;QACvB,aAAQ,GAAW,EAAE,CAAC;QACtB,QAAG,GAAW,EAAE,CAAC;QACjB,iBAAY,GAAW,EAAE,CAAC;QAC1B,mBAAc,GAAW,CAAC,CAAC;QAC3B,qBAAgB,GAAW,CAAC,CAAC;QAC7B,aAAQ,GAAW,GAAG,CAAC;QACvB,iBAAY,GAAoB,IAAI,yCAAO,EAAU,CAAC;QACtD,iBAAY,GAAW,GAAG,CAAC;QAC3B,SAAI,GAAuB,EAAE,CAAC;QAE9B,gBAAW,GAAY,KAAK,CAAC;QAC7B,eAAU,GAAY,KAAK,CAAC;QAC5B,mBAAc,GAAW,EAAE,CAAC;QAC5B,kBAAa,GAAW,EAAE,CAAC;QAC3B,YAAO,GAAG,IAAI,eAAe,EAAE,CAAC;IAG+C,CAAC;IAEhF,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,4DAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjI,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC,CAAC,IAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAE,CAAC;IAC3I,CAAC;IAED,WAAW,CAAC,MAAqB;QAC/B,uBAAuB;QACvB,6BAA6B;QAC7B,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE;YACvD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,QAAQ,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE;oBAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;wBACd,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;wBACrC,MAAM;qBACP;oBACD,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBACvB,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,MAAM;qBACP;oBACD,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;wBACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;wBAC7B,MAAM;qBACP;oBACD,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBACxB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;wBAC5B,MAAM;qBACP;oBACD,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBACvB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;4BAClE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;yBAC9B;wBACD,MAAM;qBACP;oBACD,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBACvB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,EAAE;4BAC5C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;yBACnD;6BACI;4BACH,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;yBACjD;wBACD,MAAM;qBACP;oBACD,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;wBACtB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,EAAE;4BACnC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;yBACjD;6BACI;4BACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;yBAC/C;wBACD,MAAM;qBACP;oBACD,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;wBACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC1B,MAAM;qBACP;oBACD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;wBACb,MAAM;qBACP;oBACD,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;wBACtB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;wBAC5B,IAAI,CAAC,cAAc,EAAE;wBACrB,MAAM;qBACP;iBACF;aACF;iBACI,GAAG;YACR,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE;YAC1I,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;YAC1D,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE;YACzE,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC;SACrE;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE;YACvL,2DAA2D;YAC3D,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SACjH;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,EAAE;YACnL,uDAAuD;YACvD,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;SACtG;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,EAAE;YAC/E,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;QACD,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE;YAC7E,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;YAC7B,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YAClD,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;YAChD,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;YACxD,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;YACtD,CAAC,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;YACxD,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;YACtD,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YAClD,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;YAChD,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;YACxD,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;YACtD,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;YACtD,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YACpD,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YACnD,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY;YACjD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,WAAW;QACT,KAAI,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACtE,CAAC;IAED,YAAY,CAAC,KAAa,EAAE,IAAY;QACtC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,4DAAY,GAAG,8CAA8C,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;YAClK,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;YAC7C,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;YAChC,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;oBACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBACnC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE;YAClB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;gBAC3B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;gBAC/F,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,4DAAY,GAAG,0CAA0C,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;oBACxJ,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;iBACjE,CAAC,CAAC;aACJ;SACF;aAAM;YACL,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;gBAC3B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;aACnD;SACF;IACH,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC1B;aAAM;YACL,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;YAC/F,IAAI,CAAC,IAAI,CAAC,GAAG,CAAsB,4DAAY,GAAG,0CAA0C,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;gBAC5I,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;gBAChE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBAChC,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE;wBACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBACnC;gBACH,CAAC;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IAED,aAAa,CAAC,GAAW;QACvB,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,eAAC,eAAC,CAAC,IAAI,0CAAE,WAAW,EAAE,KAAG,OAAC,CAAC,IAAI,0CAAE,WAAW,EAAE,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnJ,CAAC;IAED,YAAY;QACV,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,QAAQ;QACrB,IAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAC;YAC/D,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;SACtC;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QACpC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,cAAc,CAAC,QAAQ;QACrB,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,aAAa,CAAC,OAAO;QACnB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE;YAClB,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SACnD;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,EAAE;YAC1C,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;IACH,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CACpE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAClE,CAAC,CAAC,eAAe,IAAI,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC,eAAe,IAAI,IAAI,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,cAAc,IAAI,IAAI,IAAI,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CACxD;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC9B,IAAI,aAAa,GAAG,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,mEAA0B,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1K,IAAI,YAAY,GAAG,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,mEAA0B,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtK,IAAI,mBAAmB,GAAG,CAAC,CAAC,cAAc,IAAI,IAAI,IAAI,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,mEAA0B,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACnL,IAAI,kBAAkB,GAAG,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,mEAA0B,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/K,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,4DAAY,GAAG,kCAAkC,EAAE;YACxE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;YAC9B,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,iBAAiB,EAAE,aAAa;YAChC,WAAW,EAAE,EAAE;YACf,aAAa,EAAE,CAAC,CAAC,YAAY;YAC7B,cAAc,EAAE,mBAAmB;YACnC,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,gBAAgB,EAAE,YAAY;YAC9B,UAAU,EAAE,EAAE;YACd,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,aAAa,EAAE,kBAAkB;YACjC,uBAAuB,EAAE,IAAI;YAC7B,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,eAAe,EAAE,EAAE;YACnB,UAAU,EAAE,IAAI;SACjB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;YACxB,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACb,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;YAC1C,CAAC;YACD,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;YAChC,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE;oBACjE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;oBACxC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACnD;gBAED,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE;oBACvD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;oBAC/B,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;iBACjD;gBACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB,CAAC,CAAkB;QACtC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,4DAAY,GAAG,yCAAyC,EAAE;YACvE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU;YAC5C,IAAI,EAAE,CAAC,CAAC,YAAY;YACpB,OAAO,EAAE,CAAC,CAAC,eAAe;YAC1B,OAAO,EAAE,CAAC,CAAC,eAAe;YAC1B,IAAI,EAAE,CAAC,CAAC,YAAY;YACpB,SAAS,EAAE,CAAC,CAAC,aAAa;YAC1B,MAAM,EAAE,CAAC,CAAC,cAAc;YACxB,KAAK,EAAE,CAAC,CAAC,YAAY;YACrB,GAAG,EAAE,EAAE;YACP,GAAG,EAAE,EAAE;SACR,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACvB,CAAC,IAAY,EAAE,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;YACxC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,EACD,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,EACjB,GAAG,EAAE,GAAG,CAAC,CACV;IACH,CAAC;IAED,mBAAmB,CAAC,CAAkB;QACpC,IAAI,KAAK,GAAgB,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,mEAA0B,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1K,IAAI,MAAM,GAAgB,CAAC,CAAC,cAAc,IAAI,IAAI,IAAI,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,mEAA0B,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9K,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4DAAY,GAAG,oCAAoC,GAAG,CAAC,CAAC,UAAU,EAAE;YAChF,MAAM,EAAE,CAAC,CAAC,YAAY;YACtB,SAAS,EAAE,CAAC,CAAC,eAAe;YAC5B,MAAM,EAAE,CAAC,CAAC,YAAY;YACtB,SAAS,EAAE,CAAC,CAAC,eAAe;YAC5B,QAAQ,EAAE,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc;YAC5E,OAAO,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa;YACvE,OAAO,EAAE,CAAC,CAAC,YAAY;YACvB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,EAAE,CAAC,CAAC,GAAG;SACX,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACvB,GAAG,CAAC,EAAE,GAAgC,CAAC,EACvC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAClD,GAAG,EAAE,GAAG,CAAC,CACV,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,CAAiB;QACpC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,4DAAY,GAAG,wCAAwC,EAAE;YACtE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU;YAC5C,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,CAAC,CAAC,KAAK;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,EAAE,CAAC,CAAC,GAAG;SACX,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACvB,CAAC,IAAY,EAAE,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,EACD,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,EACjB,GAAG,EAAE,GAAG,CAAC,CACV;IACH,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;YACE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB;YAC9C,uBAAuB,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB;YAC7D,yBAAyB,EAAE,IAAI,CAAC,OAAO,CAAC,yBAAyB;YACjE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,MAAM,EAAE,IAAI,CAAC,EAAE;SAChB,CACF;IACH,CAAC;IAEK,aAAa,CAAC,IAAI;;YACtB,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,OAAO,EAAE;gBAC/C,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;gBACrB,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC;gBAC5B,QAAQ,IAAI,EAAE;oBACZ,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;wBACjB,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;wBACjC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;wBACrC,CAAC;wBAAC,MAAK;qBACR;oBACD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;wBAChB,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;wBAChC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;wBACpC,CAAC;wBAAC,MAAK;qBACR;oBACD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;wBACjB,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;wBACjC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;wBACrC,CAAC;wBAAC,MAAK;qBACR;oBACD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;wBAChB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;wBACzD,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7D,CAAC;wBAAC,MAAK;qBACR;iBACF;gBACD,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE;oBAAE,IAAI,GAAG,UAAU,GAAG,GAAG,CAAC;iBAAE;gBACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,8CAA8C,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAiB,EAAE,EAAE;oBAC7G,oBAAoB;oBACpB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;gBACpC,CAAC,CAAC;aACH;QACH,CAAC;KAAA;IAED,oBAAoB,CAAC,KAAK;QACxB,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,EAAE;YACtC,IAAI,GAAG,GAAQ,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,qBAAqB,EAAE,CAAC;YAC9E,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE;gBAAE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI;aAAE;YACrG,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE;gBAAE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI;aAAE;SACvG;IACH,CAAC;IAED,UAAU,CAAC,IAAI;QACb,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,OAAO,EAAE;YAC/C,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YACrB,IAAI,GAAG,CAAC;YACR,QAAQ,IAAI,EAAE;gBACZ,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;oBACjB,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;oBACjC,MAAK;iBACN;gBACD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oBAChB,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;oBAChC,MAAK;iBACN;gBACD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;oBACjB,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;oBACjC,MAAK;iBACN;gBACD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oBAChB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;oBACxB,MAAK;iBACN;aACF;YACD,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oCAAoC,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;oBAChF,QAAQ,IAAI,EAAE;wBACZ,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;4BACjB,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4BACvC,MAAK;yBACN;wBACD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;4BAChB,CAAC,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4BACtC,MAAK;yBACN;wBACD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;4BACjB,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4BACvC,MAAK;yBACN;wBACD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;4BAChB,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4BAC9B,MAAK;yBACN;qBACF;gBACH,CAAC,CAAC,CAAC;aACJ;SACF;IACH,CAAC;IAED,aAAa,CAAC,KAAK,EAAE,CAAO,EAAE,KAAa;QACzC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACrB,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE;YAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;SAAE;QAC3D,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE;YAAE,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC;SAAE;QAClE,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/D,QAAQ,KAAK,EAAE;YACb,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjB,CAAC,CAAC,QAAQ,CAAC,eAAe,GAAG,GAAG,CAAC;gBACjC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE;oBAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM;iBAAE;gBACjI,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE;oBAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU;iBAAE;gBACvI,MAAK;aACN;YACD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBAChB,CAAC,CAAC,QAAQ,CAAC,cAAc,GAAG,GAAG,CAAC;gBAChC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,EAAE;oBAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM;iBAAE;gBAC/H,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;oBAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU;iBAAE;gBACrI,MAAK;aACN;YACD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjB,CAAC,CAAC,QAAQ,CAAC,eAAe,GAAG,GAAG,CAAC;gBACjC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE;oBAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM;iBAAE;gBACjI,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE;oBAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU;iBAAE;gBACvI,MAAK;aACN;YACD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBAChB,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC;gBACxB,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;oBAAE,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM;iBAAE;gBAC/G,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE;oBAAE,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU;iBAAE;gBACrH,MAAK;aACN;SACF;QACC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IACvC,CAAC;IAED,eAAe;QACb,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC9F,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,4DAAY,GAAG,uCAAuC,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;gBACjJ,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;oBACb,IAAI,CAAC,CAAC,IAAI,EAAE;wBACV,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;wBAC7B,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC;wBAC/C,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;wBACrD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;wBAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;qBAC5C;gBACH,CAAC;gBACD,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBAChC,QAAQ,EAAE,GAAG,EAAE;oBACb,2BAA2B;oBAC3B,sFAAsF;oBACtF,6DAA6D;oBAC7D,cAAc;oBACd,+CAA+C;oBAC/C,wDAAwD;oBACxD,OAAO;oBACP,2DAA2D;oBAC3D,mCAAmC;oBACnC,2DAA2D;oBAC3D,MAAM;oBACN,IAAI;oBACJ,0BAA0B;oBAC1B,4EAA4E;oBAC5E,2DAA2D;oBAC3D,cAAc;oBACd,sCAAsC;oBACtC,uDAAuD;oBACvD,MAAM;oBACN,IAAI;oBACJ,2BAA2B;oBAC3B,4CAA4C;oBAC5C,iCAAiC;oBACjC,IAAI;oBACJ,kCAAkC;oBAEhC,kCAAkC;oBAClC,kDAAkD;oBAClD,yCAAyC;oBACzC,+BAA+B;oBAC/B,2BAA2B;oBAC3B,WAAW;oBACX,IAAI;oBACJ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC5C,CAAC;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC9B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4DAAY,GAAG,iDAAiD,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAC1I,CAAC,IAAS,EAAE,EAAE;gBACZ,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC,EACD,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAC,CAAC,EACjD,GAAG,EAAE,GAAG,CAAC,CACV;SACF;IACH,CAAC;IAED,oBAAoB;QAClB,kGAAkG;QAClG,uCAAuC;QACvC,QAAQ,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;YACxC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC7F,IAAI,CAAC,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACnG,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,CAAC;gBAAC,MAAK;aACR;YACD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC7F,IAAI,CAAC,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAClG,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,CAAC;gBAAC,MAAK;aACR;YACD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBAC7F,IAAI,CAAC,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACnG,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,CAAC;gBAAC,MAAK;aACR;YACD,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrF,IAAI,CAAC,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC1F,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,CAAC;gBAAC,MAAK;aACR;SACF;IACH,CAAC;IAED,YAAY,CAAC,IAAI;QACf,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;YAC7D,OAAO,IAAI;SACZ;QACD,OAAO,KAAK;IACd,CAAC;IAED,cAAc,CAAC,MAAM;QACnB,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;aACpB,IAAI,CAAC,CAAC,MAAM,IAAI,mEAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACxH,OAAO,KAAK;IACd,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;YAAE,OAAO,IAAI;SAAE;aACjC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE;YAAE,OAAO,IAAI;SAAE;aACxJ;YAAC,OAAO,KAAK;SAAC;IACrB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,IAAI;SAAE;aAChC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,IAAI;SAAE;aAC/H;YAAE,OAAO,KAAK;SAAE;IACvB,CAAC;IAED,kBAAkB,CAAC,CAAiB;QAClC,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,mEAA0B,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1I,IAAI,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,mEAA0B,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9I,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4DAAY,GAAG,mCAAmC,GAAG,CAAC,CAAC,EAAE,EAAE;YACvE,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,EAAE,CAAC,CAAC,GAAG;SACX,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACvB,GAAG,CAAC,EAAE,GAAgC,CAAC,EACvC,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAClD,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,EAAC,CAAC,CAChC,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC9B,IAAI,aAAa,GAAG,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,mEAA0B,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1K,IAAI,YAAY,GAAG,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,mEAA0B,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtK,IAAI,mBAAmB,GAAG,CAAC,CAAC,cAAc,IAAI,IAAI,IAAI,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,mEAA0B,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACnL,IAAI,kBAAkB,GAAG,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,mEAA0B,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/K,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,4DAAY,GAAG,oCAAoC,GAAG,CAAC,CAAC,UAAU,EAAE;YAChF,IAAI,EAAE,CAAC,CAAC,YAAY;YACpB,MAAM,EAAE,mBAAmB;YAC3B,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,CAAC,CAAC,eAAe;YAC1B,IAAI,EAAE,CAAC,CAAC,YAAY;YACpB,OAAO,EAAE,CAAC,CAAC,eAAe;YAC1B,KAAK,EAAE,CAAC,CAAC,YAAY;YACrB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,aAAa,EAAE,kBAAkB;YACjC,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,cAAc,EAAE,CAAC,CAAC,cAAc;YAChC,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,YAAY;SACb,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACvB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,EAAC,CAAC,EACzB,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAClD,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACf,CAAC;IAED,kBAAkB,CAAC,IAAY;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,IAAI,EAAE,IAAI;QAClB,IAAG,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAC/E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC5E,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;oBACxC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC5E,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;wBACvC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrF,IAAI,IAAI,IAAI,EAAE,EAAE;gBACd,QAAQ,IAAI,EAAE;oBACZ,KAAK,GAAG;wBACN,IAAI,CAAC,CAAC,IAAI,EAAE;4BACV,OAAO,wEAAgB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;yBAC1C;6BAAM;4BACL,OAAO,SAAS,CAAC;yBAClB;oBACH,KAAK,GAAG;wBACN,IAAI,CAAC,CAAC,IAAI,EAAE;4BACV,OAAO,wEAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;yBACrC;6BAAM;4BACL,OAAO,OAAO,CAAC;yBAChB;oBACH;wBACE,IAAI,CAAC,CAAC,IAAI,EAAE;4BACV,OAAO,IAAI,CAAC;yBACb;6BAAM;4BACL,OAAO,EAAE,CAAC;yBACX;iBACJ;aACF;iBAAM;gBACL,IAAI,CAAC,IAAI;oBAAE,OAAO;gBAClB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBACpE,QAAQ,IAAI,EAAE;oBACZ,KAAK,GAAG;wBACN,IAAI,CAAC,CAAC,IAAI,EAAE;4BACV,OAAO,wEAAgB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;yBAC1C;6BAAM;4BACL,OAAO,SAAS,CAAC;yBAClB;oBACH,KAAK,GAAG;wBACN,IAAI,CAAC,CAAC,IAAI,EAAE;4BACV,OAAO,wEAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;yBACrC;6BAAM;4BACL,OAAO,OAAO,CAAC;yBAChB;oBACH;wBACE,IAAI,CAAC,CAAC,IAAI,EAAE;4BACV,OAAO,IAAI,CAAC;yBACb;6BAAM;4BACL,OAAO,EAAE,CAAC;yBACX;iBACJ;aACF;SACF;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,OAAO;QACnB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3C,CAAC;;0FArxBU,qBAAqB;mHAArB,qBAAqB;QClBlC,mHAsCM;QAGN,oHA8HM;QAGN,kHA0BM;QAGN,kHA0BM;QAGN,mHAqCM;QAGN,mHAqCM;QAGN,iHA6NM;;QAjhByB,8FAA8B;QAyC9B,0DAA2B;QAA3B,2FAA2B;QAiI3B,0DAA8B;QAA9B,8FAA8B;QA6B9B,0DAA6B;QAA7B,6FAA6B;QA6B7B,0DAA2B;QAA3B,2FAA2B;QAwC3B,0DAA0B;QAA1B,0FAA0B;QAwC1B,0DAAqB;QAArB,qFAAqB;;ADuf7C,MAAM,eAAe;IAA5B;QAOE,wBAAmB,GAAW,UAAU,CAAC;QACzC,4BAAuB,GAAY,KAAK,CAAC;QACzC,8BAAyB,GAAY,KAAK,CAAC;QAI3C,qBAAgB,GAAG,EAAE,CAAC;QACtB,qBAAgB,GAAG,EAAE,CAAC;QACtB,mBAAc,GAAG,EAAE,CAAC;QAEpB,aAAQ,GAAG,EAAE,CAAC;IAEhB,CAAC;IATC,aAAa;QACX,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IACvC,CAAC;CAOF;AAEM,MAAM,eAAe;CAW3B;AAEM,MAAM,cAAc;CA4B1B;AAEM,MAAM,cAAc;CAa1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEz3B8D;AAEwB;AAGpC;AAEe;;;;;;;;;;;;ICUlD,4EAAkQ;IAA1N,uWAA4B;;IAApE,4DAAkQ;;;IAAlD,sKAAiD;IAAzN,0FAA4B;;;;IAMpE,0EAAuH;IAAzB,0YAAwB;IAAC,uDAA2B;IAAA,4DAAM;;;IAAjC,0DAA2B;IAA3B,uGAA2B;;;IAClJ,0EAA6J;IAAA,uDAAyC;;IAAA,4DAAM;;IAA/C,0DAAyC;IAAzC,yJAAyC;;;IACtM,0EAA6J;IAAA,uDAAoB;IAAA,4DAAM;;;IAA1B,0DAAoB;IAApB,uFAAoB;;;IAHnL,0EAAsD;IACpD,kIAAwJ;;IACxJ,kIAA4M;IAC5M,kIAAuL;IACzL,4DAAM;;;IAHkC,0DAAsD;IAAtD,0LAAsD;IACnE,0DAAkI;IAAlI,mNAAkI;IAClI,0DAAkI;IAAlI,mNAAkI;;;IAYrB,uEAA0C;IAAC,uDAAqB;IAAA,4DAAO;;;IAA5B,0DAAqB;IAArB,8FAAqB;;;;IAAtM,0EAAmG;IAAtB,8YAAqB;IAAC,uDAAmC;IAAA,iJAAuE;IAAA,4DAAM;;;IAAhH,0DAAmC;IAAnC,+GAAmC;IAAO,0DAAiC;IAAjC,qGAAiC;;;IAC9K,0EAAkH;IAAA,uDAAyC;;IAAA,4DAAM;;IAA/C,0DAAyC;IAAzC,yJAAyC;;;IAC3J,0EAAkH;IAAA,uDAAoB;IAAA,4DAAM;;;IAA1B,0DAAoB;IAApB,uFAAoB;;;IAHxI,0EAAmD;IACjD,yIAAmN;IACnN,yIAAiK;IACjK,yIAA4I;IAC9I,4DAAM;;;IAHkC,0DAAqC;IAArC,+GAAqC;IAClD,0DAAuF;IAAvF,mKAAuF;IACvF,0DAAuF;IAAvF,mKAAuF;;;;IAXpH,0EAA0E;IACxE,4EAAyB;IAAA,uDAAoC;;IAAA,4DAAQ;IACrE,0EAA0C;IACxC,4EAAwM;IAAhK,sWAAyB;;IAAjE,4DAAwM;IACxM,6EAAkF;IAAvB,yUAAsB;IAC/E,mEAA4B;IAC9B,4DAAS;IACX,4DAAM;IACN,mIAIM;IACR,4DAAM;;;IAZqB,0DAAoC;IAApC,oJAAoC;IAE2F,0DAAiD;IAAjD,sKAAiD;IAA/J,uFAAyB;IAKxC,0DAAsB;IAAtB,yFAAsB;;;;IAvBrD,0EAAiD;IAC/C,0EAA6B;IAC3B,4EAA4B;IAAA,uDAAuC;;IAAA,4DAAQ;IAC3E,0EAA6C;IAC3C,gIAAkQ;IAClQ,6EAAqF;IAA1B,oUAAyB;IAClF,mEAA4B;IAC9B,4DAAS;IACX,4DAAM;IACN,4HAIM;IACR,4DAAM;IACN,+HAaM;IACR,4DAAM;;;IA3B0B,0DAAuC;IAAvC,uJAAuC;IAE+F,0DAA8C;IAA9C,iHAA8C;IAKrL,0DAAyB;IAAzB,4FAAyB;IAMxB,0DAA0C;IAA1C,6GAA0C;;;;IAe1E,0EAA+C;IAC7C,oFAAqO;IAAtN,kWAAwB;IAA8L,4DAAgB;IACvP,4DAAM;;;IADW,0DAAwB;IAAxB,sFAAwB;;;;IAgBvC,0EAA+C;IAC7C,4EAAoB;IAAA,uDAA8C;;IAAA,4DAAQ;IAC1E,4EAAgF;IAA7D,oXAAuC;IAA1D,4DAAgF;IAClF,4DAAM;;;IAFgB,0DAA8C;IAA9C,8JAA8C;IAC/C,0DAAuC;IAAvC,sGAAuC;;;IAMxD,6EAAuD;IAAA,uDAAW;IAAA,4DAAS;;;IAApC,4EAAe;IAAC,0DAAW;IAAX,4EAAW;;;;IAJtE,0EAAqE;IACnE,4EAAoB;IAAA,uDAA4C;;IAAA,4DAAQ;IACxE,6EAAiE;IAApC,iXAAmC;IAC9D,6EAAyB;IAAA,uDAAuC;;IAAA,4DAAS;IACzE,yIAA2E;IAC7E,4DAAS;IACX,4DAAM;;;IALgB,0DAA4C;IAA5C,4JAA4C;IACnC,0DAAmC;IAAnC,kGAAmC;IACtD,0DAAgB;IAAhB,yEAAgB;IAAC,0DAAuC;IAAvC,uJAAuC;IAC1C,0DAAe;IAAf,yFAAe;;;;IAtB3C,0EAAkD;IAEhD,0EAAyB;IACvB,wEAAO;IAAA,uDAAkC;;IAAA,4DAAQ;IACjD,4EAAoE;IAAjD,gWAA2B;IAA9C,4DAAoE;IACtE,4DAAM;IACN,0EAAyB;IACvB,4EAA2C;IAAA,uDAA0C;;IAAA,4DAAQ;IAC7F,gFAAkI;IAAxD,0WAAiC;IAAuB,4DAAW;IAC/I,4DAAM;IACN,2EAAmB;IACjB,6EAAoB;IAAA,wDAAsC;;IAAA,4DAAQ;IAClE,6EAAqE;IAAlD,kWAA4B;IAA/C,4DAAqE;IACvE,4DAAM;IACN,8HAGM;IACN,8HAMM;IACN,2EAA0C;IACxC,6EAA4C;IAAA,wDAA2C;;IAAA,4DAAQ;IAC/F,2EAAiE;IAC/D,6EAAyG;IAA3B,gWAA0B;IAAxG,4DAAyG;IACzG,6EAA+D;IAAA,wDAAiF;;;IAAA,4DAAQ;IAC1J,4DAAM;IACR,4DAAM;IACN,2EAAwB;IACtB,6EAAoB;IAAA,wDAAmC;;IAAA,4DAAQ;IAC/D,8EAAgE;IAAnC,yWAAkC;IAC7D,8EAAqD;IAAA,wDAAwC;;IAAA,4DAAS;IACtG,8EAAqD;IAAA,wDAAgD;;IAAA,4DAAS;IAC9G,8EAAqD;IAAA,wDAA0C;;IAAA,4DAAS;IACxG,8EAAqD;IAAA,wDAA0C;;IAAA,4DAAS;IACxG,8EAAqD;IAAA,wDAA4C;;IAAA,4DAAS;IAC5G,4DAAS;IACX,4DAAM;IACR,4DAAM;;;IAvCK,0DAAkC;IAAlC,mJAAkC;IACtB,0DAA2B;IAA3B,yFAA2B;IAGH,0DAA0C;IAA1C,oKAA0C;IACX,0DAAiC;IAAjC,+FAAiC;IAGvF,0DAAsC;IAAtC,wJAAsC;IACvC,0DAA4B;IAA5B,0FAA4B;IAE7B,0DAAyB;IAAzB,4FAAyB;IAIzB,0DAA+C;IAA/C,yHAA+C;IAQrB,0DAA2C;IAA3C,sKAA2C;IAEP,0DAA0B;IAA1B,wFAA0B;IACzC,0DAAiF;IAAjF,2PAAiF;IAI9H,0DAAmC;IAAnC,qJAAmC;IAC1B,0DAAkC;IAAlC,gGAAkC;IACR,0DAAwC;IAAxC,0JAAwC;IACxC,0DAAgD;IAAhD,kKAAgD;IAChD,0DAA0C;IAA1C,4JAA0C;IAC1C,0DAA0C;IAA1C,4JAA0C;IAC1C,0DAA4C;IAA5C,8JAA4C;;;;IAQrG,6EAAkT;IAAlQ,sYAAoE,MAAM,IAAC;IAAuL,uDAAgC;;IAAA,4DAAS;;IAAzC,0DAAgC;IAAhC,gJAAgC;;;;IAClV,6EAAsU;IAAtR,oUAAyB,OAAO,4CAA6B,OAAO,IAAC;IAAiN,uDAAgC;;IAAA,4DAAS;;IAAzC,0DAAgC;IAAhC,gJAAgC;;;;IACtW,6EAAiL;IAAjI,oUAAyB,gBAAgB,4CAA6B,kBAAkB,IAAC;IAAwC,uDAAgC;;IAAA,4DAAS;;IAAzC,0DAAgC;IAAhC,gJAAgC;;;;IACjN,6EAA8K;IAA9H,oUAAyB,eAAe,4CAA6B,iBAAiB,IAAC;IAAuC,uDAAgC;;IAAA,4DAAS;;IAAzC,0DAAgC;IAAhC,gJAAgC;;;;IAEhN,6EAA6L;IAA/I,oUAAyB,OAAO,8EAAuD,cAAc,IAAC;IAAyC,uDAAgC;;IAAA,4DAAS;;IAAzC,0DAAgC;IAAhC,gJAAgC;;;;IAC7N,6EAAqO;IAAvL,qUAAyB,OAAO,8EAAuD,gBAAgB,IAAC;IAA+E,uDAA0C;;IAAA,4DAAS;;;IAAjI,uGAAsC;IAAwC,0DAA0C;IAA1C,0JAA0C;;;;IAC/Q,6EAAqK;IAAvH,qUAAyB,OAAO,4CAA6B,gBAAgB,IAAE;IAAwC,uDAA6F;;;;IAAA,4DAAS;;IAAtG,0DAA6F;IAA7F,8TAA6F;;;;IAClQ,6EAAmK;IAArH,qUAAyB,OAAO,4CAA6B,eAAe,IAAE;IAAuC,uDAA4F;;;;IAAA,4DAAS;;IAArG,0DAA4F;IAA5F,6TAA4F;;;;IAC/P,6EAAyO;IAA3L,qUAAyB,OAAO,8EAAuD,gBAAgB,IAAC;IAAmF,uDAAgC;;IAAA,4DAAS;;;IAAjF,wGAAuC;IAAC,0DAAgC;IAAhC,gJAAgC;;;;IACzQ,6EAAgK;IAA3G,4UAAsB;IAAqF,uDAAoC;;IAAA,4DAAS;;;IAAhG,2HAAkD;IAAC,0DAAoC;IAApC,sJAAoC;;;;IAbtM,0EAAsD;IACpD,0EAAoB;IAClB,6EAAqG;IAAhD,qUAA0B;IAAsB,uDAAiC;;IAAA,4DAAS;IAC/I,kIAA2V;IAC3V,kIAA+W;IAC/W,kIAA0N;IAC1N,kIAAuN;IACzN,4DAAM;IACN,kIAAsO;IACtO,oIAAwR;IACxR,oIAA2Q;IAC3Q,oIAAwQ;IACxQ,oIAAkR;IAClR,oIAA6M;IAC/M,4DAAM;;;IAZmG,0DAAiC;IAAjC,kJAAiC;IACT,0DAAmL;IAAnL,kRAAmL;IACzL,0DAA6M;IAA7M,iTAA6M;IACzL,0DAAoC;IAApC,uGAAoC;IACtC,0DAAmC;IAAnC,sGAAmC;IAExB,0DAAqC;IAArC,wGAAqC;IACI,0DAAoC;IAApC,uGAAoC;IACpG,0DAAoC;IAApC,uGAAoC;IACrC,0DAAmC;IAAnC,sGAAmC;IACT,0DAAuC;IAAvC,0GAAuC;IAClH,0DAA8B;IAA9B,iGAA8B;;;IAI3G,sEAA4B;IAC1B,wEAAiC;IAAA,oGAAyC;IAAA,4DAAI;IAChF,4DAAM;;;;IACN,6EAAqL;IAAhI,2UAAsB;IAA0G,uDAAsC;;IAAA,4DAAS;;;IAAxJ,iKAAgF;IAAyB,0DAAsC;IAAtC,sJAAsC;;;;IAC3N,6EAA2L;IAAtI,sUAAoB,OAAO,KAAE;IAAyG,gFAAgB;IAAA,4DAAS;;;IAAjI,iKAAgF;;;;IANrK,0EAAqD;IACnD,6EAAwG;IAAhD,qUAA0B;IAAsB,uDAAiC;;IAAA,4DAAS;IAClJ,4HAEM;IACN,kIAAoO;IACpO,kIAAoN;IACtN,4DAAM;;;IANoG,0DAAiC;IAAjC,iJAAiC;IACnI,0DAAoB;IAApB,uFAAoB;IAGoI,0DAAqB;IAArB,wFAAqB;IACd,0DAAoB;IAApB,uFAAoB;;AD/F5L,MAAM,wBAAwB;IA4BnC,YAAoB,IAAgB,EAAU,UAA6B,EAAU,MAAc,EAAU,KAAkB;QAA3G,SAAI,GAAJ,IAAI,CAAY;QAAU,eAAU,GAAV,UAAU,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,UAAK,GAAL,KAAK,CAAa;QA3B/H,WAAM,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxC,uBAAkB,GAAY,KAAK,CAAC;QACpC,wBAAmB,GAAG,IAAI,6EAAe,EAAE,CAAC;QAC5C,iBAAY,GAAsB,IAAI,CAAC;QACvC,YAAO,GAAsB,IAAI,4EAAiB,EAAE,CAAC;QAGrD,UAAK,GAAG;YACN,OAAO,EAAE,gBAAgB;YACzB,QAAQ,EAAE,gBAAgB;SAC3B;QACD,iBAAY,GAAiD,IAAI,CAAC;QAClE,aAAQ,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;QACxC,aAAQ,GAAG,KAAK,CAAC;QAIjB,WAAM,GAAyB,IAAI,CAAC;QACpC,wBAAmB,GAAG,KAAK,CAAC;QAC5B,qBAAgB,GAAG,KAAK,CAAC;QAGzB,SAAI,GAAuB,EAAE,CAAC;QAC9B,qBAAgB,GAAY,KAAK,CAAC,CAAC,4CAA4C;QAC/E,mBAAc,GAAY,KAAK,CAAC;QAChC,iBAAY,GAAY,KAAK,CAAC;IAEqG,CAAC;IAEpI,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC;YACnE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,sCAAsC,IAAI,CAAC,CAAC,WAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAE;oBAClI,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;iBAC1C;YACH,CAAC;SACF,CAAC,CAAC;QACH,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,CAAC,CAAC;QACjE,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,oBAAoB,CAAC,EAAE;YAClF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;YACpD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACb,IAAI,CAAC,CAAC,IAAI,EAAE;oBACV,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,IAAI,CAAC,GAAG,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC;oBACrD,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,EAAE,CAAC;iBACZ;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED,WAAW;QACT,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;SAAE;IACzD,CAAC;IAED,wBAAwB,CAAC,QAAa;QACpC,uBAAuB;QACvB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;QAC9C,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE;YACzD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;SACzD;QACD,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE;YAC/C,IAAI,CAAC,qBAAqB,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;SACvD;IACH,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,mBAAmB,CAAC,cAAc,GAAG,IAAI,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,4DAAY,GAAG,6CAA6C,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;gBACpH,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;oBACb,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBACD,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBAChC,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;aAC3C,CAAC,CAAC;SACJ;IACH,CAAC;IAED,cAAc;QACZ,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAO,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,4DAAY,GAAG,mCAAmC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACpG,CAAC,IAAkB,EAAE,EAAE;YACrB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,mBAAmB,CAAC,aAAa,GAAG,IAAI,CAAC;YAC9C,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QACjC,CAAC,EACD,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAC,CAAC,EAC7B,GAAG,EAAE;YACH,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;YAC9I,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3D,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC3C,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;aAC7I;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAEK,UAAU,CAAC,EAAU;;YACzB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAO,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,4DAAY,GAAG,6CAA6C,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAC/G,CAAC,IAAc,EAAE,EAAE;gBACjB,mBAAmB;gBACnB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;gBACtE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,IAAI,CAAC,mBAAmB,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC1C,IAAI,CAAC,mBAAmB,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC/C,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;YACtC,CAAC,EACD,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAC,CAAC,EACjD,GAAG,EAAE,GAAG,CAAC,CACV;QACH,CAAC;KAAA;IAED,cAAc,CAAC,CAAgB;QAC7B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,CAAC,MAAM;YAC9C,CAAC,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,WAAW,EAAE;YACpD,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC;SACjS;aAAM;YACL,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC;SACtF;IACH,CAAC;IAED,WAAW,CAAC,CAAC;QACX,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,mBAAmB,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAC,QAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,KAAI,OAAC,CAAC,MAAM,0CAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,KAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;SAChR;aAAM;YACL,IAAI,CAAC,mBAAmB,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;SAC9E;IACH,CAAC;IAED,WAAW,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,CAAC,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,mBAAmB,CAAC,cAAc,GAAG,IAAI,CAAC;YAC/C,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa;gBAAE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;YACjF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;SACxC;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,mBAAmB,CAAC,cAAc,GAAG,IAAI,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,QAAQ,CAAC,CAAC;QACR,IAAI,CAAC,CAAC,CAAC,EAAE;YACP,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC;YACnD,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;SACrC;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,qBAAqB,CAAC,IAAI;QACxB,IAAI,GAAG,GAAG,4DAAY,GAAG,wCAAwC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC5F,IAAI,IAAI,IAAI,OAAO,EAAE;YAAE,GAAG,GAAG,4DAAY,GAAG,yCAAyC,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;SAAE;QACvH,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACvC,CAAC,IAAS,EAAE,EAAE;YACZ,IAAI,IAAI,IAAI,OAAO,EAAE;gBAAE,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAAE;iBAClE;gBAAE,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;aAAE;YACnD,qBAAqB;YACrB,4CAA4C;QAC9C,CAAC,EACD,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAC,CAAC,EACjD,GAAG,EAAE,GAAG,CAAC,CACV;IACH,CAAC;IAED,YAAY;QACV,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,eAAe,CAAC,EAAE;QAChB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAQ,4DAAY,GAAG,qCAAqC,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;YACrG,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI;YACxC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,KAAc;QACvB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC;YACzE,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrM,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACzL;aAAM,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,KAAK,EAAE;YAC7E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;QACtD,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;YACvD,IAAI,EAAE,CAAC,IAAS,EAAE,EAAE;gBAClB,SAAS,GAAG,IAAI,CAAC;gBACjB,IAAI,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;gBACpD,IAAI,GAAG,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE;oBAChC,OAAO,EAAE,IAAI;oBACb,UAAU,EAAE,IAAI;oBAChB,IAAI,EAAE,MAAM;iBACb,CAAC,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YACD,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;YAChC,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAClC,IAAI,CAAC,OAAO,GAAG,IAAI,4EAAiB,EAAE,CAAC;gBACvC,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,EAAU;QAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,OAAO,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,4DAAY,GAAG,yCAAyC,EAAE;YACvE,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,QAAQ;YACb,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,QAAQ;SAChB,CAAC;IACJ,CAAC;IAED,sBAAsB;QACpB,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAC1B,KAAK,aAAa,CAAC;YACnB,KAAK,OAAO,CAAC,CAAC;gBACZ,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC;gBACvC,MAAM;aACP;YACD,KAAK,gBAAgB,CAAC;YACtB,KAAK,eAAe,CAAC,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAC9B,MAAM;aACP;YACD;gBACE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;gBAC9B,MAAM;SACT;IACH,CAAC;IAED,sBAAsB,CAAC,KAAK;QAC1B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7C,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC/D,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;aACrD;SACF;IACH,CAAC;IAED,sBAAsB,CAAC,EAAkB;QACvC,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACtD,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,gBAAgB,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,4EAAiB,EAAE,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC1E,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,mBAAmB,GAAG,IAAI,6EAAe,EAAE,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,UAAU,CAAC,OAAO;QAChB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/B,CAAC;;gGA7TU,wBAAwB;sHAAxB,wBAAwB;QChBrC,yEAAuL;QACnL,yEAAsD;QACpD,yEAA2B;QACzB,yEAA8B;QAC5B,wEAAqD;QAAA,uDAAsC;;QAAA,4DAAK;QAChG,4EAA0H;QAAnE,gJAAS,oBAAgB,IAAC;QAC/E,8DAA+F;QAA/F,yEAA+F;QAC3F,qEAAiH;QACrH,4DAAM;QACR,4DAAS;QACX,4DAAM;QACN,+DAAsD;QAAtD,0EAAsD;QAEpD,uHA6BM;QACN,uHAEM;QACN,yHA0CM;QACR,4DAAM;QACN,yHAcM;QACN,uHAOM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAER,yEAAsG;;QAjHvC,0DAAsC;QAAtC,sJAAsC;QASpE,0DAAwB;QAAxB,wFAAwB;QA8B3B,0DAAyB;QAAzB,yFAAyB;QAG3B,0DAA8B;QAA9B,8FAA8B;QA4CvB,0DAAyB;QAAzB,yFAAyB;QAezB,0DAAwB;QAAxB,wFAAwB;;ADuO3D,MAAM,KAAK;CAQV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEzVkP;AAM5O,MAAM,UAAU;IAAvB;QAGS,UAAK,GAAG,IAAI,0CAAK,EAAE,CAAC;QACpB,uBAAkB,GAAG,IAAI,uDAAkB,EAAE,CAAC;QAC9C,kBAAa,GAAG,IAAI,YAAY,EAAE,CAAC;QAEnC,qBAAgB,GAAG,EAAE,CAAC;IAC/B,CAAC;CAAA;AAEM,MAAM,YAAY;CAGxB;AAEM,MAAM,WAAW;CA6CvB;AAOM,MAAM,SAAS;CAerB;AAEM,MAAM,YAAY;CAGxB;AAEM,MAAM,aAAa;CAGzB;AAEM,MAAM,aAAa;IAA1B;QACE,OAAE,GAAW,IAAI,CAAC;QAClB,kBAAa,GAAY,KAAK,CAAC;IACjC,CAAC;CAAA;AAEM,MAAM,GAAG;CAMf;AAEM,MAAM,aAAa;IAA1B;QACS,2BAAsB,GAAG,KAAK,CAAC;QAC/B,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;QACpB,mBAAc,GAAG,KAAK,CAAC;QACvB,0BAAqB,GAAG,KAAK,CAAC;QAC9B,2BAAsB,GAAG,KAAK,CAAC;QAC/B,sBAAiB,GAAG,KAAK,CAAC;QAC1B,gBAAW,GAAG,KAAK,CAAC;QACpB,WAAM,GAAG,KAAK,CAAC;QACtB,4CAA4C;QACrC,WAAM,GAAW,EAAE,CAAC;QACpB,iBAAY,GAAY,KAAK,CAAC;QAC9B,gBAAW,GAAG;YACnB,WAAW,EAAE,IAAI,IAAI,EAAE;YACvB,aAAa,EAAE,EAAE;YACjB,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,MAAM;YACnB,eAAe,EAAE,EAAE,GAAG,EAAE,sCAAsC,EAAE,KAAK,EAAE,SAAS,EAAE;YAClF,aAAa,EAAE,EAAE,GAAG,EAAE,sCAAsC,EAAE,KAAK,EAAE,SAAS,EAAE;YAChF,QAAQ,EAAE,IAAI,IAAI,EAAE;YACpB,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;YACxC,OAAO,EAAE,GAAG;SACb;QACM,gBAAW,GAAG,CAAC,CAAC;QAChB,kBAAa,GAAG,CAAC,CAAC;QAClB,qBAAgB,GAAG,CAAC,CAAC;QACrB,kBAAa,GAAG,KAAK,CAAC;QACtB,mBAAc,GAAG,IAAI,CAAC;QACtB,mBAAc,GAAG,KAAK,CAAC;QACvB,gBAAW,GAAG,KAAK,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,QAAQ;CAGpB;AAEM,MAAM,iBAAiB;CAG7B;AAEM,MAAM,MAAM;IAAnB;QAEE,aAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QAKpC,sBAAiB,GAAsB,IAAI,iBAAiB,EAAE,CAAC;IAGjE,CAAC;CAAA;AAEM,MAAM,MAAM;CAMlB;AAEM,MAAM,UAAU;CAStB;AAEM,MAAM,eAAe;IAA5B;QAGE,mBAAc,GAAG,MAAM,CAAC;QACxB,0BAAqB,GAAG,CAAC,CAAC,CAAE;QAC5B,yBAAoB,GAAW,EAAE,CAAC;QAsBlC,cAAS,GAAyB,IAAI,CAAC;QACvC,mBAAc,GAAyB,IAAI,CAAC;QAC5C,uBAAkB,GAAW,EAAE,CAAC;QAChC,gBAAW,GAAG,aAAa,CAAC;QAC5B,uBAAkB,GAAG,CAAC,CAAC,CAAC;IAuB1B,CAAC;IAhDC,kBAAkB,CAAC,CAAQ;QACzB,IAAG,CAAC,IAAI,IAAI,CAAC,cAAc,EAAC;YAC1B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aACI;YACH,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,gBAAgB,EAAE;SACxB;IACH,CAAC;IACD,gBAAgB;QACd,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QAChD,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACtF,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAChD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC,CAAE;IAChK,CAAC;IAMD,eAAe,CAAC,CAAQ;QACtB,IAAG,CAAC,IAAI,IAAI,CAAC,WAAW,EAAC;YACvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;aACI;YACH,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,YAAY,EAAE;SACpB;IACH,CAAC;IACD,YAAY;QACV,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACvB,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACjC,CAAC,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CACtD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE;YACZ,IAAG,IAAI,CAAC,WAAW,IAAI,aAAa;gBAAE,OAAO,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC;YACxI,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1I,CAAC,CAAE;IACL,CAAC;CACF;AAEM,MAAM,oBAAoB;IAAjC;QACE,aAAQ,GAAe,EAAE,CAAC;QAC1B,SAAI,GAAW,EAAE,CAAC;QAClB,YAAO,GAAW,EAAE,CAAC;QACrB,YAAO,GAAW,EAAE,CAAC;QACrB,SAAI,GAAW,EAAE,CAAC;QAClB,gBAAW,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,6BAA6B;IAA1C;QACE,SAAI,GAAY,KAAK,CAAC;QACtB,QAAG,GAAY,KAAK,CAAC;QACrB,UAAK,GAAY,IAAI,CAAC;IACxB,CAAC;CAAA;AAEM,MAAM,YAAY;CAQxB;AAEM,MAAM,iBAAiB;CAK7B;AAEM,MAAM,cAAc;IAA3B;QAOE,WAAM,GAAW,CAAC,CAAC;IACrB,CAAC;CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxRM,MAAM,eAAe;CAI3B;AAEM,MAAM,kBAAkB;CAe9B;AAEM,MAAM,eAAe;CAU3B;AAEM,MAAM,cAAc;CAS1B;AAEM,MAAM,sBAAsB;CASlC;AAEM,MAAM,UAAU;CAStB;AAEM,MAAM,SAAS;IAAtB;QACS,WAAM,GAAG,EAAE,CAAC;QACZ,aAAQ,GAAG,EAAE,CAAC;QACd,QAAG,GAAG,EAAE,CAAC;QACT,iBAAY,GAAG,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,UAAU;IAAvB;QACS,cAAS,GAAW,EAAE,CAAC;QACvB,WAAM,GAAW,EAAE,CAAC;QACpB,eAAU,GAAW,EAAE,CAAC;QACxB,iBAAY,GAAW,EAAE,CAAC;QAC1B,SAAI,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,MAAM;CAGlB;AAEM,MAAM,QAAQ;CAGpB;AAEM,MAAM,KAAK;IAAlB;QACS,iBAAY,GAAoB,EAAE,CAAC;QACnC,gBAAW,GAAsB,EAAE,CAAC;QACpC,WAAM,GAAiB,EAAE,CAAC;QAC1B,WAAM,GAAkB,EAAE,CAAC;QAC3B,UAAK,GAAgB,EAAE,CAAC;QAIxB,eAAU,GAAqB,EAAE,CAAC;QACzC,qBAAgB,GAAuB,EAAE,CAAC;IAE5C,CAAC;CAAA;AAEM,MAAM,OAAO;IAApB;QACS,WAAM,GAAW,EAAE,CAAC;QACpB,gBAAW,GAAW,EAAE,CAAC;QACzB,WAAM,GAAW,EAAE,CAAC;QACpB,UAAK,GAAe,IAAI,UAAU,EAAE,CAAC;QACrC,cAAS,GAAW,EAAE,CAAC;QACvB,kBAAa,GAAG,EAAE,CAAC;QACnB,WAAM,GAAW,EAAE,CAAC;QACpB,WAAM,GAAgB,IAAI,WAAW,EAAE,CAAC;QACxC,UAAK,GAAW,GAAG,CAAC;IAI7B,CAAC;CAAA;AAEM,MAAM,cAAc;CAS1B;AAEM,MAAM,aAAa;IAA1B;QACE,eAAU,GAAW,IAAI,CAAC;QAC1B,aAAQ,GAAW,IAAI,CAAC;QACxB,eAAU,GAAY,IAAI,CAAC;QAC3B,YAAO,GAAW,IAAI,CAAC;QACvB,iBAAY,GAAW,IAAI,CAAC;IAC9B,CAAC;CAAA;AAEM,MAAM,YAAY;IAAzB;QACS,aAAQ,GAAG;YAChB,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;SACvC,CAAC;QACK,WAAM,GAAG;YACd,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;SACvC,CAAC;QACK,YAAO,GAAG;YACf,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;YACtC,sCAAsC;SACvC,CAAC;QACK,aAAQ,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAC7D,CAAC;CAAA;AAEM,MAAM,MAAM;CAGlB;AAEM,MAAM,WAAW;CAGvB;AAEM,MAAM,KAAK;IAAlB;QACS,gBAAW,GAAW,EAAE,CAAC;IAIlC,CAAC;CAAA;AAEM,MAAM,WAAW;IAAxB;QAGE,SAAI,GAAW,iBAAiB,CAAC;IACnC,CAAC;CAAA;AAEM,MAAM,UAAU;IAAvB;QAGE,SAAI,GAAW,iBAAiB,CAAC;IACnC,CAAC;CAAA;AAEM,MAAM,WAAW;IAAxB;QACS,kBAAa,GAAW,EAAE,CAAC;QAC3B,SAAI,GAAW,EAAE,CAAC;IAC3B,CAAC;CAAA;AAEM,MAAM,MAAM;CAMlB;AAEM,MAAM,IAAI;CAOhB;AAEM,MAAM,UAAU;CAStB;AAEM,MAAM,eAAe;CAc3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnQ8D;AAKrB;AACS;;;;;;;;;;ICS3C,6EAA4G;IAAjC,6SAAS,6BAAsB,IAAC;IACzG,mEAA4B;IAC9B,4DAAS;;;;IAJb,0EAA4C;IAAA,6FAC1C;IAAA,0EAAgC;IAC9B,8HAES;IACX,4DAAM;IAEN,0EAAgC;IAC9B,6EAAsF;IAAtC,oSAAS,kCAA2B,IAAC;IACnF,mEAAmC;IACrC,4DAAS;IACX,4DAAM;IACR,4DAAM;;;IAV+C,0DAAwB;IAAxB,2FAAwB;;;;IAgBzE,6EAAwG;IAA/B,+SAAS,4BAAoB,IAAC;IACrG,mEAA4B;IAC9B,4DAAS;;;;IAJb,0EAA4C;IAC1C,0EAAgC;IAC9B,8HAES;IACX,4DAAM;IAEN,0EAAgC;IAC9B,6EAAoF;IAApC,qSAAS,iCAAyB,IAAC;IACjF,mEAAmC;IACrC,4DAAS;IACX,4DAAM;IACR,4DAAM;;;IAV+C,0DAAsB;IAAtB,yFAAsB;;;IAgBzE,4EAAuD;IAAA,uDAAa;IAAA,4DAAS;;;IAAtC,4EAAe;IAAC,0DAAa;IAAb,4EAAa;;;IAOpE,4EAAkD;IAAA,uDAAa;IAAA,4DAAS;;;IAAtC,4EAAe;IAAC,0DAAa;IAAb,4EAAa;;;IAO/D,4EAA+D;IAAA,uDAAY;IAAA,4DAAS;;;IAA9C,qFAAwB;IAAC,0DAAY;IAAZ,2EAAY;;;;IAQjF,0EAAgE;IAC9D,4FAOwB;IAFD,oVAAuB;IAG9C,4DAAwB;IAC1B,4DAAM;;;IATmB,0DAAuB;IAAvB,uFAAuB;;AD1DzC,MAAM,oBAAoB;IAW/B,YAAoB,UAAsB,EAAU,MAAc,EAAU,WAA2B,EAAU,GAAa,EAAU,UAA6B;QAAjJ,eAAU,GAAV,UAAU,CAAY;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAgB;QAAU,QAAG,GAAH,GAAG,CAAU;QAAU,eAAU,GAAV,UAAU,CAAmB;QANrK,WAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAEvC,UAAK,GAAG,+CAAc,CAAC;QAEvB,WAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAEyI,CAAC;IAE1K,QAAQ;QACN,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,EAAC,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,EAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAC,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,QAAQ;QACN,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,4DAAY,GAAG,qCAAqC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAqB,EAAE,EAAE;YACzH,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE;YACf,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC,CACA,CAAC;IACJ,CAAC;IAEK,WAAW;;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC5B,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBACzC,QAAQ,CAAC,EAAE;oBACT,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;wBACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;wBACnE,IAAI,CAAC,IAAI,IAAI,EAAE;4BACb,IAAI,CAAC,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;4BACzI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BACf,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;yBACrE;wBACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CACpB;wBAAC,MAAK;qBACR;oBACD,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACf,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC/D,IAAI,CAAC,IAAI,IAAI,EAAE;4BACb,IAAI,CAAC,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;4BACtI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;yBACrE;wBACD,CAAC;wBAAC,MAAK;qBACR;oBACD,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;wBACpB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,IAAI,EAAE,EAAE;4BAC1E,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAE;yBAC7F;wBACD,CAAC;wBAAC,MAAK;qBACR;oBACD,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACf,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,EAAE,EAAE;4BAChE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;yBAC7E;wBACD,CAAC;wBAAC,MAAK;qBACR;oBACD,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;wBAAE,CAAC;wBAAA,MAAK;qBAAC;oBAC/B,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;wBACnB,CAAC;wBAAC,MAAK;qBACR;iBACF,CAAC,gBAAgB;aACnB,CAAC,kBAAkB;YACpB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YAEtB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;KAAA;IAID,iBAAiB;IAGjB,CAAC;IAEK,WAAW;;YACf,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;YAC5D,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1F,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtG,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1G,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAClH,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC;YAC9F,UAAU;YACV,mCAAmC;YACnC,qCAAqC;YACrC,wCAAwC;YACxC,gDAAgD;YAChD,mCAAmC;YACnC,GAAG;YACH,IAAI,GAAG;gBACL,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;aACnC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1B,CAAC;KAAA;IAED,SAAS,CAAC,IAAgB;QACxB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,aAAa,GAAkB,KAAK,CAAC,IAAI,CAC3C,IAAI,GAAG,CACL,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CACpE,CACF,CAAC;QACF,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;QACvH,KAAK,IAAI,CAAC,IAAI,aAAa,EAAE;YAC3B,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC7F,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,KAAK,GAAU,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACvD,IAAI,CAAC,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7P,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;YACpB,CAAC,EAAE,CAAC,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD;QACD,OAAO,MAAM;IACf,CAAC;IAED,WAAW;QACT,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC;QAChI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC;QAC7I,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC;QACjI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC;QACrI,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC;QACrI,IAAI,IAAI,GACN;YACE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;YAC5B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;YAC5B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;YAC7B,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE;YACjC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;SAE5B;IACL,CAAC;IAED,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEK,wBAAwB,CAAC,MAAM;;YACnC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACjC,QAAQ,CAAC,EAAE;oBACT,KAAK,CAAC,UAAU,CAAC,CAAC;oBAClB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACf,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBACxC,MAAK;qBACN;oBACD,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACf,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;4BACtC,oCAAoC;yBACrC;wBAAA,CAAC;wBACF,MAAK;qBACN;oBACD,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACf,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5E;wBAAA,MAAK;qBACT;oBACD,OAAO,CAAC,CAAC;wBACL,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;qBAChC,CAAC,iBAAiB;iBACpB,CAAC,gBAAgB;aACnB,CAAC,kBAAkB;YACpB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7D,IAAI,CAAC,WAAW,EAAE;aACnB;QACH,CAAC;KAAA;IAEK,mBAAmB;;YACvB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;gBACzC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;oBAC7B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;wBAC1C,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;qBAC9B;yBACI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE;wBAC/C,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG;qBACjJ;iBACF;aACF;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACpF,CAAC;KAAA;IAED,IAAI;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,KAAK;QACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IACpB,CAAC;;wFArMU,oBAAoB;kHAApB,oBAAoB;QCXjC,yEAAsB;QACpB,yEAAsE;QACpE,qEAAI;QAAA,uDAAuC;;QAAA,4DAAK;QAChD,4EAAmD;QAAjB,4IAAS,UAAM,IAAC;QAAC,uDAAgC;;QAAA,4DAAS;QAC9F,4DAAM;QACR,4DAAM;QAIN,yEAAiB;QACf,yEAAiB;QACf,yEAAO;QAAA,wDAAiC;;QAAA,4DAAQ;QAChD,kHAYM;QACR,4DAAM;QACN,0EAAiB;QACf,yEAAO;QAAA,wDAA+B;;QAAA,4DAAQ;QAC9C,kHAYM;QACR,4DAAM;QACN,0EAAiB;QACf,yEAAO;QAAA,wDAAwC;;QAAA,4DAAQ;QACvD,6EAAkG;QAArE,yMAAmC,uFAAW,yBAAqB,IAAhC;QAC9D,6EAAuB;QAAA,wDAAuC;;QAAA,4DAAS;QACvE,wHAA6E;QAC/E,4DAAS;QACX,4DAAM;QACN,0EAAiB;QACf,yEAAO;QAAA,wDAAmC;;QAAA,4DAAQ;QAClD,6EAA6F;QAAhE,oMAA8B,uFAAW,yBAAqB,IAAhC;QACzD,6EAAuB;QAAA,wDAAuC;;QAAA,4DAAS;QACvE,wHAAwE;QAC1E,4DAAS;QACX,4DAAM;QACN,0EAAiB;QACf,yEAAO;QAAA,wDAAuC;;QAAA,4DAAQ;QACtD,6EAAiG;QAApE,wMAAkC,uFAAW,yBAAqB,IAAhC;QAC7D,6EAAuB;QAAA,wDAAuC;;QAAA,4DAAS;QACvE,wHAAoF;QACtF,4DAAS;QACX,4DAAM;QACN,0EAAiB;QACf,6EAA2D;QAAA,wDAAiC;;QAAA,4DAAS;QACvG,4DAAM;QACR,4DAAM;QAEN,mHAUM;;QA5EE,0DAAuC;QAAvC,wJAAuC;QACQ,0DAAgC;QAAhC,iJAAgC;QAQ5E,0DAAiC;QAAjC,mJAAiC;QACd,0DAAgB;QAAhB,gFAAgB;QAenC,0DAA+B;QAA/B,iJAA+B;QACZ,0DAAgB;QAAhB,gFAAgB;QAenC,0DAAwC;QAAxC,0JAAwC;QAClB,0DAAmC;QAAnC,8FAAmC;QACtD,0DAAc;QAAd,uEAAc;QAAC,0DAAuC;QAAvC,yJAAuC;QACxC,0DAAe;QAAf,qFAAe;QAIhC,0DAAmC;QAAnC,qJAAmC;QACb,0DAA8B;QAA9B,yFAA8B;QACjD,0DAAc;QAAd,uEAAc;QAAC,0DAAuC;QAAvC,yJAAuC;QACxC,0DAAU;QAAV,gFAAU;QAI3B,0DAAuC;QAAvC,yJAAuC;QACjB,0DAAkC;QAAlC,6FAAkC;QACrD,0DAAc;QAAd,uEAAc;QAAC,0DAAuC;QAAvC,yJAAuC;QACxC,0DAAc;QAAd,oFAAc;QAIqB,0DAAiC;QAAjC,mJAAiC;QAI3D,0DAAyB;QAAzB,yFAAyB;;AD+IvD,MAAM,gBAAgB;CAI5B;AAEM,MAAM,uBAAuB;IAApC;QACE,OAAE,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACpC,SAAI,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAQpC,CAAC;IAPC,gBAAgB,CAAC,KAAkB;QACjC,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IACD,UAAU,CAAC,IAAI,EAAE,IAAI;QACnB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI;IACtB,CAAC;CACF;AAEM,MAAM,wBAAwB;IAArC;QACE,aAAQ,GAAS,IAAI,CAAC;QACtB,WAAM,GAAS,IAAI,CAAC;QACpB,gBAAW,GAAW,IAAI,CAAC;QAC3B,WAAM,GAAW,IAAI,CAAC;QACtB,gBAAW,GAAW,IAAI,CAAC;QAC3B,eAAU,GAAW,IAAI,CAAC;IAC5B,CAAC;CAAA;AAEM,MAAM,oBAAoB;IAAjC;QAGU,QAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAwC3B,CAAC;IAvCC;;;OAGG;IACH,SAAS,CAAC,MAAc;QACtB,QAAQ,MAAM,EAAE;YACd,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBACjI,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACzF,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;aACxC;YACD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjB,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBAClD,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;gBAChG,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC3F,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;aACxC;YACD,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;gBACrE,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvE,OAAO,EAAE,IAAI,EAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAC;aACtC;YACD,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzE,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;gBACnE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;aACxC;YACD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;aACxC;YACD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;aACxC;SACF,CAAC,gBAAgB;IACpB,CAAC;CACF;AAOM,MAAM,UAAU;CAEtB;;;;;;;;;;;;;;;;;;AE9RM,MAAM,uBAAuB;IAElC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;8FALU,uBAAuB;qHAAvB,uBAAuB;QCNpC,oEAAG;QACD,oFACF;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;ACIG,MAAM,6BAA6B;IAExC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;0GALU,6BAA6B;2HAA7B,6BAA6B;QCN1C,oEAAG;QACD,2FACF;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;ACIG,MAAM,uBAAuB;IAElC,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;8FALU,uBAAuB;qHAAvB,uBAAuB;QCNpC,oEAAG;QACD,oFACF;QAAA,4DAAI;;;;;;;;;;;;;;;;;;;;;;ACFG,MAAM,WAAW;IAAxB;QAiBE,YAAO,GAAY,IAAI,OAAO,EAAE,CAAC;QACjC,eAAU,GAAY,IAAI,OAAO,EAAE,CAAC;QACpC,eAAU,GAAY,IAAI,OAAO,EAAE,CAAC;IAGtC,CAAC;CAAA;AAEM,MAAM,WAAW;CAIvB;AAEM,MAAM,OAAO;CAGnB;AAEM,MAAM,QAAQ;CAIpB;AAEM,MAAM,UAAU;CAItB;AAEM,MAAM,eAAe;CAgB3B;;;;;;;;;;;;;;;;;;;;;AC/D8D;AAC7B;AACE;AAmB7B,MAAM,SAAS;IAElB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QADpC,SAAI,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,CAAC;IACR,CAAC;IAEzC,QAAQ;QACJ,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,wBAAwB,EAAE,EAAE,OAAO,EAAE,CAAC;IAC9E,CAAC;IAED,UAAU;QACN,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,iDAAY,GAAG,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC;IACjF,CAAC;IAED,aAAa;QACT,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,iDAAY,GAAG,6BAA6B,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/F,CAAC;IAED,uBAAuB,CAAC,UAAkB,EAAE,MAAc;QACtD,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,iDAAY,GAAG,4CAA4C,UAAU,MAAM,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5I,CAAC;IAED,YAAY,CAAC,CAAe;QACxB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAe,iDAAY,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;IACvF,CAAC;IAED,mBAAmB,CAAC,EAAU;QAC1B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,iDAAY,GAAG,qCAAqC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC3G,CAAC;IAED,oBAAoB,CAAC,EAAU;QAC3B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,iDAAY,GAAG,sCAAsC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC5G,CAAC;IAED,qBAAqB;QACjB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,iDAAY,GAAG,gCAAgC,EAAE,EAAE,OAAO,EAAE,CAAC;IAC1G,CAAC;IAED,qCAAqC;QACjC,OAAO,IAAI,4CAAU,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,oCAAoC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;gBACtF,IAAI,EAAE,CAAC,MAAW,EAAE,EAAE;oBAClB,IAAI,MAAM,IAAI,IAAI,EAAE;wBAChB,GAAG,CAAC,IAAI,CAAC;4BACL,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;4BACzE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;yBAC5E,CAAC,CAAC;qBACN;gBACL,CAAC;gBACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;gBAC1F,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAC,CAAC;aACrC,CAAC,CAAC;QACP,CAAC,CAAC;IAEN,CAAC;IAED,sCAAsC,CAAC,CAAM;QACzC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAY,GAAG,iCAAiC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;YACvF,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;YACf,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;SACnC,CAAC,CAAC;IACP,CAAC;IAED,8BAA8B;QAC1B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA6B,iDAAY,GAAG,+BAA+B,EAAE,EAAE,OAAO,EAAE,CAAC;IACjH,CAAC;IAED,+BAA+B;QAC3B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA6B,iDAAY,GAAG,+BAA+B,EAAE,EAAE,OAAO,EAAE,CAAC;IACjH,CAAC;IAED,2BAA2B;QACvB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,iDAAY,GAAG,+BAA+B,EAAE,EAAE,OAAO,EAAE,CAAC;IACxG,CAAC;IAED,+BAA+B;QAC3B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,iDAAY,GAAG,oCAAoC,EAAE,EAAE,OAAO,EAAE,CAAC;IAC1G,CAAC;IAED,eAAe,CAAC,EAAU;QACtB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,iDAAY,GAAG,gBAAgB,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACpF,CAAC;IAED,kBAAkB,CAAC,EAAU;QACzB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,mCAAmC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7F,CAAC;IAED,YAAY,CAAC,EAAU,EAAE,CAAe;QACpC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,iDAAY,GAAG,gBAAgB,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;IAC3F,CAAC;IAED,cAAc,CAAC,EAAU;QACrB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iDAAY,GAAG,gBAAgB,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7E,CAAC;IAED,gBAAgB;QACZ,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAiB,iDAAY,GAAG,4BAA4B,EAAE,EAAE,OAAO,EAAE,CAAC;IAClG,CAAC;IAED,mBAAmB;QACf,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,iDAAY,GAAG,6BAA6B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,gBAAgB,CAAC,CAAe;QAC5B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAe,iDAAY,GAAG,2BAA2B,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;IACnG,CAAC;IAED,UAAU,CAAC,CAAW;QAClB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iDAAY,GAAG,yBAAyB,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;IACpF,CAAC;IAED,eAAe,CAAC,EAAU,EAAE,CAAmB;QAC3C,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,iDAAY,GAAG,+BAA+B,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;IAC9G,CAAC;IAED,kBAAkB,CAAC,EAAU;QACzB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iDAAY,GAAG,mCAAmC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAChG,CAAC;IAED,eAAe;QACX,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,iDAAY,GAAG,+BAA+B,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/F,CAAC;IAED,oBAAoB;QAChB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,iDAAY,GAAG,oCAAoC,EAAE,EAAE,OAAO,EAAE,CAAC;IAC9G,CAAC;IAED,uBAAuB,CAAC,EAAU;QAC9B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,iDAAY,GAAG,yCAAyC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACrH,CAAC;IAED,mBAAmB,CAAC,CAAuB;QACvC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAuB,iDAAY,GAAG,mCAAmC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;IACnH,CAAC;IAED,oBAAoB,CAAC,CAAmB;QACpC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAuB,iDAAY,GAAG,sCAAsC,CAAC,CAAC,EAAE,EAAE,EAAE;YACpG,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,OAAO,EAAE,CAAC,CAAC,OAAO;SACrB,EAAE,EAAE,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,sBAAsB,CAAC,EAAU;QAC7B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iDAAY,GAAG,wCAAwC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACrG,CAAC;IAED,qBAAqB;QACjB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,iDAAY,GAAG,qCAAqC,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/G,CAAC;IAED,uBAAuB,CAAC,EAAU;QAC9B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,iDAAY,GAAG,yCAAyC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACrH,CAAC;IAED,mBAAmB,CAAC,CAAuB;QACvC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAuB,iDAAY,GAAG,mCAAmC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;IACnH,CAAC;IAED,oBAAoB,CAAC,CAAmB;QACpC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAuB,iDAAY,GAAG,qCAAqC,CAAC,CAAC,EAAE,EAAE,EAAE;YACnG,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACvB,EAAE,EAAE,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,sBAAsB,CAAC,EAAU;QAC7B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iDAAY,GAAG,uCAAuC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACpG,CAAC;IAED,eAAe;QACX,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,iDAAY,GAAG,6BAA6B,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7F,CAAC;IAED,aAAa,CAAC,CAAuB;QACjC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAS,iDAAY,GAAG,6BAA6B,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/F,CAAC;IAED,cAAc,CAAC,CAAmB;QAC9B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAuB,iDAAY,GAAG,+BAA+B,CAAC,CAAC,EAAE,EAAE,EAAE;YAC7F,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACvB,EAAE,EAAE,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,gBAAgB,CAAC,EAAU;QACvB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iDAAY,GAAG,kCAAkC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/F,CAAC;IAED,eAAe;QACX,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,mCAAmC,EAAE,EAAE,OAAO,EAAE,CAAC;IACzF,CAAC;IAED,YAAY,CAAC,EAAU;QACnB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,qCAAqC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/F,CAAC;IAED,sBAAsB,CAAC,UAAkB;QACrC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,2CAA2C,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7G,CAAC;IAED,YAAY,CAAC,SAAwB;QACjC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAY,GAAG,mCAAmC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;IACrG,CAAC;IAED,eAAe,CAAC,SAA4B;QACxC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,sCAAsC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC;IACvG,CAAC;IAED,eAAe,CAAC,EAAU;QACtB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAO,iDAAY,GAAG,wCAAwC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC3G,CAAC;IAED,YAAY;QACR,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,iDAAY,GAAG,2BAA2B,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7F,CAAC;CACJ;AAEM,MAAM,WAAW;IACpB,MAAM,CAAC,qBAAqB,CACxB,QAAkB,EAClB,WAAmB,EACnB,UAAkB;QAElB,MAAM,WAAW,GAAiB;YAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE;YACtC,MAAM,EAAE,sCAAsC;YAC9C,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,UAAU;YACxC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EAAE;YACxD,WAAW,EAAE,WAAW;YACxB,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,QAAQ,CAAC,UAAoB;YACzC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;SACnC,CAAC;QAEF,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,IAAuB;QACjD,OAAO;YACH,mBAAmB,EAAE,IAAI,CAAC,EAAE;YAC5B,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;YAClC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE;SACnC,CAAC;IACN,CAAC;CACJ;AAyBM,MAAM,aAAa;IAA1B;QACI,SAAI,GAAgB,IAAI,CAAC;QACzB,SAAI,GAAkB,IAAI,CAAC;QAqD3B,aAAQ,GAAG;YACP,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;YAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;YAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;YAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;YAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;YAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;SACjJ,CAAC;QACF,kBAAa,GAAG;YACZ,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;YAC9I,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;SACjJ,CAAC;IACN,CAAC;IA/DG,IAAI,QAAQ,CAAC,IAAY;QACrB,IAAI,CAAC,CAAC,IAAI,EAAE;YACR,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;SAC1D;IACL,CAAC;IAED,UAAU,CAAC,IAAY;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ;QACR,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;YAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,MAAM,CAAC;SAClC;aACI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAChC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO,GAAG,CAAC,YAAY,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,EAAC,CAAC;IAE5C,IAAI,MAAM,CAAC,IAAU;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,MAAM,KAAW,OAAO,IAAI,CAAC,IAAI,EAAC,CAAC;IAEnC,SAAS,CAAC,IAAU;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,+BAA+B,CAAC,QAAgB;QAC5C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAEnC,IAAI,OAAO,GAAG,EAAE,EAAE;YACd,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,+CAA+C;YACzE,OAAO,GAAG,CAAC,CAAC;SACf;aAAM;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,2CAA2C;SACvF;QAED,MAAM,WAAW,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,0BAA0B;QAE7H,OAAO,WAAW,CAAC;IACvB,CAAC;CAcJ;;;;;;;;;;;;;;;;;ACpaD,OAAO;AACP,IAAI,GAAG,GAAG,iCAAiC;AACpC,MAAM,IAAI,GAAG,6CAA6C,CAAC;AAClE,OAAO;AACP,sDAAsD;AAE/C,IAAI,QAAQ,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;ACPqC;AACnB;AAER;AAG7B,MAAM,OAAO;IAChB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAI,CAAC;IAEzC,OAAO,CAAC,MAAc;QAClB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,gCAAiC,MAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,aAAa;QACT,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,gCAAgC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,OAAe;QACxC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,CAAC,OAAO,EAAE;YACX,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iDAAY,GAAG,iCAAkC,MAAO,YAAa,OAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;gBACxH,IAAI,EAAC,GAAE,EAAE,GAAC,CAAC;aACd,CAAC,CAAC;SACN;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iDAAY,GAAG,iCAAkC,MAAO,eAAe,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;gBAChH,IAAI,EAAC,GAAE,EAAE,GAAC,CAAC;aACd,CAAC,CAAC;SACN;IACL,CAAC;IAED,cAAc;QACV,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,iDAAY,GAAG,qBAAqB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACtF,uGAAuG;IAC3G,CAAC;IAED,qBAAqB,CAAC,MAAc;QAChC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iDAAY,GAAG,kCAAmC,MAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,kBAAkB,CAAC,aAAqB;QACpC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,uCAAwC,aAAc,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/G,CAAC;IAED,eAAe,CAAC,aAAqB;QACjC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,oCAAqC,aAAc,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED,kBAAkB,CAAC,MAAc;QAC7B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,uCAAwC,MAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,0BAA0B,CAAC,MAAc;QACrC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,+BAAgC,MAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,kBAAkB,CAAC,MAAc;QAC7B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,yCAA0C,MAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED,kBAAkB,CAAC,UAAkB;QACjC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iDAAY,GAAG,+CAAgD,UAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvH,CAAC;IAED,aAAa,CAAC,MAAc;QACxB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,8CAA+C,MAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/G,CAAC;IAED,oBAAoB,CAAC,MAAc;QAC/B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,4CAA6C,MAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7G,CAAC;IAED,WAAW,CAAC,UAAyB;QACjC,IAAI,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,iDAAY,GAAG,mCAAoC,KAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACrH,CAAC;IAED,sBAAsB,CAAC,gBAAwB;QAC3C,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,2CAA4C,gBAAiB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACtH,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,MAAc;QAC7B,OAAO,8CAAQ,CAAC;YACZ,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YAC5C,UAAU,EAAE,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC;YACnD,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SACrC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,UAAkB;QAC/B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,yCAA0C,UAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,eAAe,CAAC,UAAkB;QAC9B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,0CAA2C,UAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/G,CAAC;IAED;;OAEG;IACH,wBAAwB;QACpB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAS,iDAAY,GAAG,4EAA4E,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3I,CAAC;IAED,wBAAwB,CAAC,OAA8B;QACnD,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAY,GAAG,4EAA4E,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;YACxI,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC;YACf,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC;SACvE,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CAAC,YAA0B;QACvC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAe,iDAAY,GAAG,0BAA0B,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,yBAAyB,CAAC,SAAiB,EAAE,UAAkB;QAC3D,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iDAAY,GAAG,0CAA2C,SAAU,IAAK,UAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACjI,CAAC;IAED,cAAc,CAAC,MAAc;QACzB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,iCAAkC,MAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,WAAW,CAAC,OAAe;QACvB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,SAAS,GAAG,sCAAsC,CAAC;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iDAAY,GAAG,kCAAmC,OAAQ,EAAE,EAAE,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1I,CAAC;IAED,WAAW,CAAC,OAAe;QACvB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,SAAS,GAAG,sCAAsC,CAAC;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iDAAY,GAAG,kCAAmC,OAAQ,EAAE,EAAE,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1I,CAAC;IAED,iBAAiB,CAAC,WAA8B;QAC5C,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAY,GAAG,oCAAoC,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,WAAW;IACX,iBAAiB;QACb,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,oCAAoC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,iBAAiB;QACb,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,wCAAwC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,wBAAwB;QACpB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,+CAA+C,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACtG,CAAC;CACJ;;;;;;;;;;;;;;;;;;ACtL8D;AAG3B;AAI7B,MAAM,UAAU;IAGnB,YAAoB,IAAe;QAAf,SAAI,GAAJ,IAAI,CAAW;QAFnC,WAAM,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,CAAC;IAEb,CAAC;IAEtC,qBAAqB;QACjB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAqB,iDAAY,GAAG,yCAAyC,EAAE,EAAE,OAAO,EAAE,CAAC;IACjH,CAAC;IAEH,WAAW;QACT,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,iDAAY,GAAG,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC;IACrF,CAAC;IAED,eAAe,CAAC,EAAS;QACvB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,iDAAY,GAAG,wBAAyB,EAAG,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACvF,CAAC;IAED,qBAAqB,CAAC,EAAS;QAC7B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,iDAAY,GAAG,yCAA0C,EAAG,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC5G,CAAC;IAED,aAAa,CAAC,EAAS,EAAE,KAAY;QACnC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,+BAAgC,EAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC3G,CAAC;IAED,cAAc,CAAC,SAAgB;QAC7B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,mCAAoC,SAAU,EAAE,EAAE,EAAE,OAAO,EAAC,CAAC;IACnG,CAAC;IAED,iBAAiB,CAAC,EAAS,EAAE,KAAS;QACpC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAY,GAAG,yCAA0C,EAAG,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;IAC3G,CAAC;IAED,cAAc,CAAC,SAAgB,EAAE,GAAO;QACtC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,iDAAY,GAAG,mCAAoC,SAAU,EAAE,EAAE,EAAC,KAAK,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAC,EAAE,EAAE,OAAO,EAAE,CAAC;IAClI,CAAC;IAED,eAAe,CAAC,SAAgB,EAAE,GAAO;QACvC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iDAAY,GAAG,oCAAqC,SAAU,EAAE,EAAE,EAAC,KAAK,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAC,EAAE,EAAE,OAAO,EAAE,CAAC;IACpI,CAAC;IAED,gCAAgC;IAChC,cAAc;QACV,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAe,iDAAY,GAAG,wBAAwB,EAAE,EAAE,OAAO,EAAE,CAAC;IAC1F,CAAC;IAEH,aAAa,CAAC,EAAS;QACnB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,iDAAY,GAAG,8BAA+B,EAAG,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IACpG,CAAC;IAEH,mCAAmC;IAEnC,iBAAiB;QACb,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAkB,iDAAY,GAAG,uCAAuC,EAAE,EAAE,OAAO,EAAE,CAAC;IAC5G,CAAC;IAEH,gBAAgB,CAAC,MAAiB;QAChC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAO,iDAAY,GAAG,uCAAuC,EAAE,MAAM,EAAG,EAAE,OAAO,EAAE,CAAC;IAC3G,CAAC;IAED,iBAAiB,CAAC,EAAS,EAAE,MAAiB;QAC5C,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAO,iDAAY,GAAG,yCAA0C,EAAG,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC;IACjH,CAAC;IAED,mBAAmB,CAAC,EAAS;QAC3B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAO,iDAAY,GAAG,4CAA6C,EAAG,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/G,CAAC;IAED,iCAAiC;IAEjC,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAgB,iDAAY,GAAG,0BAA0B,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7F,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,sCAAsC,EAAE,EAAE,OAAO,EAAE,CAAC;IACnF,CAAC;IAED,oBAAoB;QAClB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAoB,iDAAY,GAAG,oCAAoC,EAAC,EAAE,OAAO,EAAE,CAAC;IAC1G,CAAC;IAED,4BAA4B;IAE5B,mBAAmB;QACjB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,iCAAiC,EAAC,EAAE,OAAO,EAAE,CAAC;IACpF,CAAC;IAED,sBAAsB;QACpB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,kCAAkC,EAAC,EAAE,OAAO,EAAE,CAAC;IACrF,CAAC;CACJ;;;;;;;;;;;;;;;;;;ACtH8D;AAE3B;AAG7B,MAAM,aAAa;IACtB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAI,CAAC;IAEzC,kBAAkB;QACd,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAU,iDAAY,GAAG,mCAAmC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,OAAO;QACH,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAY,GAAG,4BAA4B,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,oBAAoB;QAChB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,iDAAY,GAAG,+CAA+C,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,gBAAgB;QACZ,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,iDAAY,GAAG,4CAA4C,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChH,CAAC;IAED,WAAW,CAAC,WAAmB;QAC3B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAA6B,iDAAY,GAAG,YAAY,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAChI,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,IAAa;QAClC,OAAO;YACH,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAClB;IACL,CAAC;IAED,MAAM,CAAC,8BAA8B,CAAC,MAAuC;QACzE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO;gBACH,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC;gBACjC,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;gBACtC,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;gBAC9C,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,eAAe,EAAE,GAAG,CAAC,eAAe;gBACpC,YAAY,EAAE,GAAG,CAAC,YAAY;aACjC,CAAC;QACN,CAAC,CAAC;IACN,CAAC;IAAA,CAAC;IAEF,MAAM,CAAC,8BAA8B,CAAC,MAAsC;QACxE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO;gBACH,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC;gBACjC,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,IAAI,EAAE,GAAG,CAAC,YAAY;gBACtB,MAAM,EAAE,GAAG,CAAC,cAAc;gBAC1B,QAAQ,EAAE;oBACN,OAAO,EAAE,GAAG,CAAC,eAAe;oBAC5B,GAAG,EAAE,GAAG,CAAC,eAAe;oBACxB,IAAI,EAAE,GAAG,CAAC,YAAY;oBACtB,MAAM,EAAE,GAAG,CAAC,cAAc;oBAC1B,KAAK,EAAE,GAAG,CAAC,iBAAiB;oBAC5B,KAAK,EAAE,GAAG,CAAC,aAAa;iBAC3B;gBACD,OAAO,EAAE;oBACL,OAAO,EAAE,GAAG,CAAC,cAAc;oBAC3B,GAAG,EAAE,GAAG,CAAC,eAAe;oBACxB,IAAI,EAAE,GAAG,CAAC,WAAW;oBACrB,MAAM,EAAE,GAAG,CAAC,aAAa;oBACzB,KAAK,EAAE,GAAG,CAAC,gBAAgB;oBAC3B,KAAK,EAAE,GAAG,CAAC,YAAY;iBAC1B;aACJ;QACL,CAAC,CAAC;IACN,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,MAAkC;QAChE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO;gBACH,WAAW,EAAE,GAAG,CAAC,eAAe,CAAC;gBACjC,EAAE,EAAE,GAAG,CAAC,MAAM;gBACd,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,MAAM,EAAE,GAAG,CAAC,UAAU;gBACtB,WAAW,EAAE,GAAG,CAAC,eAAe;gBAChC,QAAQ,EAAE;oBACN,IAAI,EAAE,GAAG,CAAC,YAAY;oBACtB,OAAO,EAAE,GAAG,CAAC,eAAe;oBAC5B,GAAG,EAAE,GAAG,CAAC,eAAe;oBACxB,IAAI,EAAE,GAAG,CAAC,YAAY;iBACzB;gBACD,OAAO,EAAE;oBACL,IAAI,EAAE,GAAG,CAAC,WAAW;oBACrB,OAAO,EAAE,GAAG,CAAC,cAAc;oBAC3B,GAAG,EAAE,GAAG,CAAC,eAAe;oBACxB,IAAI,EAAE,GAAG,CAAC,WAAW;iBACxB;gBACD,QAAQ,EAAE;oBACN,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,GAAG,EAAE,GAAG,CAAC,OAAO;oBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;iBACjB;aACJ;QACL,CAAC,CAAC;IACN,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,MAAkC;QAClD,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAmC,CAAC;YAClG,QAAQ,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAuC,CAAC;YAClH,QAAQ,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAwC,CAAC;SACvH;IACL,CAAC;CAEJ;;;;;;;;;;;;;;;;;;;;;;;ACxI8E;;;;;;ICUzE,0EAA2H;IAA9C,uZAA6C;IAAC,uDAAsC;;IAAA,4DAAM;;;IAA5C,0DAAsC;IAAtC,+JAAsC;;;IAJnK,yEAAsH;IACpH,yEAAyB;IACvB,oEAAG;IAAA,uDAAkE;;;IAAA,4DAAI;IAAA,gEAAM;IAAA,uEAAsB;IAAA,uDAA4C;;IAAA,4DAAI;IACvJ,4DAAM;IACN,4HAAuK;IACzK,4DAAM;;;IAHC,0DAAkE;IAAlE,qOAAkE;IAAgC,0DAA4C;IAA5C,sKAA4C;IAEjF,0DAAS;IAAT,8EAAS;;;;IAVjF,yEAAuD;IACrD,yEAA0B;IACxB,4EAAuH;IAA/D,iTAAgB;IAA+C,uDAAiD;;IAAA,4DAAS;IACjL,4EAAyI;IAAjF,oTAAmB;IAA8D,uDAA+C;;IAAA,4DAAS;IACnM,4DAAM;IACN,yEAAmB;IACjB,sHAKM;;IACR,4DAAM;IACR,4DAAM;;;IAXuE,0DAA6C;IAA7C,6GAA6C;IAAC,0DAAiD;IAAjD,iKAAiD;IAC5F,0DAA4D;IAA5D,mIAA4D;IAAC,0DAA+C;IAA/C,+JAA+C;IAGhJ,0DAA4E;IAA5E,+NAA4E;;ADEjH,MAAM,kBAAkB;IAM7B;QAHU,eAAU,GAAG,IAAI,uDAAY,EAAO,CAAC;QAC/C,mBAAc,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAI1C,CAAC;IACD,QAAQ;QACN,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE;YAC7B,IAAI,CAAC,cAAc,CAAC,aAAa,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,CAAC,CAAC;SACtC;IACH,CAAC;IAED,IAAI;QACF,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;QACxG,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;IAC1G,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;QACxG,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;IAC1G,CAAC;IAED,UAAU,CAAC,SAAS,EAAE,QAAQ;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,CAAC;;oFA5BU,kBAAkB;gHAAlB,kBAAkB;QCR/B,gHAaM;;QAbwB,uFAAuB;;ADwC9C,MAAM,QAAQ;CAGpB;AAEM,MAAM,WAAW;CAIvB;AAEM,MAAM,IAAI;CAMhB;AAEM,MAAM,kBAAkB;IAA/B;QACS,iBAAY,GAAG,CAAC,CAAC;QACjB,iBAAY,GAAG,CAAC,CAAC;QACjB,kBAAa,GAAG,CAAC,CAAC;IAC3B,CAAC;CAAA;;;;;;;;;;;;;;;;;;;;;;;AE/DM,MAAM,iBAAiB;IAA9B;QACE,UAAK,GAAW,EAAE,CAAC;QACnB,gBAAW,GAAW,EAAE,CAAC;QACzB,iBAAY,GAAW,sCAAsC,CAAC;QAC9D,kBAAa,GAAkB,IAAI,CAAC;QACpC,eAAU,GAAkB,IAAI,CAAC;QACjC,sBAAiB,GAAkB,IAAI,CAAC;QACxC,qBAAgB,GAAkB,IAAI,CAAC;QACvC,sBAAiB,GAAkB,IAAI,CAAC;QACxC,wBAAmB,GAAY,IAAI,CAAC;QACpC,eAAU,GAAkB,IAAI,CAAC;QACjC,WAAM,GAAkB,IAAI,CAAC;QAC7B,YAAO,GAAiB,IAAI,CAAC;QAC7B,oBAAe,GAAkB,IAAI,CAAC;QACtC,eAAU,GAAkB,IAAI,CAAC;IACnC,CAAC;IAPyC,CAAC;IAGZ,CAAC;CAI/B;AAEM,MAAM,UAAU;IAAvB;QACI,gBAAW,GAAkB,IAAI,CAAC;QAElC,eAAU,GAAkB,IAAI,CAAC;QACjC,iBAAY,GAAkB,IAAI,CAAC;QAEnC,iBAAY,GAAkB,IAAI,CAAC;QACnC,gBAAW,GAAkB,IAAI,CAAC;QAClC,UAAK,GAAkB,IAAI,CAAC;QAG5B,aAAQ,GAAW,IAAI,MAAM,EAAE,CAAC;QAChC,cAAS,GAAkB,IAAI,CAAC;QAChC,sBAAiB,GAAkB,IAAI,CAAC;QACxC,gBAAW,GAAW,IAAI,MAAM,EAAE,CAAC;QACnC,UAAK,GAAW,IAAI,MAAM,EAAE,CAAC;QAI7B,UAAK,GAAkB,IAAI,CAAC;IAC9B,CAAC;IAdoC,CAAC;IACF,CAAC;IAKH,CAAC;IACO,CAAC;IAMb,CAAC;CAC9B;AAEM,MAAM,qBAAqB;IAAlC;QACE,aAAQ,GAA+D,MAAM,CAAC;QAC9E,YAAO,GAA6B,IAAI,wBAAwB,EAAE,CAAC;IACrE,CAAC;CAAA;AAED,MAAM,wBAAwB;IAA9B;QACE,SAAI,GAAW,IAAI,CAAC;QACpB,YAAO,GAAW,IAAI,CAAC;QACvB,aAAQ,GAAW,IAAI,CAAC;IAC1B,CAAC;CAAA;AAEM,MAAM,UAAU;IAAvB;QAIE,SAAI,GAAU,EAAE,CAAC;QACjB,UAAK,GAAW,EAAE,CAAC;QACnB,gBAAW,GAAW,IAAI,MAAM,EAAE,CAAC;QACnC,UAAK,GAAkB,IAAI,CAAC;QAC5B,UAAK,GAAW,IAAI,MAAM,EAAE,CAAC;QAC7B,aAAQ,GAAW,IAAI,MAAM,EAAE,CAAC;IAClC,CAAC;IAH6B,CAAC;CAG9B;AAED,MAAM,MAAM;IAAZ;QACE,OAAE,GAAkB,IAAI,CAAC;QACzB,SAAI,GAAkB,IAAI,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,GAAI,SAAQ,MAAM;IAA/B;;QACE,UAAK,GAAkB,IAAI,CAAC;IAC9B,CAAC;CAAA;AAED,MAAM,IAAI;CAIT;AAEM,MAAM,WAAW;IAAxB;QAGE,mBAAc,GAAkB,IAAI,CAAC;QACrC,aAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QACpC,YAAO,GAAY,IAAI,OAAO,EAAE,CAAC;QACjC,oBAAe,GAAY,IAAI,OAAO,EAAE,CAAC;QACzC,mBAAc,GAAY,IAAI,OAAO,EAAE,CAAC;QAExC,sBAAiB,GAAkB,IAAI,CAAC;QACxC,gBAAW,GAAuB,IAAI,CAAC;QACvC,WAAM,GAAkB,IAAI,CAAC;QAE7B,yBAAoB,GAAkB,IAAI,CAAC;QAC3C,aAAQ,GAAc,EAAE,CAAC;QACzB,UAAK,GAAW,EAAE,CAAC;QACnB,aAAQ,GAAa,IAAI,QAAQ,EAAE,CAAC;QACpC,kBAAa,GAAkB,IAAI,CAAC;QACpC,UAAK,GAAkB,IAAI,CAAC;QAC5B,gBAAW,GAAkB,IAAI,CAAC;QAClC,eAAU,GAAkB,IAAI,CAAC;QACjC,UAAK,GAAkB,IAAI,CAAC;QAC5B,YAAO,GAAkB,IAAI,CAAC;QAC9B,eAAU,GAAkB,IAAI,CAAC;QACjC,WAAM,GAAkB,IAAI,CAAC;QAE7B,gBAAW,GAAkB,IAAI,CAAC;QAClC,gBAAW,GAAuB,IAAI,CAAC;QACvC,iBAAY,GAAkB,IAAI,CAAC;QACnC,kBAAa,GAAkB,IAAI,CAAC;QACpC,kBAAa,GAAyB,IAAI,CAAC;QAC3C,SAAI,GAAkB,IAAI,CAAC;QAC3B,cAAS,GAAY,EAAE,CAAC;QACxB,cAAS,GAAmB,IAAI,CAAC;QACjC,iBAAY,GAAkB,IAAI,CAAC;QACnC,iBAAY,GAAkB,IAAI,CAAC;QAEnC,cAAS,GAAqB,IAAI,CAAC;QACnC,cAAS,GAAkB,IAAI,CAAC;QAChC,sBAAiB,GAAkB,IAAI,CAAC;QACxC,WAAM,GAAa,EAAE,CAAC;QACtB,cAAS,GAAkB,IAAI,CAAC;IAElC,CAAC;CAAA;AAED,MAAM,OAAO;IAAb;QACE,OAAE,GAAkB,IAAI,CAAC;QACzB,SAAI,GAAkB,IAAI,CAAC;QAC3B,YAAO,GAAkB,IAAI,CAAC;QAC9B,UAAK,GAAkB,IAAI,CAAC;QAC5B,UAAK,GAAkB,IAAI,CAAC;QAC5B,WAAM,GAAkB,IAAI,CAAC;QAC7B,YAAO,GAAkB,IAAI,CAAC;QAC9B,SAAI,GAAkB,IAAI,CAAC;IAC7B,CAAC;CAAA;AAED,MAAM,QAAS,SAAQ,OAAO;IAA9B;;QACE,eAAU,GAAkB,IAAI,CAAC;QACjC,QAAG,GAAkB,IAAI,CAAC;QAC1B,QAAG,GAAkB,IAAI,CAAC;QAC1B,QAAG,GAAkB,IAAI,CAAC;QAC1B,eAAU,GAAkB,IAAI,CAAC;IACnC,CAAC;CAAA;AAED,MAAM,UAAU;CAGf;AAED,MAAM,MAAM;IAAZ;QAEE,QAAG,GAAkB,IAAI,CAAC;IAE5B,CAAC;CAAA;AAED,MAAM,OAAO;CAEZ;AAED,MAAM,IAAI;CAET;AAED,MAAM,QAAQ;IAAd;QACE,uBAAkB,GAAW,EAAE,CAAC;QAChC,UAAK,GAAa,EAAE,CAAC;IACvB,CAAC;CAAA;AAED,MAAM,MAAM;IAAZ;QAEE,mBAAc,GAAkB,IAAI,CAAC;QACrC,eAAU,GAAkB,IAAI,CAAC;QACjC,UAAK,GAAW,EAAE,CAAC;IACrB,CAAC;CAAA;AAED,MAAM,WAAW;CAIhB;AAED,MAAM,aAAa;IAAnB;QACE,eAAU,GAAkB,IAAI,CAAC;QACjC,oBAAe,GAAkB,IAAI,CAAC;IACxC,CAAC;CAAA;AAED,MAAM,KAAK;CAEV;AAED,MAAM,SAAS;CAKd;AAED,MAAM,aAAa;CAGlB;AAOM,MAAM,YAAY;IAAzB;QAIE,aAAQ,GAAmB,IAAI,cAAc,EAAE,CAAC;QAChD,YAAO,GAAmB,IAAI,cAAc,EAAE,CAAC;QAC/C,aAAQ,GAAmB,IAAI,cAAc,EAAE,CAAC;QAChD,YAAO,GAAmB,IAAI,cAAc,EAAE,CAAC;QAC/C,QAAG,GAAW,EAAE,CAAC;QACjB,QAAG,GAAW,EAAE,CAAC;QACjB,iBAAY,GAAW,EAAE,CAAC;QAC1B,UAAK,GAAW,EAAE,CAAC;QACnB,sBAAiB,GAAW,EAAE,CAAC;QAC/B,cAAS,GAAW,EAAE,CAAC;QACvB,gBAAW,GAAW,EAAE,CAAC;QACzB,mBAAc,GAAW,EAAE,CAAC;QAC5B,kBAAa,GAAW,EAAE,CAAC;QAC3B,UAAK,GAAa,EAAE,CAAC;QACrB,mBAAc,GAAY,KAAK,CAAC;QAChC,gBAAW,GAAW,EAAE,CAAC;IAC7B,CAAC;CAAA;AAEM,MAAM,cAAc;IAA3B;QACI,SAAI,GAAW,EAAE,CAAC;QAClB,YAAO,GAAW,EAAE,CAAC;QACrB,YAAO,GAAW,EAAE,CAAC;QACrB,SAAI,GAAW,EAAE,CAAC;QAClB,UAAK,GAAW,EAAE,CAAC;QACnB,UAAK,GAAW,EAAE,CAAC;QACnB,WAAM,GAAW,EAAE,CAAC;QACpB,QAAG,GAAW,EAAE,CAAC;QACjB,QAAG,GAAW,EAAE,CAAC;IACrB,CAAC;CAAA;;;;;;;;;;;;;;;;;;ACvOM,MAAM,eAAe;IAE1B,SAAS,CAAC,KAAU,EAAE,IAAU;QAC9B,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;YAClC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE;YAC5B,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;QAC3D,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;;8EAdU,eAAe;8HAAf,eAAe;;;;;;;;;;;;;;;;;;;;ACHG;AACa;;;AAOrC,MAAM,aAAa;IAKxB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAJpC,QAAG,GAAG,IAAI,qDAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExB,gBAAW,GAAG,IAAI,yCAAO,EAAO,CAAC;IAEA,CAAC;IAEzC,6BAA6B,CAAC,CAAW;QACvC,OAAO;YACL,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE;YAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;YACnB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU;YACjC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;YACtC,qBAAqB,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAE;YACjD,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;YACpC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE;SAC1B;IACH,CAAC;IAED,yBAAyB,CAAC,CAAU;QAClC,OAAO;YACL,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,sCAAsC;YAC9C,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU;YACjC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,eAAe,EAAE,CAAC,CAAC,eAAe;YAClC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,WAAW,EAAE,EAAE;YACf,iBAAiB,EAAE,EAAE;YACrB,qBAAqB,EAAE,CAAC,CAAC,qBAAqB,CAAC,EAAE;YACjD,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,IAAI,EAAE,EAAE;YACR,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,KAAK;YAChB,gBAAgB,EAAE,IAAI;YACtB,UAAU,EAAE,IAAI;SACjB;IACH,CAAC;IAEM,QAAQ,CAAC,CAAW;QACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,CAAW;QACnB,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;IACzH,CAAC;;0EArEU,aAAa;8GAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;;;;;;;;;;;;;;;;;;;;;ACN0B;AACJ;;;AAQnC,MAAM,WAAW;IAWtB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAVpC,WAAM,GAAQ,EAAE,CAAC;QACjB,kBAAa,GAAQ,EAAE,CAAC;QAExB,gBAAW,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QACxC,uBAAkB,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QAC/C,2BAAsB,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QACnD,yBAAoB,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QACjD,mBAAc,GAAG,IAAI,yCAAO,EAAqB,CAAC;QAClD,QAAG,GAAG,IAAI,kDAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEW,CAAC;IAEzC,IAAI,CAAC,MAAc;QACjB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACtB;aACI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YAC3C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;SAC5B;aACI,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YACjD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;SAC1D;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAEO,OAAO,CAAC,MAAc;QAC5B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;YACjC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACb,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,MAAc;QAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAEO,cAAc,CAAC,MAAc,EAAE,UAAe,EAAE;QACtD,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC3C,CAAC,mCAAQ,CAAC,GAAK,OAAO,CAAE,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;YAC5C,IAAI,EAAE,CAAC,IAAS,EAAE,EAAE;gBAClB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;oBACd,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;iBAChE;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEM,mBAAmB,CAAC,MAAc,EAAE,UAAe,EAAE;QAC1D,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAEO,gBAAgB,CAAC,cAAwB;QAC/C,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,KAAK,IAAI,MAAM,IAAI,cAAc,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;gBAC9C,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC;gBAC/D,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,EAAC,CAAC;gBAC1G,QAAQ,EAAE,GAAG,EAAE;oBACb,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM;wBAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClG,CAAC;aACF,CAAC;SACH;IACH,CAAC;IAEM,aAAa,CAAC,MAAc;QACjC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,oBAAoB;IAClC,CAAC;IAED,6BAA6B,CAAC,WAAgB;QAC5C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,CAAC,WAAW,CAAC,WAAW;YAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3E,KAAK,IAAI,CAAC,IAAI,WAAW,CAAC,UAAU,EAAE;YACpC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;SACtB;QACD,KAAK,IAAI,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;SACtB;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,cAAc;IAC5B,CAAC;;sEA/FU,WAAW;4GAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPiB;AAEU;AAEsD;;;AAO9F,MAAM,cAAc;IAczB,YAAoB,IAAe;QAAf,SAAI,GAAJ,IAAI,CAAW;QAZ3B,mBAAc,GAAG,IAAI,+CAAa,CAAiE,CAAC,CAAC,CAAC;QAEtG,gBAAW,GAAG,IAAI,+CAAa,CAAuB,CAAC,CAAC,CAAC;QAEzD,qBAAgB,GAAG,IAAI,+CAAa,CAA2B,CAAC,CAAC,CAAC;QAElE,mBAAc,GAAG,IAAI,+CAAa,CAAmB,CAAC,CAAC,CAAC;QAExD,qBAAgB,GAAG,IAAI,+CAAa,CAAmB,CAAC,CAAC,CAAC;QAElE,QAAG,GAAG,IAAI,uDAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEM,CAAC;IAEvC,kBAAkB;IAEX,eAAe;QACpB,IAAG,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,cAAc;IAC5B,CAAC;IAEM,YAAY;QACjB,IAAG,CAAC,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,QAAQ,EAAE;QAC/B,OAAO,IAAI,CAAC,WAAW;IACzB,CAAC;IAEM,UAAU;QACf,IAAG,CAAC,IAAI,CAAC,iBAAiB;YAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,gBAAgB;IAC9B,CAAC;IAEM,QAAQ;QACb,IAAG,CAAC,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,cAAc;IAC5B,CAAC;IAEM,UAAU;QACf,IAAG,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,gBAAgB;IAC9B,CAAC;IAEM,aAAa,KAAI,IAAI,CAAC,iBAAiB,EAAE,EAAC,CAAC;IAEpC,cAAc,CAAC,QAA2B,EAAC,QAAkB;;YACzE,IAAI,CAAC,QAAQ,GAAG;gBACZ,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAC,QAAQ;gBACjB,IAAI,EAAE,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,eAAe,CAAC;aACjE;YACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAE,IAAI,CAAC,QAAQ,CAAE;QAC3C,CAAC;KAAA;IAAA,CAAC;IAEF,YAAY;QACV,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,OAAO;IACO,iBAAiB;;YAC7B,IAAI,QAA2B,CAAC;YAChC,IAAI,QAAmB,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,SAAS,CACxC;gBACE,IAAI,EAAC,CAAC,IAAI,EAAC,EAAE,CAAC,QAAQ,GAAG,IAAI;gBAC7B,KAAK,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBAChC,QAAQ,EAAC,GAAE,EAAE,GAAE,IAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ;oBAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAC,QAAQ,CAAC,CAAC,EAAC;aACrF,CACF;YACD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,SAAS,CAC9B;gBACE,IAAI,EAAC,CAAC,IAAI,EAAC,EAAE,CAAC,QAAQ,GAAG,IAAI;gBAC7B,KAAK,EAAC,CAAC,GAAG,EAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;gBAChC,QAAQ,EAAC,GAAE,EAAE,GAAE,IAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ;oBAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAC,QAAQ,CAAC,CAAC,EAAC;aACrF,CACF;QACH,CAAC;KAAA;IAEO,QAAQ;QACd,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,SAAS,CAClC;YACE,IAAI,EAAC,CAAC,IAAkB,EAAC,EAAE,GAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAC;YAC5E,KAAK,EAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;SAClC,CACF;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,SAAS,CACvC;YACE,IAAI,EAAC,CAAC,IAAsB,EAAE,EAAE,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC;YACpG,KAAK,EAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;SAClC,CACF;IACH,CAAC;IAED,2BAA2B,CAAC,IAAW;QACrC,QAAO,IAAI,EAAC;YACV,KAAK,OAAQ,CAAC,CAAC,OAAO,sEAAK,CAAC;YAC5B,KAAK,OAAQ,CAAC,CAAC,OAAO,sEAAK,CAAC;YAC5B,KAAK,OAAQ,CAAC,CAAC,OAAO,sEAAK,CAAC;YAC5B,KAAK,OAAQ,CAAC,CAAC,OAAO,sEAAK,CAAC;YAC5B,KAAK,OAAQ,CAAC,CAAC,OAAO,sEAAK,CAAC;YAC5B,KAAK,OAAQ,CAAC,CAAC,OAAO,sEAAK,CAAC;YAC5B,KAAK,OAAO,CAAE;YACd,OAAQ,CAAC,CAAC,OAAO,sEAAK,CAAC;SACxB;IACH,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC;YACrC,IAAI,EAAC,CAAC,IAAI,EAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,KAAK,EAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC;SAC5D,CAAC;IACN,CAAC;IAEM,aAAa;QAClB,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAAC;YAC1C,IAAI,EAAC,CAAC,IAAqB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/D,CAAC;IACJ,CAAC;IAEM,SAAS,CAAC,GAAU,EAAE,eAAsB;QACjD,IAAG,CAAC,GAAG,IAAI,CAAC,eAAe;YAAE,OAAO,GAAG,CAAC;QACxC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,QAAO,eAAe,EAAC;YACrB,KAAK,OAAQ,CAAC,CAAC;gBACb,IAAG,UAAU,CAAC,MAAM,IAAI,CAAC;oBAAE,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;qBAChF,IAAG,UAAU,CAAC,MAAM,IAAI,EAAE;oBAAE,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3F,OAAO,GAAG;aACX;YACD,OAAQ,CAAC,CAAC;gBACR,IAAG,UAAU,CAAC,MAAM,IAAI,CAAC;oBAAE,OAAO,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;gBAC9E,OAAO,GAAG;aACX;SACF;IACH,CAAC;;4EAxIU,cAAc;+GAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;AAmJb,MAAM,yBAAyB;IAapC,YAAY,QAA2B,EAAS,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;QACjE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,eAAe,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QACpD,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACpC,CAAC;CAGF;;;;;;;;;;;;;;;;;;;;;;ACzL8D;AAGL;AAGX;AAEN;;;AAMlC,MAAM,eAAe;IAY1B,YAAoB,IAAe;QAAf,SAAI,GAAJ,IAAI,CAAW;QAX3B,UAAK,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QAClC,eAAU,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QACvC,aAAQ,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QACrC,gBAAW,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QACxC,qBAAgB,GAAG,IAAI,+CAAa,CAAa,CAAC,CAAC,CAAC;QACpD,YAAO,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QAEpC,wBAAmB,GAAG,IAAI,+CAAa,CAAgB,CAAC,CAAC,CAAC;QAE1D,QAAG,GAAG,IAAI,uDAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAED,CAAC;IAExC,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,gBAAgB;QACtB,IAAI,cAA8B,EAAE,WAAwB,EAAE,cAAqB,CAAC;QACpF,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,SAAS,CACpC,CAAC,IAAoB,EAAC,EAAE,GAAE,cAAc,GAAG,IAAI,EAAC,CAAC,EACjD,CAAC,GAAG,EAAC,EAAE,GAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,GAAG,EAAE,EAAC,CAAC,EAClD,GAAE,EAAE;YACF,IAAG,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,cAAc;gBAAE,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAC,cAAc,CAAC;QAChI,CAAC,CACA;QACH,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,CACjC,CAAC,IAAiB,EAAC,EAAE,GAAE,WAAW,GAAG,IAAI,EAAC,CAAC,EAC3C,CAAC,GAAG,EAAC,EAAE,GAAE,WAAW,GAAG,EAAE,EAAC,CAAC,EAC3B,GAAE,EAAE;YACF,IAAG,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,cAAc;gBAAE,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAC,cAAc,CAAC;QAChI,CAAC,CACA;QACH,mCAAmC;QACnC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,sCAAsC,CAAC,CAAC,SAAS,CACxE,CAAC,IAAY,EAAC,EAAE,GAAE,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,EAC9D,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,GAAG,EAAE,EAAC,CAAC,EACpD,GAAE,EAAE;YACF,IAAG,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,cAAc;gBAAE,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAC,cAAc,CAAC;QAChI,CAAC,CACA;IACL,CAAC;IAED,gBAAgB;QACd,IAAG,CAAC,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,gBAAgB;QACd,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,qDAAY,GAAG,mCAAmC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAClG;YACE,IAAI,EAAC,CAAC,QAAoB,EAAE,EAAE,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpG,KAAK,EAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,GAAG,CAAC;SACpF,CACF;IACH,CAAC;IAED,aAAa;QACX,IAAG,CAAC,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,UAAU,CAAC,EAAE;IAEb,CAAC;IAEO,mBAAmB,CAAC,cAA8B,EAAE,WAAwB,EAAE,cAAqB;QACzG,IAAI,MAAM,GAAG;YACX,cAAc,EAAC,cAAc;YAC7B,WAAW,EAAC,WAAW;YACvB,cAAc,EAAC,cAAc;SAC9B;QACD,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,IAAI,CAAC,CAAa;QACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;;8EA5FU,eAAe;gHAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;AAoHb,MAAM,oBAAoB;IAC/B,YAAoB,cAA8B,EAAS,WAAyB,EAAS,cAAc;QAAvF,mBAAc,GAAd,cAAc,CAAgB;QAAS,gBAAW,GAAX,WAAW,CAAc;QAAS,mBAAc,GAAd,cAAc;IAAE,CAAC;IACvG,cAAc,CAAC,EAAS,IAAG,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAC,CAAC;IAC9E,kBAAkB,CAAC,aAAoB,EAAE,SAAgB;QAC9D,IAAI,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,IAAI,aAAa,IAAI,CAAC,CAAC,SAAS,IAAI,aAAa,IAAI,CAAC,CAAC,UAAU,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;QACnK,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc;IACrE,CAAC;CACF;;;;;;;;;;;;;;;;;;;;;;ACtIoC;AAC0B;AACtB;;;AAKlC,MAAM,qBAAqB;IAKhC,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF5B,sBAAiB,GAAG,IAAI,+CAAa,CAAiD,CAAC,CAAC,CAAC;IAEzD,CAAC;IAEjC,aAAa;QACnB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qDAAY,GAAG,4BAA4B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAC/E,CAAC,IAAuB,EAAE,EAAE;YAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,mCAAmC;YACnC,YAAY;YACZ,eAAe;YACf,2BAA2B;YAC3B,mBAAmB;YACnB,gBAAgB;YAChB,mBAAmB;YACnB,0BAA0B;YAC1B,uBAAuB;YACvB,qBAAqB;YACrB,oBAAoB;YACpB,mBAAmB;YACnB,sBAAsB;YACtB,MAAM;YACN,sFAAsF;QACxF,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAClC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAClC,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qDAAY,GAAG,8BAA8B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACjF,CAAC,IAAI,EAAE,EAAE;YACP,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAC,EAChC,GAAG,EAAE;YACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBAC1B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;QACJ,CAAC,CACF;IACH,CAAC;IAEM,wBAAwB;QAC7B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAAE,IAAI,CAAC,aAAa,EAAE;SAAE;QAChE,OAAO,IAAI,CAAC,iBAAiB;IAC/B,CAAC;IAEM,yBAAyB,CAAC,EAAE;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;;0FAxDU,qBAAqB;sHAArB,qBAAqB,WAArB,qBAAqB,mBAFpB,MAAM;AAmEb,MAAM,UAAU;CAItB;AAEM,MAAM,WAAW;CASvB;;;;;;;;;;;;;;;;;;;;;;;;;ACvF8D;AACA;AAEtB;AACQ;;;AAK1C,MAAM,cAAc;IAIzB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF5B,aAAQ,GAAG,IAAI,+CAAa,CAA2B,CAAC,CAAC,CAAC;IAE1B,CAAC;IAEjC,qBAAqB;QAC3B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qDAAY,GAAG,6BAA6B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACvF,CAAC,IAA8B,EAAE,EAAE;YACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,CACF;IACH,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qDAAY,GAAG,sBAAsB,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/E,CAAC;IAED,oBAAoB,CAAC,OAAgB;QACnC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAuB,EAAE,CAAC;QACpC,OAAO,IAAI,4CAAU,CAAC,QAAQ,CAAC,EAAE;YAC/B,KAAI,IAAI,CAAC,IAAI,OAAO,EAAE;gBACpB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAC9B,CAAC,IAAmB,EAAC,EAAE;oBACrB,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,CAAC,EAAE,IAAI,kCAAK,IAAI,KAAE,UAAU,EAAG,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,GAAC,EAAE,CAAC;wBAChG,MAAM,IAAI,CAAC;gBACb,CAAC,EACD,CAAC,KAAS,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAC,CAAC,EAC7E,GAAE,EAAE;oBACF,IAAG,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;wBAC3B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACtB,QAAQ,CAAC,QAAQ,EAAE;qBACpB;gBACF,CAAC,CACD;aACF;QACH,CAAC,CACF;IACH,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,OAAO,IAAI,4CAAU,CAAC,CAAC,GAAG,CAAC,EAAE;YAC3B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC;gBAChC,IAAI,EAAC,CAAC,IAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnE,KAAK,EAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;gBAC7B,QAAQ,EAAC,GAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE;aAC7B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,OAAiB;QAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CACnC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,IAAI,CAC1B,mDAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAC3B,0DAAU,CAAC,GAAG,CAAC,EAAE,CAAC,wCAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,2CAA2C;SACzG,CACF,CAAC;QAEF,OAAO,8CAAQ,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAEM,WAAW;QAChB,IAAG,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC,QAAQ;IACtB,CAAC;;4EAnEU,cAAc;+GAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACPiB;AAC0B;AAKC;AAGvB;;;AAKlC,MAAM,iBAAiB;IA8C5B,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QA7CnC,aAAQ,GAA8B,IAAI,CAAC;QAC1C,iBAAY,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACxC,cAAS,GAAoB,IAAI,CAAC;QAClC,qBAAgB,GAA2B,IAAI,CAAC;QAIhD,oBAAe,GAA6B,IAAI,CAAC;QACjD,mBAAc,GAAsB,IAAI;QAMxC,YAAO,GAAuB,IAAI,CAAC;QAMpC,eAAU,GAAY,KAAK,CAAC;QAC3B,oBAAe,GAAG,IAAI,+CAAa,CAAU,CAAC,CAAC,CAAC;QAChD,iBAAY,GAAG,IAAI,+CAAa,CAAqB,CAAC,CAAC,CAAC;QACxD,4BAAuB,GAAG,IAAI,+CAAa,CAAqB,CAAC,CAAC,CAAC;QACnE,qBAAgB,GAAG,IAAI,+CAAa,CAAoB,CAAC,CAAC,CAAC;QAC3D,oBAAe,GAAG,IAAI,+CAAa,CAAkB,CAAC,CAAC,CAAC;QACxD,sBAAiB,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QAC9C,iBAAY,GAAG,IAAI,+CAAa,CAAkB,CAAC,CAAC,CAAC;QACrD,kBAAa,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QAC1C,sBAAiB,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QAC9C,qBAAgB,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QAC7C,gBAAW,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QACxC,oBAAe,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QAC5C,iBAAY,GAAG,IAAI,+CAAa,CAAU,CAAC,CAAC,CAAC;QAC7C,+BAA0B,GAAG,IAAI,+CAAa,CAAsB,CAAC,CAAC,CAAC;QACxE,mBAAc,GAAG,IAAI,wEAAsB,EAAE,CAAC;QAC9C,oBAAe,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QAC5C,qBAAgB,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QAC7C,uBAAkB,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QAC/C,0BAAqB,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QAClD,yBAAoB,GAAG,IAAI,+CAAa,CAAW,CAAC,CAAC,CAAC;QACtD,0BAAqB,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QAClD,wBAAmB,GAAG,IAAI,+CAAa,CAAM,CAAC,CAAC,CAAC;QACvD,8BAAyB,GAAG,KAAK,CAAC;IAEY,CAAC;IAE/C,UAAU,CAAC,EAAU;QACnB,QAAQ,EAAE,EAAE;YACV,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAAE,OAAO,cAAc,CAAC;aAAE;YACzE,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAAE,OAAO,OAAO,CAAC;aAAE;YAClE,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAAE,OAAO,OAAO,CAAC;aAAE;YAClE,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAAE,OAAO,eAAe,CAAC;aAAE;YAC1E,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAAE,OAAO,QAAQ,CAAC;aAAE;YACnE,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;aAAE;YAC/D,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAAE,OAAO,UAAU,CAAC;aAAE;YACrE,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAAE,OAAO,OAAO,CAAC;aAAE;YAClE,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAAE,OAAO,UAAU,CAAC;aAAE;YACrE,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAAE,OAAO,UAAU,CAAC;aAAE;YACrE,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAAE,OAAO,UAAU,CAAC;aAAE;YACrE,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;gBAAE,OAAO,cAAc,CAAC;aAAE;YACzE,OAAO,CAAC,CAAC;gBAAE,OAAO,OAAO,CAAC;aAAE;SAC7B;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC7C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,eAAe;IACf,kBAAkB;QAChB,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;YAC1C,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;YAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAW,qDAAY,GAAG,mCAAmC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAc,EAAE,EAAE;gBAC1H,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC,CAAC;SACH;IACH,CAAC;IAED,qBAAqB;QACnB,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;YAC1C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;YAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAqB,qDAAY,GAAG,yCAAyC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAwB,EAAE,EAAE;gBACpJ,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,EAAE;oBAC9D,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,CAAC,CAAC;oBAC7D,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,iBAAiB,CAAC,EAAE;wBAC7D,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;wBACtC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;qBACnD;iBACF;gBACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACzC,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,eAAe;QACX,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAwB,qDAAY,GAAG,sCAAsC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAgC,EAAE,EAAE;YAC5J,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE;gBAClB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;aACzB;YACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAC3G,CAAC,CAAC;IACN,CAAC;IAED,UAAU;QACR,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAY,qDAAY,GAAG,6BAA6B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAoB,EAAE,EAAE;YAC3H,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;QACtB,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE;YAC1C,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;YAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAwB,qDAAY,GAAG,0CAA0C,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAgC,EAAE,EAAE;gBAChK,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;gBACtC,oBAAoB;YACtB,CAAC,EAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAC,CAAC,EAChD,GAAG,EAAE;gBACH,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;SACN;IACH,CAAC;IAED,cAAc;QACV,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAe,qDAAY,GAAG,wBAAwB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAuB,EAAE,EAAE;YAC5H,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QACzG,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,mBAAmB;QACjB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAmB,qDAAY,GAAG,sCAAsC,EAAC,EAAC,OAAO,EAAC,CAAC,CAAC,SAAS,CAC9G,CAAC,IAAqB,EAAC,EAAE;YACvB,IAAG,IAAI,EAAC;gBACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,IAAG,IAAI,CAAC,MAAM,GAAG,CAAC;oBAChB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAClF;oBAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAAE;aAChD;QACH,CAAC,CACF;IACH,CAAC;IAED,SAAS;QACP,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qDAAY,GAAG,6BAA6B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YACrG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qDAAY,GAAG,+BAA+B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YACvG,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE;YAAE,OAAO,IAAI,CAAC,eAAe;SAAE;aACtD;YACH,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;YAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAQ,qDAAY,GAAG,wBAAwB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACxF,CAAC,IAAgB,EAAE,EAAE;gBACnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE;gBAChG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;YACvG,CAAC,CACF;SAEF;IACH,CAAC;IAED,UAAU;QACN,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qDAAY,GAAG,qCAAqC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAS,EAAE,EAAE;YAC7G,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QACzC,CAAC,CAAC;IACN,CAAC;IAED,aAAa;QACX,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAa,qDAAY,GAAG,cAAc,EAC3D,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACpB,CAAC,GAAoB,EAAE,EAAE;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC,EACD,QAAQ,CAAC,EAAE,GAAG,CAAC,EACf,GAAG,EAAE,GAAG,CAAC,CACV,CAAC;IACN,CAAC;IAED,kBAAkB;QAChB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAW,qDAAY,GAAG,2BAA2B,EAAC,EAAC,OAAO,EAAC,CAAC,CAAC,SAAS,CAC3F,CAAC,IAAc,EAAC,EAAE;YAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxG,CAAC,CACJ;IACH,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qDAAY,GAAG,0BAA0B,EAC3D,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACpB,CAAC,IAAU,EAAE,EAAE;YACb,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE;QACxG,CAAC,EACD,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,EACjB,GAAG,EAAE,GAAG,CAAC,CACV;IACL,CAAC;IAED,oBAAoB;QAClB,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAc,qDAAY,GAAG,+CAA+C,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAiB,EAAE,EAAE;YACnJ,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,IAAI,EAAE;gBACV,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,uBAAuB,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3F,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,yBAAyB,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChG,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,qBAAqB,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACrG,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,qBAAqB,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC9F,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,yBAAyB,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBACjG,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,qBAAqB,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBACzG,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,qBAAqB,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjG,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,qBAAqB,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjG,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,qBAAqB,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC;gBAClF,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,qBAAqB,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACrG,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,iBAAiB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvF,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;gBAChD,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACxC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;aACrC;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8BAA8B;QAC5B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qDAAY,GAAG,iCAAiC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACjG,CAAC,IAAI,EAAC,EAAE;YACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC,CACF;IACH,CAAC;IAED,4BAA4B;QAC1B,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qDAAY,GAAG,uBAAuB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;YACxF,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACb,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,SAAa,EAAE,MAAU;QACnC,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBACjC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;aAC1B;SACF;QACD,OAAO,SAAS;IAClB,CAAC;IAED,aAAa;QACX,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qDAAY,GAAG,wBAAwB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACjF,CAAC,IAAW,EAAE,EAAE;YACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE;YAC/F,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAChD,CAAC,CACF;IACH,CAAC;IAED,aAAa;QACX,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAsB,qDAAY,GAAG,oCAAoC,EAAC,EAAC,OAAO,EAAC,CAAC,CAAC,SAAS,CAAC;YAChH,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACb,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,GAAE,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC;gBACnF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/C,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,cAAc;QACZ,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qDAAY,GAAG,kCAAkC,EAAC,EAAC,OAAO,EAAC,CAAC,CAAC,SAAS,CACxF,CAAC,IAAW,EAAC,EAAE;YACb,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE;QACvG,CAAC,CACF;IACH,CAAC;IAED,gBAAgB;QACd,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qDAAY,GAAG,oCAAoC,EAAC,EAAC,OAAO,EAAC,CAAC,CAAC,SAAS,CAC1F,CAAC,IAAW,EAAC,EAAE;YACb,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE;QACzG,CAAC,CACF;IACH,CAAC;IAED,eAAe;IAEf,oBAAoB;QAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,6CAA6C;QAC7C,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qDAAY,GAAG,+CAA+C,EAAG,IAAI,CAAC,OAAO,EAAG,EAAE,OAAO,EAAE,CAAC,CAAC,SAAS,CACxH,GAAG,EAAE,GAAG,CAAC,EACT,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,QAAQ,CAAC,EAAC,CAAC,EAC/C,GAAG,EAAE,GAAG,CAAC,CACR;IACL,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IAED,IAAI,mBAAmB,CAAC,MAAiC;QACvD,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;YACnC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;aACI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,yBAAyB,EAAE;SAAE;IAChG,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC;IAED,IAAI,oBAAoB,CAAC,MAA6B;QACpD,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;YACpC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,mBAAmB,CAAC,MAAiC;QACvD,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC5B,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;YACnC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,uBAAuB,CAAC,MAA6B;QACvD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;YAC9B,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC;YACvC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,yBAAyB,CAAC,MAA6B;QACzD,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC;YACzC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,sBAAsB,CAAC,MAA6B;QACtD,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC;YACrC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,kBAAkB,CAAC,MAAyB;QAC9C,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC;YAClC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,gBAAgB,CAAC,MAA+B;QAClD,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC;YACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,aAAa,CAAC,MAA6B;QAC7C,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC;YACrC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,eAAe,CAAC,MAAU;QAC5B,IAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;YAChC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,YAAY,CAAC,MAAU;QACzB,IAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,cAAc,CAAC,MAAU;QAC3B,IAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;YAC7B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;YAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,UAAU,CAAC,IAAY;QACzB,IAAI,IAAI,IAAI,IAAI,EAAE;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;SAAE;aAChD;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,EAAE;SAAC;IAE1C,CAAC;IAED,IAAI,aAAa,CAAC,MAAU;QAC1B,IAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC;YACpC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAU;QACpB,IAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC;YAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAU;QAC7B,IAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC;YACvC,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,YAAY;QACV,4BAA4B;QAC5B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE;YACrD,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;QACD,iCAAiC;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,eAAe;IACf,yDAAyD;IAEzD,eAAe;QACb,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;YAAE,IAAI,CAAC,kBAAkB,EAAE;SAAE;QACtF,OAAO,IAAI,CAAC,aAAa;IAC3B,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE;YAAE,IAAI,CAAC,aAAa,EAAE;SAAE;QAC7F,OAAO,IAAI,CAAC,eAAe;IAC7B,CAAC;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;YAAE,IAAI,CAAC,qBAAqB,EAAE;SAAE;QACzF,OAAO,IAAI,CAAC,uBAAuB;IACrC,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE;YAChH,IAAI,CAAC,aAAa,EAAE;SACrB;QACD,OAAO,IAAI,CAAC,eAAe;IAC7B,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,oBAAoB;IAClC,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAAE,IAAI,CAAC,cAAc,EAAE;SAAE;QAC3D,OAAO,IAAI,CAAC,gBAAgB;IAC9B,CAAC;IAED,gBAAgB;QACd,IAAG,CAAC,IAAI,CAAC,UAAU,EAAE;YAAC,IAAI,CAAC,mBAAmB,EAAE;SAAC;QACjD,OAAO,IAAI,CAAC,qBAAqB;IACnC,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAAE,IAAI,CAAC,UAAU,EAAE;SAAE;QAClD,OAAO,IAAI,CAAC,YAAY;IAC1B,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAAE,IAAI,CAAC,cAAc,EAAE;SAAE;QAC3D,OAAO,IAAI,CAAC,gBAAgB;IAC9B,CAAC;IAED,UAAU;QACR,IAAG,CAAC,IAAI,CAAC,YAAY,EAAE;YAAC,IAAI,CAAC,aAAa,EAAE;SAAC;QAC7C,OAAO,IAAI,CAAC,eAAe;IAC7B,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;YAAE,IAAI,CAAC,eAAe,EAAE;SAAE;QAC7D,OAAO,IAAI,CAAC,iBAAiB;IAC/B,CAAC;IAED,UAAU;QACR,IAAI,CAAC,oBAAoB,EAAE;IAC7B,CAAC;IAED,UAAU;QACR,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE;YAAE,IAAI,CAAC,eAAe,EAAE;SAAE;QACnG,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE;YAAE,IAAI,CAAC,SAAS,EAAE;SAAE;QACvF,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,EAAE;YAAE,IAAI,CAAC,UAAU,EAAE;SAAE;QAClF,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,IAAI,IAAI,CAAC,yBAAyB,IAAI,SAAS,EAAE;YAAE,IAAI,CAAC,wBAAwB,EAAE;SAAE;QAC9H,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACzC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,eAAe;IAC7B,CAAC;IAED,WAAW;QACT,IAAG,CAAC,IAAI,CAAC,cAAc,EAAE;YAAE,IAAI,CAAC,cAAc,EAAE,CAAC;SAAG;QACpD,OAAO,IAAI,CAAC,gBAAgB;IAC9B,CAAC;IAED,aAAa;QACX,IAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAAE;QACzD,OAAO,IAAI,CAAC,kBAAkB;IAChC,CAAC;IAED;;;;;;;;OAQG;IACH,eAAe,CAAC,WAAmB,EAAE,IAAY,EAAE,OAAe,EAAE,YAAoB,EAAE,MAAc;QACtG,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,SAAS,GAAG;YACd,MAAM,EAAE,MAAM;YACd,UAAU,EAAE,MAAM;YAClB,cAAc,EAAE,YAAY;YAC5B,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,IAAI;YACV,aAAa,EAAE,WAAW;SAC3B;QACD,MAAM,OAAO,GAAG,IAAI,6DAAW,CAAC,EAAE,eAAe,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qDAAY,GAAG,gCAAgC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACvG,CAAC;;kFAnnBU,iBAAiB;kHAAjB,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;AAwnBb,MAAM,mBAAmB;IAAhC;QACE,gBAAW,GAAa,IAAI,QAAQ,EAAE,CAAC;IACzC,CAAC;CAAA;AAEM,MAAM,QAAQ;CAGpB;AAEM,MAAM,UAAU;CAStB;AAEM,MAAM,WAAW;IAAxB;QACE,iBAAY,GAA8B,IAAI,yBAAyB,EAAE,CAAC;QAC1E,qBAAgB,GAA2B,IAAI,qBAAqB,EAAE,CAAC;QACvE,kBAAa,GAA0B,IAAI,qBAAqB,EAAE,CAAC;QACnE,eAAU,GAA4B,IAAI,uBAAuB,EAAE,CAAC;QACpE,iBAAY,GAA8B,IAAI,yBAAyB,EAAE,CAAC;QAC1E,uBAAkB,GAA0B,IAAI,qBAAqB,EAAE,CAAC;QACxE,mBAAc,GAA0B,IAAI,qBAAqB,EAAE,CAAC;QACpE,mBAAc,GAA0B,IAAI,qBAAqB,EAAE,CAAC;QACpE,YAAO,GAA0B,IAAI,qBAAqB,EAAE,CAAC;QAC7D,qBAAgB,GAA0B,IAAI,qBAAqB,EAAE,CAAC;QACtE,gBAAW,GAAsB,IAAI,iBAAiB,EAAE,CAAC;IAK3D,CAAC;CAAA;AAEM,MAAM,qBAAqB;IAAlC;QAGS,iBAAY,GAAyB,EAAE,CAAC;IACjD,CAAC;CAAA;AAEM,MAAM,aAAa;IAA1B;QAIE,SAAI,GAAgB,EAAE;IACxB,CAAC;CAAA;AAEM,MAAM,yBAA0B,SAAQ,qBAAqB;IAApE;;QACS,sBAAiB,GAAG,IAAI,CAAC;IAClC,CAAC;CAAA;AAEM,MAAM,iBAAkB,SAAQ,qBAAqB;CAE3D;AAEM,MAAM,cAAc;IAA3B;QACE,YAAO,GAAY,IAAI,CAAC;QACxB,UAAK,GAAW,KAAK,CAAC;IACxB,CAAC;CAAA;AAEM,MAAM,uBAAwB,SAAQ,qBAAqB;IAAlE;;QACS,SAAI,GAAW,KAAK,CAAC;QACrB,SAAI,GAAW,KAAK,CAAC;QACrB,WAAM,GAAoD,SAAS,CAAC;QACpE,WAAM,GAAsE,KAAK,CAAC;QAClF,iBAAY,GAAW,UAAU,CAAC;QAClC,WAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;IAEjC,CAAC;CAAA;AAEM,MAAM,qBAAqB;IAAlC;QACS,WAAM,GAAmP,gBAAgB,CAAC;QAC1Q,iBAAY,GAAG,KAAK,CAAC;QACrB,kBAAa,GAAG,IAAI,6BAA6B,EAAE,CAAC;QAGpD,iBAAY,GAAe,EAAE,CAAC;IACvC,CAAC;CAAA;AAEM,MAAM,6BAA6B;IAA1C;QACE,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QACtC,SAAI,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5B,YAAO,GAAG,IAAI,cAAc,EAAE,CAAC;QAC/B,YAAO,GAAG,IAAI,cAAc,EAAE,CAAC;QAC/B,SAAI,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5B,UAAK,GAAG,IAAI,cAAc,EAAE,CAAC;QAC7B,UAAK,GAAG,IAAI,cAAc,EAAE,CAAC;QAC7B,gBAAW,GAAG,IAAI,cAAc,EAAE,CAAC;QACnC,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QACtC,mBAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QACtC,gBAAW,GAAG,IAAI,cAAc,EAAE,CAAC;QACnC,iBAAY,GAAG,IAAI,cAAc,EAAE,CAAC;QACpC,iBAAY,GAAG,IAAI,cAAc,EAAE,CAAC;IACtC,CAAC;CAAA;AAEM,MAAM,yBAAyB;IAAtC;QACE,UAAK,GAAgB,IAAI,WAAW,EAAE,CAAC;QACvC,UAAK,GAAgB,IAAI,WAAW,EAAE,CAAC;QACvC,QAAG,GAAyB,IAAI,mBAAmB,EAAE,CAAC;QACtD,eAAU,GAAG,EAAE,CAAC;QAChB,qBAAgB,GAAG,EAAE,CAAC;QACtB,WAAM,GAAG,EAAE,CAAC;QACZ,iBAAY,GAAG,EAAE,CAAC;QAClB,WAAM,GAAkB,IAAI,CAAC;QAC7B,WAAM,GAAG,IAAI,CAAC;QACd,SAAI,GAAW,EAAE,CAAC;IACpB,CAAC;CAAA;AAEM,MAAM,mBAAmB;IAAhC;QACE,UAAK,GAAG,KAAK,CAAC;QACd,UAAK,GAAG,KAAK,CAAC;QACd,eAAU,GAAG,KAAK,CAAC;QACnB,WAAM,GAAG,KAAK,CAAC;QACf,WAAM,GAAG,KAAK,CAAC;QACf,SAAI,GAAG,KAAK,CAAC;QACb,WAAM,GAAG,KAAK,CAAC;IACjB,CAAC;CAAA;AAEM,MAAM,WAAW;IAAxB;QAKE,eAAU,GAAG,IAAI,CAAC;IACpB,CAAC;CAAA;AAEM,MAAM,QAAQ;IAArB;QACS,gBAAW,GAAW,EAAE,CAAC;QACzB,cAAS,GAAW,EAAE,CAAC;IAGhC,CAAC;CAAA;AAEM,MAAM,kBAAkB;CAG9B;AAEM,MAAM,OAAO;CAOnB;AAEM,MAAM,WAAW;CAGvB;AAEM,MAAM,WAAW;CAGvB;AAEM,MAAM,UAAU;CAGtB;AAEM,MAAM,mBAAmB;CAa/B;AAEM,MAAM,WAAW;CAGvB;AAEM,MAAM,MAAM;CAIlB;AAEM,MAAM,kBAAkB;IAA/B;QACE,UAAK,GAAW,CAAC,CAAC;QAClB,YAAO,GAAY,IAAI,CAAC;IAC1B,CAAC;CAAA;;;;;;;;;;;;;;;;;;;;;;ACt0B6C;AACC;;;;AAQxC,MAAM,WAAW;IAOtB,YAAoB,IAAgB,EAAU,MAAc;QAAxC,SAAI,GAAJ,IAAI,CAAY;QAAU,WAAM,GAAN,MAAM,CAAQ;QAN5D,QAAG,GAAG,IAAI,uDAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3B,UAAK,GAAgB,IAAI,CAAC;QAC1B,aAAQ,GAAG,IAAI,+CAAa,CAAO,CAAC,CAAC,CAAC;QACtC,YAAO,GAAG,IAAI,yCAAO,EAAO,CAAC;IAE2B,CAAC;IAEjE,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,QAAQ;IACtB,CAAC;IAEO,OAAO;QACb,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC;YACtC,IAAI,EAAE,CAAC,IAAa,EAAE,EAAE;gBACtB,IAAI,CAAC,KAAK,GAAG,yEAA+B,CAAC,IAAI,CAAC,CAAC;YACrD,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC;YACxE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC;YACpC,IAAI,EAAE,CAAC,IAAiB,EAAE,EAAE;gBAC1B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE;oBACtB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;oBAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAChC;YACH,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,yDAAyD,EAAE,GAAG,CAAC;SAC9F,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,IAAS;QAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,OAAO;IACrB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;gBAC3B,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;aAC5B,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,IAAY;QACtB,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7E,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACzC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAEvE,oEAAoE;QACpE,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3E,OAAO,GAAG,YAAY,GAAG,WAAW,EAAE,CAAC;IACzC,CAAC;IAED,iBAAiB;IACjB,IAAI,EAAE,KAAK,OAAO,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAC,CAAC;IAClD,IAAI,OAAO,aAAK,OAAO,CAAC,CAAC,WAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAW,CAAC,0CAAE,IAAI,CAAC,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,gBAAgB,CAAC,GAAC,CAAC;;sEApE/H,WAAW;4GAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;;;;;;;;;;;;;;;;;;;;;;ACTb,MAAM,KAAK,GAAG;IACjB,aAAa;IACb,SAAS,EAAE,aAAa;IACxB,sBAAsB,EAAE,aAAa;IACrC,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,OAAO;IACf,SAAS,EAAE,YAAY;IAEvB,8BAA8B;IAC9B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,QAAQ;IAEf,gBAAgB;IAChB,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,YAAY;IACzB,eAAe,EAAE,sBAAsB;IACvC,kBAAkB,EAAE,sBAAsB;IAC1C,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,KAAK;IAEjB,cAAc;IACd,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,aAAa;IAEvB,cAAc;IACd,aAAa,EAAE,YAAY;IAE3B,oBAAoB;IACpB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,OAAO;IAEpB,iBAAiB;IACjB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,SAAS;IAEvB,gBAAgB;IAChB,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,YAAY;IAEvB,WAAW;IACX,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,QAAQ;IAEjB,qBAAqB;IACrB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,cAAc;IACtB,2BAA2B,EAAE,8BAA8B;IAC3D,MAAM,EAAE,SAAS;IACjB,wBAAwB,EAAE,uBAAuB;IACjD,MAAM,EAAE,gBAAgB;IACxB,wBAAwB,EAAE,gCAAgC;IAE1D,qCAAqC;IACrC,KAAK,EAAE,QAAQ;IAEf,QAAQ;IACR,UAAU,EAAE,0BAA0B;IACtC,YAAY,EAAE,sBAAsB;IACpC,OAAO,EAAE,WAAW;IAEpB,OAAO;IACP,SAAS,EAAE,iBAAiB;IAC5B,OAAO,EAAE,qBAAqB;IAC9B,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,cAAc;IACrB,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,0BAA0B;IAC9C,kBAAkB,EAAE,0BAA0B;IAC9C,OAAO,EAAE,eAAe;IACxB,SAAS,EAAE,iBAAiB;IAC5B,YAAY,EAAE,kBAAkB;IAChC,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,eAAe,EAAE,uBAAuB;IACxC,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,aAAa;IACxB,WAAW,EAAE,uBAAuB;IACpC,cAAc,EAAE,sBAAsB;IAEtC,6CAA6C;IAC7C,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,YAAY;IACjB,YAAY,EAAE,WAAW;IACzB,YAAY,EAAE,OAAO;IACrB,SAAS,EAAE,cAAc;IACzB,oBAAoB,EAAE,QAAQ;IAC9B,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,aAAa;IACvB,SAAS,EAAE,aAAa;IACxB,YAAY,EAAE,iBAAiB;IAE/B,2BAA2B;IAC3B,sBAAsB,EAAE,0BAA0B;IAClD,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IAEzB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,aAAa;IAE/B,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,aAAa;IAE5B,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IAEpB,IAAI,EAAE,MAAM;IAEZ,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAEhB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,cAAc;IAE9B,cAAc,EAAE,WAAW;IAE3B,SAAS;IACT,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,YAAY;IAC7B,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,SAAS;IAC1B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,aAAa;IACvB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,OAAO;IACd,gBAAgB,EAAE,4CAA4C;IAC9D,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,mBAAmB;IAC5B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;IAC9B,uBAAuB,EAAE,oBAAoB;IAC7C,qBAAqB,EAAE,kBAAkB;IACzC,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,cAAc;IAC7B,iBAAiB,EAAE,WAAW;IAC9B,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,WAAW;IAC3B,oBAAoB,EAAE,SAAS;IAC/B,oBAAoB,EAAE,SAAS;IAC/B,uBAAuB,EAAE,cAAc;IACvC,iBAAiB,EAAE,SAAS;IAC5B,iBAAiB,EAAE,SAAS;IAC5B,oBAAoB,EAAE,cAAc;IACpC,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,UAAU;IAC3B,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,MAAM;IAC1B,kBAAkB,EAAE,SAAS;IAC7B,qBAAqB,EAAE,cAAc;IACrC,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,WAAW;IAC7B,aAAa,EAAE,kCAAkC;IACjD,2BAA2B,EAAE,0CAA0C;CACxE;AACI,MAAM,KAAK,GAAG;IACnB,aAAa;IACb,SAAS,EAAE,aAAa;IACxB,sBAAsB,EAAE,aAAa;IACrC,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,OAAO;IACf,SAAS,EAAE,YAAY;IAEvB,8BAA8B;IAC9B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,QAAQ;IAEf,gBAAgB;IAChB,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,YAAY;IACzB,eAAe,EAAE,sBAAsB;IACvC,kBAAkB,EAAE,sBAAsB;IAC1C,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,KAAK;IAEjB,cAAc;IACd,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,aAAa;IAEvB,cAAc;IACd,aAAa,EAAE,YAAY;IAE3B,oBAAoB;IACpB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,OAAO;IAEpB,iBAAiB;IACjB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,SAAS;IAEvB,gBAAgB;IAChB,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,YAAY;IAEvB,WAAW;IACX,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,QAAQ;IAEjB,qBAAqB;IACrB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,cAAc;IACtB,2BAA2B,EAAE,8BAA8B;IAC3D,MAAM,EAAE,SAAS;IACjB,wBAAwB,EAAE,uBAAuB;IACjD,MAAM,EAAE,gBAAgB;IACxB,wBAAwB,EAAE,gCAAgC;IAE1D,qCAAqC;IACrC,KAAK,EAAE,QAAQ;IAEf,QAAQ;IACR,UAAU,EAAE,0BAA0B;IACtC,YAAY,EAAE,sBAAsB;IACpC,OAAO,EAAE,WAAW;IAEpB,OAAO;IACP,SAAS,EAAE,iBAAiB;IAC5B,OAAO,EAAE,qBAAqB;IAC9B,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,cAAc;IACrB,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,0BAA0B;IAC9C,kBAAkB,EAAE,0BAA0B;IAC9C,OAAO,EAAE,eAAe;IACxB,SAAS,EAAE,iBAAiB;IAC5B,YAAY,EAAE,kBAAkB;IAChC,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,eAAe,EAAE,uBAAuB;IACxC,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,aAAa;IACxB,WAAW,EAAE,uBAAuB;IACpC,cAAc,EAAE,sBAAsB;IAEtC,6CAA6C;IAC7C,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,YAAY;IACjB,YAAY,EAAE,WAAW;IACzB,YAAY,EAAE,OAAO;IACrB,SAAS,EAAE,cAAc;IACzB,oBAAoB,EAAE,QAAQ;IAC9B,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,aAAa;IACvB,SAAS,EAAE,aAAa;IACxB,YAAY,EAAE,iBAAiB;IAE/B,2BAA2B;IAC3B,sBAAsB,EAAE,0BAA0B;IAClD,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IAEzB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,aAAa;IAE/B,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,aAAa;IAE5B,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IAEpB,IAAI,EAAE,MAAM;IAEZ,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAEhB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,cAAc;IAE9B,cAAc,EAAE,WAAW;IAE3B,SAAS;IACT,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,YAAY;IAC7B,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,SAAS;IAC1B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,aAAa;IACvB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,OAAO;IACd,gBAAgB,EAAE,4CAA4C;IAC9D,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,mBAAmB;IAC5B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;IAC9B,uBAAuB,EAAE,oBAAoB;IAC7C,qBAAqB,EAAE,kBAAkB;IACzC,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,cAAc;IAC7B,iBAAiB,EAAE,WAAW;IAC9B,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,WAAW;IAC3B,oBAAoB,EAAE,SAAS;IAC/B,oBAAoB,EAAE,SAAS;IAC/B,uBAAuB,EAAE,cAAc;IACvC,iBAAiB,EAAE,SAAS;IAC5B,iBAAiB,EAAE,SAAS;IAC5B,oBAAoB,EAAE,cAAc;IACpC,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,UAAU;IAC3B,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,MAAM;IAC1B,kBAAkB,EAAE,SAAS;IAC7B,qBAAqB,EAAE,cAAc;IACrC,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,WAAW;IAC7B,aAAa,EAAE,kCAAkC;IACjD,2BAA2B,EAAE,0CAA0C;CACxE;AACM,MAAM,KAAK,GAAG;IACnB,aAAa;IACb,SAAS,EAAE,aAAa;IACxB,sBAAsB,EAAE,aAAa;IACrC,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,OAAO;IACf,SAAS,EAAE,YAAY;IAEvB,8BAA8B;IAC9B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,QAAQ;IAEf,gBAAgB;IAChB,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,YAAY;IACzB,eAAe,EAAE,sBAAsB;IACvC,kBAAkB,EAAE,sBAAsB;IAC1C,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,KAAK;IAEjB,cAAc;IACd,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,aAAa;IAEvB,cAAc;IACd,aAAa,EAAE,YAAY;IAE3B,oBAAoB;IACpB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,OAAO;IAEpB,iBAAiB;IACjB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,SAAS;IAEvB,gBAAgB;IAChB,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,YAAY;IAEvB,WAAW;IACX,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,QAAQ;IAEjB,qBAAqB;IACrB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,cAAc;IACtB,2BAA2B,EAAE,8BAA8B;IAC3D,MAAM,EAAE,SAAS;IACjB,wBAAwB,EAAE,uBAAuB;IACjD,MAAM,EAAE,gBAAgB;IACxB,wBAAwB,EAAE,gCAAgC;IAE1D,qCAAqC;IACrC,KAAK,EAAE,QAAQ;IAEf,QAAQ;IACR,UAAU,EAAE,0BAA0B;IACtC,YAAY,EAAE,sBAAsB;IACpC,OAAO,EAAE,WAAW;IAEpB,OAAO;IACP,SAAS,EAAE,iBAAiB;IAC5B,OAAO,EAAE,qBAAqB;IAC9B,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,cAAc;IACrB,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,0BAA0B;IAC9C,kBAAkB,EAAE,0BAA0B;IAC9C,OAAO,EAAE,eAAe;IACxB,SAAS,EAAE,iBAAiB;IAC5B,YAAY,EAAE,kBAAkB;IAChC,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,eAAe,EAAE,uBAAuB;IACxC,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,aAAa;IACxB,WAAW,EAAE,uBAAuB;IACpC,cAAc,EAAE,sBAAsB;IAEtC,6CAA6C;IAC7C,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,YAAY;IACjB,YAAY,EAAE,WAAW;IACzB,YAAY,EAAE,OAAO;IACrB,SAAS,EAAE,cAAc;IACzB,oBAAoB,EAAE,QAAQ;IAC9B,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,aAAa;IACvB,SAAS,EAAE,aAAa;IACxB,YAAY,EAAE,iBAAiB;IAE/B,2BAA2B;IAC3B,sBAAsB,EAAE,0BAA0B;IAClD,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IAEzB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,aAAa;IAE/B,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,aAAa;IAE5B,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IAEpB,IAAI,EAAE,MAAM;IAEZ,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAEhB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,cAAc;IAE9B,cAAc,EAAE,WAAW;IAE3B,SAAS;IACT,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,YAAY;IAC7B,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,SAAS;IAC1B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,aAAa;IACvB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,OAAO;IACd,gBAAgB,EAAE,4CAA4C;IAC9D,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,mBAAmB;IAC5B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;IAC9B,uBAAuB,EAAE,oBAAoB;IAC7C,qBAAqB,EAAE,kBAAkB;IACzC,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,cAAc;IAC7B,iBAAiB,EAAE,WAAW;IAC9B,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,WAAW;IAC3B,oBAAoB,EAAE,SAAS;IAC/B,oBAAoB,EAAE,SAAS;IAC/B,uBAAuB,EAAE,cAAc;IACvC,iBAAiB,EAAE,SAAS;IAC5B,iBAAiB,EAAE,SAAS;IAC5B,oBAAoB,EAAE,cAAc;IACpC,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,UAAU;IAC3B,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,MAAM;IAC1B,kBAAkB,EAAE,SAAS;IAC7B,qBAAqB,EAAE,cAAc;IACrC,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,WAAW;IAC7B,aAAa,EAAE,kCAAkC;IACjD,2BAA2B,EAAE,0CAA0C;CACxE;AACM,MAAM,KAAK,GAAG;IACnB,aAAa;IACb,SAAS,EAAE,aAAa;IACxB,sBAAsB,EAAE,aAAa;IACrC,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,OAAO;IACf,SAAS,EAAE,YAAY;IAEvB,8BAA8B;IAC9B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,QAAQ;IAEf,gBAAgB;IAChB,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,YAAY;IACzB,eAAe,EAAE,sBAAsB;IACvC,kBAAkB,EAAE,sBAAsB;IAC1C,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,KAAK;IAEjB,cAAc;IACd,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,aAAa;IAEvB,cAAc;IACd,aAAa,EAAE,YAAY;IAE3B,oBAAoB;IACpB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,OAAO;IAEpB,iBAAiB;IACjB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,SAAS;IAEvB,gBAAgB;IAChB,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,YAAY;IAEvB,WAAW;IACX,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,QAAQ;IAEjB,qBAAqB;IACrB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,cAAc;IACtB,2BAA2B,EAAE,8BAA8B;IAC3D,MAAM,EAAE,SAAS;IACjB,wBAAwB,EAAE,uBAAuB;IACjD,MAAM,EAAE,gBAAgB;IACxB,wBAAwB,EAAE,gCAAgC;IAE1D,qCAAqC;IACrC,KAAK,EAAE,QAAQ;IAEf,QAAQ;IACR,UAAU,EAAE,0BAA0B;IACtC,YAAY,EAAE,sBAAsB;IACpC,OAAO,EAAE,WAAW;IAEpB,OAAO;IACP,SAAS,EAAE,iBAAiB;IAC5B,OAAO,EAAE,qBAAqB;IAC9B,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,cAAc;IACrB,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,0BAA0B;IAC9C,kBAAkB,EAAE,0BAA0B;IAC9C,OAAO,EAAE,eAAe;IACxB,SAAS,EAAE,iBAAiB;IAC5B,YAAY,EAAE,kBAAkB;IAChC,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,eAAe,EAAE,uBAAuB;IACxC,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,aAAa;IACxB,WAAW,EAAE,uBAAuB;IACpC,cAAc,EAAE,sBAAsB;IAEtC,6CAA6C;IAC7C,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,YAAY;IACjB,YAAY,EAAE,WAAW;IACzB,YAAY,EAAE,OAAO;IACrB,SAAS,EAAE,cAAc;IACzB,oBAAoB,EAAE,QAAQ;IAC9B,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,aAAa;IACvB,SAAS,EAAE,aAAa;IACxB,YAAY,EAAE,iBAAiB;IAE/B,2BAA2B;IAC3B,sBAAsB,EAAE,0BAA0B;IAClD,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IAEzB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,aAAa;IAE/B,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,aAAa;IAE5B,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IAEpB,IAAI,EAAE,MAAM;IAEZ,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAEhB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,cAAc;IAE9B,cAAc,EAAE,WAAW;IAE3B,SAAS;IACT,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,YAAY;IAC7B,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,SAAS;IAC1B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,aAAa;IACvB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,OAAO;IACd,gBAAgB,EAAE,4CAA4C;IAC9D,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,mBAAmB;IAC5B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;IAC9B,uBAAuB,EAAE,oBAAoB;IAC7C,qBAAqB,EAAE,kBAAkB;IACzC,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,cAAc;IAC7B,iBAAiB,EAAE,WAAW;IAC9B,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,WAAW;IAC3B,oBAAoB,EAAE,SAAS;IAC/B,oBAAoB,EAAE,SAAS;IAC/B,uBAAuB,EAAE,cAAc;IACvC,iBAAiB,EAAE,SAAS;IAC5B,iBAAiB,EAAE,SAAS;IAC5B,oBAAoB,EAAE,cAAc;IACpC,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,UAAU;IAC3B,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,MAAM;IAC1B,kBAAkB,EAAE,SAAS;IAC7B,qBAAqB,EAAE,cAAc;IACrC,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,WAAW;IAC7B,aAAa,EAAE,kCAAkC;IACjD,2BAA2B,EAAE,0CAA0C;CACxE;AACM,MAAM,KAAK,GAAG;IACnB,aAAa;IACb,SAAS,EAAE,aAAa;IACxB,sBAAsB,EAAE,aAAa;IACrC,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,OAAO;IACf,SAAS,EAAE,YAAY;IAEvB,8BAA8B;IAC9B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,QAAQ;IAEf,gBAAgB;IAChB,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,YAAY;IACzB,eAAe,EAAE,sBAAsB;IACvC,kBAAkB,EAAE,sBAAsB;IAC1C,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,KAAK;IAEjB,cAAc;IACd,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,aAAa;IAEvB,cAAc;IACd,aAAa,EAAE,YAAY;IAE3B,oBAAoB;IACpB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,OAAO;IAEpB,iBAAiB;IACjB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,SAAS;IAEvB,gBAAgB;IAChB,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,YAAY;IAEvB,WAAW;IACX,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,QAAQ;IAEjB,qBAAqB;IACrB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,cAAc;IACtB,2BAA2B,EAAE,8BAA8B;IAC3D,MAAM,EAAE,SAAS;IACjB,wBAAwB,EAAE,uBAAuB;IACjD,MAAM,EAAE,gBAAgB;IACxB,wBAAwB,EAAE,gCAAgC;IAE1D,qCAAqC;IACrC,KAAK,EAAE,QAAQ;IAEf,QAAQ;IACR,UAAU,EAAE,0BAA0B;IACtC,YAAY,EAAE,sBAAsB;IACpC,OAAO,EAAE,WAAW;IAEpB,OAAO;IACP,SAAS,EAAE,iBAAiB;IAC5B,OAAO,EAAE,qBAAqB;IAC9B,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,cAAc;IACrB,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,0BAA0B;IAC9C,kBAAkB,EAAE,0BAA0B;IAC9C,OAAO,EAAE,eAAe;IACxB,SAAS,EAAE,iBAAiB;IAC5B,YAAY,EAAE,kBAAkB;IAChC,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,eAAe,EAAE,uBAAuB;IACxC,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,aAAa;IACxB,WAAW,EAAE,uBAAuB;IACpC,cAAc,EAAE,sBAAsB;IAEtC,6CAA6C;IAC7C,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,YAAY;IACjB,YAAY,EAAE,WAAW;IACzB,YAAY,EAAE,OAAO;IACrB,SAAS,EAAE,cAAc;IACzB,oBAAoB,EAAE,QAAQ;IAC9B,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,aAAa;IACvB,SAAS,EAAE,aAAa;IACxB,YAAY,EAAE,iBAAiB;IAE/B,2BAA2B;IAC3B,sBAAsB,EAAE,0BAA0B;IAClD,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IAEzB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,aAAa;IAE/B,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,aAAa;IAE5B,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IAEpB,IAAI,EAAE,MAAM;IAEZ,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAEhB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,cAAc;IAE9B,cAAc,EAAE,WAAW;IAE3B,SAAS;IACT,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,YAAY;IAC7B,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,SAAS;IAC1B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,aAAa;IACvB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,OAAO;IACd,gBAAgB,EAAE,4CAA4C;IAC9D,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,mBAAmB;IAC5B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;IAC9B,uBAAuB,EAAE,oBAAoB;IAC7C,qBAAqB,EAAE,kBAAkB;IACzC,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,cAAc;IAC7B,iBAAiB,EAAE,WAAW;IAC9B,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,WAAW;IAC3B,oBAAoB,EAAE,SAAS;IAC/B,oBAAoB,EAAE,SAAS;IAC/B,uBAAuB,EAAE,cAAc;IACvC,iBAAiB,EAAE,SAAS;IAC5B,iBAAiB,EAAE,SAAS;IAC5B,oBAAoB,EAAE,cAAc;IACpC,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,UAAU;IAC3B,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,MAAM;IAC1B,kBAAkB,EAAE,SAAS;IAC7B,qBAAqB,EAAE,cAAc;IACrC,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,WAAW;IAC7B,aAAa,EAAE,kCAAkC;IACjD,2BAA2B,EAAE,0CAA0C;CACxE;AACM,MAAM,KAAK,GAAG;IACnB,aAAa;IACb,SAAS,EAAE,aAAa;IACxB,sBAAsB,EAAE,aAAa;IACrC,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,OAAO;IACf,SAAS,EAAE,YAAY;IAEvB,8BAA8B;IAC9B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,QAAQ;IAEf,gBAAgB;IAChB,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,YAAY;IACzB,eAAe,EAAE,sBAAsB;IACvC,kBAAkB,EAAE,sBAAsB;IAC1C,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,KAAK;IAEjB,cAAc;IACd,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,aAAa;IAEvB,cAAc;IACd,aAAa,EAAE,YAAY;IAE3B,oBAAoB;IACpB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,OAAO;IAEpB,iBAAiB;IACjB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,SAAS;IAEvB,gBAAgB;IAChB,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,YAAY;IAEvB,WAAW;IACX,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,QAAQ;IAEjB,qBAAqB;IACrB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,cAAc;IACtB,2BAA2B,EAAE,8BAA8B;IAC3D,MAAM,EAAE,SAAS;IACjB,wBAAwB,EAAE,uBAAuB;IACjD,MAAM,EAAE,gBAAgB;IACxB,wBAAwB,EAAE,gCAAgC;IAE1D,qCAAqC;IACrC,KAAK,EAAE,QAAQ;IAEf,QAAQ;IACR,UAAU,EAAE,0BAA0B;IACtC,YAAY,EAAE,sBAAsB;IACpC,OAAO,EAAE,WAAW;IAEpB,OAAO;IACP,SAAS,EAAE,iBAAiB;IAC5B,OAAO,EAAE,qBAAqB;IAC9B,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,cAAc;IACrB,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,0BAA0B;IAC9C,kBAAkB,EAAE,0BAA0B;IAC9C,OAAO,EAAE,eAAe;IACxB,SAAS,EAAE,iBAAiB;IAC5B,YAAY,EAAE,kBAAkB;IAChC,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,eAAe,EAAE,uBAAuB;IACxC,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,aAAa;IACxB,WAAW,EAAE,uBAAuB;IACpC,cAAc,EAAE,sBAAsB;IAEtC,6CAA6C;IAC7C,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,YAAY;IACjB,YAAY,EAAE,WAAW;IACzB,YAAY,EAAE,OAAO;IACrB,SAAS,EAAE,cAAc;IACzB,oBAAoB,EAAE,QAAQ;IAC9B,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,aAAa;IACvB,SAAS,EAAE,aAAa;IACxB,YAAY,EAAE,iBAAiB;IAE/B,2BAA2B;IAC3B,sBAAsB,EAAE,0BAA0B;IAClD,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IAEzB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,aAAa;IAE/B,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,aAAa;IAE5B,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IAEpB,IAAI,EAAE,MAAM;IAEZ,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAEhB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,cAAc;IAE9B,cAAc,EAAE,WAAW;IAE3B,SAAS;IACT,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,YAAY;IAC7B,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,SAAS;IAC1B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,aAAa;IACvB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,OAAO;IACd,gBAAgB,EAAE,4CAA4C;IAC9D,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,mBAAmB;IAC5B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;IAC9B,uBAAuB,EAAE,oBAAoB;IAC7C,qBAAqB,EAAE,kBAAkB;IACzC,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,cAAc;IAC7B,iBAAiB,EAAE,WAAW;IAC9B,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,WAAW;IAC3B,oBAAoB,EAAE,SAAS;IAC/B,oBAAoB,EAAE,SAAS;IAC/B,uBAAuB,EAAE,cAAc;IACvC,iBAAiB,EAAE,SAAS;IAC5B,iBAAiB,EAAE,SAAS;IAC5B,oBAAoB,EAAE,cAAc;IACpC,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,UAAU;IAC3B,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,MAAM;IAC1B,kBAAkB,EAAE,SAAS;IAC7B,qBAAqB,EAAE,cAAc;IACrC,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,WAAW;IAC7B,aAAa,EAAE,kCAAkC;IACjD,2BAA2B,EAAE,0CAA0C;CACxE;AACM,MAAM,KAAK,GAAG;IACnB,aAAa;IACb,SAAS,EAAE,aAAa;IACxB,sBAAsB,EAAE,aAAa;IACrC,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,OAAO;IACf,SAAS,EAAE,YAAY;IAEvB,8BAA8B;IAC9B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,YAAY;IACpB,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,QAAQ;IAEf,gBAAgB;IAChB,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,YAAY;IACzB,eAAe,EAAE,sBAAsB;IACvC,kBAAkB,EAAE,sBAAsB;IAC1C,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,KAAK;IAEjB,cAAc;IACd,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,iBAAiB;IAC9B,UAAU,EAAE,aAAa;IACzB,QAAQ,EAAE,aAAa;IAEvB,cAAc;IACd,aAAa,EAAE,YAAY;IAE3B,oBAAoB;IACpB,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,OAAO;IAEpB,iBAAiB;IACjB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,SAAS;IAEvB,gBAAgB;IAChB,UAAU,EAAE,cAAc;IAC1B,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,YAAY;IAEvB,WAAW;IACX,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,QAAQ;IAEjB,qBAAqB;IACrB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,cAAc;IACtB,2BAA2B,EAAE,8BAA8B;IAC3D,MAAM,EAAE,SAAS;IACjB,wBAAwB,EAAE,uBAAuB;IACjD,MAAM,EAAE,gBAAgB;IACxB,wBAAwB,EAAE,gCAAgC;IAE1D,qCAAqC;IACrC,KAAK,EAAE,QAAQ;IAEf,QAAQ;IACR,UAAU,EAAE,0BAA0B;IACtC,YAAY,EAAE,sBAAsB;IACpC,OAAO,EAAE,WAAW;IAEpB,OAAO;IACP,SAAS,EAAE,iBAAiB;IAC5B,OAAO,EAAE,qBAAqB;IAC9B,QAAQ,EAAE,mBAAmB;IAC7B,KAAK,EAAE,cAAc;IACrB,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,0BAA0B;IAC9C,kBAAkB,EAAE,0BAA0B;IAC9C,OAAO,EAAE,eAAe;IACxB,SAAS,EAAE,iBAAiB;IAC5B,YAAY,EAAE,kBAAkB;IAChC,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,UAAU;IACvB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,eAAe,EAAE,uBAAuB;IACxC,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,WAAW;IACnB,SAAS,EAAE,aAAa;IACxB,WAAW,EAAE,uBAAuB;IACpC,cAAc,EAAE,sBAAsB;IAEtC,6CAA6C;IAC7C,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,YAAY;IACjB,YAAY,EAAE,WAAW;IACzB,YAAY,EAAE,OAAO;IACrB,SAAS,EAAE,cAAc;IACzB,oBAAoB,EAAE,QAAQ;IAC9B,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,KAAK;IACT,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,aAAa;IACvB,SAAS,EAAE,aAAa;IACxB,YAAY,EAAE,iBAAiB;IAE/B,2BAA2B;IAC3B,sBAAsB,EAAE,0BAA0B;IAClD,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IAEzB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,WAAW;IAC1B,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,aAAa;IAE/B,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,aAAa;IAE5B,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,KAAK;IACV,QAAQ,EAAE,UAAU;IAEpB,IAAI,EAAE,MAAM;IAEZ,OAAO,EAAE,eAAe;IACxB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAEhB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,cAAc;IAE9B,cAAc,EAAE,WAAW;IAE3B,SAAS;IACT,eAAe,EAAE,eAAe;IAChC,eAAe,EAAE,YAAY;IAC7B,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,SAAS;IAC1B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,aAAa;IACvB,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,QAAQ;IACf,SAAS,EAAE,YAAY;IACvB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,OAAO;IACd,gBAAgB,EAAE,4CAA4C;IAC9D,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,mBAAmB;IAC5B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,WAAW,EAAE,cAAc;IAC3B,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;IAC9B,uBAAuB,EAAE,oBAAoB;IAC7C,qBAAqB,EAAE,kBAAkB;IACzC,WAAW,EAAE,cAAc;IAC3B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,cAAc;IAC7B,iBAAiB,EAAE,WAAW;IAC9B,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,eAAe;IAC7B,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,WAAW;IAC3B,oBAAoB,EAAE,SAAS;IAC/B,oBAAoB,EAAE,SAAS;IAC/B,uBAAuB,EAAE,cAAc;IACvC,iBAAiB,EAAE,SAAS;IAC5B,iBAAiB,EAAE,SAAS;IAC5B,oBAAoB,EAAE,cAAc;IACpC,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,UAAU;IAC3B,WAAW,EAAE,MAAM;IACnB,kBAAkB,EAAE,MAAM;IAC1B,kBAAkB,EAAE,SAAS;IAC7B,qBAAqB,EAAE,cAAc;IACrC,cAAc,EAAE,SAAS;IACzB,aAAa,EAAE,QAAQ;IACvB,gBAAgB,EAAE,WAAW;IAC7B,aAAa,EAAE,kCAAkC;IACjD,2BAA2B,EAAE,0CAA0C;CACxE;;;;;;;;;;;;;;;;;;;;;;;;;ACvoDoE;AACgB;AACpB;AACJ;AAC3B;AAClC,MAAM,UAAU,GAAG;IACf,eAAe,EAAE,UAAU,MAAM;QAC/B,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;YAC9B,OAAO,MAAM,CAAC,KAAK,CAAC;SACrB;aAAM;YACL,OAAO,gEAAgE,CAAC;SACzE;IACH,CAAC;CACF,CAAC;AAEJ,MAAM,WAAW,GAAG,CAAC;QACnB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,QAAQ;QAClB,YAAY,EAAE;YACZ,MAAM,EAAE,aAAa;SACtB;KACF,CAAC,CAAC;AAEI,MAAM,SAAS;;AACb,cAAI,GAAG,oBAAoB,CAAC;AAC5B,aAAG,GAAG,mBAAmB,CAAC;AAC1B,cAAI,GAAG,oBAAoB,CAAC;AAG9B,MAAM,OAAO,GAAa;IAC/B,+FAAwB;IACxB,2EAAe;IACf,+EAAiB;IACjB,uEAAa;CACd,CAAC;AAEF,MAAM,OAAO,GAAG;IACd,UAAU,EAAE;QACV;YACE,EAAE,EAAE,SAAS;YACb,SAAS,EAAE,oBAAoB;YAC/B,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,SAAS;YACvB,eAAe,EAAE;gBACf,iBAAiB,EAAE,IAAI;gBACvB,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;gBACpB,iBAAiB,EAAE,IAAI;gBACvB,mBAAmB,EAAE,IAAI;gBACzB,oBAAoB,EAAE,IAAI;gBAC1B,uBAAuB,EAAE,IAAI;gBAC7B,uBAAuB,EAAE,IAAI;gBAC7B,6BAA6B,EAAE,IAAI;aACpC;SACF;QACD;YACE,EAAE,EAAE,SAAS;YACb,SAAS,EAAE,oBAAoB;YAC/B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,QAAQ;YACjB,YAAY,EAAE,SAAS;SACxB;KACF;IACD,gBAAgB,EAAE,EAAE;CACrB,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;IACpB,MAAM,EAAE,SAAS,CAAC,IAAI;IACtB,KAAK,EAAE,GAAG;CACX,CAAC;AAEK,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAG,UAAU;IACvB,OAAO,EAAG,OAAO;IACjB,oBAAoB;IACpB,aAAa,EAAE,aAAa;IAC5B,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,EAAE;IACb,qBAAqB,EAAE,EAAE;IACzB,UAAU,EAAE,IAAI;IAChB,gBAAgB,EAAE,IAAI;IACtB,kBAAkB,EAAE,GAAG;IACvB,QAAQ,EAAE,KAAK;CACD,CAAC;AAEV,IAAI,gBAAgB,GAAG;IAC5B,yBAAyB;IACzB,UAAU,EAAE,UAAU,yBAAyB,EAAE,SAAS;QACxD,IAAI,YAAY,GAAG,iDAAM,CAAC,SAAS,EAAC,YAAY,CAAC,CAAC;QAClD,IAAI,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE9F,IAAI,yBAAyB,CAAC,OAAO,EAAE,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;YAC7D,OAAO,CAAC,CAAC;SACV;QAED,IAAI,QAAQ,GAAG,yBAAyB,EAAE;YACxC,OAAO,CAAC,CAAC,CAAC;SACX;QAED,IAAI,QAAQ,GAAG,yBAAyB,EAAE;YACxC,OAAO,CAAC,CAAC;SACV;IACH,CAAC;IACD,OAAO,EAAE,CAAC,OAAO,CAAC;CACnB,CAAC;AAEK,MAAM,OAAO,GAAG,oQAAoQ,CAAC;;;;;;;;;;;;;;;;ACrHrR,MAAM,sBAAsB;IAAnC;QACG,aAAO,GAAG;YACT,aAAa;YACb,SAAS,EAAE,aAAa;YACxB,sBAAsB,EAAE,aAAa;YACrC,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,YAAY;YAEvB,8BAA8B;YAC9B,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,QAAQ;YAEf,gBAAgB;YAChB,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,YAAY;YACzB,eAAe,EAAE,sBAAsB;YACvC,kBAAkB,EAAE,sBAAsB;YAC1C,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YAEjB,cAAc;YACd,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,iBAAiB;YAC9B,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,aAAa;YAEvB,cAAc;YACd,aAAa,EAAE,YAAY;YAE3B,oBAAoB;YACpB,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,OAAO;YAEpB,iBAAiB;YACjB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,SAAS;YAEvB,gBAAgB;YAChB,UAAU,EAAE,cAAc;YAC1B,YAAY,EAAE,eAAe;YAC7B,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,YAAY;YAEvB,WAAW;YACX,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,QAAQ;YAEjB,qBAAqB;YACrB,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,cAAc;YACtB,2BAA2B,EAAE,8BAA8B;YAC3D,MAAM,EAAE,SAAS;YACjB,wBAAwB,EAAE,uBAAuB;YACjD,MAAM,EAAE,gBAAgB;YACxB,wBAAwB,EAAE,gCAAgC;YAE1D,qCAAqC;YACrC,KAAK,EAAE,QAAQ;YAEf,QAAQ;YACR,UAAU,EAAE,0BAA0B;YACtC,YAAY,EAAE,sBAAsB;YACpC,OAAO,EAAE,WAAW;YAEpB,OAAO;YACP,SAAS,EAAE,iBAAiB;YAC5B,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,mBAAmB;YAC7B,KAAK,EAAE,cAAc;YACrB,gBAAgB,EAAE,kBAAkB;YACpC,kBAAkB,EAAE,0BAA0B;YAC9C,kBAAkB,EAAE,0BAA0B;YAC9C,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,iBAAiB;YAC5B,YAAY,EAAE,kBAAkB;YAChC,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,eAAe,EAAE,uBAAuB;YACxC,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,uBAAuB;YACpC,cAAc,EAAE,sBAAsB;YAEtC,6CAA6C;YAC7C,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,OAAO;YACrB,SAAS,EAAE,cAAc;YACzB,oBAAoB,EAAE,QAAQ;YAC9B,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,iBAAiB;YAE/B,2BAA2B;YAC3B,sBAAsB,EAAE,0BAA0B;YAClD,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,aAAa;YAEzB,WAAW,EAAE,SAAS;YACtB,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,aAAa;YAE/B,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,aAAa;YAE5B,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,UAAU;YAEpB,IAAI,EAAE,MAAM;YAEZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAEhB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,SAAS;YACtB,cAAc,EAAE,cAAc;YAE9B,cAAc,EAAE,WAAW;YAE3B,SAAS;YACT,eAAe,EAAE,eAAe;YAChC,eAAe,EAAE,YAAY;YAC7B,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,YAAY;YACxB,eAAe,EAAE,SAAS;YAC1B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,WAAW;YACtB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,OAAO;YACd,gBAAgB,EAAE,4CAA4C;YAC9D,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,kBAAkB;YAC9B,YAAY,EAAE,eAAe;YAC7B,aAAa,EAAE,gBAAgB;YAC/B,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,gBAAgB;YAC9B,YAAY,EAAE,gBAAgB;YAC9B,uBAAuB,EAAE,oBAAoB;YAC7C,qBAAqB,EAAE,kBAAkB;YACzC,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,cAAc;YAC7B,iBAAiB,EAAE,WAAW;YAC9B,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,eAAe;YAC7B,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,WAAW;YAC3B,oBAAoB,EAAE,SAAS;YAC/B,oBAAoB,EAAE,SAAS;YAC/B,uBAAuB,EAAE,cAAc;YACvC,iBAAiB,EAAE,SAAS;YAC5B,iBAAiB,EAAE,SAAS;YAC5B,oBAAoB,EAAE,cAAc;YACpC,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,UAAU;YAC3B,WAAW,EAAE,MAAM;YACnB,kBAAkB,EAAE,MAAM;YAC1B,kBAAkB,EAAE,SAAS;YAC7B,qBAAqB,EAAE,cAAc;YACrC,cAAc,EAAE,SAAS;YACzB,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,WAAW;YAC7B,aAAa,EAAE,kCAAkC;YACjD,2BAA2B,EAAE,0CAA0C;SACxE;QACD,aAAO,GAAG;YACR,aAAa;YACb,SAAS,EAAE,aAAa;YACxB,sBAAsB,EAAE,aAAa;YACrC,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,YAAY;YAEvB,8BAA8B;YAC9B,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,QAAQ;YAEf,gBAAgB;YAChB,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,YAAY;YACzB,eAAe,EAAE,sBAAsB;YACvC,kBAAkB,EAAE,sBAAsB;YAC1C,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YAEjB,cAAc;YACd,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,iBAAiB;YAC9B,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,aAAa;YAEvB,cAAc;YACd,aAAa,EAAE,YAAY;YAE3B,oBAAoB;YACpB,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,OAAO;YAEpB,iBAAiB;YACjB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,SAAS;YAEvB,gBAAgB;YAChB,UAAU,EAAE,cAAc;YAC1B,YAAY,EAAE,eAAe;YAC7B,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,YAAY;YAEvB,WAAW;YACX,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,QAAQ;YAEjB,qBAAqB;YACrB,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,cAAc;YACtB,2BAA2B,EAAE,8BAA8B;YAC3D,MAAM,EAAE,SAAS;YACjB,wBAAwB,EAAE,uBAAuB;YACjD,MAAM,EAAE,gBAAgB;YACxB,wBAAwB,EAAE,gCAAgC;YAE1D,qCAAqC;YACrC,KAAK,EAAE,QAAQ;YAEf,QAAQ;YACR,UAAU,EAAE,0BAA0B;YACtC,YAAY,EAAE,sBAAsB;YACpC,OAAO,EAAE,WAAW;YAEpB,OAAO;YACP,SAAS,EAAE,iBAAiB;YAC5B,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,mBAAmB;YAC7B,KAAK,EAAE,cAAc;YACrB,gBAAgB,EAAE,kBAAkB;YACpC,kBAAkB,EAAE,0BAA0B;YAC9C,kBAAkB,EAAE,0BAA0B;YAC9C,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,iBAAiB;YAC5B,YAAY,EAAE,kBAAkB;YAChC,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,eAAe,EAAE,uBAAuB;YACxC,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,uBAAuB;YACpC,cAAc,EAAE,sBAAsB;YAEtC,6CAA6C;YAC7C,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,OAAO;YACrB,SAAS,EAAE,cAAc;YACzB,oBAAoB,EAAE,QAAQ;YAC9B,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,iBAAiB;YAE/B,2BAA2B;YAC3B,sBAAsB,EAAE,0BAA0B;YAClD,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,aAAa;YAEzB,WAAW,EAAE,SAAS;YACtB,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,aAAa;YAE/B,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,aAAa;YAE5B,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,UAAU;YAEpB,IAAI,EAAE,MAAM;YAEZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAEhB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,SAAS;YACtB,cAAc,EAAE,cAAc;YAE9B,cAAc,EAAE,WAAW;YAE3B,SAAS;YACT,eAAe,EAAE,eAAe;YAChC,eAAe,EAAE,YAAY;YAC7B,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,YAAY;YACxB,eAAe,EAAE,SAAS;YAC1B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,WAAW;YACtB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,OAAO;YACd,gBAAgB,EAAE,4CAA4C;YAC9D,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,kBAAkB;YAC9B,YAAY,EAAE,eAAe;YAC7B,aAAa,EAAE,gBAAgB;YAC/B,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,gBAAgB;YAC9B,YAAY,EAAE,gBAAgB;YAC9B,uBAAuB,EAAE,oBAAoB;YAC7C,qBAAqB,EAAE,kBAAkB;YACzC,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,cAAc;YAC7B,iBAAiB,EAAE,WAAW;YAC9B,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,eAAe;YAC7B,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,WAAW;YAC3B,oBAAoB,EAAE,SAAS;YAC/B,oBAAoB,EAAE,SAAS;YAC/B,uBAAuB,EAAE,cAAc;YACvC,iBAAiB,EAAE,SAAS;YAC5B,iBAAiB,EAAE,SAAS;YAC5B,oBAAoB,EAAE,cAAc;YACpC,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,UAAU;YAC3B,WAAW,EAAE,MAAM;YACnB,kBAAkB,EAAE,MAAM;YAC1B,kBAAkB,EAAE,SAAS;YAC7B,qBAAqB,EAAE,cAAc;YACrC,cAAc,EAAE,SAAS;YACzB,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,WAAW;YAC7B,aAAa,EAAE,kCAAkC;YACjD,2BAA2B,EAAE,0CAA0C;SACxE;QACD,aAAO,GAAG;YACR,aAAa;YACb,SAAS,EAAE,aAAa;YACxB,sBAAsB,EAAE,aAAa;YACrC,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,YAAY;YAEvB,8BAA8B;YAC9B,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,aAAa;YACrB,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,SAAS;YAEhB,gBAAgB;YAChB,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,WAAW;YACxB,eAAe,EAAE,uBAAuB;YACxC,kBAAkB,EAAE,uBAAuB;YAC3C,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,MAAM;YACpB,UAAU,EAAE,MAAM;YAElB,cAAc;YACd,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,iBAAiB;YAC9B,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,YAAY;YAEtB,cAAc;YACd,aAAa,EAAE,YAAY;YAE3B,oBAAoB;YACpB,YAAY,EAAE,KAAK;YACnB,WAAW,EAAE,OAAO;YAEpB,iBAAiB;YACjB,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,OAAO;YACpB,YAAY,EAAE,OAAO;YAErB,gBAAgB;YAChB,UAAU,EAAE,aAAa;YACzB,YAAY,EAAE,eAAe;YAC7B,UAAU,EAAE,cAAc;YAC1B,SAAS,EAAE,YAAY;YAEvB,WAAW;YACX,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,QAAQ;YAEjB,qBAAqB;YACrB,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,cAAc;YACtB,2BAA2B,EAAE,8BAA8B;YAC3D,MAAM,EAAE,SAAS;YACjB,wBAAwB,EAAE,uBAAuB;YACjD,MAAM,EAAE,gBAAgB;YACxB,wBAAwB,EAAE,gCAAgC;YAE1D,qCAAqC;YACrC,KAAK,EAAE,QAAQ;YAEf,QAAQ;YACR,UAAU,EAAE,yCAAyC;YACrD,YAAY,EAAE,qBAAqB;YACnC,OAAO,EAAE,WAAW;YAEpB,OAAO;YACP,SAAS,EAAE,iBAAiB;YAC5B,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,mBAAmB;YAC7B,KAAK,EAAE,cAAc;YACrB,gBAAgB,EAAE,kBAAkB;YACpC,kBAAkB,EAAE,0BAA0B;YAC9C,kBAAkB,EAAE,0BAA0B;YAC9C,OAAO,EAAE,gBAAgB;YACzB,SAAS,EAAE,iBAAiB;YAC5B,YAAY,EAAE,oBAAoB;YAClC,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,YAAY;YACzB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,QAAQ;YACf,eAAe,EAAE,wBAAwB;YACzC,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,sBAAsB;YACnC,cAAc,EAAE,qBAAqB;YAErC,6CAA6C;YAC7C,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,MAAM;YACpB,SAAS,EAAE,cAAc;YACzB,oBAAoB,EAAE,OAAO;YAC7B,IAAI,EAAE,KAAK;YACX,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,cAAc;YACzB,YAAY,EAAE,iBAAiB;YAE/B,2BAA2B;YAC3B,sBAAsB,EAAE,0BAA0B;YAClD,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,aAAa;YAEzB,WAAW,EAAE,SAAS;YACtB,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,aAAa;YAE/B,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,aAAa;YAE5B,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,UAAU;YAEpB,IAAI,EAAE,MAAM;YAEZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAEhB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,SAAS;YACtB,cAAc,EAAE,cAAc;YAE9B,cAAc,EAAE,WAAW;YAE3B,SAAS;YACT,eAAe,EAAE,eAAe;YAChC,eAAe,EAAE,YAAY;YAC7B,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,YAAY;YACxB,eAAe,EAAE,SAAS;YAC1B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,WAAW;YACtB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,OAAO;YACd,gBAAgB,EAAE,4CAA4C;YAC9D,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,kBAAkB;YAC9B,YAAY,EAAE,eAAe;YAC7B,aAAa,EAAE,gBAAgB;YAC/B,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,gBAAgB;YAC9B,YAAY,EAAE,gBAAgB;YAC9B,uBAAuB,EAAE,oBAAoB;YAC7C,qBAAqB,EAAE,kBAAkB;YACzC,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,cAAc;YAC7B,iBAAiB,EAAE,WAAW;YAC9B,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,eAAe;YAC7B,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,WAAW;YAC3B,oBAAoB,EAAE,SAAS;YAC/B,oBAAoB,EAAE,SAAS;YAC/B,uBAAuB,EAAE,cAAc;YACvC,iBAAiB,EAAE,SAAS;YAC5B,iBAAiB,EAAE,SAAS;YAC5B,oBAAoB,EAAE,cAAc;YACpC,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,UAAU;YAC3B,WAAW,EAAE,MAAM;YACnB,kBAAkB,EAAE,MAAM;YAC1B,kBAAkB,EAAE,SAAS;YAC7B,qBAAqB,EAAE,cAAc;YACrC,cAAc,EAAE,SAAS;YACzB,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,WAAW;YAC7B,aAAa,EAAE,kCAAkC;YACjD,2BAA2B,EAAE,0CAA0C;SACxE;QACD,aAAO,GAAG;YACR,aAAa;YACb,SAAS,EAAE,aAAa;YACxB,sBAAsB,EAAE,aAAa;YACrC,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,YAAY;YAEvB,8BAA8B;YAC9B,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,QAAQ;YAEf,gBAAgB;YAChB,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,YAAY;YACzB,eAAe,EAAE,sBAAsB;YACvC,kBAAkB,EAAE,sBAAsB;YAC1C,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YAEjB,cAAc;YACd,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,iBAAiB;YAC9B,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,aAAa;YAEvB,cAAc;YACd,aAAa,EAAE,YAAY;YAE3B,oBAAoB;YACpB,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,OAAO;YAEpB,iBAAiB;YACjB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,SAAS;YAEvB,gBAAgB;YAChB,UAAU,EAAE,cAAc;YAC1B,YAAY,EAAE,eAAe;YAC7B,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,YAAY;YAEvB,WAAW;YACX,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,QAAQ;YAEjB,qBAAqB;YACrB,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,cAAc;YACtB,2BAA2B,EAAE,8BAA8B;YAC3D,MAAM,EAAE,SAAS;YACjB,wBAAwB,EAAE,uBAAuB;YACjD,MAAM,EAAE,gBAAgB;YACxB,wBAAwB,EAAE,gCAAgC;YAE1D,qCAAqC;YACrC,KAAK,EAAE,QAAQ;YAEf,QAAQ;YACR,UAAU,EAAE,0BAA0B;YACtC,YAAY,EAAE,sBAAsB;YACpC,OAAO,EAAE,WAAW;YAEpB,OAAO;YACP,SAAS,EAAE,iBAAiB;YAC5B,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,mBAAmB;YAC7B,KAAK,EAAE,cAAc;YACrB,gBAAgB,EAAE,kBAAkB;YACpC,kBAAkB,EAAE,0BAA0B;YAC9C,kBAAkB,EAAE,0BAA0B;YAC9C,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,iBAAiB;YAC5B,YAAY,EAAE,kBAAkB;YAChC,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,eAAe,EAAE,uBAAuB;YACxC,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,uBAAuB;YACpC,cAAc,EAAE,sBAAsB;YAEtC,6CAA6C;YAC7C,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,OAAO;YACrB,SAAS,EAAE,cAAc;YACzB,oBAAoB,EAAE,QAAQ;YAC9B,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,iBAAiB;YAE/B,2BAA2B;YAC3B,sBAAsB,EAAE,0BAA0B;YAClD,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,aAAa;YAEzB,WAAW,EAAE,SAAS;YACtB,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,aAAa;YAE/B,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,aAAa;YAE5B,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,UAAU;YAEpB,IAAI,EAAE,MAAM;YAEZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAEhB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,SAAS;YACtB,cAAc,EAAE,cAAc;YAE9B,cAAc,EAAE,WAAW;YAE3B,SAAS;YACT,eAAe,EAAE,eAAe;YAChC,eAAe,EAAE,YAAY;YAC7B,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,YAAY;YACxB,eAAe,EAAE,SAAS;YAC1B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,WAAW;YACtB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,OAAO;YACd,gBAAgB,EAAE,4CAA4C;YAC9D,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,kBAAkB;YAC9B,YAAY,EAAE,eAAe;YAC7B,aAAa,EAAE,gBAAgB;YAC/B,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,gBAAgB;YAC9B,YAAY,EAAE,gBAAgB;YAC9B,uBAAuB,EAAE,oBAAoB;YAC7C,qBAAqB,EAAE,kBAAkB;YACzC,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,cAAc;YAC7B,iBAAiB,EAAE,WAAW;YAC9B,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,eAAe;YAC7B,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,WAAW;YAC3B,oBAAoB,EAAE,SAAS;YAC/B,oBAAoB,EAAE,SAAS;YAC/B,uBAAuB,EAAE,cAAc;YACvC,iBAAiB,EAAE,SAAS;YAC5B,iBAAiB,EAAE,SAAS;YAC5B,oBAAoB,EAAE,cAAc;YACpC,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,UAAU;YAC3B,WAAW,EAAE,MAAM;YACnB,kBAAkB,EAAE,MAAM;YAC1B,kBAAkB,EAAE,SAAS;YAC7B,qBAAqB,EAAE,cAAc;YACrC,cAAc,EAAE,SAAS;YACzB,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,WAAW;YAC7B,aAAa,EAAE,kCAAkC;YACjD,2BAA2B,EAAE,0CAA0C;SACxE;QACD,aAAO,GAAG;YACR,aAAa;YACb,SAAS,EAAE,aAAa;YACxB,sBAAsB,EAAE,aAAa;YACrC,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,YAAY;YAEvB,8BAA8B;YAC9B,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,QAAQ;YAEf,gBAAgB;YAChB,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,YAAY;YACzB,eAAe,EAAE,sBAAsB;YACvC,kBAAkB,EAAE,sBAAsB;YAC1C,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YAEjB,cAAc;YACd,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,iBAAiB;YAC9B,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,aAAa;YAEvB,cAAc;YACd,aAAa,EAAE,YAAY;YAE3B,oBAAoB;YACpB,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,OAAO;YAEpB,iBAAiB;YACjB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,SAAS;YAEvB,gBAAgB;YAChB,UAAU,EAAE,cAAc;YAC1B,YAAY,EAAE,eAAe;YAC7B,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,YAAY;YAEvB,WAAW;YACX,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,QAAQ;YAEjB,qBAAqB;YACrB,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,cAAc;YACtB,2BAA2B,EAAE,8BAA8B;YAC3D,MAAM,EAAE,SAAS;YACjB,wBAAwB,EAAE,uBAAuB;YACjD,MAAM,EAAE,gBAAgB;YACxB,wBAAwB,EAAE,gCAAgC;YAE1D,qCAAqC;YACrC,KAAK,EAAE,QAAQ;YAEf,QAAQ;YACR,UAAU,EAAE,0BAA0B;YACtC,YAAY,EAAE,sBAAsB;YACpC,OAAO,EAAE,WAAW;YAEpB,OAAO;YACP,SAAS,EAAE,iBAAiB;YAC5B,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,mBAAmB;YAC7B,KAAK,EAAE,cAAc;YACrB,gBAAgB,EAAE,kBAAkB;YACpC,kBAAkB,EAAE,0BAA0B;YAC9C,kBAAkB,EAAE,0BAA0B;YAC9C,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,iBAAiB;YAC5B,YAAY,EAAE,kBAAkB;YAChC,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,eAAe,EAAE,uBAAuB;YACxC,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,uBAAuB;YACpC,cAAc,EAAE,sBAAsB;YAEtC,6CAA6C;YAC7C,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,OAAO;YACrB,SAAS,EAAE,cAAc;YACzB,oBAAoB,EAAE,QAAQ;YAC9B,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,iBAAiB;YAE/B,2BAA2B;YAC3B,sBAAsB,EAAE,0BAA0B;YAClD,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,aAAa;YAEzB,WAAW,EAAE,SAAS;YACtB,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,aAAa;YAE/B,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,aAAa;YAE5B,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,UAAU;YAEpB,IAAI,EAAE,MAAM;YAEZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAEhB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,SAAS;YACtB,cAAc,EAAE,cAAc;YAE9B,cAAc,EAAE,WAAW;YAE3B,SAAS;YACT,eAAe,EAAE,eAAe;YAChC,eAAe,EAAE,YAAY;YAC7B,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,YAAY;YACxB,eAAe,EAAE,SAAS;YAC1B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,WAAW;YACtB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,OAAO;YACd,gBAAgB,EAAE,4CAA4C;YAC9D,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,kBAAkB;YAC9B,YAAY,EAAE,eAAe;YAC7B,aAAa,EAAE,gBAAgB;YAC/B,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,gBAAgB;YAC9B,YAAY,EAAE,gBAAgB;YAC9B,uBAAuB,EAAE,oBAAoB;YAC7C,qBAAqB,EAAE,kBAAkB;YACzC,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,cAAc;YAC7B,iBAAiB,EAAE,WAAW;YAC9B,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,eAAe;YAC7B,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,WAAW;YAC3B,oBAAoB,EAAE,SAAS;YAC/B,oBAAoB,EAAE,SAAS;YAC/B,uBAAuB,EAAE,cAAc;YACvC,iBAAiB,EAAE,SAAS;YAC5B,iBAAiB,EAAE,SAAS;YAC5B,oBAAoB,EAAE,cAAc;YACpC,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,UAAU;YAC3B,WAAW,EAAE,MAAM;YACnB,kBAAkB,EAAE,MAAM;YAC1B,kBAAkB,EAAE,SAAS;YAC7B,qBAAqB,EAAE,cAAc;YACrC,cAAc,EAAE,SAAS;YACzB,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,WAAW;YAC7B,aAAa,EAAE,kCAAkC;YACjD,2BAA2B,EAAE,0CAA0C;SACxE;QACD,aAAO,GAAG;YACR,aAAa;YACb,SAAS,EAAE,aAAa;YACxB,sBAAsB,EAAE,aAAa;YACrC,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,YAAY;YAEvB,8BAA8B;YAC9B,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,QAAQ;YAEf,gBAAgB;YAChB,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,YAAY;YACzB,eAAe,EAAE,sBAAsB;YACvC,kBAAkB,EAAE,sBAAsB;YAC1C,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YAEjB,cAAc;YACd,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,iBAAiB;YAC9B,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,aAAa;YAEvB,cAAc;YACd,aAAa,EAAE,YAAY;YAE3B,oBAAoB;YACpB,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,OAAO;YAEpB,iBAAiB;YACjB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,SAAS;YAEvB,gBAAgB;YAChB,UAAU,EAAE,cAAc;YAC1B,YAAY,EAAE,eAAe;YAC7B,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,YAAY;YAEvB,WAAW;YACX,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,QAAQ;YAEjB,qBAAqB;YACrB,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,cAAc;YACtB,2BAA2B,EAAE,8BAA8B;YAC3D,MAAM,EAAE,SAAS;YACjB,wBAAwB,EAAE,uBAAuB;YACjD,MAAM,EAAE,gBAAgB;YACxB,wBAAwB,EAAE,gCAAgC;YAE1D,qCAAqC;YACrC,KAAK,EAAE,QAAQ;YAEf,QAAQ;YACR,UAAU,EAAE,0BAA0B;YACtC,YAAY,EAAE,sBAAsB;YACpC,OAAO,EAAE,WAAW;YAEpB,OAAO;YACP,SAAS,EAAE,iBAAiB;YAC5B,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,mBAAmB;YAC7B,KAAK,EAAE,cAAc;YACrB,gBAAgB,EAAE,kBAAkB;YACpC,kBAAkB,EAAE,0BAA0B;YAC9C,kBAAkB,EAAE,0BAA0B;YAC9C,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,iBAAiB;YAC5B,YAAY,EAAE,kBAAkB;YAChC,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,eAAe,EAAE,uBAAuB;YACxC,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,uBAAuB;YACpC,cAAc,EAAE,sBAAsB;YAEtC,6CAA6C;YAC7C,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,OAAO;YACrB,SAAS,EAAE,cAAc;YACzB,oBAAoB,EAAE,QAAQ;YAC9B,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,iBAAiB;YAE/B,2BAA2B;YAC3B,sBAAsB,EAAE,0BAA0B;YAClD,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,aAAa;YAEzB,WAAW,EAAE,SAAS;YACtB,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,aAAa;YAE/B,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,aAAa;YAE5B,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,UAAU;YAEpB,IAAI,EAAE,MAAM;YAEZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAEhB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,SAAS;YACtB,cAAc,EAAE,cAAc;YAE9B,cAAc,EAAE,WAAW;YAE3B,SAAS;YACT,eAAe,EAAE,eAAe;YAChC,eAAe,EAAE,YAAY;YAC7B,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,YAAY;YACxB,eAAe,EAAE,SAAS;YAC1B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,WAAW;YACtB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,OAAO;YACd,gBAAgB,EAAE,4CAA4C;YAC9D,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,kBAAkB;YAC9B,YAAY,EAAE,eAAe;YAC7B,aAAa,EAAE,gBAAgB;YAC/B,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,gBAAgB;YAC9B,YAAY,EAAE,gBAAgB;YAC9B,uBAAuB,EAAE,oBAAoB;YAC7C,qBAAqB,EAAE,kBAAkB;YACzC,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,cAAc;YAC7B,iBAAiB,EAAE,WAAW;YAC9B,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,eAAe;YAC7B,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,WAAW;YAC3B,oBAAoB,EAAE,SAAS;YAC/B,oBAAoB,EAAE,SAAS;YAC/B,uBAAuB,EAAE,cAAc;YACvC,iBAAiB,EAAE,SAAS;YAC5B,iBAAiB,EAAE,SAAS;YAC5B,oBAAoB,EAAE,cAAc;YACpC,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,UAAU;YAC3B,WAAW,EAAE,MAAM;YACnB,kBAAkB,EAAE,MAAM;YAC1B,kBAAkB,EAAE,SAAS;YAC7B,qBAAqB,EAAE,cAAc;YACrC,cAAc,EAAE,SAAS;YACzB,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,WAAW;YAC7B,aAAa,EAAE,kCAAkC;YACjD,2BAA2B,EAAE,0CAA0C;SACxE;QACD,aAAO,GAAG;YACR,aAAa;YACb,SAAS,EAAE,aAAa;YACxB,sBAAsB,EAAE,aAAa;YACrC,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,YAAY;YAEvB,8BAA8B;YAC9B,SAAS,EAAE,WAAW;YACtB,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,cAAc;YACxB,KAAK,EAAE,QAAQ;YAEf,gBAAgB;YAChB,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,YAAY;YACzB,eAAe,EAAE,sBAAsB;YACvC,kBAAkB,EAAE,sBAAsB;YAC1C,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YAEjB,cAAc;YACd,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,iBAAiB;YAC9B,UAAU,EAAE,aAAa;YACzB,QAAQ,EAAE,aAAa;YAEvB,cAAc;YACd,aAAa,EAAE,YAAY;YAE3B,oBAAoB;YACpB,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,OAAO;YAEpB,iBAAiB;YACjB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,SAAS;YAEvB,gBAAgB;YAChB,UAAU,EAAE,cAAc;YAC1B,YAAY,EAAE,eAAe;YAC7B,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,YAAY;YAEvB,WAAW;YACX,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,QAAQ;YAEjB,qBAAqB;YACrB,SAAS,EAAE,gBAAgB;YAC3B,MAAM,EAAE,cAAc;YACtB,2BAA2B,EAAE,8BAA8B;YAC3D,MAAM,EAAE,SAAS;YACjB,wBAAwB,EAAE,uBAAuB;YACjD,MAAM,EAAE,gBAAgB;YACxB,wBAAwB,EAAE,gCAAgC;YAE1D,qCAAqC;YACrC,KAAK,EAAE,QAAQ;YAEf,QAAQ;YACR,UAAU,EAAE,0BAA0B;YACtC,YAAY,EAAE,sBAAsB;YACpC,OAAO,EAAE,WAAW;YAEpB,OAAO;YACP,SAAS,EAAE,iBAAiB;YAC5B,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,EAAE,mBAAmB;YAC7B,KAAK,EAAE,cAAc;YACrB,gBAAgB,EAAE,kBAAkB;YACpC,kBAAkB,EAAE,0BAA0B;YAC9C,kBAAkB,EAAE,0BAA0B;YAC9C,OAAO,EAAE,eAAe;YACxB,SAAS,EAAE,iBAAiB;YAC5B,YAAY,EAAE,kBAAkB;YAChC,SAAS,EAAE,YAAY;YACvB,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,QAAQ;YACf,eAAe,EAAE,uBAAuB;YACxC,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,aAAa;YACxB,WAAW,EAAE,uBAAuB;YACpC,cAAc,EAAE,sBAAsB;YAEtC,6CAA6C;YAC7C,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK;YACZ,GAAG,EAAE,YAAY;YACjB,YAAY,EAAE,WAAW;YACzB,YAAY,EAAE,OAAO;YACrB,SAAS,EAAE,cAAc;YACzB,oBAAoB,EAAE,QAAQ;YAC9B,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,KAAK;YACT,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,aAAa;YACvB,SAAS,EAAE,aAAa;YACxB,YAAY,EAAE,iBAAiB;YAE/B,2BAA2B;YAC3B,sBAAsB,EAAE,0BAA0B;YAClD,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,aAAa;YAEzB,WAAW,EAAE,SAAS;YACtB,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,aAAa;YAE/B,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,WAAW;YACvB,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,aAAa;YAE5B,QAAQ,EAAE,KAAK;YACf,GAAG,EAAE,KAAK;YACV,QAAQ,EAAE,UAAU;YAEpB,IAAI,EAAE,MAAM;YAEZ,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAEhB,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,SAAS;YACtB,cAAc,EAAE,cAAc;YAE9B,cAAc,EAAE,WAAW;YAE3B,SAAS;YACT,eAAe,EAAE,eAAe;YAChC,eAAe,EAAE,YAAY;YAC7B,QAAQ,EAAE,eAAe;YACzB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,YAAY;YACxB,eAAe,EAAE,SAAS;YAC1B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,WAAW;YACtB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,YAAY;YACvB,SAAS,EAAE,YAAY;YACvB,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,OAAO;YACd,gBAAgB,EAAE,4CAA4C;YAC9D,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,mBAAmB;YAC5B,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,kBAAkB;YAC9B,YAAY,EAAE,eAAe;YAC7B,aAAa,EAAE,gBAAgB;YAC/B,WAAW,EAAE,cAAc;YAC3B,YAAY,EAAE,gBAAgB;YAC9B,YAAY,EAAE,gBAAgB;YAC9B,uBAAuB,EAAE,oBAAoB;YAC7C,qBAAqB,EAAE,kBAAkB;YACzC,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,YAAY;YACvB,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,cAAc;YAC3B,aAAa,EAAE,cAAc;YAC7B,iBAAiB,EAAE,WAAW;YAC9B,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,eAAe;YAC7B,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,WAAW;YAC3B,oBAAoB,EAAE,SAAS;YAC/B,oBAAoB,EAAE,SAAS;YAC/B,uBAAuB,EAAE,cAAc;YACvC,iBAAiB,EAAE,SAAS;YAC5B,iBAAiB,EAAE,SAAS;YAC5B,oBAAoB,EAAE,cAAc;YACpC,UAAU,EAAE,KAAK;YACjB,eAAe,EAAE,UAAU;YAC3B,WAAW,EAAE,MAAM;YACnB,kBAAkB,EAAE,MAAM;YAC1B,kBAAkB,EAAE,SAAS;YAC7B,qBAAqB,EAAE,cAAc;YACrC,cAAc,EAAE,SAAS;YACzB,aAAa,EAAE,QAAQ;YACvB,gBAAgB,EAAE,WAAW;YAC7B,aAAa,EAAE,kCAAkC;YACjD,2BAA2B,EAAE,0CAA0C;SACxE;IACH,CAAC;CAAA;;;;;;;;;;;;;;;;;;;;;;;AC1oD8C;AAEnB;AAC8B;AAEb;AAEqB;AAE3D,SAAS,UAAU;IACxB,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,kFAA4B,CAAC,4EAAO,CAAC,CAAC;AAEtC,MAAM,SAAS,GAAG;IAChB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;CAC1D,CAAC;AAEF,6DAAc,EAAE,CAAC;AAEjB,uEAAuB,SAAS,CAAC,CAAC,eAAe,CAAC,sDAAS,CAAC;KACzD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC","sources":["./$_lazy_route_resources|lazy|groupOptions: {}|namespace object","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/auth/auth.guard.ts","./src/app/auth/auth.service.ts","./src/app/auth/role-guard.service.ts","./src/app/bars/breadcrumb/breadcrumb.component.ts","./src/app/bars/breadcrumb/breadcrumb.component.html","./src/app/bars/footer/footer.component.ts","./src/app/bars/footer/footer.component.html","./src/app/bars/navbar/navbar.component.ts","./src/app/bars/navbar/navbar.component.html","./src/app/bars/navbar/navbarMenuData.ts","./src/app/bars/topbar/topbar-function.ts","./src/app/bars/topbar/topbar.component.ts","./src/app/bars/topbar/topbar.component.html","./src/app/bars/topbar/topbarData.ts","./src/app/cases/case-customer/case-customer.component.ts","./src/app/cases/case-customer/case-customer.component.html","./src/app/cases/create-case-modal/create-case-modal.component.ts","./src/app/cases/create-case-modal/create-case-modal.component.html","./src/app/details-new/details-new.data.ts","./src/app/details-new/models.ts","./src/app/extended-reports/case-reports/case-reports.component.ts","./src/app/extended-reports/case-reports/case-reports.component.html","./src/app/extended-reports/economy-reports/economy-reports.component.ts","./src/app/extended-reports/economy-reports/economy-reports.component.html","./src/app/extended-reports/property-owner-reports/property-owner-reports.component.ts","./src/app/extended-reports/property-owner-reports/property-owner-reports.component.html","./src/app/extended-reports/ratings-reports/ratings-reports.component.ts","./src/app/extended-reports/ratings-reports/ratings-reports.component.html","./src/app/settings/users/userdetails/userDetails-model.ts","./src/app/shared/api/actionApi.ts","./src/app/shared/api/apihandler.ts","./src/app/shared/api/case.api.ts","./src/app/shared/api/companyApi.ts","./src/app/shared/api/userApi.ts","./src/app/shared/components/timeslots/timeslots.component.ts","./src/app/shared/components/timeslots/timeslots.component.html","./src/app/shared/models/case.models.ts","./src/app/shared/pipes/orderbydate.pipe.ts","./src/app/shared/services/action.service.ts","./src/app/shared/services/case.service.ts","./src/app/shared/services/company.service.ts","./src/app/shared/services/documentService.service.ts","./src/app/shared/services/ops-and-maintain.service.ts","./src/app/shared/services/package.service.ts","./src/app/shared/services/shared-data.service.ts","./src/app/shared/services/user.service.ts","./src/app/shared/utilities/gridTranslates.ts","./src/app/shared/utilities/grids/gridStandard.ts","./src/app/shared/utilities/variables.ts","./src/main.ts"],"sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","\r\n\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { RoleGuardService as RoleGuard } from './auth/role-guard.service';\r\n\r\nconst routes: Routes = [\r\n  { path: 'Gdpr', loadChildren: () => import('./gdpr/gdpr.module').then(m => m.GdprModule) },\r\n  { path: 'resetPassword', loadChildren: () => import('./auth/resetpassword/resetpassword.module').then(m => m.ResetpasswordModule) },\r\n  { path: 'resetPassword/:token', loadChildren: () => import('./auth/resetpassword/resetpassword.module').then(m => m.ResetpasswordModule) },\r\n  { path: 'login', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n  { path: 'login/:id/:token', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n  { path: 'login/accessToken/:token', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n  { path: 'login/OS/Outbox/:token', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n  { path: 'login/OS/:token', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n  { path: 'login/LoginWithCase/:token/:caseId', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n  { path: 'login/:token', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n  { path: 'login/Cases/:token', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n  { path: 'login/SSO/:token/:offerId', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n  { path: 'login/Offer/:accessToken/:offerId', loadChildren: () => import('./auth/login/login.module').then(m => m.LoginModule) },\r\n  { path: '', redirectTo: '/Cases', pathMatch: 'full', data: { expectedRole: 'Core' } },\r\n  { path: 'Shop', loadChildren: () => import('./klarpris-shop/klarpris-shop.module').then(m => m.KlarprisShopModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n  { path: 'Activities', loadChildren: () => import('./activities/ActivitiesNew/Activities.module').then(m => m.ActivitiesModule), canActivate: [RoleGuard], data: { expectedRole: 'Activities' } },\r\n  { path: 'Shop/:basket', loadChildren: () => import('./klarpris-shop/klarpris-shop.module').then(m => m.KlarprisShopModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n  { path: 'Cases', loadChildren: () => import('./cases/newcaselist/newcaselist.module').then(m => m.NewcaselistModule), canActivate: [RoleGuard], data: { expectedRole: 'Core' } },\r\n  { path: 'Campaigns', loadChildren: () => import('./campaigns/campagins.module').then(m => m.CampaignsModule), canActivate: [RoleGuard], data: { expectedRole: 'SettingsAccess' } },\r\n  { path: 'Campaigns/CampaignDetails/:id', loadChildren: () => import('./campaigns/campaign-details/campaign-details.module').then(m => m.CampaignDetailsModule), canActivate: [RoleGuard], data: { expectedRole: 'SettingsAccess' } },\r\n  { path: 'Assets', loadChildren: () => import('./assets/assets-module').then(m => m.AssetsModule), canActivate: [RoleGuard], data: { expectedRole: 'Assets' } },\r\n  { path: 'Service', loadChildren: () => import('./service/service-module').then(m => m.ServiceModule), canActivate: [RoleGuard], data: { expectedRole: 'Assets' } },\r\n  { path: 'AssetDetails/:assetId', loadChildren: () => import('./assets/asset-details/asset-details.module').then(m => m.AssetDetailsModule), canActivate: [RoleGuard], data: { expectedRole: 'Assets' } },\r\n  { path: 'ServiceDetails/:serviceId', loadChildren: () => import('./service/service-details/service-details.module').then(m => m.ServiceDetailsModule), canActivate: [RoleGuard], data: { expectedRole: 'Assets' } },\r\n  { path: 'CreateDocument/:caseId', loadChildren: () => import('./shared-html-components/document-creator/document-creator.module').then(m => m.DocumentCreatorModule), canActivate: [RoleGuard], data: { expectedRole: 'OfferAccess' } },\r\n  { path: 'Customers', loadChildren: () => import('./customers/customers.module').then(m => m.CustomersModule), canActivate: [RoleGuard], data: { expectedRole: 'Core' } },\r\n  { path: 'Requisitions', loadChildren: () => import('./requisitions/requisitions.module').then(m => m.RequisitionsModule), canActivate: [RoleGuard], data: { expectedRole: 'Rekvisition' } },\r\n  { path: 'CompanyPartners', loadChildren: () => import('./company-partners/company-partners.module').then(m => m.CompanyPartnersModule), canActivate: [RoleGuard], data: { expectedRole: 'CompanyPartners' } },\r\n  { path: 'CompanyPartners/:id', loadChildren: () => import('./company-partners/company-partner-details/company-partner-details.module').then(m => m.CompanyPartnerDetailsModule), canActivate: [RoleGuard], data: { expectedRole: 'CompanyPartners' } },\r\n  { path: 'Customers/Customerdetails/:id', loadChildren: () => import('./customers/customer-details/customer-details.module').then(m => m.CustomerDetailsModule), canActivate: [RoleGuard], data: { expectedRole: 'Core' } },\r\n  { path: 'Dashboard', loadChildren: () => import('./dashboard/dashboard.module').then(m => m.DashboardModule), canActivate: [RoleGuard], data: { expectedRole: 'SettingsAccess' } },\r\n  { path: 'Reports', loadChildren: () => import('./reports/reports.module').then(m => m.ReportsModule), canActivate: [RoleGuard], data: { expectedRole: 'SettingsAccess' } },\r\n  { path: 'View/:id', loadChildren: () => import('./view/view.module').then(m => m.ViewModule), canActivate: [RoleGuard], data: { expectedRole: 'Presenter' } },\r\n  { path: 'newReports', loadChildren: () => import('./extended-reports/extended-reports.module').then(m => m.ExtendedReportsModule), canActivate: [RoleGuard], data: { expectedRole: 'SettingsAccess' } },\r\n  { path: 'BI', loadChildren: () => import('./bi/bi.module').then(m => m.BIModule), canActivate: [RoleGuard], data: { expectedRole: 'BIAccess' } },\r\n  { path: 'Outbox', loadChildren: () => import('./outbox/outbox.module').then(m => m.OutboxModule), canActivate: [RoleGuard], data: { expectedRole: 'TransferAccess' } },\r\n  { path: 'Inbox', loadChildren: () => import('./inbox/inbox.module').then(m => m.InboxModule), canActivate: [RoleGuard], data: { expectedRole: 'TransferAccess' } },\r\n  { path: 'Offer', loadChildren: () => import(\"./documents/document-overview.module\").then(m => m.NewofferlistModule), canActivate: [RoleGuard], data: { expectedRole: ['OfferAccess', 'PartnerOfferAccess'] } },\r\n  { path: 'Details/:id', loadChildren: () => import('./details-new/details-new.module').then(m => m.DetailsNewModule), canActivate: [RoleGuard], data: { expectedRole: 'Core' } },\r\n  { path: 'Rating', loadChildren: () => import('./rating/rating.module').then(m => m.RatingModule), canActivate: [RoleGuard], data: { expectedRole: 'Rating' } },\r\n  { path: 'Packages', loadChildren: () => import('./settings/units/units.module').then(m => m.PackagesModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n  { path: 'Packages/CreatePackage', loadChildren: () => import('./settings/units/createunit/createunit.module').then(m => m.CreatepackageModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n  { path: 'Packages/PackageDistributorUsage', loadChildren: () => import('./settings/units/package-distributor-usage-report/package-distributor-usage-report.module').then(m => m.PackageDistributorUsageReportModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n  { path: 'Packages/PackageDetails/:id', loadChildren: () => import('./settings/units/unit-details-v2/unit-details-v2.module').then(m => m.UnitDetailsV2Module), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n  { path: 'Test/NewcaseList', loadChildren: () => import(\"./cases/newcaselist/newcaselist.module\").then(m => m.NewcaselistModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n  { path: 'DistributorPackages', loadChildren: () => import('./settings/shop/shop.module').then(m => m.ShopModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n  { path: 'Kanban', loadChildren: () => import('./jublo-kanban/jublo-kanban.module').then(m => m.JubloKanbanModule), canActivate: [RoleGuard], data: { expectedRole: 'Kanban' } },\r\n  { path: 'Settings', loadChildren: () => import('./settings/settings.module').then(m => m.SettingsModule), canActivate: [RoleGuard], data: { expectedRole: 'Core' } },\r\n  { path: 'NotActivated/:access', loadChildren: () => import('./shared-html-components/module-denied-modal/module-denied-modal.module').then(m => m.ModuleDeniedModalModule), canActivate: [RoleGuard], data: { expectedRole: 'PropertyManagement' } },\r\n  { path: 'Translator', loadChildren: () => import('./shared-html-components/translator/translator.module').then(m => m.TranslatorModule) },\r\n  //** always last routerlink\r\n  { path: '**', loadChildren: () => import('./cases/cases.module').then(m => m.CasesModule), canActivate: [RoleGuard], data: { expectedRole: 'Core' } }\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload', relativeLinkResolution: 'legacy' })],\r\n  exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, ViewEncapsulation, OnInit, Input, HostListener } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AuthService } from './auth/auth.service';\r\n\r\n@Component({\r\n  selector: 'app-root',\r\n  templateUrl: './app.component.html',\r\n  styleUrls: ['./app.component.less'],\r\n  encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AppComponent implements OnInit {\r\n  isHidden: boolean = false;\r\n  url: string = '';\r\n  menuFull: boolean = true;\r\n  smallScreen: boolean = false;\r\n  @Input() isLoggedIn: boolean = false;\r\n  possibleBrowserLanguages = {\r\n    'da-DK': 'da-DK',\r\n    'nn-NO': 'nn-NO',\r\n    'sv-SE': 'sv-SE',\r\n    'en-US': 'en-US',\r\n    'de-DE': 'de-DE',\r\n    'es-ES': 'es-ES',\r\n    'sv': 'sv-SE'\r\n  }\r\n\r\n  constructor(private translate: TranslateService, private route: ActivatedRoute, public authService: AuthService) { }\r\n\r\n  ngOnInit() {\r\n    this.authService.isLoggedIn().subscribe({\r\n      next: (data) => { this.isLoggedIn = data; },\r\n      error: (err) => console.error(err)\r\n    });\r\n\r\n    if (localStorage.getItem('language') == null) {\r\n      this.translate.addLangs([\"de-DE\", \"es-ES\", \"da-DK\", \"nn-NO\", \"sv-SE\", \"en-US\"]);\r\n      this.translate.setDefaultLang('en-US');\r\n      let browserLang = this.translate.getBrowserLang();\r\n      this.translate.use(this.possibleBrowserLanguages[browserLang] ? this.possibleBrowserLanguages[browserLang] : 'da-DK');\r\n    } else if (this.translate.currentLang != localStorage.getItem('language')) {\r\n      this.changeLang(localStorage.getItem('language'));\r\n    }\r\n\r\n    this.route.queryParams.subscribe((params) => {\r\n      this.url = params['origin'];\r\n      if (this.url == 'os' || this.url == 'kp') {\r\n        this.isHidden = true;\r\n      }\r\n    });\r\n\r\n    this.onResize(null);\r\n  }\r\n\r\n  public changeLang(lang) {\r\n    if (lang != null) { this.translate.use(lang); }\r\n    else {\r\n      let browseLang = this.translate.getBrowserLang();\r\n      if (this.possibleBrowserLanguages[browseLang] != null) {\r\n        this.translate.use(this.possibleBrowserLanguages[browseLang]);\r\n      }\r\n      else { this.translate.use('en-US'); }\r\n    }\r\n  }\r\n\r\n  onMenuChange(event: boolean) {\r\n    this.menuFull = event;\r\n  }\r\n\r\n  signOutChange(event) {\r\n    this.isLoggedIn = event;\r\n  }\r\n\r\n  @HostListener('window:resize', ['$event'])\r\n  onResize(event: any) {\r\n    if (window.innerWidth <= 992) {\r\n      this.smallScreen = true;\r\n    } else {\r\n      this.smallScreen = false;\r\n    }\r\n  }\r\n}\r\n","<div class=\"container-fluid\" *ngIf=\"isLoggedIn\">\r\n  <div class=\"navbar\" [ngClass]=\"menuFull ? 'jublo-sidebar' : 'jublo-sidebar-small'\" *ngIf=\"!smallScreen\">\r\n    <app-navbar (emitMenuSize)=\"onMenuChange($event)\" (loginStatus)=\"signOutChange($event)\" [smallScreen]=\"smallScreen\"></app-navbar>\r\n  </div>\r\n  <div [ngClass]=\"{\r\n    'jublo-mainarea': menuFull,\r\n    'jublo-mainarea-small': !menuFull,\r\n    'smallScreen': smallScreen\r\n    }\">\r\n    <div [ngClass]=\"menuFull ? 'jublo-topbar' : 'jublo-topbar-small'\" *ngIf=\"!smallScreen\">\r\n      <app-topbar [menuFull]=\"menuFull\" (loginStatus)=\"signOutChange($event)\"></app-topbar>\r\n    </div>\r\n    <div class=\"navbar-top\" *ngIf=\"smallScreen\">\r\n      <app-navbar (emitMenuSize)=\"onMenuChange($event)\" (loginStatus)=\"signOutChange($event)\" [smallScreen]=\"smallScreen\"></app-navbar>\r\n    </div>\r\n    <div [ngClass]=\"{\r\n        'jublo-content': menuFull,\r\n        'jublo-content-small': !menuFull,\r\n        'smallScreen': smallScreen\r\n        }\">\r\n      <router-outlet [menuFull]=\"menuFull\"></router-outlet>\r\n    </div>\r\n    <div [ngClass]=\"menuFull ? 'jublo-footer' : 'jublo-footer-small'\" *ngIf=\"!smallScreen\">\r\n      <app-footer [menuFull]=\"menuFull\"></app-footer>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"loginContainer\" *ngIf=\"!isLoggedIn\">\r\n  <router-outlet></router-outlet>\r\n</div>\r\n\r\n<create-case-modal *ngIf=\"isLoggedIn\"></create-case-modal>","import { NgModule, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { CommonModule, registerLocaleData, DatePipe } from '@angular/common';\r\nimport localeNorwegian from '@angular/common/locales/nn'\r\nimport localeDanish from '@angular/common/locales/da'\r\nimport localeSwedish from '@angular/common/locales/sv';\r\nimport { HttpClient, HttpClientModule } from \"@angular/common/http\";\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\nimport { NavbarComponent } from './bars/navbar/navbar.component';\r\nimport { TopbarComponent } from './bars/topbar/topbar.component';\r\nimport { FooterComponent } from './bars/footer/footer.component';\r\nimport { BreadcrumbComponent } from './bars/breadcrumb/breadcrumb.component';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { RoleGuardService as RoleGuard } from './auth/role-guard.service';\r\nimport { OrderbydatePipe } from './shared/pipes/orderbydate.pipe';\r\nimport { TimeslotsComponent } from './shared/components/timeslots/timeslots.component';\r\nimport { DocumentService } from './shared/services/documentService.service';\r\nimport { SharedDataService } from './shared/services/shared-data.service';\r\nimport { OpsAndMaintainService } from './shared/services/ops-and-maintain.service';\r\nimport { ActionService } from './shared/services/action.service';\r\nimport { CompanyService } from './shared/services/company.service';\r\nimport { UserService } from './shared/services/user.service';\r\nimport { PackageService } from './shared/services/package.service';\r\nimport { AgGridModule } from 'ag-grid-angular';\r\nimport { CaseReportsComponent } from './extended-reports/case-reports/case-reports.component';\r\nimport { EconomyReportsComponent } from './extended-reports/economy-reports/economy-reports.component';\r\nimport { PropertyOwnerReportsComponent } from './extended-reports/property-owner-reports/property-owner-reports.component';\r\nimport { RatingsReportsComponent } from './extended-reports/ratings-reports/ratings-reports.component';\r\nimport { AuthService } from './auth/auth.service';\r\nimport { CaseService } from './shared/services/case.service';\r\nimport { CreateCaseModalComponent } from './cases/create-case-modal/create-case-modal.component';\r\nimport { CaseCustomerComponent } from './cases/case-customer/case-customer.component';\r\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\r\nimport * as api from './shared/api/apihandler';\r\n\r\nregisterLocaleData(localeNorwegian);\r\nregisterLocaleData(localeDanish);\r\nregisterLocaleData(localeSwedish);\r\n\r\n@NgModule({\r\n  declarations: [\r\n    CaseReportsComponent,\r\n    EconomyReportsComponent,\r\n    PropertyOwnerReportsComponent,\r\n    RatingsReportsComponent,\r\n    AppComponent,\r\n    NavbarComponent,\r\n    TopbarComponent,\r\n    BreadcrumbComponent,\r\n    FooterComponent,\r\n    OrderbydatePipe,\r\n    TimeslotsComponent,\r\n    CreateCaseModalComponent,\r\n    CaseCustomerComponent\r\n  ],\r\n  imports: [\r\n    BrowserModule,\r\n    FormsModule,\r\n    CommonModule,\r\n    AppRoutingModule,\r\n    HttpClientModule,\r\n    BrowserAnimationsModule,\r\n    AgGridModule,\r\n    ToastrModule.forRoot({\r\n      positionClass: 'toast-bottom-right',\r\n      preventDuplicates: true,\r\n    }),\r\n    BsDatepickerModule.forRoot(),\r\n    TranslateModule.forRoot({\r\n      loader: {\r\n        provide: TranslateLoader,\r\n        useFactory: HttpLoaderFactory,\r\n        deps: [HttpClient]\r\n      },\r\n      isolate: false\r\n    }),\r\n    ModalModule.forRoot()\r\n  ],\r\n  schemas: [\r\n    CUSTOM_ELEMENTS_SCHEMA,\r\n    NO_ERRORS_SCHEMA\r\n  ],\r\n  providers: [\r\n    RoleGuard, \r\n    DatePipe, \r\n    UserService, \r\n    DocumentService, \r\n    SharedDataService, \r\n    OpsAndMaintainService, \r\n    PackageService, \r\n    CompanyService, \r\n    ActionService,\r\n    AuthService,\r\n    CaseService,\r\n    BsDatepickerModule\r\n  ],\r\n  bootstrap: [ AppComponent ]\r\n})\r\nexport class AppModule { }\r\n\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n  return new TranslateHttpLoader(http, api.jubloApi + 'api/translateShop/', '');\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, Router } from '@angular/router';\r\n\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n\r\n  constructor(private auth: AuthService, private router: Router) { }\r\n\r\n  canActivate(): boolean {\r\n    if (!localStorage.getItem('bearer')) {\r\n      this.router.navigate(['login']);\r\n      return false;\r\n    }\r\n    return true;\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport * as api from '../shared/api/apihandler';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\n\r\nexport class AuthService {\r\n\r\n  public isLoginSubject = new BehaviorSubject<boolean>(false);\r\n\r\n  constructor(private http: HttpClient) {}\r\n\r\n  login(bearer: string) {\r\n    localStorage.setItem('bearer', bearer);\r\n    this.isLoginSubject.next(true);\r\n  }\r\n\r\n  isLoggedIn() {\r\n    let bearer = !!localStorage.getItem('bearer');\r\n    this.isLoginSubject.next(bearer);\r\n    return this.isLoginSubject;\r\n  }\r\n\r\n  logout() {\r\n    localStorage.clear();\r\n    this.isLoginSubject.next(false);\r\n  }\r\n\r\n  public isAuthenticated(): boolean {\r\n    const token = localStorage.getItem('bearer');\r\n    // Check whether the token is expired and return true or false\r\n    return !token;\r\n  }\r\n\r\n  checkIfPropbinder(bearer: string, caseId: string | null) {\r\n    let isPropBinder: boolean = false;\r\n    if (!!bearer) {\r\n      setTimeout(() => {\r\n        this.http.get<boolean>(api.jubloApi + 'api/Website/Login/CheckIfPropbinder/' + bearer).subscribe({\r\n          next: (res) => {\r\n            isPropBinder = res;\r\n          },\r\n          error: err => console.error(err),\r\n          complete: () => {\r\n            if (isPropBinder) {\r\n              let caseParam = !!caseId ? '?case=' + caseId : '';\r\n              document.location.href = 'https://app.propbinder.com/login/accessToken/' + bearer + caseParam;\r\n            }\r\n          }\r\n        });\r\n      }, 500);\r\n    }\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { HttpHeaders, HttpClient } from '@angular/common/http';\r\nimport { AuthGuard } from './auth.guard';\r\nimport * as api from '../shared/api/apihandler';\r\n\r\n@Injectable()\r\nexport class RoleGuardService implements CanActivate {\r\n\r\n  guards = [{ name: 'No Access' }];\r\n  bearer!: string;\r\n  core:any; // not used\r\n  url:any; // not used\r\n  test!:string;\r\n  gdpr = false;\r\n\r\n  constructor(private httpClient: HttpClient, public authGuard: AuthGuard, public router: Router) {\r\n    this.guards = JSON.parse(localStorage.getItem('guards'));\r\n  }\r\n  \r\n  canActivate(route: ActivatedRouteSnapshot, snapshot: RouterStateSnapshot): boolean {\r\n    this.guards = JSON.parse(localStorage.getItem('guards'));\r\n\r\n    const expectedRole = route.data.expectedRole;\r\n    this.test = expectedRole;\r\n    \r\n    // proceeds if not loggedIn or F5/page refresh\r\n    if (this.guards == null) {\r\n      // Store the attempted URL for redirecting late\r\n      if (snapshot.url) {\r\n        sessionStorage.setItem('redirectUrl', snapshot.url.toString());\r\n      }\r\n      this.router.navigate(['login']);\r\n      return false;\r\n    }\r\n    if (!this.guards.find(x => x.name == 'GDPR')) {\r\n      if (!this.getGdpr()) { this.router.navigate(['Gdpr']); return false }\r\n      else { this.guards.push({ 'name': 'GDPR' }) }\r\n    }\r\n\r\n    if (!this.guards.find(x => x.name == expectedRole || !expectedRole.includes(x.name))) {\r\n      this.router.navigate(['Cases']);\r\n      return false;\r\n    }\r\n    return true;\r\n  }\r\n\r\n  getGdpr(): any {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n    this.httpClient.get<boolean>(api.jubloApi + 'api/WebSite/Company/User/GetGdpr', { headers }).subscribe((data: boolean) => {\r\n      this.gdpr = data;\r\n      console.log('Role guard checking gdpr')\r\n    }, () => { return this.gdpr }, () => { return this.gdpr })\r\n  }\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { UserService } from 'app/shared/services/user.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'breadcrumb',\r\n  templateUrl: './breadcrumb.component.html'\r\n})\r\nexport class BreadcrumbComponent implements OnInit, OnDestroy {\r\n\r\n  crumbSubscription!: Subscription;\r\n  breadCrumbs: Array<BreadCrumb> = new Array<BreadCrumb>();\r\n  propertyManagement: boolean = false;\r\n\r\n  constructor(private router: Router, private user: UserService, private t: TranslateService) {\r\n    router.events.forEach((event) => {\r\n      if (event instanceof NavigationEnd) {\r\n        this.generateBreadCrumb(event.url);\r\n      }\r\n    });\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.crumbSubscription = this.user.crumbUpdate().subscribe({\r\n      next: (data) => {\r\n        this.breadCrumbs = data;\r\n      },\r\n      error: err => console.error(err)\r\n    });\r\n    const userInfo = JSON.parse(localStorage.getItem('userInfo') as string);\r\n    this.propertyManagement = !!JSON.parse(localStorage.getItem('guards') as string).find((x: { name: string }) => x.name == 'PropertyManagement') ? true : false;\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    this.crumbSubscription.unsubscribe();\r\n  }\r\n\r\n  generateBreadCrumb(event: string) {\r\n    const urlSteps = event.split('?')[0].split('/').filter(Boolean);\r\n    const [firstStep, secondStep, thirdStep] = urlSteps;\r\n\r\n    switch (firstStep) {\r\n      case 'Details':\r\n      case 'AssetDetails':\r\n      case 'ServiceDetails':\r\n      case 'CreateDocument':\r\n      case 'PropertyDetails': {\r\n        // Expect custom response in crumbSubscription\r\n        break;\r\n      }\r\n      case 'Activities': {\r\n        this.setBreadcrumbs([firstStep], 'Header.Tasks');\r\n        break;\r\n      }\r\n      case 'Offer': {\r\n        this.setBreadcrumbs([firstStep], 'Header.Documents');\r\n        break;\r\n      }\r\n      case 'Customers': {\r\n        const name = !this.propertyManagement ? 'Header.Customers' : 'Header.Tenants';\r\n        this.setBreadcrumbs([firstStep], name);\r\n        break;\r\n      }\r\n      case 'Properties': {\r\n        this.setBreadcrumbs(['Properties'], 'Properties.Properties');\r\n        break;\r\n      }\r\n      case 'Outbox': {\r\n        this.setBreadcrumbs(['Outbox'], 'Standard.Transfers');\r\n        break;\r\n      }\r\n      case 'Settings': {\r\n        this.generateSettingsBreadcrumbs(secondStep, thirdStep);\r\n        break;\r\n      }\r\n      default: {\r\n        this.setBreadcrumbs([firstStep], 'Header.' + firstStep);\r\n        break;\r\n      }\r\n    }\r\n  }\r\n\r\n  setBreadcrumbs(url: string[], translate: string) {\r\n    this.breadCrumbs = [{ url, translate, route: '' }];\r\n  }\r\n\r\n  breadCrumbNav(event: any, i: number) {\r\n    if (i !== this.breadCrumbs.length - 1) {\r\n      this.router.navigate(event.url, { queryParams: event.params });\r\n    }\r\n  }\r\n\r\n  generateSettingsBreadcrumbs(secondStep: string, thirdStep: string) {\r\n    const crumbs: BreadCrumb[] = [\r\n      { url: ['Settings'], translate: 'Header.Settings', route: '' },\r\n    ];\r\n\r\n    if (secondStep === 'System-notifications') {\r\n      crumbs.push({ url: [secondStep], translate: 'NotificationsSystem.Title', route: '' });\r\n    } else if (secondStep === 'WorkingHours') {\r\n      crumbs.push({ url: [secondStep], translate: 'OfferDetails.WorkingHours', route: '' });\r\n    } else if (secondStep === 'Presenter') {\r\n      crumbs.push({ url: [secondStep], translate: 'Settings.Presentations', route: '' });\r\n    } else if (secondStep === 'Setup') {\r\n      crumbs.push({ url: [secondStep], translate: 'Standard.' + secondStep, route: '' });\r\n    } else if (['OurLocations', 'Integrations'].includes(secondStep)) {\r\n      crumbs.push({ url: [secondStep], translate: 'Standard.' + secondStep, route: '' });\r\n\r\n      if (thirdStep) {\r\n        crumbs.push({ url: [thirdStep], translate: thirdStep, route: '' });\r\n      }\r\n    } else if (secondStep === 'Price') {\r\n      crumbs.push({ url: [secondStep], translate: 'PriceProfit.Title', route: '' });\r\n    } else if (secondStep === 'Startpage') {\r\n      crumbs.push({ url: [secondStep], translate: 'BookingSettings.StartPage.Title', route: '' });\r\n    } else if (secondStep === 'Templates') {\r\n      crumbs.push({ url: [secondStep], translate: 'Standard.Templates', route: '' });\r\n    } else {\r\n      crumbs.push({ url: [secondStep], translate: 'Settings.' + secondStep, route: '' });\r\n    }\r\n\r\n    this.breadCrumbs = crumbs;\r\n  }\r\n}\r\n\r\nexport class BreadCrumb {\r\n  route: string = '';\r\n  translate: string = '';\r\n  url: string | string[] = '';\r\n}","<ol class=\"breadcrumbs\">\r\n    <li *ngFor=\"let x of breadCrumbs; let i = index\" (click)=\"breadCrumbNav(x,i)\">{{ x.translate | translate }}</li>\r\n</ol>","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-footer',\r\n  templateUrl: './footer.component.html',\r\n  styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n  osHub: boolean = false;\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit(): void {\r\n    this.osHub = localStorage.getItem('osHub') == 'false' ? false : true\r\n  }\r\n\r\n}\r\n","<div id=\"jubloFooter\" class=\"row footerRow\">\r\n    <div class=\"col-12 col-lg-10 ml-auto mr-auto d-flex justify-content-between\">\r\n        <div class=\"d-flex align-items-center\">\r\n            <a href=\"https://www.linkedin.com/company/jublo/\" target=\"_blank\" class=\"linkItem mr-3\" rel=\"noopener\">\r\n                <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n                    <path d=\"M14.25 0.5H1.75C1.4186 0.500379 1.10087 0.632197 0.866535 0.866535C0.632197 1.10087 0.500379 1.4186 0.5 1.75V14.25C0.500379 14.5814 0.632197 14.8991 0.866535 15.1335C1.10087 15.3678 1.4186 15.4996 1.75 15.5H14.25C14.5814 15.4996 14.8991 15.3678 15.1335 15.1335C15.3678 14.8991 15.4996 14.5814 15.5 14.25V1.75C15.4996 1.4186 15.3678 1.10087 15.1335 0.866535C14.8991 0.632197 14.5814 0.500379 14.25 0.5ZM5.5 11.7501C5.5 11.9158 5.43415 12.0748 5.31694 12.192C5.19973 12.3092 5.04076 12.3751 4.875 12.3751C4.70924 12.3751 4.55027 12.3092 4.43306 12.192C4.31585 12.0748 4.25 11.9158 4.25 11.7501V6.75007C4.25 6.58431 4.31585 6.42534 4.43306 6.30813C4.55027 6.19092 4.70924 6.12507 4.875 6.12507C5.04076 6.12507 5.19973 6.19092 5.31694 6.30813C5.43415 6.42534 5.5 6.58431 5.5 6.75007V11.7501ZM4.875 5.18757C4.68958 5.18757 4.50832 5.13259 4.35415 5.02958C4.19998 4.92656 4.07982 4.78014 4.00886 4.60884C3.93791 4.43753 3.91934 4.24903 3.95551 4.06718C3.99169 3.88532 4.08098 3.71827 4.21209 3.58716C4.3432 3.45605 4.51025 3.36676 4.6921 3.33059C4.87396 3.29441 5.06246 3.31298 5.23377 3.38394C5.40507 3.45489 5.55149 3.57506 5.6545 3.72923C5.75752 3.8834 5.8125 4.06465 5.8125 4.25007C5.8125 4.49871 5.71373 4.73717 5.53791 4.91299C5.3621 5.0888 5.12364 5.18757 4.875 5.18757ZM12.375 11.7501C12.375 11.9158 12.3092 12.0748 12.1919 12.192C12.0747 12.3092 11.9158 12.3751 11.75 12.3751C11.5842 12.3751 11.4253 12.3092 11.3081 12.192C11.1908 12.0748 11.125 11.9158 11.125 11.7501V8.93757C11.125 8.52317 10.9604 8.12574 10.6674 7.83272C10.3743 7.53969 9.9769 7.37507 9.5625 7.37507C9.1481 7.37507 8.75067 7.53969 8.45765 7.83272C8.16462 8.12574 8 8.52317 8 8.93757V11.7501C8 11.9158 7.93415 12.0748 7.81694 12.192C7.69973 12.3092 7.54076 12.3751 7.375 12.3751C7.20924 12.3751 7.05027 12.3092 6.93306 12.192C6.81585 12.0748 6.75 11.9158 6.75 11.7501V6.75007C6.74995 6.59644 6.8065 6.44817 6.90886 6.3336C7.01122 6.21903 7.15221 6.14619 7.30488 6.129C7.45755 6.11181 7.6112 6.15147 7.73647 6.24041C7.86175 6.32935 7.94986 6.46132 7.98398 6.61112C8.40665 6.32389 8.89964 6.1573 9.40991 6.1293C9.92018 6.10129 10.4284 6.21292 10.88 6.45217C11.3316 6.69142 11.7094 7.04925 11.9728 7.48717C12.2362 7.92509 12.3753 8.42653 12.375 8.93757V11.7501Z\" fill=\"#444444\"/>\r\n                </svg>                    \r\n            </a>\r\n            <a class=\"linkItem announcekit-widget mr-3\" *ngIf=\"!osHub\">{{ 'Standard.WhatIsNew' | translate }}?</a>\r\n            <a href=\"https://jublo.com/cookies/\" target=\"_blank\" class=\"linkItem mr-3\" rel=\"noopener\">{{ 'Standard.CookiePrivacyPolicy' | translate }}</a>\r\n        </div>\r\n        <div class=\"d-flex align-items-center\">\r\n            <span class=\"small-muted-text\">&#64; 2023 Jublo</span>\r\n        </div>\r\n    </div>\r\n</div>","import { Component, OnInit, Renderer2, ElementRef, ViewChild, Output, Input, EventEmitter, AfterContentChecked, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SharedDataService, StakeholderMessages } from 'app/shared/services/shared-data.service';\r\nimport { CompanyInformation } from 'app/shared-html-components/details/models';\r\nimport { UserInfo } from '../../settings/users/userdetails/userDetails-model';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport * as api from '../../shared/api/apihandler';\r\nimport { NavList, NavItem, Items, SettingsItems, JubloSettingsItems } from './navbarMenuData';\r\nimport { SubscriptionObject } from 'app/shared/models/standard.models';\r\n\r\n@Component({\r\n  selector: 'app-navbar',\r\n  templateUrl: './navbar.component.html',\r\n  styleUrls: ['./navbar.component.css']\r\n})\r\nexport class NavbarComponent implements OnInit, AfterContentChecked, OnDestroy {\r\n\r\n  @ViewChild('toggleCreateMenuBtn') toggleCreateMenuBtn: ElementRef;\r\n  @ViewChild('toggleCreateMenuTxt') toggleCreateMenuTxt: ElementRef;\r\n  @ViewChild('toggleCreateMenuIcon') toggleCreateMenuIcon: ElementRef;\r\n  @ViewChild('createMenu') createMenu: ElementRef;\r\n  @Output() emitMenuSize = new EventEmitter<boolean>();\r\n  @Output() loginStatus = new EventEmitter<boolean>();\r\n  @Input() smallScreen;\r\n\r\n  isHidden: boolean = false;\r\n  menuFull: boolean = true;\r\n  showSettings: boolean = false;\r\n  showCreateMenu: boolean = false;\r\n  loading: boolean = true;\r\n  osHub: boolean = false;\r\n  newsec: boolean = false;\r\n  taurus: boolean = false;\r\n  forenede: boolean = false;\r\n  propertyManagement: boolean = false;\r\n  userInformationGotten = false;\r\n  isLoggedIn: boolean = false;\r\n  currentUrl: string = '';\r\n  timeNow: string = '';\r\n  compInfo: CompanyInformation;\r\n  user_info = new UserInfo();\r\n  userInitials: Array<any>;\r\n  badge = new Badges();\r\n  messages: Array<StakeholderMessages>;\r\n  messageBadge = 0;\r\n\r\n  items = new Items;\r\n  settingsItems = new SettingsItems;\r\n  jubloSettingsItems = new JubloSettingsItems;\r\n  navFavorites: Array<NavItem> = [];\r\n  navTeam: Array<NavItem> = [];\r\n  navCompany: Array<NavItem> = [];\r\n  navItems: Array<NavList> = [];\r\n  returnUrl: string | null = null;\r\n\r\n  navSettings: Array<NavItem> = [];\r\n  navSettingsItems: Array<NavList> = [];\r\n\r\n  jubloNavSettings: Array<NavItem> = [];\r\n  jubloNavSettingsItems: Array<NavList> = [];\r\n\r\n  magicMode: boolean = false;\r\n  hiddenMenu: boolean = false;\r\n  mobileMenu: boolean = false;\r\n  private unlisten: Function;\r\n  subs: SubscriptionObject = {}\r\n  clickListener: any;\r\n  reloadBadges;\r\n\r\n  constructor(private renderer: Renderer2, private http: HttpClient, private sharedData: SharedDataService, private router: Router, private route: ActivatedRoute, private translate: TranslateService, private sanitizer: DomSanitizer) {\r\n    this.unlisten = this.renderer.listen('window', 'click', (e: Event) => {\r\n      if (((!!this.toggleCreateMenuBtn && e.target == this.toggleCreateMenuBtn.nativeElement) || (!!this.toggleCreateMenuTxt && e.target == this.toggleCreateMenuTxt.nativeElement) || (!!this.toggleCreateMenuIcon && e.target == this.toggleCreateMenuIcon.nativeElement))) {\r\n        this.showCreateMenu = true;\r\n      } else {\r\n        this.showCreateMenu = false;\r\n      }\r\n      this.emitMenuSize.emit(this.menuFull);\r\n    });\r\n    //sharedData.fullscreenEnabled().subscribe((data) => { this.isHidden = data });\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.startLoading();\r\n    this.addClickListener();\r\n  }\r\n\r\n  ngAfterContentChecked() {\r\n    if (this.router.url.startsWith('/Settings')) {\r\n      this.showSettings = true;\r\n    } else {\r\n      this.showSettings = false;\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    for (let key of Object.keys(this.subs)) this.subs[key].unsubscribe();\r\n    this.unlisten();\r\n    if (this.clickListener) {\r\n      document.removeEventListener('click', this.clickListener);\r\n    }\r\n    if(this.reloadBadges) clearInterval(this.reloadBadges)\r\n  }\r\n\r\n  addClickListener() {\r\n    this.clickListener = document.addEventListener(\"mousedown\", (event: MouseEvent) => {\r\n      if ((event.altKey && event.ctrlKey) || (event.metaKey && !event.ctrlKey)) {\r\n        this.magicMode = true;\r\n      }  else {\r\n        this.magicMode = false;\r\n      }\r\n    });\r\n  }\r\n\r\n  startLoading() {\r\n    this.timeNow = new Date().toISOString();\r\n    if (!!localStorage.getItem('osHub') && localStorage.getItem('osHub') == 'true') { this.osHub = true; }\r\n    let number = JSON.parse(localStorage.getItem('userInfo') as string)?.CompanyNumber;\r\n    this.generateMenu();\r\n    this.generateSettingsMenu();\r\n    this.generateJubloMenu();\r\n\r\n    this.route.queryParams.subscribe((params) => {\r\n      let url = params['origin'];\r\n      if (url == 'os' || url == 'kp' || url == 'fullScreen') {\r\n        this.isHidden = true;\r\n      }\r\n    });\r\n    this.getBadges();\r\n    this.reloadBadges = setInterval(() => {\r\n      this.getBadges();\r\n    }, 600000); // Reload badges every 10 minutes\r\n    \r\n  }\r\n\r\n  generateMenu() {\r\n    let roles = JSON.parse(localStorage.getItem('guards') as string);\r\n    if (!!roles && !this.navItems.length) {\r\n      this.isLoggedIn = true;\r\n      if (!this.navTeam.find(z => z.name == 'cases')) { this.navTeam.push(this.items.cases); }\r\n      if (!this.navTeam.find(z => z.name == 'inbox')) { this.navTeam.push(this.items.inbox); }\r\n      if (!this.navCompany.find(z => z.name == 'customers')) { this.navCompany.push(this.items.customers); }\r\n      // if (this.propertyManagement && !!this.navCompany.find(z => z.name == 'customers')) { this.navCompany = this.navCompany.filter(z => z.name != 'customers'); }\r\n      // if (this.propertyManagement && !this.navCompany.find(z => z.name == 'tenants')) { this.navCompany.push(this.items.tenants); }\r\n      roles.forEach(x => {\r\n        switch (x.name) {\r\n          case 'SettingsAccess':\r\n            if (!this.navCompany.find(y => y.name == 'dashboard')) {\r\n              this.navCompany.push(this.items.dashboard);\r\n            }\r\n            if (!this.navTeam.find(y => y.name == 'documents')) {\r\n              this.navTeam.push(this.items.documents);\r\n            }\r\n            break;\r\n          case 'OfferAccess':\r\n            if (!this.navTeam.find(y => y.name == 'documents')) {\r\n              this.navTeam.push(this.items.documents);\r\n            }\r\n            break;\r\n          case 'Kanban':\r\n            if (!this.navCompany.find(y => y.name == 'kanban')) {\r\n              this.navCompany.push(this.items.kanban);\r\n            }\r\n            break;\r\n          case 'PartnerOfferAccess':\r\n            if (!this.navTeam.find(y => y.name == 'documents')) {\r\n              this.navTeam.push(this.items.documents);\r\n            }\r\n            break;\r\n          // case 'TransferAccess':\r\n          //   if (!this.navTeam.find(y => y.name == 'inbox') && roles.find(y => y.name == 'Udbakke' || y.name == 'Udbakke Light' || y.name == 'Indbakke' || y.name == 'Indbakke Light')) {\r\n          //     this.navTeam.push(this.items.inbox);\r\n          //   }\r\n          //   break;\r\n          case 'Rapporter':\r\n            if (!this.navCompany.find(y => y.name == 'reports') && roles.find(y => y.name == 'SettingsAccess')) {\r\n              this.navCompany.push(this.items.reports);\r\n            }\r\n            break;\r\n          case 'Rekvisition':\r\n            if (!this.navCompany.find(y => y.name == 'requisition') && roles.find(y => y.name == 'SettingsAccess')) {\r\n              this.navCompany.push(this.items.requisition);\r\n            }\r\n            break;\r\n          case 'Rating':\r\n            if (!this.navCompany.find(y => y.name == 'rating')) {\r\n              this.navCompany.push(this.items.rating);\r\n            }\r\n            break;\r\n          case 'Activities':\r\n            if (!this.navTeam.find(y => y.name == 'activities')) {\r\n              this.navTeam.push(this.items.activities);\r\n            }\r\n            break;\r\n          case 'Campaigns':\r\n            if (!this.navCompany.find(y => y.name == 'campaigns')) {\r\n              this.navCompany.push(this.items.campaigns);\r\n            }\r\n            break;\r\n          case 'Assets':\r\n            if (!this.navCompany.find(y => y.name == 'assets')) {\r\n              this.navCompany.push(this.items.assets);\r\n            }\r\n            break;\r\n          // case 'WholesalePackages':\r\n          //   if (!this.navCompany.find(y => y.name == 'wholesalePackages')) {\r\n          //     this.navCompany.push(this.items.wholesalePackages);\r\n          //   }\r\n          //   break;\r\n          // case 'CompanyPartners':\r\n          //   if (!this.navCompany.find(y => y.name == 'companyPartners')) {\r\n          //     this.navCompany.push(this.items.companyPartners);\r\n          //   }\r\n          //   break;\r\n          // case 'PackageDistributor':\r\n          //   if (!this.navCompany.find(y => y.name == 'packageDistributor')) {\r\n          //     this.navCompany.push(this.items.packageDistributor);\r\n          //   }\r\n          //   break;\r\n          case 'OperationsAndMaintenance':\r\n            if (!this.navTeam.find(y => y.name == 'activities')) {\r\n              this.navTeam.push(this.items.activities);\r\n            }\r\n            break;\r\n          case 'BI':\r\n            if (!this.navCompany.find(y => y.name == 'bi') && !!roles.find(y => y.name == 'BIAccess')) {\r\n              this.navCompany.push(this.items.bi);\r\n            }\r\n            break;\r\n          case 'Service':\r\n            if (!this.navCompany.find(y => y.name == 'service')) {\r\n              this.navCompany.push(this.items.service);\r\n            }\r\n            break;\r\n        }\r\n      });\r\n\r\n      let klarprisToken = localStorage.getItem('klarpris');\r\n      if (!!klarprisToken && klarprisToken != 'null' && !this.navCompany.find(x => x.name == 'klarpris')) {\r\n        if (!this.navCompany.find(x => x.name == 'klarpris')) { this.navCompany.push(this.items.klarpris); }\r\n      }\r\n\r\n      if (!this.navCompany.find(z => z.name == 'profile')) { this.navCompany.push(this.items.profile); }\r\n      if (!!roles.find(x => x.name == 'SettingsAccess' || x.name == 'PackageAccess') && !this.navCompany.find(z => z.name == 'settings')) {\r\n        this.navCompany.push(this.items.settings);\r\n      }\r\n\r\n      //console.log(this.currentUrl);\r\n      if (!!this.navFavorites && this.navFavorites.length > 0) {\r\n        this.navFavorites.forEach(x => { if (x.route == this.currentUrl) x.active = true; });\r\n        this.navItems.push({ name: 'Favorites', data: this.navFavorites.sort((a, b) => a.order - b.order), visible: true });\r\n      }\r\n      if (!!this.navTeam && this.navTeam.length > 0) {\r\n        this.navTeam.forEach(x => { if (x.route == this.currentUrl) x.active = true; });\r\n        this.navItems.push({ name: 'Team', data: this.navTeam.sort((a, b) => a.order - b.order), visible: true });\r\n      }\r\n      if (!!this.navCompany && this.navCompany.length > 0) {\r\n        this.navCompany.forEach(x => { if (x.route == this.currentUrl) x.active = true; });\r\n        this.navItems.push({ name: 'Company', data: this.navCompany.sort((a, b) => a.order - b.order), visible: true });\r\n      }\r\n      this.loading = false;\r\n    }\r\n  }\r\n\r\n  generateSettingsMenu() {\r\n    let roles = JSON.parse(localStorage.getItem('guards'));\r\n    if (!!roles && !!roles.find(x => x.name == 'SettingsAccess') && !this.navSettingsItems.length) {\r\n      roles.forEach(x => {\r\n        switch (x.name) {\r\n          case 'PartnerAccess':\r\n            if (!this.navSettings.find(y => y.name == 'partners')) { this.navSettings.push(this.settingsItems.partners); }\r\n            break;\r\n          case 'Custom Forms':\r\n            if (!this.navSettings.find(y => y.name == 'customForms')) { this.navSettings.push(this.settingsItems.customForms); }\r\n            break;\r\n          case 'Presenter':\r\n            if (!this.navSettings.find(y => y.name == 'presenter')) { this.navSettings.push(this.settingsItems.presenter); }\r\n            break;\r\n          case 'Offer':\r\n            if (!this.navSettings.find(y => y.name == 'booking')) { this.navSettings.push(this.settingsItems.booking); }\r\n            break;\r\n          case 'PackageAccess':\r\n            if (!this.navSettings.find(y => y.name == 'packages')) { this.navSettings.push(this.settingsItems.packages); }\r\n            if (!this.navSettings.find(y => y.name == 'categories')) { this.navSettings.push(this.settingsItems.categories); }\r\n            if (!this.navSettings.find(y => y.name == 'price')) { this.navSettings.push(this.settingsItems.price); }\r\n            break;\r\n          case 'Shop':\r\n            if (!this.navSettings.find(y => y.name == 'startpage') && roles.find(y => y.name == 'PackageAccess' || y.name == 'SettingsAccess')) {\r\n              this.navSettings.push(this.settingsItems.startpage);\r\n            }\r\n            break;\r\n          case 'GoogleMap':\r\n            if (!this.navSettings.find(y => y.name == 'ourLocations')) { this.navSettings.push(this.settingsItems.ourLocations); }\r\n            break;\r\n          case 'Offer':\r\n            if (!this.navSettings.find(y => y.name == 'booking')) { this.navSettings.push(this.settingsItems.booking); }\r\n            break;\r\n          case 'Rekvisition':\r\n            if (!this.navSettings.find(y => y.name == 'requisitions')) { this.navSettings.push(this.settingsItems.requisitions); }\r\n            break;\r\n          case 'Minuba':\r\n            if (!this.navSettings.find(y => y.name == 'minuba')) { this.navSettings.push(this.settingsItems.minuba); }\r\n            break;\r\n          case 'E-KOMPLET A/S':\r\n            if (!this.navSettings.find(y => y.name == 'ekomplet')) { this.navSettings.push(this.settingsItems.ekomplet); }\r\n            break;\r\n          case 'Ordrestyring':\r\n            if (!this.navSettings.find(y => y.name == 'ordrestyring')) { this.navSettings.push(this.settingsItems.ordrestyring); }\r\n            break;\r\n          case 'Bewise':\r\n            if (!this.navSettings.find(y => y.name == 'bewise')) { this.navSettings.push(this.settingsItems.bewise); }\r\n            break;\r\n          default:\r\n            if (!this.navSettings.find(y => y.name == 'company')) { this.navSettings.push(this.settingsItems.company); }\r\n            if (!this.navSettings.find(y => y.name == 'users')) { this.navSettings.push(this.settingsItems.users); }\r\n            if (!this.navSettings.find(y => y.name == 'setup')) { this.navSettings.push(this.settingsItems.setup); }\r\n            if (!this.navSettings.find(y => y.name == 'partners')) { this.navSettings.push(this.settingsItems.partners); }\r\n            if (!this.navSettings.find(y => y.name == 'notifications')) { this.navSettings.push(this.settingsItems.notifications); }\r\n            if (!this.navSettings.find(y => y.name == 'systemNotifications')) { this.navSettings.push(this.settingsItems.systemNotifications); }\r\n            if (!this.navSettings.find(y => y.name == 'booking')) { this.navSettings.push(this.settingsItems.booking); }\r\n            if (!this.navSettings.find(y => y.name == 'workingHours')) { this.navSettings.push(this.settingsItems.workingHours); }\r\n            if (!this.navSettings.find(y => y.name == 'packages')) { this.navSettings.push(this.settingsItems.packages); }\r\n            if (!this.navSettings.find(y => y.name == 'categories')) { this.navSettings.push(this.settingsItems.categories); }\r\n            if (!this.navSettings.find(y => y.name == 'price')) { this.navSettings.push(this.settingsItems.price); }\r\n            if (!this.navSettings.find(y => y.name == 'gdpr')) { this.navSettings.push(this.settingsItems.gdpr); }\r\n            if (!this.navSettings.find(y => y.name == 'klarpris')) { this.navSettings.push(this.settingsItems.klarpris); }\r\n            if (!this.navSettings.find(y => y.name == 'templates')) { this.navSettings.push(this.settingsItems.templates); }\r\n            break;\r\n        }\r\n      });\r\n\r\n      if (!this.navSettings.find(y => y.name == 'subscription') && this.osHub) {\r\n        this.navSettings.push(this.settingsItems.subscription);\r\n      } else {\r\n        if (!this.navSettings.find(y => y.name == 'distributor')) { this.navSettings.push(this.settingsItems.distributor); }\r\n      }\r\n\r\n      if (!!this.navSettings && this.navSettings.length > 0) {\r\n        this.navSettings.forEach(x => { if (x.route == this.currentUrl) x.active = true; });\r\n        this.navSettingsItems.push({ name: 'Settings', data: this.navSettings.sort((a, b) => a.order - b.order), visible: true });\r\n\r\n      }\r\n    } else if (!!roles && !roles.find(x => x.name == 'SettingsAccess') && !this.navSettingsItems.length) {\r\n      roles.forEach(x => {\r\n        switch (x.name) {\r\n          case 'PackageAccess':\r\n            if (!this.navSettings.find(y => y.name == 'packages')) { this.navSettings.push(this.settingsItems.packages); }\r\n            //if (!this.navSettings.find(y => y.name == 'categories')) { this.navSettings.push(this.settingsItems.categories); }\r\n            //if (!this.navSettings.find(y => y.name == 'price')) { this.navSettings.push(this.settingsItems.price); }\r\n            break;\r\n        }\r\n      });\r\n\r\n      if (!!this.navSettings && this.navSettings.length > 0) {\r\n        this.navSettings.forEach(x => { if (x.route == this.currentUrl) x.active = true; });\r\n        this.navSettingsItems.push({ name: 'Settings', data: this.navSettings.sort((a, b) => a.order - b.order), visible: true });\r\n      }\r\n    } else {\r\n      console.log('else')\r\n    }\r\n  }\r\n\r\n  generateJubloMenu() {\r\n    if (!this.jubloNavSettings.find(y => y.name == 'pdfDesigner')) { this.jubloNavSettings.push(this.jubloSettingsItems.pdfDesigner); }\r\n    if (!this.jubloNavSettings.find(y => y.name == 'cssDesigner')) { this.jubloNavSettings.push(this.jubloSettingsItems.cssDesigner); }\r\n    if (!this.jubloNavSettings.find(y => y.name == 'modules')) { this.jubloNavSettings.push(this.jubloSettingsItems.modules); }\r\n    if (!this.jubloNavSettings.find(y => y.name == 'newReports')) { this.jubloNavSettings.push(this.jubloSettingsItems.newReports); }\r\n    if (!this.jubloNavSettings.find(y => y.name == 'customForms')) { this.jubloNavSettings.push(this.jubloSettingsItems.customForms); }\r\n\r\n    if (!!this.jubloNavSettings && this.jubloNavSettings.length > 0 && this.jubloNavSettingsItems.length == 0) {\r\n      this.jubloNavSettings.forEach(x => { if (x.route == this.currentUrl) x.active = true; });\r\n      this.jubloNavSettingsItems.push({ name: 'Settings', data: this.jubloNavSettings.sort((a, b) => a.order - b.order), visible: true });\r\n    }\r\n  }\r\n\r\n  getBadges() {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n    this.http.get(api.jubloApi + 'api/Badge', { headers }).subscribe((data: Badges) => {\r\n      this.badge = data;\r\n      if(!!data.caseBadge) {\r\n        let cases = this.navItems.find(x => x.name == 'Team').data.find(x => x.name == 'cases');\r\n        cases.badge = data.caseBadge;\r\n      }\r\n      if(!!data.caseBadge) {\r\n        let offers = this.navItems.find(x => x.name == 'Team').data.find(x => x.name == 'documents');\r\n        offers.badge = data.offerBadge;\r\n      }\r\n      if(!!data.ratingBadge) {\r\n        let ratings = this.navItems.find(x => x.name == 'Company').data.find(x => x.name == 'ratings');\r\n        ratings.badge = data.ratingBadge;\r\n      }\r\n    });\r\n    this.http.get(api.jubloApi + `api/Badge/GetInboxBadge`, { headers }).subscribe({\r\n      next:(data:number)=> {\r\n        let inbox = this.navItems.find(x => x.name == 'Team').data.find(x => x.name == 'inbox' );\r\n        if(!!data) inbox.badge = data;\r\n      }\r\n    })\r\n  }\r\n\r\n  notActive() {\r\n    this.navCompany.forEach(x => { x.active = false; });\r\n    this.navFavorites.forEach(x => { x.active = false; });\r\n    this.navTeam.forEach(x => { x.active = false; });\r\n    this.navSettings.forEach(x => { x.active = false; });\r\n    this.jubloNavSettings.forEach(x => { x.active = false; });\r\n  }\r\n\r\n  goTo(site) {\r\n    this.mobileMenu = false;\r\n    this.notActive();\r\n    if (site.name == 'company' && this.magicMode) {\r\n      this.hiddenMenu = true;\r\n    } else if (site.name == 'settings' && !this.navSettingsItems[0].data.find(x => x.name == 'company')) {\r\n      site = this.settingsItems.packages;\r\n      this.navSettingsItems[0].data.find(x => x.name == 'packages').active = true;\r\n      this.returnUrl = this.router.url;\r\n      this.showSettings = true;\r\n    } else if (site.name == 'settings') {\r\n      this.navSettingsItems[0].data.find(x => x.name == 'company').active = true;\r\n      this.returnUrl = this.router.url;\r\n      this.showSettings = true;\r\n    } else {\r\n      site.active = true;\r\n    }\r\n    this.router.navigate(['/' + site.route]);\r\n  }\r\n\r\n  returnToDefaultMenu() {\r\n    this.showSettings = false;\r\n    this.hiddenMenu = false;\r\n    let url = !!this.returnUrl ? this.returnUrl : '/Cases';\r\n    this.router.navigate([url]);\r\n    this.notActive();\r\n    for (let x of this.navItems) {\r\n      if (x.data.find(y => y.route.startsWith(url.substring(1)))) {\r\n        x.data.find(y => y.route.startsWith(url.substring(1))).active = true;\r\n        return;\r\n      }\r\n    }\r\n  }\r\n\r\n  showMobileMenu() {\r\n    this.mobileMenu = !this.mobileMenu;\r\n  }\r\n\r\n  create(type) {\r\n    console.log(type);\r\n  }\r\n\r\n  logout() {\r\n    this.navFavorites = [];\r\n    this.navTeam = [];\r\n    this.navCompany = [];\r\n    this.navItems = [];\r\n    this.isLoggedIn = false;\r\n    this.loginStatus.emit(this.isLoggedIn);\r\n    localStorage.clear();\r\n    this.sharedData.clearAll();\r\n    this.router.navigateByUrl('login');\r\n  }\r\n\r\n}\r\n\r\nexport class Companies {\r\n  companyId: string;\r\n  conpanyName: string;\r\n  loginId: string;\r\n  stakeholderId: string;\r\n}\r\n\r\nexport class Badges {\r\n  caseBadge: number;\r\n  partnerBadge: number;\r\n  offerBadge: number;\r\n  ratingBadge: number;\r\n  outboxFromCasesBadge: number;\r\n  outboxTransferBadge: number;\r\n  messageBadge: number = 0;\r\n}\r\n\r\n","<!-- STANDARD MENU -->\r\n<div class=\"jublo-nav\" [ngClass]=\"{\r\n    'jublo-nav-small': !menuFull, \r\n    'newsec-nav': newsec, \r\n    'taurus-nav': taurus,\r\n    'forenede-nav': forenede,\r\n    'smallScreen': smallScreen,\r\n    'menuOpen': mobileMenu\r\n    }\" *ngIf=\"!showSettings\">\r\n    <div class=\"jublo-nav-logo\">\r\n        <div class=\"menu-logo jublo-logo\" [routerLink]=\"['Cases']\" *ngIf=\"!newsec && !taurus && !forenede\">\r\n            <svg [attr.width]=\"menuFull ? '52' : '32'\" [attr.height]=\"menuFull ? '48' : '29'\" viewBox=\"0 0 52 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n                <path d=\"M44.2259 37.0228C44.9708 36.4176 45.6619 35.7557 46.2923 35.0439C49.9666 30.8911 51.6368 25.8121 51.3123 19.9305C50.5538 11.0708 44.8832 3.82513 35.7662 1.34863C33.5685 0.822541 31.6018 0.666626 29.5682 0.666626C29.3963 0.666626 29.2099 0.687711 29.0334 0.689672V16.4655C29.0334 24.8129 23.4189 30.9004 13.993 30.9004C12.4998 30.9004 11.1115 30.6999 9.78238 30.4165C10.5798 32.0879 11.6214 33.6456 12.8768 35.0439C15.8605 38.4491 19.7944 40.6476 24.3212 41.6061L49.1769 47.3333L44.1958 37.0547C44.1958 37.0547 44.1958 37.0228 44.2259 37.0228Z\" fill=\"white\"/>\r\n                <path d=\"M23.6025 14.9952C23.6025 21.4632 19.2512 26.1775 11.9493 26.1775C5.176 26.1775 0.333008 22.3561 0.333008 15.2806H5.2518C5.2518 19.5692 7.45057 21.7486 11.9493 21.7486C16.4871 21.7486 18.6069 18.7793 18.6069 14.9952V5.06174H10.6264V0.666704H23.6025V14.9952Z\" fill=\"white\"/>\r\n                <path d=\"M15.9763 15.7319C15.9763 17.4058 14.4099 18.7664 11.9676 18.7664C9.41791 18.7664 7.95951 17.4058 7.95951 15.7319\" fill=\"white\"/>\r\n                <path d=\"M10.9543 12.4546C10.9543 12.618 10.9202 12.7797 10.8539 12.9307C10.7877 13.0816 10.6906 13.2188 10.5683 13.3343C10.4459 13.4498 10.3006 13.5414 10.1408 13.6039C9.98091 13.6664 9.80957 13.6985 9.63655 13.6985C9.29126 13.692 8.96243 13.5579 8.72066 13.325C8.47889 13.0921 8.34346 12.779 8.34346 12.4528C8.34346 12.1267 8.47889 11.8136 8.72066 11.5807C8.96243 11.3478 9.29126 11.2137 9.63655 11.2072C9.80982 11.2074 9.98136 11.2397 10.1414 11.3025C10.3014 11.3653 10.4467 11.4572 10.5691 11.573C10.6915 11.6889 10.7885 11.8264 10.8546 11.9776C10.9206 12.1289 10.9545 12.2909 10.9543 12.4546Z\" fill=\"white\"/>\r\n                <path d=\"M15.5181 12.4544C15.5181 12.7846 15.3792 13.1012 15.132 13.3347C14.8848 13.5682 14.5495 13.6993 14.1999 13.6993C13.8503 13.6993 13.515 13.5682 13.2677 13.3347C13.0205 13.1012 12.8816 12.7846 12.8816 12.4544C12.8814 12.2909 12.9152 12.1289 12.9812 11.9777C13.0473 11.8265 13.1442 11.6891 13.2664 11.5733C13.3887 11.4574 13.5339 11.3655 13.6938 11.3027C13.8537 11.2398 14.0251 11.2074 14.1983 11.2071C14.3717 11.2072 14.5434 11.2395 14.7035 11.3022C14.8637 11.3649 15.0092 11.4568 15.1317 11.5727C15.2543 11.6885 15.3515 11.826 15.4178 11.9773C15.4841 12.1286 15.5182 12.2907 15.5181 12.4544Z\" fill=\"white\"/>\r\n            </svg>\r\n        </div>\r\n        <div class=\"menu-logo jublo-logo\" [routerLink]=\"['Cases']\" *ngIf=\"newsec\">\r\n            <svg width=\"120\" height=\"110\" viewBox=\"0 0 137 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"menuFull\">\r\n                <path d=\"M15.7581 26.1938V38.9751H12.0047V27.1001C12.0047 25.4501 11.523 22.6876 8.25128 22.6876C7.64379 22.6922 7.04349 22.8186 6.48586 23.0594C5.92825 23.3002 5.42474 23.6505 5.00522 24.0895C4.5857 24.5284 4.25872 25.0471 4.04369 25.6147C3.82866 26.1823 3.72995 26.7873 3.75342 27.3938V38.9751H0V19.4876H3.75342V21.6063C4.41447 20.8097 5.24611 20.1715 6.18699 19.7387C7.12788 19.306 8.154 19.0899 9.18963 19.1063C13.2433 19.1251 15.7581 21.8376 15.7581 26.1938ZM62.776 19.4876H59.0977L55.0127 32.9563L51.3594 19.4876H48.2315L44.4155 33.0626L40.2492 19.4876H36.4958L42.6326 38.9751H45.8668L49.7767 25.5188L53.4363 38.9751H56.6642L62.776 19.4876ZM35.8139 28.6751V30.0001H22.0514C22.3079 33.6876 24.4723 36.0626 27.5814 36.0626C29.9774 36.0626 31.7415 34.7751 32.2982 32.6063L32.3545 32.4063L35.5199 34.0563V34.1251C34.2688 37.4126 31.3098 39.3751 27.6064 39.3751C22.2203 39.3751 18.4543 35.2126 18.4543 29.2501C18.4543 23.2876 22.2453 19.1251 27.4626 19.1251C32.5297 19.1313 35.8139 22.8751 35.8139 28.6751ZM22.2953 27.0188H32.0167C31.8728 24.7751 30.6029 22.4063 27.425 22.4063C24.8226 22.4063 22.9084 24.1313 22.2953 27.0188ZM72.0845 27.4251L71.459 27.2813C68.9567 26.7376 67.4866 26.4126 67.4866 24.8563C67.4866 23.3001 68.8253 22.3001 70.8897 22.3001C71.813 22.2604 72.7301 22.467 73.5471 22.8987C74.3641 23.3303 75.051 23.9715 75.5377 24.7563L75.5815 24.8251L78.6593 23.3126L78.5967 23.1876C77.3456 20.7251 74.3929 19.1313 71.0336 19.1313C66.8485 19.1313 63.8082 21.6313 63.8082 25.1126C63.8082 29.1626 67.1237 29.8938 70.3267 30.6001L70.7771 30.6938C73.6047 31.2813 75.1561 31.6063 75.1561 33.4001C75.1617 33.7202 75.101 34.0379 74.9784 34.3337C74.8558 34.6293 74.6738 34.8966 74.4429 35.1188C73.5696 35.8512 72.4542 36.2302 71.3151 36.1813H71.2212C70.1259 36.2072 69.0436 35.9362 68.0896 35.397C67.1356 34.8577 66.3455 34.0705 65.8038 33.1188L65.7663 33.0438L62.5195 34.6251L62.6134 34.8126C64.0084 37.6313 67.2926 39.3813 71.1962 39.3813C75.6127 39.3751 78.8219 36.7438 78.8219 33.1251C78.8219 28.9751 75.2437 28.1251 72.0845 27.4251ZM97.833 28.6751V30.0001H84.0705C84.3269 33.6876 86.4914 36.0626 89.6068 36.0626C91.9964 36.0626 93.7605 34.7751 94.3236 32.6063L94.3736 32.4063L97.589 34.0626V34.1313C96.3379 37.4188 93.379 39.3813 89.6818 39.3813C84.2894 39.3813 80.5235 35.2188 80.5235 29.2563C80.5235 23.2938 84.3144 19.1313 89.5317 19.1313C94.555 19.1313 97.833 22.8751 97.833 28.6751ZM84.3144 27.0188H94.0358C93.8982 24.7751 92.622 22.4063 89.4441 22.4063C86.8417 22.4063 84.9337 24.1313 84.3144 27.0188ZM113.672 32.1938V32.2938C113.078 34.7063 111.489 36.0438 109.206 36.0438C105.878 36.0438 103.732 33.3813 103.732 29.2626C103.732 25.1438 105.878 22.4501 109.206 22.4501C111.452 22.4501 113.078 23.8126 113.672 26.2001V26.3001L116.982 24.8188V24.7438C115.981 21.2813 112.991 19.1188 109.187 19.1188C103.751 19.1188 99.96 23.2813 99.96 29.2438C99.96 35.2063 103.745 39.3751 109.181 39.3751C112.966 39.3751 115.968 37.2188 117.013 33.7501V33.6751L113.672 32.1938Z\" fill=\"#1D1D1B\"/>\r\n                <path d=\"M105.509 0L93.5415 8.85625H127.673V27.4625L136.543 15.5V0H105.509Z\" fill=\"#FF5100\"/>\r\n            </svg> \r\n            <svg width=\"32\" height=\"29\" viewBox=\"0 0 44 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"!menuFull\">\r\n                <path d=\"M12.5092 0L0.541992 8.85625H34.6731V27.4625L43.5437 15.5V0H12.5092Z\" fill=\"#FF5100\"/>\r\n            </svg>\r\n        </div>\r\n        <div class=\"menu-logo jublo-logo\" [routerLink]=\"['Cases']\" *ngIf=\"taurus\">\r\n            <svg width=\"179\" height=\"18\" viewBox=\"0 0 179 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"menuFull\">\r\n                <path d=\"M0.290592 3.66472L0.272949 0.479092H28.6228V3.66472H16.2455V18H12.6861V3.66472H0.290592Z\" fill=\"white\"/>\r\n                <path d=\"M44.5572 10.0358L40.1656 3.55342L35.7564 10.0358H44.5572ZM42.3259 0.367798L54.3141 17.9999H49.9583L46.7175 13.2215H33.5962L30.3553 17.9999H25.9995L38.0054 0.367798H42.3259Z\" fill=\"white\"/>\r\n                <path d=\"M83.2693 0.479135L83.2869 11.6288C83.2869 15.8763 80.9258 17.9996 76.2039 17.9996H62.0378C57.3154 17.9996 54.9547 15.8763 54.9547 11.6288V0.479135H58.496V11.6288C58.5078 13.7526 59.6884 14.8144 62.0378 14.8144H76.2215C78.571 14.8144 79.7457 13.7526 79.7457 11.6288V0.479135H83.2693Z\" fill=\"white\"/>\r\n                <path d=\"M111.637 6.05389C111.626 4.46108 110.439 3.66467 108.078 3.66467H93.9119C91.5507 3.66467 90.3701 4.72654 90.3701 6.85029V8.4431H108.096C110.433 8.4431 111.613 7.6467 111.637 6.05389ZM111.637 18V14.8144C111.637 12.6906 110.457 11.6287 108.096 11.6287H90.3701L90.3883 18H86.8465L86.8288 6.85029C86.8288 2.60329 89.1895 0.479047 93.9119 0.479047H108.078C112.8 0.479047 115.167 2.33733 115.179 6.05389C115.167 7.6467 114.571 8.97404 113.39 10.0359C114.571 11.0978 115.167 12.6906 115.179 14.8144V18H111.637Z\" fill=\"white\"/>\r\n                <path d=\"M147.035 0.479135L147.053 11.6288C147.053 15.8763 144.691 17.9996 139.969 17.9996H125.803C121.081 17.9996 118.72 15.8763 118.72 11.6288V0.479135H122.262V11.6288C122.273 13.7526 123.454 14.8144 125.803 14.8144H139.987C142.336 14.8144 143.511 13.7526 143.511 11.6288V0.479135H147.035Z\" fill=\"white\"/>\r\n                <path d=\"M171.843 7.64668C176.565 7.63639 178.932 9.22871 178.944 12.4251C178.932 16.1417 176.565 18 171.843 18H157.677C152.955 18 150.594 15.8762 150.594 11.6287H154.136C154.136 13.7525 155.316 14.8143 157.677 14.8143H171.843C174.204 14.8143 175.385 14.0179 175.385 12.4251C175.397 11.3525 174.216 10.8215 171.843 10.8323H157.677C152.955 10.8431 150.6 9.25026 150.612 6.05386C150.6 2.3373 152.955 0.479025 157.677 0.479025H171.843C176.554 0.479025 178.915 2.60816 178.927 6.86643L175.367 6.85027C175.379 4.72652 174.204 3.66465 171.843 3.66465H157.677C155.316 3.66465 154.141 4.46105 154.153 6.05386C154.141 7.12651 155.316 7.65745 157.677 7.64668H171.843Z\" fill=\"white\"/>\r\n            </svg>            \r\n            <svg width=\"32\" height=\"29\" viewBox=\"0 0 44 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" *ngIf=\"!menuFull\">\r\n                <path style=\"fill:#596279; stroke:none;\" d=\"M0 0L1 1L0 0z\"/>\r\n                <path style=\"fill:#858b9d; stroke:none;\" d=\"M1 0L1 1L28 1L1 0z\"/>\r\n                <path style=\"fill:#596279; stroke:none;\" d=\"M28 0L29 1L28 0z\"/>\r\n                <path style=\"fill:#a8adb9; stroke:none;\" d=\"M0 1C2.7385 5.2241 8.4304 4 13 4L13 3L0 1z\"/>\r\n                <path style=\"fill:#ffffff; stroke:none;\" d=\"M1 1L1 3L13 3L13 18L16 18L16 3L28 3L28 1L1 1z\"/>\r\n                <path style=\"fill:#a8adb9; stroke:none;\" d=\"M28 1L16 3L16 4C19.0404 4 28.7401 5.48956 28 1z\"/>\r\n                <path style=\"fill:#858b9d; stroke:none;\" d=\"M0 3L1 4L0 3z\"/>\r\n                <path style=\"fill:#596279; stroke:none;\" d=\"M28 3L29 4L28 3z\"/>\r\n                <path style=\"fill:#0b193b; stroke:none;\" d=\"M0 4L0 18L12 18L12 4L0 4z\"/>\r\n                <path style=\"fill:#596279; stroke:none;\" d=\"M12 4L12 18L13 18L12 4M16 4L16 18L17 18L16 4z\"/>\r\n                <path style=\"fill:#0b193b; stroke:none;\" d=\"M17 4L17 18L29 18L29 4L17 4z\"/>\r\n            </svg>\r\n        </div>\r\n        <div class=\"menu-logo jublo-logo\" [routerLink]=\"['Cases']\" *ngIf=\"forenede\">\r\n            <img src=\"../../assets/img/FS 400x400x.png\" alt=\"Forenede Service\" style=\"max-width: 100%; max-height: 5rem;\">\r\n        </div>\r\n        <div class=\"menu-opener\" (click)=\"showMobileMenu()\" *ngIf=\"smallScreen\">\r\n            <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon hero-icon-menu\">\r\n                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5\" />\r\n            </svg>\r\n        </div>\r\n    </div>\r\n    <div class=\"jublo-nav-items\">\r\n        <!-- Buttons -->\r\n        <div class=\"menu-stack\" [ngClass]=\"{'smallScreen': smallScreen}\" *ngFor=\"let x of navItems; let i = index\">\r\n            <div class=\"menu-stack-header\" (click)=\"x.visible = !x.visible\" [attr.id]=\"i\" *ngIf=\"menuFull\">\r\n                <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-small mr-2\"> \r\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" *ngIf=\"x.visible\"/>\r\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 15.75l7.5-7.5 7.5 7.5\" *ngIf=\"!x.visible\"/>\r\n                </svg>\r\n                <span *ngIf=\"menuFull\">{{ ('Header.' + x.name | translate) | uppercase }}</span>\r\n            </div>\r\n            <div *ngIf=\"x.visible || !menuFull\">\r\n                <div class=\"menu-row\" *ngFor=\"let y of x.data\" [ngClass]=\"!menuFull ? 'menu-row-small' : ''\" title=\"{{ (y.name | translate ) | titlecase }}\" (click)=\"goTo(y)\">\r\n                    <div class=\"menu-item\" [ngClass]=\"{\r\n                        'menu-item-active': y.active,\r\n                        'menu-item-active-newsec': y.active && newsec,\r\n                        'menu-item-active-taurus': y.active && taurs,\r\n                        'menu-item-active-forenede': y.active && forenede\r\n                    }\">\r\n                        <div class=\"menu-item-left\">\r\n                            <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon mr-2\" [ngClass]=\"!menuFull ? 'hero-icon-center' : ''\" *ngIf=\"y.name != 'klarpris'\">\r\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" [attr.d]=\"y.icon[0]\" />\r\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" [attr.d]=\"y.icon[1]\" *ngIf=\"!!y.icon[1]\"/>\r\n                            </svg>\r\n                            <img src=\"../assets/img/klarpris_icon.png\" class=\"wholesalerIcon\" alt=\"KlarPris\" *ngIf=\"y.name == 'klarpris'\">\r\n                            <span *ngIf=\"menuFull\">{{ (y.translate | translate) | titlecase }}</span>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div class=\"menu-stack\">\r\n            <div class=\"menu-row\">\r\n                <div (click)=\"menuFull = !menuFull\">\r\n                    <div class=\"menu-item\">\r\n                        <span class=\"menu-item-left\" *ngIf=\"!!menuFull\" ><i class=\"fa-thin fa-minimize\"></i> <span class=\"ml-2\">Minimere</span></span>\r\n                        <span class=\"menu-item-left\" title=\"Maksimere\"><i class=\"fa-thin fa-maximize\" *ngIf=\"!menuFull\"></i></span>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n\r\n        <!-- LOG OUT -->\r\n        <div class=\"menu-sign-out\" *ngIf=\"isLoggedIn\">\r\n            <div class=\"menu-row\" [ngClass]=\"!menuFull ? 'menu-row-small' : ''\" [attr.title]=\"menuFull ? ('Header.FoldIn' | translate) : ('Header.FoldOut' | translate)\" (click)=\"logout()\">\r\n                <div class=\"menu-item\">\r\n                    <div>\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon mr-2\" [ngClass]=\"!menuFull ? 'hero-icon-center' : ''\">\r\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.75 9V5.25A2.25 2.25 0 0013.5 3h-6a2.25 2.25 0 00-2.25 2.25v13.5A2.25 2.25 0 007.5 21h6a2.25 2.25 0 002.25-2.25V15M12 9l-3 3m0 0l3 3m-3-3h12.75\" />\r\n                        </svg>                      \r\n                        <span *ngIf=\"menuFull\">{{ 'Header.LogOut' | translate }}</span>\r\n                    </div>\r\n                    <div></div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    \r\n</div>\r\n\r\n<!-- SETTINGS MENU -->\r\n<div class=\"jublo-nav jublo-nav-settings\" [ngClass]=\"{ 'jublo-nav-small': !menuFull, 'smallScreen': smallScreen }\" *ngIf=\"showSettings\">\r\n    <div class=\"menu-create\">\r\n        <button class=\"btn btn-secondary\" [ngClass]=\"{'btn-create-small': !menuFull}\" (click)=\"returnToDefaultMenu()\">\r\n            <svg width=\"6\" height=\"10\" viewBox=\"0 0 6 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class=\"hero-icon-small\">\r\n                <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.79062 0.230169C6.07772 0.528748 6.06841 1.00353 5.76983 1.29063L1.83208 5L5.76983 8.70938C6.06841 8.99647 6.07772 9.47125 5.79062 9.76983C5.50353 10.0684 5.02875 10.0777 4.73017 9.79063L0.230167 5.54063C0.0831082 5.39922 -1.18115e-06 5.20401 -1.17223e-06 5C-1.16331e-06 4.79599 0.0831082 4.60078 0.230167 4.45938L4.73017 0.209376C5.02875 -0.077719 5.50353 -0.0684095 5.79062 0.230169Z\" fill=\"#0F172A\"/>\r\n            </svg>\r\n            <span class=\"mr-2\" *ngIf=\"menuFull\">{{ 'Buttons.Back' | translate }}</span>\r\n        </button>\r\n    </div>\r\n    <!-- Buttons -->\r\n    <div class=\"menu-stack\" *ngFor=\"let x of navSettingsItems; let i = index\">\r\n        <div class=\"menu-stack-header\" (click)=\"x.visible = !x.visible\" [attr.id]=\"i\" *ngIf=\"menuFull\">\r\n            <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-small mr-2\"> \r\n                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" *ngIf=\"x.visible\"/>\r\n                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 15.75l7.5-7.5 7.5 7.5\" *ngIf=\"!x.visible\"/>\r\n            </svg>\r\n            <span *ngIf=\"menuFull\">{{ ('Header.' + x.name | translate) | uppercase }}</span>\r\n        </div>\r\n        <div *ngIf=\"x.visible || !menuFull\">\r\n            <div class=\"menu-row\" *ngFor=\"let y of x.data\" [ngClass]=\"!menuFull ? 'menu-row-small' : ''\" title=\"{{ y.name | titlecase }}\" (click)=\"goTo(y)\">\r\n                <div class=\"menu-item\" [ngClass]=\"{'menu-item-active menu-item-active-settings': y.active}\">\r\n                    <div class=\"menu-item-left\">\r\n                        <span>{{ (y.translate | translate) | titlecase }}</span>\r\n                    </div>\r\n                    <div class=\"menu-item-right\" *ngIf=\"y.badge > 0\">\r\n                        <span class=\"badge badge-light\">{{ y.badge }}</span>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n\r\n    <!-- Hidden menu -->\r\n    <div *ngIf=\"hiddenMenu\">\r\n        <div class=\"menu-stack\" *ngFor=\"let x of jubloNavSettingsItems; let i = index\">\r\n            <div class=\"menu-stack-header\" (click)=\"x.visible = !x.visible\" [attr.id]=\"i\" *ngIf=\"menuFull\">\r\n                <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-small mr-2\"> \r\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 8.25l-7.5 7.5-7.5-7.5\" *ngIf=\"x.visible\"/>\r\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 15.75l7.5-7.5 7.5 7.5\" *ngIf=\"!x.visible\"/>\r\n                </svg>\r\n                <span *ngIf=\"menuFull\">JUBLO ADMIN</span>\r\n            </div>\r\n            <div *ngIf=\"x.visible || !menuFull\">\r\n                <div class=\"menu-row\" *ngFor=\"let y of x.data\" [ngClass]=\"!menuFull ? 'menu-row-small' : ''\" title=\"{{ y.name | titlecase }}\" (click)=\"goTo(y)\">\r\n                    <div class=\"menu-item\" [ngClass]=\"{'menu-item-active menu-item-active-settings': y.active}\">\r\n                        <div class=\"menu-item-left\">\r\n                            <span>{{ (y.translate | translate) | titlecase }}</span>\r\n                        </div>\r\n                        <div class=\"menu-item-right\" *ngIf=\"y.badge > 0\">\r\n                            <span class=\"badge badge-light\">{{ y.badge }}</span>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>","export class NavList {\r\n    name: string;\r\n    data: Array<NavItem>;\r\n    visible: boolean;\r\n}\r\n\r\nexport class NavItem {\r\n    name: string;\r\n    route: string;\r\n    translate: string;\r\n    active: boolean;\r\n    badge: number;\r\n    order: number;\r\n    icon: Array<string>;\r\n}\r\n\r\nexport class Items {\r\n    dashboard = {\r\n        name: 'dashboard',\r\n        route: 'Dashboard',\r\n        translate: 'Header.Dashboard',\r\n        active: false,\r\n        badge: 0,\r\n        order: 1,\r\n        icon: ['M3.75 6A2.25 2.25 0 016 3.75h2.25A2.25 2.25 0 0110.5 6v2.25a2.25 2.25 0 01-2.25 2.25H6a2.25 2.25 0 01-2.25-2.25V6zM3.75 15.75A2.25 2.25 0 016 13.5h2.25a2.25 2.25 0 012.25 2.25V18a2.25 2.25 0 01-2.25 2.25H6A2.25 2.25 0 013.75 18v-2.25zM13.5 6a2.25 2.25 0 012.25-2.25H18A2.25 2.25 0 0120.25 6v2.25A2.25 2.25 0 0118 10.5h-2.25a2.25 2.25 0 01-2.25-2.25V6zM13.5 15.75a2.25 2.25 0 012.25-2.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-2.25A2.25 2.25 0 0113.5 18v-2.25z']\r\n    }\r\n    rating = {\r\n        name: 'rating',\r\n        route: 'Rating',\r\n        translate: 'Header.Rating',\r\n        active: false,\r\n        badge: 0,\r\n        badgeTitle: 'Notifications.RatingReceived',\r\n        order: 2,\r\n        icon: ['M11.48 3.499a.562.562 0 011.04 0l2.125 5.111a.563.563 0 00.475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 00-.182.557l1.285 5.385a.562.562 0 01-.84.61l-4.725-2.885a.563.563 0 00-.586 0L6.982 20.54a.562.562 0 01-.84-.61l1.285-5.386a.562.562 0 00-.182-.557l-4.204-3.602a.563.563 0 01.321-.988l5.518-.442a.563.563 0 00.475-.345L11.48 3.5z']\r\n    }\r\n    inbox = {\r\n        name: 'inbox',\r\n        route: 'Inbox',\r\n        translate: 'Header.Inbox',\r\n        active: false,\r\n        badge: 0,\r\n        badgeTitle: 'Buttons.MissingAnswer',\r\n        order: 3,\r\n        icon: ['M2.25 13.5h3.86a2.25 2.25 0 012.012 1.244l.256.512a2.25 2.25 0 002.013 1.244h3.218a2.25 2.25 0 002.013-1.244l.256-.512a2.25 2.25 0 012.013-1.244h3.859m-19.5.338V18a2.25 2.25 0 002.25 2.25h15A2.25 2.25 0 0021.75 18v-4.162c0-.224-.034-.447-.1-.661L19.24 5.338a2.25 2.25 0 00-2.15-1.588H6.911a2.25 2.25 0 00-2.15 1.588L2.35 13.177a2.25 2.25 0 00-.1.661z']\r\n    }\r\n    cases = {\r\n        name: 'cases',\r\n        route: 'Cases',\r\n        translate: 'Header.Cases',\r\n        active: false,\r\n        badge: 0,\r\n        badgeTitle: 'Standard.UnreadMessages',\r\n        order: 4,\r\n        icon: ['M20.25 14.15v4.25c0 1.094-.787 2.036-1.872 2.18-2.087.277-4.216.42-6.378.42s-4.291-.143-6.378-.42c-1.085-.144-1.872-1.086-1.872-2.18v-4.25m16.5 0a2.18 2.18 0 00.75-1.661V8.706c0-1.081-.768-2.015-1.837-2.175a48.114 48.114 0 00-3.413-.387m4.5 8.006c-.194.165-.42.295-.673.38A23.978 23.978 0 0112 15.75c-2.648 0-5.195-.429-7.577-1.22a2.016 2.016 0 01-.673-.38m0 0A2.18 2.18 0 013 12.489V8.706c0-1.081.768-2.015 1.837-2.175a48.111 48.111 0 013.413-.387m7.5 0V5.25A2.25 2.25 0 0013.5 3h-3a2.25 2.25 0 00-2.25 2.25v.894m7.5 0a48.667 48.667 0 00-7.5 0M12 12.75h.008v.008H12v-.008z']\r\n    }\r\n    customers = {\r\n        name: 'customers',\r\n        route: 'Customers',\r\n        translate: 'Header.Customers',\r\n        active: false,\r\n        badge: 0,\r\n        order: 5,\r\n        icon: ['M18 18.72a9.094 9.094 0 003.741-.479 3 3 0 00-4.682-2.72m.94 3.198l.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0112 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 016 18.719m12 0a5.971 5.971 0 00-.941-3.197m0 0A5.995 5.995 0 0012 12.75a5.995 5.995 0 00-5.058 2.772m0 0a3 3 0 00-4.681 2.72 8.986 8.986 0 003.74.477m.94-3.197a5.971 5.971 0 00-.94 3.197M15 6.75a3 3 0 11-6 0 3 3 0 016 0zm6 3a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0zm-13.5 0a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z']\r\n    }\r\n    tenants = {\r\n        name: 'tenants',\r\n        route: 'Customers',\r\n        translate: 'Header.Tenants',\r\n        active: false,\r\n        badge: 0,\r\n        order: 5,\r\n        icon: ['M18 18.72a9.094 9.094 0 003.741-.479 3 3 0 00-4.682-2.72m.94 3.198l.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0112 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 016 18.719m12 0a5.971 5.971 0 00-.941-3.197m0 0A5.995 5.995 0 0012 12.75a5.995 5.995 0 00-5.058 2.772m0 0a3 3 0 00-4.681 2.72 8.986 8.986 0 003.74.477m.94-3.197a5.971 5.971 0 00-.94 3.197M15 6.75a3 3 0 11-6 0 3 3 0 016 0zm6 3a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0zm-13.5 0a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z']\r\n    }\r\n    activities = {\r\n        name: 'activities',\r\n        route: 'Activities',\r\n        translate: 'Header.Tasks',\r\n        active: false,\r\n        badge: 0,\r\n        order: 6,\r\n        icon: ['M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z']\r\n    }\r\n    kanban = {\r\n        name: 'kanban',\r\n        route: 'Kanban',\r\n        translate: 'Header.Kanban',\r\n        active: false,\r\n        badge: 0,\r\n        order: 7,\r\n        icon: ['M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z']\r\n    }\r\n    companyPartners = {\r\n        name: 'companyPartners',\r\n        route: 'CompanyPartners',\r\n        translate: 'Header.Partners',\r\n        active: false,\r\n        badge: 0,\r\n        order: 8,\r\n        icon: ['M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z']\r\n    }\r\n    packageDistributor = {\r\n        name: 'packageDistributor',\r\n        route: 'Packages',\r\n        translate: 'Standard.Distributor',\r\n        active: false,\r\n        badge: 0,\r\n        order: 9,\r\n        icon: ['M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z']\r\n    }\r\n    wholesalePackages = {\r\n        name: 'wholesalePackages',\r\n        route: 'DistributorPackages',\r\n        translate: 'Settings.Packages',\r\n        active: false,\r\n        badge: 0,\r\n        order: 10,\r\n        icon: ['M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z']\r\n    }\r\n    documents = {\r\n        name: 'documents',\r\n        route: 'Offer',\r\n        translate: 'Header.Documents',\r\n        active: false,\r\n        badge: 0,\r\n        badgeTitle: 'Standard.UnreadMessages',\r\n        order: 11,\r\n        icon: ['M9 12h3.75M9 15h3.75M9 18h3.75m3 .75H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08m-5.801 0c-.065.21-.1.433-.1.664 0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75 2.25 2.25 0 00-.1-.664m-5.8 0A2.251 2.251 0 0113.5 2.25H15c1.012 0 1.867.668 2.15 1.586m-5.8 0c-.376.023-.75.05-1.124.08C9.095 4.01 8.25 4.973 8.25 6.108V8.25m0 0H4.875c-.621 0-1.125.504-1.125 1.125v11.25c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V9.375c0-.621-.504-1.125-1.125-1.125H8.25zM6.75 12h.008v.008H6.75V12zm0 3h.008v.008H6.75V15zm0 3h.008v.008H6.75V18z']\r\n    }\r\n    support = {\r\n        name: 'support',\r\n        route: 'Support',\r\n        translate: 'Standard.Support',\r\n        active: false,\r\n        badge: 0,\r\n        order: 12,\r\n        icon: ['M20.25 8.511c.884.284 1.5 1.128 1.5 2.097v4.286c0 1.136-.847 2.1-1.98 2.193-.34.027-.68.052-1.02.072v3.091l-3-3c-1.354 0-2.694-.055-4.02-.163a2.115 2.115 0 01-.825-.242m9.345-8.334a2.126 2.126 0 00-.476-.095 48.64 48.64 0 00-8.048 0c-1.131.094-1.976 1.057-1.976 2.192v4.286c0 .837.46 1.58 1.155 1.951m9.345-8.334V6.637c0-1.621-1.152-3.026-2.76-3.235A48.455 48.455 0 0011.25 3c-2.115 0-4.198.137-6.24.402-1.608.209-2.76 1.614-2.76 3.235v6.226c0 1.621 1.152 3.026 2.76 3.235.577.075 1.157.14 1.74.194V21l4.155-4.155']\r\n    }\r\n    klarpris = {\r\n        name: 'klarpris',\r\n        route: 'Shop',\r\n        translate: 'Integrations.Klarpris',\r\n        active: false,\r\n        badge: 0,\r\n        order: 13,\r\n        icon: ['M781.298,271.146L528.956,18.802c-24.934-24.934-65.364-24.934-90.298,0L18.886,438.574 C6.923,450.538,0.197,466.758,0.183,483.676L0,736c-0.027,35.281,28.568,63.899,63.852,63.899h252.547 c16.933,0,33.175-6.73,45.149-18.703l419.75-419.752C806.234,336.51,806.234,296.08,781.298,271.146z M225.919,680.933 c-29.478,29.478-77.272,29.478-106.75,0s-29.478-77.274,0-106.752s77.272-29.478,106.75,0S255.397,651.454,225.919,680.933z M487.164,512.25l-202.972-54.612c-3.073-0.826-3.802-4.938-1.12-6.653c23.044-14.739,93.702-20.585,109.852-21.746 c1.896-0.136,3.338-1.719,3.379-3.621c3.605-165.218,53.279-262.831,74.234-296.862c2.104-3.418,7.335-1.415,6.754,2.557 c-33.875,232.386,3.118,347.954,14.281,376.037C492.688,510.161,490.085,513.037,487.164,512.25z']\r\n    }\r\n    campaigns = {\r\n        name: 'campaigns',\r\n        route: 'Campaigns',\r\n        translate: 'Header.Campaigns',\r\n        active: false,\r\n        badge: 0,\r\n        order: 14,\r\n        icon: ['M3 3v1.5M3 21v-6m0 0l2.77-.693a9 9 0 016.208.682l.108.054a9 9 0 006.086.71l3.114-.732a48.524 48.524 0 01-.005-10.499l-3.11.732a9 9 0 01-6.085-.711l-.108-.054a9 9 0 00-6.208-.682L3 4.5M3 15V4.5']\r\n    }\r\n    assets = {\r\n        name: 'assets',\r\n        route: 'Assets',\r\n        translate: 'Header.Assets',\r\n        active: false,\r\n        badge: 0,\r\n        order: 15,\r\n        icon: ['M15 10.5a3 3 0 11-6 0 3 3 0 016 0z', 'M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z']\r\n    }\r\n    service = {\r\n        name: 'service',\r\n        route: 'Service',\r\n        translate: 'Header.Service',\r\n        active: false,\r\n        badge: 0,\r\n        order: 16,\r\n        icon: ['M15 10.5a3 3 0 11-6 0 3 3 0 016 0z', 'M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z']\r\n    }\r\n    outbox = {\r\n        name: 'outbox',\r\n        route: 'Outbox',\r\n        translate: 'Standard.Transfers',\r\n        active: false,\r\n        badge: 0,\r\n        order: 18,\r\n        icon: ['M7.5 21L3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5']\r\n    }\r\n    bi = {\r\n        name: 'bi',\r\n        route: 'BI',\r\n        translate: 'Standard.BI',\r\n        active: false,\r\n        badge: 0,\r\n        order: 19,\r\n        icon: ['M7.5 14.25v2.25m3-4.5v4.5m3-6.75v6.75m3-9v9M6 20.25h12A2.25 2.25 0 0020.25 18V6A2.25 2.25 0 0018 3.75H6A2.25 2.25 0 003.75 6v12A2.25 2.25 0 006 20.25z']\r\n    }\r\n    requisition = {\r\n        name: 'requisition',\r\n        route: 'Requisitions',\r\n        translate: 'Standard.Requisitions',\r\n        active: false,\r\n        badge: 0,\r\n        order: 20,\r\n        icon: ['M7.5 14.25v2.25m3-4.5v4.5m3-6.75v6.75m3-9v9M6 20.25h12A2.25 2.25 0 0020.25 18V6A2.25 2.25 0 0018 3.75H6A2.25 2.25 0 003.75 6v12A2.25 2.25 0 006 20.25z']\r\n    }\r\n    reports = {\r\n        name: 'reports',\r\n        route: 'Reports',\r\n        translate: 'Header.Reports',\r\n        active: false,\r\n        badge: 0,\r\n        order: 21,\r\n        icon: ['M7.5 14.25v2.25m3-4.5v4.5m3-6.75v6.75m3-9v9M6 20.25h12A2.25 2.25 0 0020.25 18V6A2.25 2.25 0 0018 3.75H6A2.25 2.25 0 003.75 6v12A2.25 2.25 0 006 20.25z']\r\n    }\r\n    profile = {\r\n        name: 'profile',\r\n        route: 'Settings/MyDetails',\r\n        translate: 'Settings.MyDetails',\r\n        active: false,\r\n        badge: 0,\r\n        order: 22,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    settings = {\r\n        name: 'settings',\r\n        route: 'Settings/Company',\r\n        translate: 'Header.Settings',\r\n        active: false,\r\n        badge: 0,\r\n        order: 23,\r\n        icon: ['M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.324.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 011.37.49l1.296 2.247a1.125 1.125 0 01-.26 1.431l-1.003.827c-.293.24-.438.613-.431.992a6.759 6.759 0 010 .255c-.007.378.138.75.43.99l1.005.828c.424.35.534.954.26 1.43l-1.298 2.247a1.125 1.125 0 01-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.57 6.57 0 01-.22.128c-.331.183-.581.495-.644.869l-.213 1.28c-.09.543-.56.941-1.11.941h-2.594c-.55 0-1.02-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 01-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 01-1.369-.49l-1.297-2.247a1.125 1.125 0 01.26-1.431l1.004-.827c.292-.24.437-.613.43-.992a6.932 6.932 0 010-.255c.007-.378-.138-.75-.43-.99l-1.004-.828a1.125 1.125 0 01-.26-1.43l1.297-2.247a1.125 1.125 0 011.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.087.22-.128.332-.183.582-.495.644-.869l.214-1.281z', 'M15 12a3 3 0 11-6 0 3 3 0 016 0z']\r\n    }\r\n}\r\n\r\nexport class SettingsItems {\r\n    company = {\r\n        name: 'company',\r\n        route: 'Settings/Company',\r\n        translate: 'Settings.Company',\r\n        active: false,\r\n        badge: 0,\r\n        order: 1,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    users = {\r\n        name: 'users',\r\n        route: 'Settings/Users',\r\n        translate: 'Settings.Users',\r\n        active: false,\r\n        badge: 0,\r\n        order: 2,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    setup = {\r\n        name: 'setup',\r\n        route: 'Settings/Setup',\r\n        translate: 'Standard.Setup',\r\n        active: false,\r\n        badge: 0,\r\n        order: 3,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    partners = {\r\n        name: 'partners',\r\n        route: 'Settings/Partners',\r\n        translate: 'Standard.Partner',\r\n        active: false,\r\n        badge: 0,\r\n        order: 4,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    customForms = {\r\n        name: 'customForms',\r\n        route: 'Settings/CustomForms',\r\n        translate: 'Settings.CustomForms',\r\n        active: false,\r\n        badge: 0,\r\n        order: 5,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    presenter = {\r\n        name: 'presenter',\r\n        route: 'Settings/Presenter',\r\n        translate: 'Settings.Presentations',\r\n        active: false,\r\n        badge: 0,\r\n        order: 6,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    notifications = {\r\n        name: 'notifications',\r\n        route: 'Settings/Notifications',\r\n        translate: 'Settings.Notifications',\r\n        active: false,\r\n        badge: 0,\r\n        order: 7,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    systemNotifications = {\r\n        name: 'systemNotifications',\r\n        route: 'Settings/System-notifications',\r\n        translate: 'Settings.SystemNotifications',\r\n        active: false,\r\n        badge: 0,\r\n        order: 8,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    booking = {\r\n        name: 'booking',\r\n        route: 'Settings/Booking',\r\n        translate: 'Settings.Booking',\r\n        active: false,\r\n        badge: 0,\r\n        order: 9,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    workingHours = {\r\n        name: 'workingHours',\r\n        route: 'Settings/WorkingHours',\r\n        translate: 'Settings.WorkHours',\r\n        active: false,\r\n        badge: 0,\r\n        order: 10,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    packages = {\r\n        name: 'packages',\r\n        route: 'Settings/Packages',\r\n        translate: 'Settings.Packages',\r\n        active: false,\r\n        badge: 0,\r\n        order: 11,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    categories = {\r\n        name: 'categories',\r\n        route: 'Settings/Categories',\r\n        translate: 'Settings.Categories',\r\n        active: false,\r\n        badge: 0,\r\n        order: 12,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    price = {\r\n        name: 'price',\r\n        route: 'Settings/Price',\r\n        translate: 'Settings.PriceProfit',\r\n        active: false,\r\n        badge: 0,\r\n        order: 13,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    startpage = {\r\n        name: 'startpage',\r\n        route: 'Settings/Startpage',\r\n        translate: 'BookingSettings.StartPage.Title',\r\n        active: false,\r\n        badge: 0,\r\n        order: 14,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    ourLocations = {\r\n        name: 'ourLocations',\r\n        route: 'Settings/OurLocations',\r\n        translate: 'Standard.OurLocations',\r\n        active: false,\r\n        badge: 0,\r\n        order: 15,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    subscription = {\r\n        name: 'subscription',\r\n        route: 'Settings/Subscription',\r\n        translate: 'Settings.YourSubscription',\r\n        active: false,\r\n        badge: 0,\r\n        order: 16,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    distributor = {\r\n        name: 'distributor',\r\n        route: 'Settings/Distributor',\r\n        translate: 'Settings.Partners',\r\n        active: false,\r\n        badge: 0,\r\n        order: 17,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    gdpr = {\r\n        name: 'gdpr',\r\n        route: 'Settings/Gdpr',\r\n        translate: 'GDPR',\r\n        active: false,\r\n        badge: 0,\r\n        order: 18,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    klarpris = {\r\n        name: 'klarpris',\r\n        route: 'Settings/Integrations/KlarPris',\r\n        translate: 'Integrations.Klarpris',\r\n        active: false,\r\n        badge: 0,\r\n        order: 19,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    scalepoint = {\r\n        name: 'scalepoint',\r\n        route: 'Settings/Integrations/Scalepoint',\r\n        translate: 'Integrations.Scalepoint',\r\n        active: false,\r\n        badge: 0,\r\n        order: 20,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    requisitions = {\r\n        name: 'requisitions',\r\n        route: 'Settings/Requisitions',\r\n        translate: 'Standard.Requisitions',\r\n        active: false,\r\n        badge: 0,\r\n        order: 21,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    minuba = {\r\n        name: 'minuba',\r\n        route: 'Settings/Integrations/Minuba',\r\n        translate: 'Integrations.Minuba',\r\n        active: false,\r\n        badge: 0,\r\n        order: 22,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    ekomplet = {\r\n        name: 'ekomplet',\r\n        route: 'Settings/Integrations/E-Komplet',\r\n        translate: 'Integrations.e-komplet',\r\n        active: false,\r\n        badge: 0,\r\n        order: 23,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    ordrestyring = {\r\n        name: 'ordrestyring',\r\n        route: 'Settings/Integrations/OS',\r\n        translate: 'Integrations.Ordrestyring',\r\n        active: false,\r\n        badge: 0,\r\n        order: 24,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    bewise = {\r\n        name: 'bewise',\r\n        route: 'Settings/Integrations/Bewise',\r\n        translate: 'Bewise',\r\n        active: false,\r\n        badge: 0,\r\n        order: 25,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    templates = {\r\n        name: 'templates',\r\n        route: 'Settings/Templates',\r\n        translate: 'Standard.Templates',\r\n        active: false,\r\n        badge: 0,\r\n        order: 25,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n}\r\n\r\nexport class JubloSettingsItems {\r\n    pdfDesigner = {\r\n        name: 'pdfDesigner',\r\n        route: 'Settings/Pdf-design',\r\n        translate: 'PDF designer',\r\n        active: false,\r\n        badge: 0,\r\n        order: 1,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    cssDesigner = {\r\n        name: 'cssDesigner',\r\n        route: 'Settings/Designer',\r\n        translate: 'CSS Designer',\r\n        active: false,\r\n        badge: 0,\r\n        order: 2,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    modules = {\r\n        name: 'modules',\r\n        route: 'Settings/Jublo/Modules',\r\n        translate: 'Moduler',\r\n        active: false,\r\n        badge: 0,\r\n        order: 3,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    newReports = {\r\n        name: 'newReports',\r\n        route: 'newReports/Offer',\r\n        translate: 'Nye rapporter (ikke færdig)',\r\n        active: false,\r\n        badge: 0,\r\n        order: 4,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n    customForms = {\r\n        name: 'customForms',\r\n        route: 'Settings/CustomForms',\r\n        translate: 'Settings.CustomForms',\r\n        active: false,\r\n        badge: 0,\r\n        order: 5,\r\n        icon: ['M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z']\r\n    }\r\n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport * as api from '../../shared/api/apihandler';\r\n\r\nexport class TopBarFunctions {\r\n    constructor(private http:HttpClient){}\r\n\r\n    superSearch(searchValue:string){\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n        return this.http.post(api.jubloApi + 'api/Search', {'searchValue':searchValue},{headers})\r\n    }\r\n\r\n    static transformSearchResults(result: OriginalSearchResult[]): SuperSearchResults[] {\r\n        return result.map(obj => {\r\n            return {\r\n              searchScore: obj['@search.score'],\r\n              caseId: obj.CaseId,\r\n              title: obj.Title,\r\n              description: obj.Description,\r\n              companyId: obj.CompanyId,\r\n              offerId: obj.OfferId,\r\n              offerTitle: obj.OfferTitle,\r\n              offerDescription: obj.OfferDescription,\r\n              technicalDescription: obj.TechnicalDescription,\r\n              disclaimer: obj.Disclaimer,\r\n              offerNumber: obj.OfferNumber,\r\n              caseNumber: obj.CaseNumber,\r\n              customerId: obj.CustomerId,\r\n              name: obj.Name,\r\n              address: obj.Address,\r\n              city: obj.City,\r\n              zipCode: obj.ZipCode,\r\n              customerName: obj.customerName,\r\n              customerAddress: obj.customerAddress,\r\n              customerZipCode: obj.customerZipCode,\r\n              customerCity: obj.customerCity\r\n            };\r\n        })\r\n      };\r\n\r\n    reportIssue(reportForm:JubloIssueReportForm){\r\n      const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n      return this.http.post(api.jubloApi + `api/Website/Support`, reportForm, { headers })\r\n    }\r\n}\r\n\r\nexport class OriginalSearchResult {\r\n    \"@search.score\": number;\r\n    CaseId: string;\r\n    Title: string | null;\r\n    Description: string | null;\r\n    CompanyId: string | null;\r\n    OfferId: string | null;\r\n    OfferTitle: string | null;\r\n    OfferDescription: string | null;\r\n    TechnicalDescription: string | null;\r\n    Disclaimer: string | null;\r\n    OfferNumber: number | null;\r\n    CaseNumber: string | null;\r\n    CustomerId: string | null;\r\n    Name: string | null;\r\n    Address: string | null;\r\n    City: string | null;\r\n    ZipCode: string | null;\r\n    customerName: string | null;\r\n    customerAddress: string | null;\r\n    customerZipCode: string | null;\r\n    customerCity: string | null;\r\n  }\r\n\r\nexport class SuperSearchResults {\r\n    searchScore: number;\r\n    caseId: string;\r\n    title: string | null;\r\n    description: string | null;\r\n    companyId: string | null;\r\n    offerId: string | null;\r\n    offerTitle: string | null;\r\n    offerDescription: string | null;\r\n    technicalDescription: string | null;\r\n    disclaimer: string | null;\r\n    offerNumber: number | null;\r\n    caseNumber: string | null;\r\n    customerId: string | null;\r\n    name: string | null;\r\n    address: string | null;\r\n    city: string | null;\r\n    zipCode: string | null;\r\n    customerName: string | null;\r\n    customerAddress: string | null;\r\n    customerZipCode: string | null;\r\n    customerCity: string | null;\r\n}\r\n\r\nexport class JubloIssueReportForm {\r\n  title: string = '';\r\n  message: string = '';\r\n  notificationSetId: string = 'D3F83DF6-6ED4-416E-AA80-6D124380FEF7';\r\n  disableNotification: boolean = true;\r\n  isAdmin:boolean;\r\n  userId:string | null = null;\r\n  companyId:string;\r\n  packageDistributorId:string;\r\n  stageId:string;\r\n}","import { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { SharedDataService, StakeholderMessages } from 'app/shared/services/shared-data.service';\r\nimport { CompanyInformation } from 'app/shared-html-components/details/models';\r\nimport { ColorList } from './topbarData';\r\nimport * as api from '../../shared/api/apihandler';\r\nimport { Companies } from '../navbar/navbar.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ActivatedRoute, Router, NavigationEnd, NavigationStart } from '@angular/router';\r\nimport { JubloIssueReportForm, OriginalSearchResult, SuperSearchResults, TopBarFunctions } from './topbar-function';\r\nimport { UserService } from 'app/shared/services/user.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { SearchContext } from 'app/shared/models/user.models';\r\nimport { SubscriptionObject } from 'app/shared/models/standard.models';\r\n\r\n@Component({\r\n  selector: 'app-topbar',\r\n  templateUrl: './topbar.component.html',\r\n  styleUrls: ['./topbar.component.css']\r\n})\r\nexport class TopbarComponent implements OnInit, OnDestroy {\r\n  @Input() menuFull;\r\n  @Output() loginStatus = new EventEmitter<boolean>();\r\n  f = new TopBarFunctions(this.http);\r\n  userInfo;\r\n  compInfo: CompanyInformation;\r\n  multipleCompanies: Array<Companies>;\r\n  messages: Array<StakeholderMessages>;\r\n  newsec = false;\r\n  messageBadge = 0;\r\n  showUserSwitch:boolean = false;\r\n  reportForm = new JubloIssueReportForm();\r\n  subs: SubscriptionObject = {}\r\n\r\n  constructor(\r\n    private sharedData: SharedDataService, \r\n    private http: HttpClient, \r\n    private translate: TranslateService, \r\n    private sanitizer: DomSanitizer, \r\n    private router: Router, \r\n    private route: ActivatedRoute,\r\n    public user: UserService\r\n    ) { }\r\n\r\n  ngOnInit(): void {\r\n    this.subs['companyInformation'] = this.sharedData.companyInformation().subscribe(data => {\r\n      if (!!data) {\r\n        this.compInfo = data;\r\n        this.newsec = this.compInfo.companyNumber == 32523 || this.compInfo.companyNumber == 33469 || this.compInfo.companyNumber == 33661;\r\n        this.getUserCompanies();\r\n      }\r\n    });\r\n    this.subs['user'] = this.user.user().subscribe({\r\n      next:(data)=> { this.userInfo = data },\r\n      error:(err) => console.error('User data could not be loaded', err)\r\n    });\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    for(let key of Object.keys(this.subs)) this.subs[key].unsubscribe();\r\n  }\r\n\r\n  getUserCompanies() {\r\n    const headers = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': localStorage.getItem('bearer') });\r\n    this.http.get(api.jubloApi + 'api/WebSite/Company/User/GetUserCompanies/', { headers }).subscribe((data: Array<Companies>) => {\r\n      if (data != null) {\r\n        this.multipleCompanies = data.filter(x => x.companyId != this.compInfo.id);\r\n      }\r\n    });\r\n  }\r\n\r\n  getAlertMessagesToStakeholder() {\r\n    this.sharedData.StakeholderMessages().subscribe((data: any) => {\r\n      if (!!data && data != undefined) {\r\n        this.messages = data.sort((a, b) => { return a.createdAt > b.createdAt ? -1 : 1 });\r\n        for (let x of this.messages) {\r\n          if (typeof(x.message) == 'string') {\r\n            let m = x.message.split(' ');\r\n            let message = '';\r\n            for (let s of m) { \r\n              message = message + (!!s ? this.translate.instant(s) : '') + ' '; \r\n            }\r\n            x.message = this.sanitizer.bypassSecurityTrustHtml( message);\r\n            x.cleanMessage = !!x.message && !!x.message.changingThisBreaksApplicationSecurity ? x.message.changingThisBreaksApplicationSecurity.replace('&nbsp;',' ').split('<br>').join('\\n').replace(/(<([^>]+)>)/gi, \"\") : '';\r\n            x.since = this.timeSince(this.convertUTCDateToLocalDate(new Date(x.createdAt)));\r\n            if (x.seenAt == null) { this.messageBadge = this.messageBadge + 1; }\r\n          }\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  convertUTCDateToLocalDate(date) {\r\n    var newDate = new Date(date.getTime() + date.getTimezoneOffset() * 60 * 1000);\r\n    var offset = date.getTimezoneOffset() / 60;\r\n    var hours = date.getHours();\r\n    newDate.setHours(hours - offset);\r\n    return newDate;   \r\n  }\r\n\r\n  timeSince(value: any): any {\r\n    if (value) {\r\n        const seconds = Math.floor((+new Date() - +new Date(value)) / 1000);\r\n        if (seconds < 29) // less than 30 seconds ago will show as 'Just now'\r\n          return 'Lige nu';\r\n            const intervals = {\r\n              'år': 31536000,\r\n              'måned': 2592000,\r\n              'uge': 604800,\r\n              'dag': 86400,\r\n              'time': 3600,\r\n              'minut': 60,\r\n              'sekunder': 1\r\n            };\r\n        let counter;\r\n        for (const i in intervals) {\r\n          counter = Math.floor(seconds / intervals[i]);\r\n          if (counter > 0) {\r\n            if (counter === 1 || i == 'sekunder' || i == 'år') {\r\n              return counter + ' ' + i + ' siden';\r\n            } else {\r\n              if (i == 'måned') {\r\n                return counter + ' ' + i + 'er siden';\r\n              }\r\n              if (i == 'dag') {\r\n                return counter + ' ' + i + 'e siden';\r\n              }\r\n              if (i == 'minut') {\r\n                return counter + ' ' + i + 'ter siden';\r\n              }\r\n              if (i == 'uge' || i == 'time') {\r\n                return counter + ' ' + i + 'r siden';\r\n              }\r\n            }\r\n          }\r\n        }\r\n    }\r\n    return value;\r\n  }\r\n\r\n  findColor(type) {\r\n    switch (type) {\r\n      case 'b':{\r\n        if (!!this.userInfo && !!this.userInfo.name && !!ColorList.colors[this.userInfo.name.slice(0,1)]) {\r\n          return ColorList.colors[this.userInfo.name.slice(0,1).toUpperCase()].background;\r\n        } else {\r\n          return '#1F539F';\r\n        }}\r\n      default:\r\n        if (!!this.userInfo && !!this.userInfo.name && !!ColorList.colors[this.userInfo.name.slice(0,1)]) {\r\n          return ColorList.colors[this.userInfo.name.slice(0,1).toUpperCase()].color;\r\n        } else {\r\n          return 'white';\r\n        }\r\n    }\r\n  }\r\n\r\n  keyPressIgnore(event:KeyboardEvent){\r\n    if(['Enter', 'ArrowUp', 'ArrowDown'].includes(event.key)) event.preventDefault();\r\n  }\r\n\r\n  changeCompany(c) {\r\n    localStorage.clear();\r\n    this.sharedData.clearAll();\r\n    this.router.navigate(['login/accessToken/' + c.stakeholderId]);\r\n  }\r\n\r\n  logout(){\r\n    this.loginStatus.emit(false);\r\n    localStorage.clear();\r\n    this.sharedData.clearAll();\r\n    this.router.navigateByUrl('login');\r\n  }\r\n\r\n  sendIssueReport(){\r\n    this.reportForm.stageId = 'cb12af15-3464-40a5-9603-a229b351c5d7'; \r\n    this.f.reportIssue({...this.reportForm, disableNotification: !this.reportForm.disableNotification  }).subscribe({\r\n      error:(err) => console.error('Could not report issue', err),\r\n      complete:() => {\r\n        this.reportForm = new JubloIssueReportForm();\r\n      }\r\n    })\r\n  }\r\n}\r\n\r\n\r\n","<div id=\"jublo-topbar\" class=\"topBarContent flex-between\">\r\n    <div class=\"p-0\">\r\n        <breadcrumb></breadcrumb>\r\n    </div>\r\n    <div class=\"p-0 topBarColRight position-relative\">\r\n        <div class=\"userSwitch w-100 position-absolute flex-column gap-1 p-0\" [ngStyle]=\"{'display': showUserSwitch ? 'flex' : 'none' }\">\r\n            <!-- Profile -->\r\n\r\n            <!-- User Switch -->\r\n            <div class=\"d-flex gap-3 align-items-center p-3\" *ngFor=\"let x of multipleCompanies\" (click)=\"changeCompany(x); showUserSwitch = false;\">\r\n                <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\">\r\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M17.982 18.725A7.488 7.488 0 0012 15.75a7.488 7.488 0 00-5.982 2.975m11.963 0a9 9 0 10-11.963 0m11.963 0A8.966 8.966 0 0112 21a8.966 8.966 0 01-5.982-2.275M15 9.75a3 3 0 11-6 0 3 3 0 016 0z\" />\r\n                </svg>\r\n                <div>{{ x.companyName }}</div>\r\n            </div>\r\n            <!-- Report Issue -->\r\n            <div class=\"w-100 border-top p-3 d-flex gap-3 align-items-center\" data-toggle=\"modal\" data-target=\"#jubloIssueReportModal\" (click)=\"showUserSwitch = false;\">\r\n                <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\">\r\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\" />\r\n                </svg>\r\n                {{ 'Support.ReportIssue' | translate }}\r\n            </div>\r\n            <div class=\"w-100 border-top d-flex gap-3 p-3\" (click)=\"logout(); showUserSwitch = false;\">\r\n                <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon mr-2\" [ngClass]=\"!menuFull ? 'hero-icon-center' : ''\">\r\n                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15.75 9V5.25A2.25 2.25 0 0013.5 3h-6a2.25 2.25 0 00-2.25 2.25v13.5A2.25 2.25 0 007.5 21h6a2.25 2.25 0 002.25-2.25V15M12 9l-3 3m0 0l3 3m-3-3h12.75\" />\r\n                </svg> \r\n                {{ 'Header.LogOut' | translate }}\r\n            </div>\r\n        </div>\r\n        <div (click)=\"showUserSwitch = !showUserSwitch\">\r\n            <button class=\"btn btn-circle\" [style.backgroundColor]=\"findColor('b')\" [style.color]=\"findColor('c')\">{{ user.getInitials(userInfo?.name) }}</button>\r\n        </div>\r\n        <div class=\"d-none d-md-flex flex-column ml-2 cursor-pointer\" (click)=\"showUserSwitch = !showUserSwitch\">\r\n            <div class=\"userName\" *ngIf=\"!!userInfo\">{{ userInfo.name.length > 16 ? ((userInfo.name | slice:0:16) + '...') : userInfo.name }}</div>\r\n            <div class=\"companyName\" *ngIf=\"!!compInfo && !!compInfo.name\">{{ compInfo.name.length > 17 ? ((compInfo.name | slice:0:17) + '...') : compInfo.name }}</div>\r\n        </div>\r\n    </div>\r\n</div>\r\n\r\n<div id=\"jubloIssueReportModal\" class=\"modal fade\">\r\n    <div class=\"modal-dialog\">\r\n        <div class=\"modal-content\">\r\n            <div class=\"modal-header\">\r\n                <h5 class=\"d-flex align-items-center gap-3\">\r\n                    <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\">\r\n                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z\" />\r\n                    </svg>\r\n                    {{ 'Support.ReportIssue' | translate }}\r\n                </h5>\r\n                <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n                    <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n                        <path d=\"M1 11L11 1M1 1L11 11\" stroke=\"black\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n                    </svg>\r\n                </button>\r\n            </div>\r\n            <div class=\"modal-body d-flex flex-column gap-3\" *ngIf=\"userInfo\">\r\n                <div class=\"card\">\r\n                    <div class=\"card-body bg-grey d-flex flex-column gap-3\">\r\n                        <div class=\"font-weight-bold\">{{ 'Support.ReportedAs' | translate }}</div>\r\n                        <div class=\"d-flex align-items-center gap-3\">\r\n                            <button class=\"btn btn-circle\" [style.backgroundColor]=\"findColor('b')\" [style.color]=\"findColor('c')\">{{ userInfo?.name | slice:0:1 }}</button>\r\n                            <div class=\"d-flex flex-column\">\r\n                                <div class=\"userName\" *ngIf=\"!!userInfo\">{{ userInfo.name }}</div>\r\n                                <div class=\"companyName\" *ngIf=\"!!compInfo && !!compInfo.name\">{{ compInfo.name }}</div>\r\n                            </div>\r\n                        </div>\r\n                        <div class=\"d-flex gap-3 align-items-center\">\r\n                            <div class=\"d-flex gap-1 align-items-center\">\r\n                                <div class=\"font-weight-bold text-small\">{{ 'Standard.Email' | translate }}:</div>\r\n                                <div>{{ userInfo.email }}</div>\r\n                            </div>\r\n                        </div>\r\n                    </div>\r\n                </div>\r\n                <div class=\"d-flex flex-column gap-1\">\r\n                    <div>{{ 'Message.Subject' | translate }}</div>\r\n                    <input type=\"text\" class=\"form-control\" [(ngModel)]=\"reportForm.title\" placeholder=\"{{ 'Message.Subject' | translate }}\">\r\n                </div>\r\n                <div class=\"d-flex flex-column gap-1\">\r\n                    <div>{{ 'Standard.Description' | translate }}</div>\r\n                    <textarea cols=\"30\" rows=\"10\" class=\"form-control\" [(ngModel)]=\"reportForm.message\" placeholder=\"{{ 'Support.DescribeIssue' | translate }}\"></textarea>\r\n                </div>\r\n                <div class=\"form-check form-switch\">\r\n                    <input class=\"form-check-input\" type=\"checkbox\" role=\"switch\" [(ngModel)]=\"reportForm.disableNotification\" id=\"getIssueNotifications\">\r\n                    <label class=\"form-check-label\" for=\"getIssueNotifications\">{{ 'Support.RecieveNotificationsOnActivity' | translate }}</label>\r\n                </div>\r\n            </div>\r\n            <div class=\"modal-footer justify-content-end gap-3\">\r\n                <button class=\"btn btn-secondary\" data-dismiss=\"modal\">{{ 'Buttons.Close' | translate }}</button>\r\n                <button class=\"btn btn-primary\" data-dismiss=\"modal\" (click)=\"sendIssueReport()\" [disabled]=\"!reportForm.message\">{{ 'Buttons.Send' | translate }}</button>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>","interface ColorDefinition {\r\n    background: string;\r\n    color: string;\r\n}\r\n\r\nexport class ColorList {\r\n    static colors: Record<string, ColorDefinition> = {\r\n        'A': { background: '#9FA8DA', color: 'white' },\r\n        'B': { background: '#6EBAF7', color: 'white' },\r\n        'C': { background: '#5ECBD9', color: 'white' },\r\n        'D': { background: '#5CBCB3', color: 'white' },\r\n        'E': { background: '#78CE7C', color: 'white' },\r\n        'F': { background: '#6EBAF7', color: 'white' },\r\n        'G': { background: '#B4B3A2', color: 'white' },\r\n        'H': { background: '#B4B3A2', color: 'white' },\r\n        'I': { background: '#6994BF', color: 'white' },\r\n        'J': { background: '#F0AA75', color: 'white' },\r\n        'K': { background: '#BCAAA4', color: 'white' },\r\n        'L': { background: '#8C9EFF', color: 'white' },\r\n        'M': { background: '#5CBCB3', color: 'white' },\r\n        'N': { background: '#6994BF', color: 'white' },\r\n        'O': { background: '#78CE7C', color: 'white' },\r\n        'P': { background: '#9FA8DA', color: 'white' },\r\n        'Q': { background: '#78CE7C', color: 'white' },\r\n        'R': { background: '#8C9EFF', color: 'white' },\r\n        'S': { background: '#BCAAA4', color: 'white' },\r\n        'T': { background: '#8C9EFF', color: 'white' },\r\n        'U': { background: '#F0AA75', color: 'white' },\r\n        'V': { background: '#5CBCB3', color: 'white' },\r\n        'W': { background: '#6EBAF7', color: 'white' },\r\n        'X': { background: '#78CE7C', color: 'white' },\r\n        'Y': { background: '#F0AA75', color: 'white' },\r\n        'Z': { background: '#5ECBD9', color: 'white' },\r\n        'Æ': { background: '#9FA8DA', color: 'white' },\r\n        'Ø': { background: '#6EBAF7', color: 'white' },\r\n        'Å': { background: '#5ECBD9', color: 'white' },\r\n        '0': { background: '#9FA8DA', color: 'white' },\r\n        '1': { background: '#6EBAF7', color: 'white' },\r\n        '2': { background: '#5ECBD9', color: 'white' },\r\n        '3': { background: '#5CBCB3', color: 'white' },\r\n        '4': { background: '#78CE7C', color: 'white' },\r\n        '5': { background: '#6EBAF7', color: 'white' },\r\n        '6': { background: '#B4B3A2', color: 'white' },\r\n        '7': { background: '#B4B3A2', color: 'white' },\r\n        '8': { background: '#6994BF', color: 'white' },\r\n        '9': { background: '#F0AA75', color: 'white' }\r\n    }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';\r\nimport { SharedDataService } from 'app/shared/services/shared-data.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { CustomerList } from 'app/customers/customer-card/customer-card.component';\r\nimport { ColorList } from 'app/bars/topbar/topbarData';\r\nimport { parsePhoneNumberFromString, PhoneNumber } from 'libphonenumber-js';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { CompanyInformation } from '../../shared-html-components/details/models';\r\n\r\nimport * as api from '../../shared/api/apihandler';\r\nimport { AddCustomer } from 'app/customers/customer-models';\r\nimport { SubscriptionObject } from 'app/shared/models/standard.models';\r\nimport { DAWA } from 'app/shared/utilities/dawa';\r\n\r\n@Component({\r\n  selector: 'case-customer',\r\n  templateUrl: './case-customer.component.html',\r\n  styleUrls: ['./case-customer.component.css']\r\n})\r\nexport class CaseCustomerComponent implements OnInit, OnChanges, OnDestroy {\r\n\r\n  @Input() step: string = 'final';\r\n  @Input() propertyId: string | null = null;\r\n  @Output() stepChange = new EventEmitter();\r\n  @Input() do: any;\r\n  @Input() newCaseCustomer;\r\n  @Input() customerId: string;\r\n  @Input() deliveryId: string;\r\n  @Input() contactId: string;\r\n  @Output() choose = new EventEmitter();\r\n  @Output() com = new EventEmitter();\r\n  @Output() update = new EventEmitter();\r\n  @Output() listener = new EventEmitter();\r\n  allCustomers: Array<CustomerList>;\r\n  shownCustomers: Array<CustomerList>;\r\n  deliveryAddresses: any;\r\n  contactdeliveryAddresses: any;\r\n  searchVal: string = '';\r\n  companyInfo;\r\n  @Input() deliveryToCase: AddCustomer;\r\n\r\n  descending: boolean = false;\r\n  startIndex: number = 0;\r\n  endIndex: number = 30;\r\n  who: string = '';\r\n  searchAmount: number = 60;\r\n  scrollDistance: number = 1;\r\n  scrollUpDistance: number = 2;\r\n  throttle: number = 150;\r\n  modelChanged: Subject<string> = new Subject<string>();\r\n  debounceTime: number = 500;\r\n  subs: SubscriptionObject = {};\r\n\r\n  newDelivery: boolean = false;\r\n  newContact: boolean = false;\r\n  deliverySearch: string = '';\r\n  contactSearch: string = '';\r\n  options = new CustomerOptions();\r\n  highlightedCustomer: any;\r\n\r\n  constructor(private http: HttpClient, private sharedData: SharedDataService) { }\r\n\r\n  ngOnInit(): void {\r\n    this.getCustomers(this.startIndex, this.endIndex);\r\n    this.subs['modelChanged'] = this.modelChanged.pipe(debounceTime(this.debounceTime)).subscribe(() => { this.searchCustomers(); });\r\n    this.subs['companyInformation'] = this.sharedData.companyInformation().subscribe((data: CompanyInformation) => this.companyInfo = data );\r\n  }\r\n\r\n  ngOnChanges(change: SimpleChanges) {\r\n    // console.log(change);\r\n    // console.log(this.options);\r\n    if (!!change && !!change.do && !!change.do.currentValue) {\r\n      if (!this.newCaseCustomer) {\r\n        switch (change.do.currentValue) {\r\n          case ('reset'): {\r\n            this.options = new CustomerOptions();\r\n            break;\r\n          }\r\n          case ('createCustomer'): {\r\n            this.addCustomer();\r\n            break;\r\n          }\r\n          case ('resetNewDelivery'): {\r\n            this.options.delivery = null;\r\n            break;\r\n          }\r\n          case ('resetNewContact'): {\r\n            this.options.contact = null;\r\n            break;\r\n          }\r\n          case ('chooseCustomer'): {\r\n            if (this.options.leases == null || this.options.leases.length == 0) {\r\n              this.stepChange.emit('final')\r\n            }\r\n            break;\r\n          }\r\n          case ('chooseDelivery'): {\r\n            if (this.options.delivery.deliveryId == null) {\r\n              this.addNewDeliveryAddress(this.options.delivery);\r\n            }\r\n            else {\r\n              this.editDeliveryAddress(this.options.delivery);\r\n            }\r\n            break;\r\n          }\r\n          case ('chooseContact'): {\r\n            if (this.options.contact.id == null) {\r\n              this.addNewContactAddress(this.options.contact);\r\n            }\r\n            else {\r\n              this.editContactAddress(this.options.contact);\r\n            }\r\n            break;\r\n          }\r\n          case ('editCustomer'): {\r\n            this.saveEditedCustomer();\r\n            break;\r\n          }\r\n          case ('back'): {\r\n            break;\r\n          }\r\n          case ('removeContact'): {\r\n            this.options.contact = null;\r\n            this.updateCustomer()\r\n            break;\r\n          }\r\n        }\r\n      }\r\n      else { }\r\n      this.do = null;\r\n      this.updateCustomer();\r\n    }\r\n    if (!!change && change.customerId && !!change.customerId.currentValue && change.customerId.currentValue != change.customerId.previousValue) {\r\n      this.highlightedCustomer = change.customerId.currentValue;\r\n      this.getCustomerById();\r\n      this.getPropertyLeasesById();\r\n    }\r\n    if (!!change && change.notification && !!change.notification.currentValue) {\r\n      this.options.notificationAddress = change.notification.currentValue;\r\n    }\r\n    if (!!change && change.deliveryId && !!change.deliveryId.currentValue && change.deliveryId.currentValue != change.deliveryId.previousValue && this.options.filteredDelivery.length != 0) {\r\n      //console.log('deliveryId', change.deliveryId.currentValue)\r\n      this.options.delivery = this.options.filteredDelivery.find(x => x.deliveryId == change.deliveryId.currentValue);\r\n    }\r\n    if (!!change && change.contactId && !!change.contactId.currentValue && change.contactId.currentValue != change.contactId.previousValue && this.options.filteredContacts.length != 0) {\r\n      //console.log('contact', change.contactId.currentValue)\r\n      this.options.contact = this.options.filteredContacts.find(x => x.id == change.contactId.currentValue)\r\n    }\r\n    if (!!change && change.newCaseCustomer && !!change.newCaseCustomer.currentValue) {\r\n      this.options = new CustomerOptions();\r\n      this.updateCustomer();\r\n    }\r\n    if (!!change && change.deliveryToCase && !!change.deliveryToCase.currentValue) {\r\n      let c = new SingleCustomer();\r\n      c.customerName = this.deliveryToCase.customerName;\r\n      c.invoiceName = this.deliveryToCase.invoiceName;\r\n      c.customerAddress = this.deliveryToCase.customerAddress;\r\n      c.invoiceAddress = this.deliveryToCase.invoiceAddress;\r\n      c.customerZipCode = this.deliveryToCase.customerZipCode;\r\n      c.invoiceZipCode = this.deliveryToCase.invoiceZipCode;\r\n      c.customerCity = this.deliveryToCase.customerCity;\r\n      c.invoiceCity = this.deliveryToCase.invoiceCity;\r\n      c.customerPhone = this.deliveryToCase.customerTelephone;\r\n      c.invoicePhone = this.deliveryToCase.invoiceTelephone;\r\n      c.customerMobile = this.deliveryToCase.customerMobile;\r\n      c.invoiceMobile = this.deliveryToCase.invoiceMobile;\r\n      c.customerMail = this.deliveryToCase.customerEmail;\r\n      c.invoiceEmail = this.deliveryToCase.invoiceEmail\r\n      this.options.customer = c;\r\n    }\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    for(let key of Object.keys(this.subs)) this.subs[key].unsubscribe();\r\n  }\r\n\r\n  getCustomers(start: number, stop: number) {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n    this.http.get<Array<CustomerList>>(api.jubloApi + 'api/Website/Customer/GetCustomersPagination/' + start.toString() + '/' + stop.toString(), { headers }).subscribe({\r\n      next: (data) => { this.allCustomers = data; },\r\n      error: err => console.error(err),\r\n      complete: () => {\r\n        if (!!this.allCustomers) {\r\n          this.sortCustomers(this.endIndex);\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  getCustomerSearch() {\r\n    if (this.who != '') {\r\n      if (this.propertyId == null) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        this.http.get<Array<CustomerList>>(api.jubloApi + 'api/Website/Customer/GetCustomersSearch/' + this.who + '/' + this.searchAmount, { headers }).subscribe({\r\n          next: (data) => { console.log(data); this.allCustomers = data; }\r\n        });\r\n      }\r\n    } else {\r\n      if (this.propertyId == null) {\r\n        this.startIndex = 0; this.endIndex = 50;\r\n        this.getCustomers(this.startIndex, this.endIndex);\r\n      }\r\n    }\r\n  }\r\n\r\n  searchCustomers() {\r\n    if (this.searchVal.length < 3) {\r\n      this.getCustomers(0, 30);\r\n    } else {\r\n      const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n      this.http.get<Array<CustomerList>>(api.jubloApi + 'api/Website/Customer/GetCustomersSearch/' + this.searchVal + '/50', { headers }).subscribe({\r\n        next: (data) => { console.log(data); this.allCustomers = data; },\r\n        error: err => console.error(err),\r\n        complete: () => {\r\n          if (!!this.allCustomers) {\r\n            this.sortCustomers(this.endIndex);\r\n          }\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  sortCustomers(end: number) {\r\n    let multi = this.descending ? 1 : -1;\r\n    this.shownCustomers = this.allCustomers.sort((a, b) => a.name?.toLowerCase() < b.name?.toLowerCase() ? (-1 * multi) : (1 * multi)).slice(0, end);\r\n  }\r\n\r\n  inputChanged() {\r\n    this.modelChanged.next(\"Searching\");\r\n  }\r\n\r\n  chooseCustomer(customer) {\r\n    if(!!this.options.customer && !!this.options.customer.customerId){\r\n      this.options = new CustomerOptions();\r\n    }\r\n    this.options.customer = customer;\r\n    this.highlightedCustomer = customer;\r\n    this.getCustomerById();\r\n    this.getPropertyLeasesById();\r\n  }\r\n\r\n  chooseDelivery(delivery) {\r\n    this.options.delivery = delivery;\r\n    this.stepChange.emit('final');\r\n    this.choose.emit(this.options);\r\n    this.updateCustomer();\r\n  }\r\n\r\n  chooseContact(contact) {\r\n    this.options.contact = contact;\r\n    this.stepChange.emit('final');\r\n    this.choose.emit(this.options);\r\n  }\r\n\r\n  onScrollDown() {\r\n    if (this.who == '') {\r\n      this.startIndex += 25;\r\n      this.endIndex += 25;\r\n      this.getCustomers(this.startIndex, this.endIndex);\r\n    } else {\r\n      this.searchAmount = this.searchAmount + 25\r\n      this.getCustomerSearch();\r\n    }\r\n  }\r\n\r\n  onDeliverySearch() {\r\n    let s = this.deliverySearch.toLowerCase();\r\n    this.options.filteredDelivery = this.options.customer.addresses.filter(\r\n      x => x.customerName != null && x.customerName.toLowerCase().match(s) ||\r\n        x.customerAddress != null && x.customerAddress.toLowerCase().match(s) ||\r\n        x.customerCity != null && x.customerCity.toLowerCase().match(s) ||\r\n        x.customerMail != null && x.customerMail.toLowerCase().match(s) ||\r\n        x.customerZipCode != null && x.customerZipCode.match(s) ||\r\n        x.customerPhone != null && x.customerPhone.match(s) ||\r\n        x.customerMobile != null && x.customerMobile.match(s)\r\n    )\r\n  }\r\n\r\n  addCustomer() {\r\n    let c = this.options.customer;\r\n    let customerPhone = c.customerPhone != null && c.customerPhone != '' ? parsePhoneNumberFromString(c.customerPhone, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n    let invoicePhone = c.invoicePhone != null && c.invoicePhone != '' ? parsePhoneNumberFromString(c.invoicePhone, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n    let customerMobilePhone = c.customerMobile != null && c.customerMobile != '' ? parsePhoneNumberFromString(c.customerMobile, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n    let invoiceMobilePhone = c.invoiceMobile != null && c.invoiceMobile != '' ? parsePhoneNumberFromString(c.invoiceMobile, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.http.post<string>(api.jubloApi + 'api/Website/Customer/AddCustomer', {\r\n      companyId: this.companyInfo.id,\r\n      number: null,\r\n      customerName: c.customerName,\r\n      customerAddress: c.customerAddress,\r\n      customerZipCode: c.customerZipCode,\r\n      customerCity: c.customerCity,\r\n      customerTelephone: customerPhone,\r\n      customerFax: '',\r\n      customerEmail: c.customerMail,\r\n      customerMobile: customerMobilePhone,\r\n      invoiceName: c.invoiceName,\r\n      invoiceAddress: c.invoiceAddress,\r\n      invoiceZipCode: c.invoiceZipCode,\r\n      invoiceCity: c.invoiceCity,\r\n      invoiceTelephone: invoicePhone,\r\n      invoiceFax: '',\r\n      invoiceEmail: c.invoiceEmail,\r\n      invoiceMobile: invoiceMobilePhone,\r\n      customerGroupExternalId: null,\r\n      cvr: c.cvr,\r\n      att: c.att,\r\n      ean: c.ean,\r\n      customerRemarks: '',\r\n      externalId: null\r\n    }, { headers }).subscribe({\r\n      next: (data) => {\r\n        this.options.customer.customerId = data;\r\n      },\r\n      error: err => console.error(err),\r\n      complete: () => {\r\n        if (!!this.options.delivery && !!this.options.delivery.deliveryId) {\r\n          this.options.delivery.deliveryId = null;\r\n          this.addNewDeliveryAddress(this.options.delivery);\r\n        }\r\n\r\n        if (!!this.options.contact && !!this.options.contact.id) {\r\n          this.options.contact.id = null;\r\n          this.addNewContactAddress(this.options.contact);\r\n        }\r\n        this.updateCustomer();\r\n      }\r\n    });\r\n  }\r\n\r\n  addNewDeliveryAddress(x: DeliveryAddress) {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.http.post(api.jubloApi + 'api/Website/Customer/AddDeliveryAddress', {\r\n      customerId: this.options.customer.customerId,\r\n      name: x.customerName,\r\n      address: x.customerAddress,\r\n      zipCode: x.customerZipCode,\r\n      city: x.customerCity,\r\n      telephone: x.customerPhone,\r\n      mobile: x.customerMobile,\r\n      email: x.customerMail,\r\n      ean: '',\r\n      att: ''\r\n    }, { headers }).subscribe(\r\n      (data: string) => {\r\n        this.options.customer.deliveryId = data;\r\n        this.options.delivery.deliveryId = data;\r\n        this.updateCustomer();\r\n      },\r\n      (response) => { },\r\n      () => { }\r\n    )\r\n  }\r\n\r\n  editDeliveryAddress(x: DeliveryAddress) {\r\n    let phone: PhoneNumber = x.customerPhone != null && x.customerPhone != '' ? parsePhoneNumberFromString(x.customerPhone, this.companyInfo.companyLanguage.slice(3)) : null;\r\n    let mobile: PhoneNumber = x.customerMobile != null && x.customerMobile != '' ? parsePhoneNumberFromString(x.customerMobile, this.companyInfo.companyLanguage.slice(3)) : null;\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n    this.http.put(api.jubloApi + 'api/Website/Customer/EditDelivery/' + x.deliveryId, {\r\n      \"name\": x.customerName,\r\n      \"address\": x.customerAddress,\r\n      \"city\": x.customerCity,\r\n      \"zipCode\": x.customerZipCode,\r\n      \"mobile\": mobile != null && mobile.number ? mobile.number : x.customerMobile,\r\n      \"phone\": phone != null && phone.number ? phone.number : x.customerPhone,\r\n      \"email\": x.customerMail,\r\n      ean: x.ean,\r\n      att: x.att\r\n    }, { headers }).subscribe(\r\n      val => { /*console.log('val', val);*/ },\r\n      response => { console.log('response', response); },\r\n      () => { }\r\n    );\r\n  }\r\n\r\n  addNewContactAddress(x: ContactAddress) {\r\n    let c = this.options.contact;\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n    this.http.post(api.jubloApi + 'api/Website/Customer/AddContactAddress', {\r\n      customerId: this.options.customer.customerId,\r\n      name: c.name,\r\n      address: c.address,\r\n      city: c.city,\r\n      zipCode: c.zipCode,\r\n      telephone: c.phone,\r\n      mobile: c.mobile,\r\n      email: c.email,\r\n      ean: c.ean,\r\n      att: c.att,\r\n      cvr: c.cvr,\r\n      fax: c.fax\r\n    }, { headers }).subscribe(\r\n      (data: string) => {\r\n        this.options.customer.contactId = data;\r\n        this.options.contact.id = data;\r\n        this.updateCustomer();\r\n      },\r\n      (response) => { },\r\n      () => { }\r\n    )\r\n  }\r\n\r\n  updateCustomer() {\r\n    this.update.emit(\r\n      {\r\n        customer: this.options.customer,\r\n        delivery: this.options.delivery,\r\n        contact: this.options.contact,\r\n        notification: this.options.notificationAddress,\r\n        notificationMailWarning: this.options.notificationMailWarning,\r\n        notificationMobileWarning: this.options.notificationMobileWarning,\r\n        leases: this.options.leases,\r\n        action: this.do\r\n      }\r\n    )\r\n  }\r\n\r\n  async addressLookup(type) {\r\n    if (this.companyInfo.companyLanguage == 'da-DK') {\r\n      this.options.dawaSearchType = type;\r\n      let o = this.options;\r\n      let post = '', zip, address;\r\n      switch (type) {\r\n        case ('customer'): {\r\n          zip = o.customer.customerZipCode;\r\n          address = o.customer.customerAddress;\r\n          ; break\r\n        }\r\n        case ('invoice'): {\r\n          zip = o.customer.invoiceZipCode;\r\n          address = o.customer.invoiceAddress;\r\n          ; break\r\n        }\r\n        case ('delivery'): {\r\n          zip = o.delivery.customerZipCode;\r\n          address = o.delivery.customerAddress;\r\n          ; break\r\n        }\r\n        case ('contact'): {\r\n          zip = o.contact.zipCode != null ? o.contact.zipCode : '';\r\n          address = o.contact.address != null ? o.contact.address : '';\r\n          ; break\r\n        }\r\n      }\r\n      if (!!zip && zip != '') { post = '&postnr=' + zip; }\r\n      this.http.get('https://dawa.aws.dk/adresser/autocomplete?q=' + address + post).subscribe((data: Array<DAWA>) => {\r\n        //console.log(data);\r\n        this.options.addressLookUp = data;\r\n      })\r\n    }\r\n  }\r\n\r\n  clickedOutsideOutput(event) {\r\n    if (this.options.addressLookUp != null) {\r\n      let box: any = document.getElementById('addressList').getBoundingClientRect();\r\n      if (event.clientX > box.x + box.width || event.clientX < box.x) { this.options.addressLookUp = null }\r\n      if (event.clientY > box.y + box.height || event.clientY < box.y) { this.options.addressLookUp = null }\r\n    }\r\n  }\r\n\r\n  cityLookup(type) {\r\n    if (this.companyInfo.companyLanguage == 'da-DK') {\r\n      let o = this.options;\r\n      let zip;\r\n      switch (type) {\r\n        case ('customer'): {\r\n          zip = o.customer.customerZipCode;\r\n          break\r\n        }\r\n        case ('invoice'): {\r\n          zip = o.customer.invoiceZipCode;\r\n          break\r\n        }\r\n        case ('delivery'): {\r\n          zip = o.delivery.customerZipCode;\r\n          break\r\n        }\r\n        case ('contact'): {\r\n          zip = o.contact.zipCode;\r\n          break\r\n        }\r\n      }\r\n      zip = zip.toString();\r\n      if (!!zip && zip.length == 4) {\r\n        this.http.get('https://dawa.aws.dk/postnumre/?nr=' + zip).subscribe((data: any) => {\r\n          switch (type) {\r\n            case ('customer'): {\r\n              o.customer.customerCity = data[0].navn;\r\n              break\r\n            }\r\n            case ('invoice'): {\r\n              o.customer.invoiceCity = data[0].navn;\r\n              break\r\n            }\r\n            case ('delivery'): {\r\n              o.delivery.customerCity = data[0].navn;\r\n              break\r\n            }\r\n            case ('contact'): {\r\n              o.contact.city = data[0].navn;\r\n              break\r\n            }\r\n          }\r\n        });\r\n      } \r\n    }\r\n  }\r\n\r\n  dawaToAddress(event, x: DAWA, where: string) {\r\n    let o = this.options;\r\n    let add = x.adresse.vejnavn;\r\n      if (x.adresse.husnr) { add = add + ' ' + x.adresse.husnr; }\r\n      if (x.adresse.etage) { add = add + ', ' + x.adresse.etage + '.'; }\r\n      if (x.adresse.dør) { add = add + ' ' + x.adresse.dør + '.'; }\r\n    switch (where) {\r\n      case ('customer'): {\r\n        o.customer.customerAddress = add;\r\n        if (x.adresse.postnr != null && x.adresse.postnr != o.customer.customerZipCode) { o.customer.customerZipCode = x.adresse.postnr }\r\n        if (x.adresse.postnrnavn != null && x.adresse.postnrnavn != o.customer.customerCity) { o.customer.customerCity = x.adresse.postnrnavn }\r\n        break\r\n      }\r\n      case ('invoice'): {\r\n        o.customer.invoiceAddress = add;\r\n        if (x.adresse.postnr != null && x.adresse.postnr != o.customer.invoiceZipCode) { o.customer.invoiceZipCode = x.adresse.postnr }\r\n        if (x.adresse.postnrnavn != null && x.adresse.postnrnavn != o.customer.invoiceCity) { o.customer.invoiceCity = x.adresse.postnrnavn }\r\n        break\r\n      }\r\n      case ('delivery'): {\r\n        o.delivery.customerAddress = add;\r\n        if (x.adresse.postnr != null && x.adresse.postnr != o.delivery.customerZipCode) { o.delivery.customerZipCode = x.adresse.postnr }\r\n        if (x.adresse.postnrnavn != null && x.adresse.postnrnavn != o.delivery.customerCity) { o.delivery.customerCity = x.adresse.postnrnavn }\r\n        break\r\n      }\r\n      case ('contact'): {\r\n        o.contact.address = add;\r\n        if (x.adresse.postnr != null && x.adresse.postnr != o.contact.zipCode) { o.contact.zipCode = x.adresse.postnr }\r\n        if (x.adresse.postnrnavn != null && x.adresse.postnrnavn != o.contact.city) { o.contact.city = x.adresse.postnrnavn }\r\n        break\r\n      }\r\n    }\r\n      this.options.addressLookUp = null;\r\n      this.options.dawaSearchType = null;\r\n  }\r\n\r\n  getCustomerById() {\r\n    if (!!this.highlightedCustomer && this.highlightedCustomer != this.options.customer.customerId) {\r\n      const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n      this.http.get<SingleCustomer>(api.jubloApi + 'api/Website/Customer/GetCustomerById/' + this.highlightedCustomer.customerId, { headers }).subscribe({\r\n        next: (data) => {\r\n          if (!!data) {\r\n            this.options.customer = data;\r\n            this.options.filteredDelivery = data.addresses;\r\n            this.options.filteredContacts = data.contactAddresse;\r\n            console.log(this.options.filteredDelivery);\r\n            console.log(this.options.filteredContacts);\r\n          }\r\n        },\r\n        error: err => console.error(err),\r\n        complete: () => {\r\n          // if (!!this.deliveryId) {\r\n          //   let d = this.options.filteredDelivery.find(x => x.deliveryId == this.deliveryId);\r\n          //   this.options.delivery = !!d ? d : this.options.delivery;\r\n          //   if (!d) {\r\n          //     this.options.delivery.deliveryId = null;\r\n          //     this.addNewDeliveryAddress(this.options.delivery)\r\n          //   };\r\n          //   //console.log('found delivery', this.options.delivery)\r\n          //   if (!!this.options.delivery) {\r\n          //     this.options.delivery.deliveryId == this.deliveryId;\r\n          //   }\r\n          // }\r\n          // if (!!this.contactId) {\r\n          //   let c = this.options.filteredContacts.find(x => x.id == this.contactId)\r\n          //   this.options.contact = !!c ? c : this.options.contact;\r\n          //   if (!c) {\r\n          //     this.options.contact.id = null;\r\n          //     this.addNewContactAddress(this.options.contact);\r\n          //   }\r\n          // }\r\n          // this.do = 'getCustomer';\r\n          // if (!!this.options.notificationAddress) {\r\n          //   this.validateNotification();\r\n          // }\r\n          // else { this.updateCustomer(); }\r\n\r\n            //   if (!this.options.customer) {\r\n            //   this.options.customer = new SingleCustomer();\r\n            //   this.stepChange.emit('newCustomer');\r\n            //   this.step = 'newCustomer';\r\n            //   this.updateCustomer();\r\n            // } else {\r\n            // }\r\n            this.stepChange.emit('final');\r\n            this.choose.emit(this.options.customer);\r\n        }\r\n      });\r\n    }\r\n  }\r\n\r\n  getPropertyLeasesById() {\r\n    if (!!this.highlightedCustomer) {\r\n      const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n      this.http.get(api.jubloApi + 'api/Website/Customer/GetCustomerPropertyLeases/' + this.highlightedCustomer.customerId, { headers }).subscribe(\r\n        (data: any) => {\r\n          this.options.leases = data;\r\n          this.options.filteredLeases = data;\r\n          this.updateCustomer();\r\n        },\r\n        (response) => { console.log('Error!', response) },\r\n        () => { }\r\n      )\r\n    }\r\n  }\r\n\r\n  validateNotification() {\r\n    // switch per notificationAddress. Check mail and phone number. Display warning if one is missing.\r\n    // Also report it out of the component.\r\n    switch (this.options.notificationAddress) {\r\n      case ('delivery'): {\r\n        this.options.notificationMailWarning = this.validateMail(this.options.delivery.customerMail);\r\n        this.options.notificationMobileWarning = this.validateMobile(this.options.delivery.customerMobile);\r\n        this.updateCustomer();\r\n        ; break\r\n      }\r\n      case ('invoice'): {\r\n        this.options.notificationMailWarning = this.validateMail(this.options.customer.invoiceEmail);\r\n        this.options.notificationMobileWarning = this.validateMobile(this.options.customer.invoiceMobile);\r\n        this.updateCustomer();\r\n        ; break\r\n      }\r\n      case ('customer'): {\r\n        this.options.notificationMailWarning = this.validateMail(this.options.customer.customerMail);\r\n        this.options.notificationMobileWarning = this.validateMobile(this.options.customer.customerMobile);\r\n        this.updateCustomer();\r\n        ; break\r\n      }\r\n      case ('contact'): {\r\n        this.options.notificationMailWarning = this.validateMail(this.options.contact.email);\r\n        this.options.notificationMobileWarning = this.validateMobile(this.options.contact.mobile);\r\n        this.updateCustomer();\r\n        ; break\r\n      }\r\n    }\r\n  }\r\n\r\n  validateMail(mail) {\r\n    if (mail == null || mail == '' || mail.split('@').length != 2) {\r\n      return true\r\n    }\r\n    return false\r\n  }\r\n\r\n  validateMobile(mobile) {\r\n    if (!mobile) return true;\r\n    else if( !!mobile && parsePhoneNumberFromString(mobile, this.companyInfo.companyLanguage.slice(3)) == null) return true;\r\n    return false\r\n  }\r\n\r\n  deliveryExists() {\r\n    let d = this.options.delivery;\r\n    if (!!this.deliveryId) { return true }\r\n    else if (!!d && (!!d.customerName || !!d.customerAddress || !!d.customerCity || !!d.customerMail || !!d.customerPhone || !!d.customerMobile)) { return true }\r\n    else {return false}\r\n  }\r\n\r\n  contactExists() {\r\n    let d = this.options.contact;\r\n    if (!!this.contactId) { return true }\r\n    else if (!!d && (!!d.name || !!d.address || !!d.city || !!d.email || !!d.phone || !!d.mobile || !!d.cvr || !!d.att)) { return true }\r\n    else { return false }\r\n  }\r\n\r\n  editContactAddress(x: ContactAddress) {\r\n    let phone = x.phone != null && x.phone != '' ? parsePhoneNumberFromString(x.phone, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n    let mobile = x.mobile != null && x.mobile != '' ? parsePhoneNumberFromString(x.mobile, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n    this.http.put(api.jubloApi + 'api/Website/Customer/EditContact/' + x.id, {\r\n      name: x.name,\r\n      address: x.address,\r\n      city: x.city,\r\n      zipCode: x.zipCode,\r\n      telephone: phone,\r\n      mobile: mobile,\r\n      email: x.email,\r\n      ean: x.ean,\r\n      att: x.att,\r\n      cvr: x.cvr,\r\n      fax: x.fax\r\n    }, { headers }).subscribe(\r\n      val => { /*console.log('val', val);*/ },\r\n      response => { console.log('response', response); },\r\n      () => { this.updateCustomer() }\r\n    );\r\n  }\r\n\r\n  saveEditedCustomer() {\r\n    this.validateNotification();\r\n    let c = this.options.customer;\r\n    let customerPhone = c.customerPhone != null && c.customerPhone != '' ? parsePhoneNumberFromString(c.customerPhone, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n    let invoicePhone = c.invoicePhone != null && c.invoicePhone != '' ? parsePhoneNumberFromString(c.invoicePhone, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n    let customerMobilePhone = c.customerMobile != null && c.customerMobile != '' ? parsePhoneNumberFromString(c.customerMobile, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n    let invoiceMobilePhone = c.invoiceMobile != null && c.invoiceMobile != '' ? parsePhoneNumberFromString(c.invoiceMobile, this.companyInfo.companyLanguage.slice(3)).number : '';\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n    this.http.put(api.jubloApi + 'api/Website/Customer/EditCustomer/' + c.customerId, {\r\n      name: c.customerName,\r\n      mobile: customerMobilePhone,\r\n      phone: customerPhone,\r\n      address: c.customerAddress,\r\n      city: c.customerCity,\r\n      zipCode: c.customerZipCode,\r\n      email: c.customerMail,\r\n      invoiceName: c.invoiceName,\r\n      invoicePhone: invoicePhone,\r\n      invoiceMobile: invoiceMobilePhone,\r\n      invoiceAddress: c.invoiceAddress,\r\n      invoiceCity: c.invoiceCity,\r\n      invoiceZipCode: c.invoiceZipCode,\r\n      invoiceEmail: c.invoiceEmail,\r\n      att: c.att,\r\n      cvr: c.cvr\r\n      //ean: c.ean\r\n    }, { headers }).subscribe(\r\n      val => { this.do = null },\r\n      response => { console.log('response', response); },\r\n      () => { });\r\n  }\r\n\r\n  addDeliveryContact(type: string) {\r\n    this.step = type;\r\n    this.stepChange.emit(this.step)\r\n  }\r\n\r\n  findColor(type, name) {\r\n    if(!!this.options) {\r\n      let init = !!this.options.delivery && !!this.options.delivery.customerAddress ? \r\n      this.options.delivery.customerAddress.trim().substring(0, 1).toUpperCase() : \r\n      (!!this.options.customer.customerAddress ? \r\n        this.options.customer.customerAddress.trim().substring(0, 1).toUpperCase() : \r\n        (!!this.options.customer.invoiceAddress ? \r\n          this.options.customer.invoiceAddress.trim().substring(0, 1).toUpperCase() : ''));\r\n      if (name == '') {\r\n        switch (type) {\r\n          case 'b':\r\n            if (!!init) {\r\n              return ColorList.colors[init].background;\r\n            } else {\r\n              return '#1F539F';\r\n            }\r\n          case 'c':\r\n            if (!!init) {\r\n              return ColorList.colors[init].color;\r\n            } else {\r\n              return 'white';\r\n            }\r\n          default:\r\n            if (!!init) {\r\n              return init;\r\n            } else {\r\n              return '';\r\n            }\r\n        }\r\n      } else {\r\n        if (!name) return;\r\n        init = name.replace(/[^a-zA-Z]/g, '').substring(0, 1).toUpperCase();\r\n        switch (type) {\r\n          case 'b':\r\n            if (!!init) {\r\n              return ColorList.colors[init].background;\r\n            } else {\r\n              return '#80b8f2';\r\n            }\r\n          case 'c':\r\n            if (!!init) {\r\n              return ColorList.colors[init].color;\r\n            } else {\r\n              return 'white';\r\n            }\r\n          default:\r\n            if (!!init) {\r\n              return init;\r\n            } else {\r\n              return '';\r\n            }\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  newDeliveryPrepare() {\r\n    this.options.delivery = new DeliveryAddress();\r\n    this.step = 'newDelivery';\r\n    this.stepChange.emit(this.step);\r\n    this.newDelivery = true;\r\n  }\r\n\r\n  newContactPrepare() {\r\n    this.options.contact = new ContactAddress();\r\n    this.step = 'newContact';\r\n    this.stepChange.emit(this.step);\r\n    this.newDelivery = true;\r\n  }\r\n\r\n  parentMessage(message){\r\n    this.com.emit(message)\r\n  }\r\n\r\n  squeal(){\r\n    this.listener.emit(this.options.customer)\r\n  }\r\n\r\n}\r\n\r\nexport class CustomerOptions {\r\n  step: string;\r\n  customer: SingleCustomer;\r\n  delivery: DeliveryAddress;\r\n  contact: ContactAddress;\r\n  lease: any;\r\n  leases: Array<any>;\r\n  notificationAddress: string = 'customer';\r\n  notificationMailWarning: boolean = false;\r\n  notificationMobileWarning: boolean = false;\r\n  resetCustomer() {\r\n    this.customer = new SingleCustomer();\r\n  }\r\n  filteredDelivery = [];\r\n  filteredContacts = [];\r\n  filteredLeases = [];\r\n  addressLookUp: Array<any>;\r\n  roadSize = 10;\r\n  dawaSearchType: string;\r\n}\r\n\r\nexport class DeliveryAddress {\r\n  deliveryId: string;\r\n  customerName: string;\r\n  customerAddress: string;\r\n  customerZipCode: string;\r\n  customerCity: string;\r\n  customerPhone: string;\r\n  customerMobile: string;\r\n  customerMail: string;\r\n  ean?: string;\r\n  att?: string;\r\n}\r\n\r\nexport class SingleCustomer {\r\n  att: string;\r\n  cvr: string;\r\n  ean: string;\r\n  contactAddresse: Array<ContactAddress>;\r\n  customerId: string;\r\n  deliveryId: string;\r\n  contactId: string;\r\n  customerGroup: string;\r\n  customer: string;\r\n  customerNumber:string;\r\n  customerName: string;\r\n  customerAddress: string;\r\n  customerZipCode: string;\r\n  customerCity:string;\r\n  customerPhone: string;\r\n  customerMobile: string;\r\n  customerMail: string;\r\n  externalId: string;\r\n  invoiceName: string;\r\n  invoiceAddress: string;\r\n  invoiceZipCode: string;\r\n  invoiceCity: string;\r\n  invoicePhone: string;\r\n  invoiceMobile: string;\r\n  invoiceEmail: string;\r\n  addresses: Array<DeliveryAddress>;\r\n  propertyInfo: Array<any>;\r\n}\r\n\r\nexport class ContactAddress {\r\n  id: string;\r\n  name: string;\r\n  address: string;\r\n  city: string;\r\n  zipCode: string;\r\n  phone: string;\r\n  mobile: string;\r\n  fax: string;\r\n  email: string;\r\n  ean: string;\r\n  att: string;\r\n  cvr: string;\r\n}","\r\n<!-- Choose/Search Customer -->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'chooseCustomer'\">\r\n    <div class=\"col-12 pt-1\">\r\n        <div class=\"form-row align-items-center\">\r\n            <div class=\"col-auto\">\r\n                <input type=\"text\" class=\"form-control\" id=\"inlineFormInput\" placeholder=\"{{ 'Standard.Search' | translate }}\" [(ngModel)]=\"searchVal\" (keyup)=\"inputChanged()\">\r\n            </div>\r\n            <div class=\"col-auto\" *ngIf=\"searchVal != '' && searchVal.length < 3\">\r\n                <i class=\"help-text\">{{ 'Standard.SearchMinChars' | translate }}</i>\r\n            </div>\r\n            <div class=\"col-auto ml-auto\">\r\n                <button type=\"submit\" class=\"btn btn-primary\" (click)=\"step = 'newCustomer'; parentMessage('newCustomer') ;options.resetCustomer()\">{{ 'Buttons.CreateNew' | translate }}</button>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <div class=\"col-12\">\r\n        <table id=\"customerTable\" (scrolled)=\"onScrollDown()\" aria-label=\"Customer table\">\r\n            <thead>\r\n                <tr>\r\n                    <th>{{ 'Standard.CustomerNumber' | translate }}</th>\r\n                    <th>{{ 'Standard.Name' | translate }}</th>\r\n                    <th>{{ 'Standard.Phone' | translate }}</th>\r\n                    <th>{{ 'Standard.Mobile' | translate }}</th>\r\n                    <th>{{ 'Standard.Address' | translate }}</th>\r\n                    <th>{{ 'Standard.Email' | translate }}</th>\r\n                </tr>\r\n            </thead>\r\n            <tbody id=\"customerTableBody\" *ngIf=\"!!shownCustomers\">\r\n                <tr *ngFor=\"let x of shownCustomers; trackBy: trackById\" (click)=\"chooseCustomer(x)\" [ngClass]=\"!!options && !!options.customer && options.customer == x ? 'selected' : ''\">\r\n                    <td>{{ x.customerNumber }}</td>\r\n                    <td>{{ x.name }}</td>\r\n                    <td>{{ x.customerPhone }}</td>\r\n                    <td>{{ x.customerMobile }}</td>\r\n                    <td>{{ x.customerAddress }}<span *ngIf=\"!!x.customerZipcode\">, {{ x.customerZipcode }}</span><span *ngIf=\"!!x.customerCity\"> {{ x.customerCity }}</span></td>\r\n                    <td>{{ x.customerEmail }}</td>\r\n                </tr>\r\n            </tbody>\r\n        </table>\r\n    </div>\r\n</div>\r\n\r\n<!-- New Customer -->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'newCustomer'\">\r\n    <div class=\"col-12 mb-3\">\r\n        <button type=\"submit\" class=\"btn btn-primary ml-auto\" (click)=\"step = 'chooseCustomer'\">{{ 'Buttons.SearchCustomer' | translate }}</button>\r\n    </div>\r\n    <div class=\"col-12 d-flex align-items-start gap-3\">\r\n        <div class=\"card flex-1\">\r\n            <div class=\"card-header d-flex align-items-center flex-between\">\r\n                {{ 'Standard.Customer' | translate }}\r\n                <button class=\"btn btn-secondary\">{{ 'Buttons.CopyCustomerToInvoice' | translate }}</button>\r\n            </div>\r\n            <div class=\"card-body d-flex flex-column gap-3\">\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.Name' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerName\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.Address' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerAddress\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.Zipcode' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerZipCode\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.City' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerCity\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.Email' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerMail\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.Phone' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerPhone\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.Mobile' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.customerMobile\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Company.VatNumber' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.cvr\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div class=\"card flex-1\">\r\n            <div class=\"card-header d-flex align-items-center flex-between\">\r\n                {{ 'Word.Invoice' | translate }}\r\n                <button class=\"btn btn-secondary\">{{ 'Buttons.CopyInvoiceToCustomer' | translate }}</button>\r\n            </div>\r\n            <div class=\"card-body d-flex flex-column gap-3\">\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.Name' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoiceName\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.Address' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoiceAddress\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.Zipcode' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoiceZipCode\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.City' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoiceCity\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.Email' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoiceEmail\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.Phone' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoicePhone\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.Mobile' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.invoiceMobile\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n                <div class=\"w-100 d-flex align-items-center gap-3\">\r\n                    <div class=\"flex-1\">{{ 'Standard.EAN' | translate }}</div>\r\n                    <div class=\"flex-3\">\r\n                        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"options.customer.ean\" (change)=\"squeal()\">\r\n                    </div>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <div class=\"col-12 d-flex align-items-center gap-3\">\r\n        <div class=\"flex-1\">\r\n            \r\n        </div>\r\n        <div class=\"flex-1\">\r\n            \r\n        </div>\r\n    </div>\r\n</div>\r\n\r\n<!--Choose delivery-->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'chooseDelivery'\">\r\n    <div class=\"col-auto\">\r\n        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"deliverySearch\" (keyup)=\"onDeliverySearch()\" autocomplete=\"anyrandomstring\" placeholder=\"{{ 'Standard.Search' | translate }}...\">\r\n    </div>\r\n    <div class=\"col\">\r\n        <button class=\"btn btn-primary ml-auto\" (click)=\"newDeliveryPrepare()\">{{ 'Buttons.CreateNew' | translate }}</button>\r\n    </div>\r\n    <div class=\"col-12\" *ngIf=\"!!options.filteredDelivery && options.filteredDelivery.length > 0\">\r\n        <table aria-label=\"Filtered delivery addresses\">\r\n            <thead>\r\n                <tr>\r\n                    <th scope=\"col\">{{ 'Standard.Name' | translate }}</th>\r\n                    <th scope=\"col\">{{ 'Standard.Address' | translate }}</th>\r\n                </tr>\r\n            </thead>\r\n            <tbody>\r\n                <tr *ngFor=\"let x of options.filteredDelivery\" (click)=\"chooseDelivery(x)\" [ngClass]=\"!!options.delivery && options.delivery.deliveryId == x.deliveryId ? 'selectedRow' : ''\">\r\n                    <td>{{ x.customerName }}</td>\r\n                    <td>{{ x.customerAddress }}</td>\r\n                </tr>\r\n            </tbody>\r\n        </table>\r\n    </div>\r\n    <div class=\"col-12 p-5 text-center\" *ngIf=\"!!options.filteredDelivery && options.filteredDelivery.length == 0\">\r\n        {{ 'Standard.NoDeliveryOnCustomer' | translate }}\r\n    </div>\r\n</div>\r\n\r\n<!--Choose contact-->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'chooseContact'\">\r\n    <div class=\"col-auto\">\r\n        <input type=\"text\" class=\"form-control\" [(ngModel)]=\"contactSearch\" (keyup)=\"onContactSearch()\" autocomplete=\"anyrandomstring\" placeholder=\"{{ 'Standard.Search' | translate }}...\">\r\n    </div>\r\n    <div class=\"col\">\r\n        <button class=\"btn btn-primary ml-auto\" (click)=\"newContactPrepare()\">{{ 'Buttons.CreateNew' | translate }}</button>\r\n    </div>\r\n    <div class=\"col-12\" *ngIf=\"!!options.filteredContacts && options.filteredContacts.length > 0\">\r\n        <table aria-label=\"Filtered contacts\">\r\n            <thead>\r\n                <tr>\r\n                    <th scope=\"col\">{{ 'Standard.Name' | translate }}</th>\r\n                    <th scope=\"col\">{{ 'Standard.Address' | translate }}</th>\r\n                </tr>\r\n            </thead>\r\n            <tbody>\r\n                <tr *ngFor=\"let x of options.filteredContacts\" (click)=\"chooseContact(x)\" [ngClass]=\"!!options.contact && options.contact.id == x.id ? 'selectedRow' : ''\">\r\n                    <td>{{ x.name }}</td>\r\n                    <td>{{ x.address }}</td>\r\n                </tr>\r\n            </tbody>\r\n        </table>\r\n    </div>\r\n    <div class=\"col-12 p-5 text-center\" *ngIf=\"!!options.filteredContacts && options.filteredContacts.length == 0\">\r\n        {{ 'Standard.NoContactsOnCustomer' | translate }}\r\n    </div>\r\n</div>\r\n\r\n<!--New delivery-->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'newDelivery'\">\r\n    <div class=\"col-12\">\r\n        <button class=\"btn btn-primary ml-auto\" (click)=\"newDelivery = false; step = 'chooseDelivery'\">Fortryd</button>\r\n    </div>\r\n    <div class=\"col-12\">\r\n        <div class=\"form-group\">\r\n            <label for=\"deliveryName\">{{ 'Standard.Name' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"deliveryName\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerName\">\r\n        </div>\r\n        <div class=\"form-group\">\r\n            <label for=\"deliveryAddress\">{{ 'Standard.Address' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"deliveryAddress\" (keyup)=\"addressLookup('delivery')\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerAddress\">\r\n            <div id=\"addressList\" class=\"addressList\" *ngIf=\"options.addressLookUp != null && options.dawaSearchType == 'delivery'\">\r\n                <div *ngFor=\"let x of options.addressLookUp\" (click)=\"dawaToAddress($event,x,'delivery')\">{{ x.tekst }}</div>\r\n            </div>\r\n        </div>\r\n        <div class=\"form-group\">\r\n            <label for=\"deliveryZipCode\">{{ 'Standard.Zipcode' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"deliveryZipCode\" (keyup)=\"cityLookup('delivery')\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerZipCode\">\r\n        </div>\r\n        <div class=\"form-group\">\r\n            <label for=\"deliveryCity\">{{ 'Standard.City' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"deliveryCity\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerCity\">\r\n        </div>\r\n        <div class=\"form-group\">\r\n            <label for=\"deliveryMail\">{{ 'Standard.Email' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"deliveryMail\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerMail\">\r\n        </div>\r\n        <div class=\"form-group\">\r\n            <label for=\"deliveryPhone\">{{ 'Standard.Phone' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"deliveryPhone\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerPhone\">\r\n        </div>\r\n        <div class=\"form-group\">\r\n            <label for=\"deliveryPhone\">{{ 'Standard.Mobile' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"deliveryPhone\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.delivery.customerMobile\">\r\n        </div>\r\n    </div>\r\n</div>\r\n\r\n<!--New delivery-->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'newContact'\">\r\n    <div class=\"col-12\">\r\n        <button class=\"btn btn-primary ml-auto\" (click)=\"newContact = false; step = 'chooseContact'\">Fortryd</button>\r\n    </div>\r\n    <div class=\"col-12\">\r\n        <div class=\"form-group\">\r\n            <label for=\"contactName\">{{ 'Standard.Name' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"contactName\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.name\">\r\n        </div>\r\n        <div class=\"form-group\">\r\n            <label for=\"contactAddress\">{{ 'Standard.Address' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"contactAddress\" (keyup)=\"addressLookup('contact')\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.address\">\r\n            <div id=\"addressList\" class=\"addressList\" *ngIf=\"options.addressLookUp != null && options.dawaSearchType == 'contact'\">\r\n                <div *ngFor=\"let x of options.addressLookUp\" (click)=\"dawaToAddress($event,x,'contact')\">{{ x.tekst }}</div>\r\n            </div>\r\n        </div>\r\n        <div class=\"form-group\">\r\n            <label for=\"contactZipCode\">{{ 'Standard.Zipcode' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"contactZipCode\" (keyup)=\"cityLookup('contact')\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.zipCode\">\r\n        </div>\r\n        <div class=\"form-group\">\r\n            <label for=\"contactCity\">{{ 'Standard.City' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"contactCity\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.city\">\r\n        </div>\r\n        <div class=\"form-group\">\r\n            <label for=\"contactMail\">{{ 'Standard.Email' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"contactMail\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.email\">\r\n        </div>\r\n        <div class=\"form-group\">\r\n            <label for=\"contactPhone\">{{ 'Standard.Phone' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"contactPhone\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.phone\">\r\n        </div>\r\n        <div class=\"form-group\">\r\n            <label for=\"contactPhone\">{{ 'Standard.Mobile' | translate }}</label>\r\n            <input type=\"text\" class=\"form-control\" id=\"contactPhone\" autocomplete=\"anyrandomstring\" [(ngModel)]=\"options.contact.mobile\">\r\n        </div>\r\n    </div>\r\n</div>\r\n\r\n<!-- Final -->\r\n<div class=\"row caseCustomer\" *ngIf=\"step == 'final'\">\r\n    <div class=\"col-12\">\r\n        <div class=\"card-deck\" *ngIf=\"!!options.customer\">\r\n            <!-- Customer -->\r\n            <div class=\"card m-0 p-1\">\r\n                <div class=\"d-flex justify-content-between\">\r\n                    <h3>{{ 'Standard.Customer' | translate }}</h3>\r\n                    <div (click)=\"options.notificationAddress = 'customer'\">\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"hero-icon hero-active\" *ngIf=\"options.notificationAddress == 'customer'\">\r\n                            <path d=\"M1.5 8.67v8.58a3 3 0 003 3h15a3 3 0 003-3V8.67l-8.928 5.493a3 3 0 01-3.144 0L1.5 8.67z\" />\r\n                            <path d=\"M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z\" />\r\n                        </svg>\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\" *ngIf=\"options.notificationAddress != 'customer'\">\r\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75\" />\r\n                        </svg>\r\n                    </div>\r\n                </div>\r\n                <div class=\"d-flex align-items-center pb-2\">\r\n                    <h5 class=\"customerNameTitle\"><button class=\"btn btn-square mr-2\" [style.backgroundColor]=\"findColor('b', options.customer.customerName)\" style.color=\"{{findColor('c', options.customer.customerName)}}\">{{ findColor('letter', options.customer.customerName) }}</button>{{ !!options.customer.customerName ? options.customer.customerName : '' }}\r\n                    </h5>\r\n                </div>\r\n                <div class=\"d-flex line-top\">\r\n                    <div class=\"cursor-pointer mr-3\">\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 10.5a3 3 0 11-6 0 3 3 0 016 0z\" />\r\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z\" />\r\n                        </svg>\r\n                    </div>\r\n                    <div class=\"d-flex flex-column\" *ngIf=\"!!options.customer.customerAddress\">\r\n                        <span>{{ options.customer.customerAddress }}</span>\r\n                        <span>{{ options.customer.customerZipCode }} {{ options.customer.customerCity }}</span>\r\n                    </div>\r\n                    <div *ngIf=\"!options.customer.customerAddress\">{{ 'Standard.NoAddress' | translate }}</div>\r\n                </div>\r\n                <div class=\"d-flex line-top\">\r\n                    <div class=\"cursor-pointer mr-3\">\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\"\r\n                            stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n                            <path stroke-linecap=\"round\" d=\"M16.5 12a4.5 4.5 0 11-9 0 4.5 4.5 0 019 0zm0 0c0 1.657 1.007 3 2.25 3S21 13.657 21 12a9 9 0 10-2.636 6.364M16.5 12V8.25\" />\r\n                        </svg>\r\n                    </div>\r\n                    <div *ngIf=\"!!options.customer.customerEmail\">{{ options.customer.customerEmail }}</div>\r\n                    <div *ngIf=\"!options.customer.customerEmail\">{{ 'Standard.NoEmail' | translate }}</div>\r\n                </div>\r\n                <div class=\"d-flex line-top pb-0\">\r\n                    <div class=\"cursor-pointer mr-3\">\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3\" />\r\n                        </svg>\r\n                    </div>\r\n                    <div *ngIf=\"!!options.customer.customerMobile || !!options.customer.customerPhone\">{{ !!options.customer.customerMobile ? options.customer.customerMobile : options.customer.customerPhone }}</div>\r\n                    <div *ngIf=\"!options.customer.customerMobile && !options.customer.customerPhone\">{{ 'Standard.NoPhone' | translate }}</div>\r\n                </div>\r\n            </div>\r\n            <!-- Invoice -->\r\n            <div class=\"card m-0 p-1\">\r\n                <div class=\"d-flex justify-content-between\">\r\n                    <h3>{{ 'Word.Invoice' | translate }}</h3>\r\n                    <div (click)=\"options.notificationAddress = 'invoice'\">\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"hero-icon hero-active\" *ngIf=\"options.notificationAddress == 'invoice'\">\r\n                            <path d=\"M1.5 8.67v8.58a3 3 0 003 3h15a3 3 0 003-3V8.67l-8.928 5.493a3 3 0 01-3.144 0L1.5 8.67z\" />\r\n                            <path d=\"M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z\" />\r\n                        </svg>\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\" *ngIf=\"options.notificationAddress != 'invoice'\">\r\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75\" />\r\n                        </svg>\r\n                    </div>\r\n                </div>\r\n                <div class=\"d-flex align-items-center pb-2\">\r\n                    <h5 class=\"customerNameTitle\"><button class=\"btn btn-square mr-2\" [style.backgroundColor]=\"findColor('b', options.customer.invoiceName)\" style.color=\"{{findColor('c', options.customer.invoiceName)}}\">{{ findColor('letter', options.customer.invoiceName) }}</button>{{ !!options.customer.invoiceName ? options.customer.invoiceName : '' }}</h5>\r\n                </div>\r\n                <div class=\"d-flex line-top\">\r\n                    <div class=\"cursor-pointer mr-3\">\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 10.5a3 3 0 11-6 0 3 3 0 016 0z\" />\r\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z\" />\r\n                        </svg>\r\n                    </div>\r\n                    <div class=\"d-flex flex-column\" *ngIf=\"!!options.customer.invoiceAddress\">\r\n                        <span>{{ options.customer.invoiceAddress }}</span>\r\n                        <span>{{ options.customer.invoiceZipCode }} {{ options.customer.invoiceCity }}</span>\r\n                    </div>\r\n                    <div *ngIf=\"!options.customer.invoiceAddress\">{{ 'Standard.NoAddress' | translate }}</div>\r\n                </div>\r\n                <div class=\"d-flex line-top\">\r\n                    <div class=\"cursor-pointer mr-3\">\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n                            <path stroke-linecap=\"round\" d=\"M16.5 12a4.5 4.5 0 11-9 0 4.5 4.5 0 019 0zm0 0c0 1.657 1.007 3 2.25 3S21 13.657 21 12a9 9 0 10-2.636 6.364M16.5 12V8.25\" />\r\n                        </svg>\r\n                    </div>\r\n                    <div *ngIf=\"!!options.customer.invoiceEmail\">{{ options.customer.invoiceEmail }}</div>\r\n                    <div *ngIf=\"!options.customer.invoiceEmail\">{{ 'Standard.NoEmail' | translate }}</div>\r\n                </div>\r\n                <div class=\"d-flex line-top pb-0\">\r\n                    <div class=\"cursor-pointer mr-3\">\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3\" />\r\n                        </svg>\r\n                    </div>\r\n                    <div *ngIf=\"!!options.customer.invoiceMobile || !!options.customer.invoicePhone\">{{ !!options.customer.invoiceMobile ? options.customer.invoiceMobile : options.customer.invoicePhone }}</div>\r\n                    <div *ngIf=\"!options.customer.invoiceMobile && !options.customer.invoicePhone\">{{ 'Standard.NoPhone' | translate }}</div>\r\n                </div>\r\n            </div>\r\n            <!-- Delivery -->\r\n            <div class=\"card m-0 p-1\">\r\n                <div class=\"d-flex justify-content-between\">\r\n                    <h3>{{ 'Standard.Delivery' | translate }}</h3>\r\n                    <div (click)=\"options.notificationAddress = 'delivery'\">\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"hero-icon hero-active\" *ngIf=\"options.notificationAddress == 'delivery'\">\r\n                            <path d=\"M1.5 8.67v8.58a3 3 0 003 3h15a3 3 0 003-3V8.67l-8.928 5.493a3 3 0 01-3.144 0L1.5 8.67z\" />\r\n                            <path d=\"M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z\" />\r\n                        </svg>\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\" *ngIf=\"options.notificationAddress != 'delivery' && !!options.delivery\">\r\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75\" />\r\n                        </svg>\r\n                    </div>\r\n                </div>\r\n                <div *ngIf=\"!!options.delivery\">\r\n                    <div class=\"d-flex align-items-center pb-2\">\r\n                        <h5 class=\"customerNameTitle\"><button class=\"btn btn-square mr-2\" [style.backgroundColor]=\"findColor('b', options.delivery.customerName)\" style.color=\"{{findColor('c', options.delivery.customerName)}}\">{{ findColor('letter', options.delivery.customerName) }}</button>{{ !!options.delivery.customerName ? options.delivery.customerName : '' }}</h5>\r\n                    </div>\r\n                    <div class=\"d-flex line-top\">\r\n                        <div class=\"cursor-pointer mr-3\">\r\n                            <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 10.5a3 3 0 11-6 0 3 3 0 016 0z\" />\r\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z\" />\r\n                            </svg>\r\n                        </div>\r\n                        <div class=\"d-flex flex-column\" *ngIf=\"!!options.delivery.customerAddress\">\r\n                            <span>{{ options.delivery.customerAddress }}</span>\r\n                            <span>{{ options.delivery.customerZipCode }} {{ options.delivery.customerCity }}</span>\r\n                        </div>\r\n                        <div *ngIf=\"!options.delivery.customerAddress\">{{ 'Standard.NoAddress' | translate }}</div>\r\n                    </div>\r\n                    <div class=\"d-flex line-top\">\r\n                        <div class=\"cursor-pointer mr-3\">\r\n                            <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n                                <path stroke-linecap=\"round\" d=\"M16.5 12a4.5 4.5 0 11-9 0 4.5 4.5 0 019 0zm0 0c0 1.657 1.007 3 2.25 3S21 13.657 21 12a9 9 0 10-2.636 6.364M16.5 12V8.25\" />\r\n                            </svg>\r\n                        </div>\r\n                        <div *ngIf=\"!!options.delivery.customerMail\">{{ options.delivery.customerMail }}</div>\r\n                        <div *ngIf=\"!options.delivery.customerMail\">{{ 'Standard.NoEmail' | translate }}</div>\r\n                    </div>\r\n                    <div class=\"d-flex line-top pb-0\">\r\n                        <div class=\"cursor-pointer mr-3\">\r\n                            <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3\" />\r\n                            </svg>\r\n                        </div>\r\n                        <div *ngIf=\"!!options.delivery.customerMobile || !!options.delivery.customerPhone\">{{ !!options.delivery.customerMobile ? options.delivery.customerMobile : options.delivery.customerPhone }}</div>\r\n                        <div *ngIf=\"!options.delivery.customerMobile && !options.delivery.customerPhone\">{{ 'Standard.NoPhone' | translate }}</div>\r\n                    </div>\r\n                </div>\r\n                <div class=\"addDeliveryContact\" *ngIf=\"!options.delivery\">\r\n                    <button class=\"btn btn-light\" (click)=\"addDeliveryContact('chooseDelivery')\">\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\">\r\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 4.5v15m7.5-7.5h-15\" />\r\n                        </svg>{{ 'Buttons.Add' | translate }} {{ ('Standard.DeliveryAddress' | translate) | lowercase }}\r\n                    </button>\r\n                </div>\r\n            </div>\r\n            <!-- Contact -->\r\n            <div class=\"card m-0 p-1\">\r\n                <div class=\"d-flex justify-content-between\">\r\n                    <h3>{{ 'Standard.Contact' | translate }}</h3>\r\n                    <div (click)=\"options.notificationAddress = 'contact'\">\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"hero-icon hero-active\" *ngIf=\"options.notificationAddress == 'contact'\">\r\n                            <path d=\"M1.5 8.67v8.58a3 3 0 003 3h15a3 3 0 003-3V8.67l-8.928 5.493a3 3 0 01-3.144 0L1.5 8.67z\" />\r\n                            <path d=\"M22.5 6.908V6.75a3 3 0 00-3-3h-15a3 3 0 00-3 3v.158l9.714 5.978a1.5 1.5 0 001.572 0L22.5 6.908z\" />\r\n                        </svg>\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\" *ngIf=\"options.notificationAddress != 'contact' && !!options.contact\">\r\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75\" />\r\n                        </svg>\r\n                    </div>\r\n                </div>\r\n                <div *ngIf=\"!!options.contact\">\r\n                    <div class=\"d-flex align-items-center pb-2\">\r\n                        <h5 class=\"customerNameTitle\"><button class=\"btn btn-square mr-2\" [style.backgroundColor]=\"findColor('b', options.contact.name)\" style.color=\"{{findColor('c', options.contact.name)}}\">{{ findColor('letter', options.contact.name) }}</button>{{ !!options.contact.name ? options.contact.name : '' }}</h5>\r\n                    </div>\r\n                    <div class=\"d-flex line-top\">\r\n                        <div class=\"cursor-pointer mr-3\">\r\n                            <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 10.5a3 3 0 11-6 0 3 3 0 016 0z\" />\r\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M19.5 10.5c0 7.142-7.5 11.25-7.5 11.25S4.5 17.642 4.5 10.5a7.5 7.5 0 1115 0z\" />\r\n                            </svg>\r\n                        </div>\r\n                        <div class=\"d-flex flex-column\" *ngIf=\"!!options.contact.address\">\r\n                            <span>{{ options.contact.address }}</span>\r\n                            <span>{{ options.contact.zipCode }} {{ options.contact.city }}</span>\r\n                        </div>\r\n                        <div *ngIf=\"!options.contact.address\">{{ 'Standard.NoAddress' | translate }}</div>\r\n                    </div>\r\n                    <div class=\"d-flex line-top\">\r\n                        <div class=\"cursor-pointer mr-3\">\r\n                            <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n                                <path stroke-linecap=\"round\" d=\"M16.5 12a4.5 4.5 0 11-9 0 4.5 4.5 0 019 0zm0 0c0 1.657 1.007 3 2.25 3S21 13.657 21 12a9 9 0 10-2.636 6.364M16.5 12V8.25\" />\r\n                            </svg>\r\n                        </div>\r\n                        <div *ngIf=\"!!options.contact.email\">{{ options.contact.email }}</div>\r\n                        <div *ngIf=\"!options.contact.email\">{{ 'Standard.NoEmail' | translate }}</div>\r\n                    </div>\r\n                    <div class=\"d-flex line-top pb-0\">\r\n                        <div class=\"cursor-pointer mr-3\">\r\n                            <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon-outline\">\r\n                                <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M10.5 1.5H8.25A2.25 2.25 0 006 3.75v16.5a2.25 2.25 0 002.25 2.25h7.5A2.25 2.25 0 0018 20.25V3.75a2.25 2.25 0 00-2.25-2.25H13.5m-3 0V3h3V1.5m-3 0h3m-3 18.75h3\" />\r\n                            </svg>\r\n                        </div>\r\n                        <div *ngIf=\"!!options.contact.mobile || !!options.contact.phone\">{{ !!options.contact.mobile ? options.contact.mobile : options.contact.phone }}</div>\r\n                        <div *ngIf=\"!options.contact.mobile && !options.contact.phone\">{{ 'Standard.NoPhone' | translate }}</div>\r\n                    </div>\r\n                </div>\r\n                <div class=\"addDeliveryContact\" *ngIf=\"!options.contact\">\r\n                    <button class=\"btn btn-light\" (click)=\"addDeliveryContact('chooseContact')\">\r\n                        <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" class=\"hero-icon\">\r\n                            <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 4.5v15m7.5-7.5h-15\" />\r\n                        </svg>{{ 'Buttons.Add' | translate }} {{ ('Standard.Contact' | translate) | lowercase }}\r\n                    </button>\r\n                </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { Leases, Properties, PropertyManager } from 'app/details-new/details-new.data';\r\nimport { SharedDataService } from 'app/shared/services/shared-data.service';\r\nimport { NewCase } from '../cases.component';\r\nimport * as api from '../../shared/api/apihandler';\r\nimport { CaseService } from 'app/shared/services/case.service';\r\nimport { CreateCompanyCase } from 'app/shared/models/case.models';\r\nimport { SingleCustomer } from '../case-customer/case-customer.component';\r\nimport { SubscriptionObject } from 'app/shared/models/standard.models';\r\n\r\n@Component({\r\n  selector: 'create-case-modal',\r\n  templateUrl: './create-case-modal.component.html',\r\n  styleUrls: ['./create-case-modal.component.css']\r\n})\r\nexport class CreateCaseModalComponent implements OnInit, OnDestroy {\r\n  userId = localStorage.getItem(\"bearer\");\r\n  propertyManagement: boolean = false;\r\n  casePropertyManager = new PropertyManager();\r\n  caseProperty: Properties | null = null;\r\n  newCase: CreateCompanyCase = new CreateCompanyCase();\r\n  customerComponentData: any;\r\n  customerComponentMessage: any;\r\n  steps = {\r\n    current: 'chooseCustomer',\r\n    previous: 'chooseCustomer'\r\n  }\r\n  responsibles: Array<{ key: string, value: string }> | null = null;\r\n  compInfo = { companyLanguage: 'da-DK' };\r\n  dblClick = false;\r\n  leaseSearch;\r\n  propertySearch;\r\n  userProperties;\r\n  leases: Array<Leases> | null = null;\r\n  showPropertyResults = false;\r\n  showLeaseResults = false;\r\n  ownerDetails: Owner;\r\n  customerDetails;\r\n  subs: SubscriptionObject = {};\r\n  newCustomerCheck: boolean = false; // new customer check if enough data entered\r\n  noLeaseWarning: boolean = false;\r\n  notification: boolean = false;\r\n\r\n  constructor(private http: HttpClient, private sharedData: SharedDataService, private router: Router, private cases: CaseService) { }\r\n\r\n  ngOnInit(): void {\r\n    this.subs['responsibles'] = this.sharedData.responsibles().subscribe({\r\n      next: (data) => {\r\n        this.responsibles = data;\r\n        if (!!this.userId && this.userId != '866d39ed-dd2d-4101-b9fc-e9a6e1efd941' && !!this.responsibles?.find(x => x.key == this.userId)) {\r\n          this.newCase.responsibleId = this.userId;\r\n        }\r\n      }\r\n    });\r\n    let roles = JSON.parse(localStorage.getItem('guards') as string);\r\n    if (!!roles && roles.find((x: { name: string }) => x.name == 'PropertyManagement')) {\r\n      this.propertyManagement = true;\r\n      this.steps.current = 'final';\r\n      this.getMyProperties();\r\n    }\r\n    this.subs['newCase'] = this.cases.newCase().subscribe({\r\n      next: (data) => {\r\n        if (!!data) {\r\n          this.newCase = data;\r\n          let a = document.getElementById('newCaseModalOpener')\r\n          a?.click();\r\n        }\r\n      }\r\n    })\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    for (let x in this.subs) { this.subs[x].unsubscribe() }\r\n  }\r\n  \r\n  createCaseChooseCustomer(customer: any) {\r\n    //console.log(customer)\r\n    this.customerDetails = customer;\r\n    this.newCase.customerId = customer.customerId;\r\n    if (!!customer.delivery && !!customer.delivery.deliveryId) {\r\n      this.customerComponentData.delivery = customer.delivery;\r\n    }\r\n    if (!!customer.contact && !!customer.contact.id) {\r\n      this.customerComponentData.contact = customer.contact;\r\n    }\r\n  }\r\n\r\n  getMyProperties() {\r\n    if (this.propertyManagement) {\r\n      this.newCase.propertyId = null;\r\n      this.newCase.propertyLeaseId = null;\r\n      this.leaseSearch = null;\r\n      this.propertySearch = null;\r\n      this.casePropertyManager.filteredLeases = null;\r\n      const headers = new HttpHeaders({ Authorization: this.userId });\r\n      this.http.get<any>(api.jubloApi + 'api/PropertyLease/GetStakeholderProperties/' + this.userId, { headers }).subscribe({\r\n        next: (data) => {\r\n          this.userProperties = data;\r\n        },\r\n        error: err => console.error(err),\r\n        complete: () => { this.loadProperties(); }\r\n      });\r\n    }\r\n  }\r\n\r\n  loadProperties() {\r\n    const headers = new HttpHeaders({ 'Authorization': this.userId! });\r\n    this.http.get<Properties[]>(api.jubloApi + 'api/PropertyLease/GetPropertyList', { headers }).subscribe(\r\n      (data: Properties[]) => {\r\n        data = data.sort((a, b) => { return a.name > b.name ? -1 : 1 });\r\n        this.casePropertyManager.allProperties = data;\r\n        this.casePropertyManager.filteredProperties = data;\r\n        this.newCase.propertyId = null;\r\n      },\r\n      err => { console.error(err) },\r\n      () => {\r\n        this.casePropertyManager.filteredProperties = this.casePropertyManager.filteredProperties.sort((a, b) => { return a.name > b.name ? 1 : -1 });\r\n        if (!!this.userProperties && this.userProperties.length > 0) {\r\n          let p = this.userProperties.map(x => x.id);\r\n          this.casePropertyManager.filteredProperties = this.casePropertyManager.filteredProperties.sort((a) => { return p.includes(a.id) ? -1 : 1 });\r\n        }\r\n      });\r\n  }\r\n\r\n  async loadLeases(id: string) {\r\n    const headers = new HttpHeaders({ 'Authorization': this.userId! });\r\n    this.http.get<Leases[]>(api.jubloApi + 'api/PropertyLease/PropertyLeasesOnProperty/' + id, { headers }).subscribe(\r\n      (data: Leases[]) => {\r\n        //console.log(data)\r\n        data = data.sort((a, b) => { return a.address > b.address ? 1 : -1 });\r\n        this.leases = data;\r\n        this.casePropertyManager.allLeases = data;\r\n        this.casePropertyManager.filteredLeases = data;\r\n        this.newCase.propertyLeaseId = null;\r\n      },\r\n      (response) => { console.log('Error!', response) },\r\n      () => { }\r\n    )\r\n  }\r\n\r\n  searchProperty(x: KeyboardEvent) {\r\n    let s = !!x && !!x.target && 'value' in x.target\r\n      ? (x.target as HTMLInputElement).value.toLowerCase()\r\n      : '';\r\n    this.showPropertyResults = true;\r\n    if (!!s && s.length > 0) {\r\n      this.casePropertyManager.filteredProperties = !!this.casePropertyManager.filteredProperties ? this.casePropertyManager.allProperties.filter(x => x.address.toLowerCase().match(s) || x.number.toLowerCase().match(s) || x.name.toLowerCase().match(s)) : this.casePropertyManager.allProperties;\r\n    } else {\r\n      this.casePropertyManager.filteredProperties = this.casePropertyManager.allProperties;\r\n    }\r\n  }\r\n\r\n  searchLease(x) {\r\n    let s = x.target.value.toLowerCase();\r\n    this.showLeaseResults = true;\r\n    if (!!s && s.length > 0) {\r\n      this.casePropertyManager.filteredLeases = !!this.casePropertyManager.filteredLeases ? this.casePropertyManager.allLeases.filter(x => x.address.toLowerCase().match(s) || x.leaseNumber.match(s) || x.tenant?.name.toLowerCase().match(s)) : this.casePropertyManager.allLeases;\r\n    } else {\r\n      this.casePropertyManager.filteredLeases = this.casePropertyManager.allLeases;\r\n    }\r\n  }\r\n\r\n  setProperty(x) {\r\n    if (!!x) {\r\n      this.leaseSearch = null;\r\n      this.casePropertyManager.filteredLeases = null;\r\n      this.propertySearch = x.number + ' ' + x.name;\r\n      this.newCase.propertyId = x.id;\r\n      if (!this.newCase.responsibleId) this.newCase.responsibleId = x.responsibleId.id;\r\n      this.loadLeases(this.newCase.propertyId);\r\n      this.getCustomerFromSearch('property');\r\n    }\r\n  }\r\n\r\n  clearProperty() {\r\n    this.propertySearch = null;\r\n    this.leaseSearch = null;\r\n    this.casePropertyManager.filteredLeases = null;\r\n    this.newCase.propertyId = null;\r\n  }\r\n\r\n  setLease(x) {\r\n    if (!!x) {\r\n      this.leaseSearch = x.leaseNumber + ' ' + x.address;\r\n      this.newCase.propertyLeaseId = x.id;\r\n      this.showLeaseResults = false;\r\n      this.noLeaseWarning = false;\r\n      this.getCustomerFromSearch('lease');\r\n    }\r\n  }\r\n\r\n  clearLease() {\r\n    this.leaseSearch = null;\r\n    this.newCase.propertyLeaseId = null;\r\n    this.showLeaseResults = false;\r\n  }\r\n\r\n  getCustomerFromSearch(type) {\r\n    let url = api.jubloApi + 'api/PropertyLease/GetPropertyCustomer/' + this.newCase.propertyId;\r\n    if (type == 'lease') { url = api.jubloApi + 'api/PropertyLease/GetPropertyLeaseById/' + this.newCase.propertyLeaseId; }\r\n    const headers = new HttpHeaders({ 'Authorization': this.userId });\r\n    this.http.get(url, { headers }).subscribe(\r\n      (data: any) => {\r\n        if (type == 'lease') { this.newCase.customerId = data.customer[0].id; }\r\n        else { this.newCase.customerId = data.customerId; }\r\n        // console.log(data);\r\n        // console.log(this.currentCase.customerId);\r\n      },\r\n      (response) => { console.log('Error!', response) },\r\n      () => { },\r\n    )\r\n  }\r\n\r\n  delayedClose() {\r\n    setTimeout(() => {\r\n      this.showPropertyResults = false;\r\n    }, 200);\r\n  }\r\n\r\n  getOwnerDetails(id) {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n    this.http.get<Owner>(api.jubloApi + 'api/PropertyLease/GetPropertyOwner/' + id, { headers }).subscribe({\r\n      next: (data) => this.ownerDetails = data,\r\n      error: err => console.error(err)\r\n    });\r\n  }\r\n\r\n  createCase(force?: string) {\r\n    if (!this.propertyManagement) {\r\n      this.newCase.customerId = this.customerComponentData.customer.customerId;\r\n      this.newCase.deliveryAddressId = !!this.newCase.deliveryAddressId ? this.newCase.deliveryAddressId : (!!this.customerComponentData.delivery ? this.customerComponentData.delivery.deliveryId : null);\r\n      this.newCase.contactAddressId = !!this.newCase.contactAddressId ? this.newCase.contactAddressId : (!!this.customerComponentData.contact ? this.customerComponentData.contact.id : null);\r\n    } else if (this.propertyManagement && !this.newCase.propertyLeaseId && !force) {\r\n      this.noLeaseWarning = true;\r\n      return;\r\n    }\r\n    this.dblClick = true;\r\n    this.newCase.disableNotification = !this.notification;\r\n    let newCaseId = '';\r\n\r\n    this.cases.api.createCompanyCase(this.newCase).subscribe({\r\n      next: (data: any) => {\r\n        newCaseId = data;\r\n        let elem = document.getElementById('closeModalBtn');\r\n        let evt = new MouseEvent('click', {\r\n          bubbles: true,\r\n          cancelable: true,\r\n          view: window\r\n        });\r\n        elem.dispatchEvent(evt);\r\n      },\r\n      error: err => console.error(err),\r\n      complete: () => {\r\n        this.navigateToNewCase(newCaseId);\r\n        this.newCase = new CreateCompanyCase();\r\n        this.resetCaseModal();\r\n      }\r\n    });\r\n  }\r\n  \r\n  navigateToNewCase(id: string) {\r\n    this.router.navigate([\"Details/\" + id]);\r\n  }\r\n\r\n  createDelivery() {\r\n    console.log('Create a delivery from?', this.newCase)\r\n    const headers = new HttpHeaders({ Authorization: this.userId });\r\n    this.http.post(api.jubloApi + 'api/Website/Customer/AddDeliveryAddress', {\r\n      customerId: \"\",\r\n      name: \"string\",\r\n      address: \"string\",\r\n      city: \"string\",\r\n      zipCode: \"string\",\r\n      telephone: \"string\",\r\n      mobile: \"string\",\r\n      att: \"string\",\r\n      ean: \"string\",\r\n      email: \"string\"\r\n    })\r\n  }\r\n\r\n  getPreviousFromCurrent() {\r\n    switch (this.steps.current) {\r\n      case 'chooseLease':\r\n      case 'final': {\r\n        this.steps.previous = 'chooseCustomer';\r\n        break;\r\n      }\r\n      case 'chooseDelivery':\r\n      case 'chooseContact': {\r\n        this.steps.previous = 'final';\r\n        break;\r\n      }\r\n      default:\r\n        this.steps.previous = 'final';\r\n        break;\r\n    }\r\n  }\r\n\r\n  newCaseCustomerChanged(event) {\r\n    this.customerComponentData = event;\r\n    if (!!event.leases && event.leases.length > 0) {\r\n      if (event.leases.length == 1) {\r\n        this.newCase.propertyLeaseId = event.leases[0].propertyLeaseId;\r\n        this.newCase.propertyId = event.leases[0].propertId;\r\n      }\r\n    }\r\n  }\r\n\r\n  newCustomerDataEntered(ev: SingleCustomer) {\r\n    if (!!ev.customerName) this.newCustomerCheck = true;\r\n  }\r\n\r\n  resetCaseModal() {\r\n    this.steps.previous = 'chooseCustomer';\r\n    this.newCase = new CreateCompanyCase();\r\n    this.customerDetails = null;\r\n    this.customerComponentData = null;\r\n    this.steps.current = this.propertyManagement ? 'final' : 'chooseCustomer';\r\n    this.customerComponentMessage = 'reset';\r\n    this.propertySearch = null;\r\n    this.leaseSearch = null;\r\n    this.dblClick = false;\r\n    this.casePropertyManager = new PropertyManager();\r\n    this.newCustomerCheck = false;\r\n    this.clearLease();\r\n    this.clearProperty();\r\n    this.getMyProperties();\r\n  }\r\n\r\n  pageTurner(message) {\r\n    this.steps.current = message;\r\n  }\r\n}\r\n\r\nclass Owner {\r\n  name: string;\r\n  address: string;\r\n  zipCode: string;\r\n  city: string;\r\n  email: string;\r\n  phone: string;\r\n  mobile: string;\r\n}\r\n","<!-- CREATE CASE-->\r\n<div id=\"createNewCaseModal\" class=\"modal fade\" tabindex=\"-1\" role=\"dialog\" data-target=\"local_modal\" data-toggle=\"modal\" aria-labelledby=\"createNewCaseModalLabel\" aria-hidden=\"true\">\r\n    <div class=\"modal-dialog modalSlider\" role=\"document\">\r\n      <div class=\"modal-content\">\r\n        <div class=\"modal-header p-3\">\r\n          <h5 class=\"modal-title\" id=\"createNewCaseModalLabel\">{{ 'Buttons.CreateCase' | translate }}</h5>\r\n          <button id=\"closeModalBtn\" type=\"button\" class=\"close\" (click)=\"resetCaseModal()\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n            <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n                <path d=\"M1 11L11 1M1 1L11 11\" stroke=\"black\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n            </svg>\r\n          </button>\r\n        </div>\r\n        <div class=\"modal-body p-3\" style=\"overflow-y: auto;\">\r\n          <!-- IF PROPERTY MANAGEMENT -->\r\n          <div class=\"row mb-3\" *ngIf=\"propertyManagement\">\r\n            <div class=\"col-12 col-md-6\">\r\n              <label for=\"propertySearch\">{{ 'Properties.Property' | translate }}</label>\r\n              <div class=\"input-group\" id=\"propertySearch\">\r\n                <input class=\"form-control\" type=\"text\" [(ngModel)]=\"propertySearch\" (focus)=\"searchProperty($event)\" (keyup)=\"searchProperty($event)\" (blur)=\"delayedClose()\" *ngIf=\"!!casePropertyManager.filteredProperties\" placeholder=\"{{ 'Standard.Search' | translate }}\">\r\n                <button type=\"button\" class=\"btn bg-transparent btn-clear\" (click)=\"clearProperty()\">\r\n                  <i class=\"fal fa-times\"></i>\r\n                </button>\r\n              </div>\r\n              <div class=\"searchResult\" *ngIf=\"showPropertyResults\">\r\n                <div class=\"searchItem\" *ngFor=\"let x of casePropertyManager.filteredProperties | slice:0:20\" (click)=\"setProperty(x)\">{{ x.number }} {{ x.name }}</div>\r\n                <div class=\"searchItem\" *ngIf=\"newCase.propertyId == null && !!casePropertyManager.filteredProperties && casePropertyManager.filteredProperties.length == 0\">{{ 'Search.NoResultsFound' | translate }}</div>\r\n                <div class=\"searchItem\" *ngIf=\"newCase.propertyId != null && !!casePropertyManager.filteredProperties && casePropertyManager.filteredProperties.length == 0\">{{ propertySearch }}</div>\r\n              </div>\r\n            </div>\r\n            <div class=\"col-12 col-md-6\" *ngIf=\"!!casePropertyManager.filteredLeases\">\r\n              <label for=\"leaseSearch\">{{ 'Properties.Lease' | translate }}</label>\r\n              <div class=\"input-group\" id=\"leaseSearch\">\r\n                <input class=\"form-control\" type=\"text\" [(ngModel)]=\"leaseSearch\" (focus)=\"searchLease($event)\" (keyup)=\"searchLease($event)\" (blur)=\"delayedClose()\" placeholder=\"{{ 'Standard.Search' | translate }}\">\r\n                <button type=\"button\" class=\"btn bg-transparent btn-clear\" (click)=\"clearLease()\">\r\n                  <i class=\"fal fa-times\"></i>\r\n                </button>\r\n              </div>\r\n              <div class=\"searchResult\" *ngIf=\"showLeaseResults\">\r\n                <div class=\"searchItem\" *ngFor=\"let x of casePropertyManager.filteredLeases\" (click)=\"setLease(x)\">{{ x.leaseNumber }} {{ x.address }}<span *ngIf=\"!!x.tenant && x.tenant.name\"> - {{ x.tenant.name }}</span></div>\r\n                <div class=\"searchItem\" *ngIf=\"newCase.propertyLeaseId == null && casePropertyManager.filteredLeases.length == 0\">{{ 'Search.NoResultsFound' | translate }}</div>\r\n                <div class=\"searchItem\" *ngIf=\"newCase.propertyLeaseId != null && casePropertyManager.filteredLeases.length == 0\">{{ propertySearch }}</div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div class=\"w-100\" *ngIf=\"!propertyManagement\">\r\n            <case-customer [(step)]=\"steps.current\" (choose)=\"createCaseChooseCustomer($event)\" (com)=\"pageTurner($event)\" [do]=\"customerComponentMessage\" (update)=\"newCaseCustomerChanged($event)\" (listener)=\"newCustomerDataEntered($event)\"></case-customer>\r\n          </div>\r\n          <div class=\"row\" *ngIf=\"steps.current == 'final'\">\r\n            <!-- CASE Details -->\r\n            <div class=\"col-12 mb-3\">\r\n              <label>{{ 'Standard.Title' | translate }}</label>\r\n              <input type=\"text\" [(ngModel)]=\"newCase.title\" class=\"form-control\">\r\n            </div>\r\n            <div class=\"col-12 mb-3\">\r\n              <label class=\"mb-0\" for=\"OfferDescription\">{{ 'Standard.Description' | translate }} *</label>\r\n              <textarea class=\"form-control form-control-textArea\" rows=\"4\" type=\"text\" [(ngModel)]=\"newCase.description\" id=\"OfferDescription\"></textarea>\r\n            </div>\r\n            <div class=\"col-6\">\r\n              <label class=\"mb-0\">{{ 'Standard.Reference' | translate }}</label>\r\n              <input type=\"text\" [(ngModel)]=\"newCase.vorRef\" class=\"form-control\">\r\n            </div>\r\n            <div class=\"col-6\" *ngIf=\"!propertyManagement\">\r\n              <label class=\"mb-0\">{{ 'Standard.RequisitionNumber' | translate }}</label>\r\n              <input type=\"text\" [(ngModel)]=\"newCase.requisitionNumber\" class=\"form-control\">\r\n            </div>\r\n            <div class=\"col-6\" *ngIf=\"!!responsibles && responsibles.length > 0\">\r\n              <label class=\"mb-0\">{{ 'Standard.CaseResponsible' | translate }}</label>\r\n              <select class=\"form-control\" [(ngModel)]=\"newCase.responsibleId\">\r\n                <option [ngValue]=\"null\">{{ 'Standard.NoneChosen' | translate }}</option>\r\n                <option *ngFor=\"let x of responsibles\" [value]=\"x.key\">{{x.value}}</option>\r\n              </select>\r\n            </div>\r\n            <div class=\"col-6 mt-3 align-self-center\">\r\n              <label class=\"mb-0\" for=\"notificationCheck\">{{ 'Settings.Notifications' | translate }} </label>\r\n              <div class=\"form-group form-check h-auto\" id=\"notificationCheck\">\r\n                <input type=\"checkbox\" class=\"form-check-input\" id=\"disableNotificationCheck\" [(ngModel)]=\"notification\">\r\n                <label class=\"form-check-label\" for=\"disableNotificationCheck\">{{ notification ? ( 'Standard.On' | translate ) : ('Standard.Off' | translate) }}</label>\r\n              </div>\r\n            </div>\r\n            <div class=\"col-6 mt-3\">\r\n              <label class=\"mb-0\">{{ 'Standard.Status' | translate }}</label>\r\n              <select class=\"form-control\" [(ngModel)]=\"newCase.caseStatusId\">\r\n                <option value=\"8850aee1-48a3-48a6-aa98-2e1597b7b1d7\">{{ 'CaseStatus.Name.Open' | translate }}</option>\r\n                <option value=\"6991f0ea-bdb5-4e30-868f-46c43d712e9b\">{{ 'CaseStatus.Name.NeedPlanning' | translate }}</option>\r\n                <option value=\"a693c47f-9685-4bb6-bf6e-bcab86cb88de\">{{ 'CaseStatus.Name.Closed' | translate }}</option>\r\n                <option value=\"7bccdf15-ad49-4cc9-b358-68e08287f32f\">{{ 'CaseStatus.Name.Posted' | translate }}</option>\r\n                <option value=\"99bc09b6-b7f7-46c0-a40b-5dfc27ec9cf0\">{{ 'CaseStatus.Name.Canceled' | translate }}</option>\r\n              </select>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"modal-footer\" *ngIf=\"!propertyManagement\">\r\n          <div class=\"d-flex\">\r\n            <button type=\"button\" class=\"btn btn-secondary mr-3\" (click)=\"resetCaseModal()\" data-dismiss=\"modal\">{{ 'Buttons.Close' | translate }}</button>\r\n            <button type=\"button\" class=\"btn btn-secondary\" (click)=\"steps.current = steps.previous; customerComponentMessage = 'back'\" *ngIf=\"steps.current != 'chooseCustomer' && steps.current != 'chooseDelivery' && steps.current != 'chooseContact' && steps.current != 'newDelivery' && steps.current != 'newContact'\">{{ 'Buttons.Back' | translate }}</button>\r\n            <button type=\"button\" class=\"btn btn-secondary\" (click)=\"steps.current = 'final'; customerComponentMessage = 'final'\" *ngIf=\"(steps.current == 'chooseCustomer' && !!newCase.customerId) || steps.current == 'chooseDelivery' || steps.current == 'chooseContact' && steps.current != 'newDelivery' && steps.current != 'newContact'\">{{ 'Buttons.Back' | translate }}</button>\r\n            <button type=\"button\" class=\"btn btn-secondary\" (click)=\"steps.current = 'chooseDelivery'; customerComponentMessage = 'resetNewDelivery'\" *ngIf=\"steps.current == 'newDelivery'\">{{ 'Buttons.Back' | translate }}</button>\r\n            <button type=\"button\" class=\"btn btn-secondary\" (click)=\"steps.current = 'chooseContact'; customerComponentMessage = 'resetNewContact'\" *ngIf=\"steps.current == 'newContact'\">{{ 'Buttons.Back' | translate }}</button>\r\n          </div>\r\n          <button type=\"button\" class=\"btn btn-primary\" (click)=\"steps.current = 'final'; getPreviousFromCurrent(); customerComponentMessage = 'editCustomer'\" *ngIf=\"steps.current == 'editCustomer'\">{{ 'Buttons.Save' | translate }}</button>\r\n          <button type=\"button\" class=\"btn btn-primary\" (click)=\"steps.current = 'final'; getPreviousFromCurrent(); customerComponentMessage = 'createCustomer'\" [disabled]=\"newCustomerCheck == false\" *ngIf=\"steps.current == 'newCustomer'\">{{ 'Buttons.CreateCustomer' | translate }}</button>\r\n          <button type=\"button\" class=\"btn btn-primary\" (click)=\"steps.current = 'final'; customerComponentMessage = 'chooseDelivery';\" *ngIf=\"steps.current == 'newDelivery'\">{{ 'Buttons.Create' | translate }} {{ ('Standard.DeliveryAddress' | translate) | lowercase }}</button>\r\n          <button type=\"button\" class=\"btn btn-primary\" (click)=\"steps.current = 'final'; customerComponentMessage = 'chooseContact';\" *ngIf=\"steps.current == 'newContact'\">{{ 'Standard.Create' | translate }} {{ ('Standard.ContactPerson' | translate) | lowercase }}</button>\r\n          <button type=\"button\" class=\"btn btn-primary\" (click)=\"steps.current = 'final'; getPreviousFromCurrent(); customerComponentMessage = 'chooseCustomer'\" *ngIf=\"steps.current == 'chooseCustomer'\" [disabled]=\"newCase.customerId == null\">{{ 'Buttons.Next' | translate }}</button>\r\n          <button class=\"btn btn-primary\" data-dismiss=\"modal\" (click)=\"createCase()\" *ngIf=\"steps.current == 'final'\" [disabled]=\"newCase.description == '' || dblClick\">{{'Buttons.CreateCase' | translate}}</button>\r\n        </div>\r\n        <div class=\"modal-footer\" *ngIf=\"propertyManagement\">\r\n          <button type=\"button\" class=\"btn btn-outline-secondary\" (click)=\"resetCaseModal()\" data-dismiss=\"modal\">{{ 'Buttons.Close' | translate }}</button>\r\n          <div *ngIf=\"noLeaseWarning\">\r\n            <p class=\"text-danger text-bold\">Du er ved at oprette en sag uden ejendom.</p>\r\n          </div>\r\n          <button class=\"btn btn-primary\" data-dismiss=\"modal\" (click)=\"createCase()\" [disabled]=\"newCase.customerId == null || newCase.description == '' || dblClick\" *ngIf=\"!noLeaseWarning\">{{ 'Buttons.CreateCase' | translate }}</button>\r\n          <button class=\"btn btn-primary\" data-dismiss=\"modal\" (click)=\"createCase('force')\" [disabled]=\"newCase.customerId == null || newCase.description == '' || dblClick\" *ngIf=\"noLeaseWarning\">Opret på ejendom</button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n<button id=\"newCaseModalOpener\" data-toggle=\"modal\" data-target=\"#createNewCaseModal\" hidden></button>","import { Responsible, Status, Task, KeyValue, ChooseTimeInput, Lists, FileInput, FileOutput, Fitter, Message, PendingMessage, Origin, CustomerDetails, CompanyInformation, DeliveryAddressDetails, AddressDetails, BookingOnCase } from './models';\r\nimport { CaseStage, ChannelItem } from \"app/settings/category-setup/category-setup.component\";\r\nimport { CaseType } from 'app/cases/cases.component';\r\nimport { GetOffer } from 'app/shared-html-components/document-creator/productGrid';\r\nimport { Subscription } from 'rxjs';\r\n\r\nexport class CaseObject {\r\n  public data: CaseDetails | any;\r\n  public offer: GetOffer;\r\n  public lists = new Lists();\r\n  public companyInformation = new CompanyInformation();\r\n  public temporaryData = new CaseTempData();\r\n  public pdfSettings;\r\n  public acceptableOffers = [];\r\n}\r\n\r\nexport class CaseTempData {\r\n  public messageFiles: Array<FileInput>;\r\n  public messages: Array<Message>;\r\n}\r\n\r\nexport class CaseDetails {\r\n  public assets?: Array<string>;\r\n  public caseId: string;\r\n  public caseChannel: ChannelItem;\r\n  public caseNumber: string;\r\n  public caseStage?: CaseStage;\r\n  public casePriority:CaseDetailsCasePriority;\r\n  public contactAddress: AddressDetails;\r\n  public createdAt: string;\r\n  public customer: CustomerDetails;\r\n  public customerNumber: string;\r\n  public departmentId?: any;\r\n  public description: string;\r\n  public deliveryAddress: AddressDetails;\r\n  public disableNotifications: string;\r\n  public disableNotification: boolean;\r\n  public unreadPartnerMessage: boolean;\r\n  public externalId: string;\r\n  public hours: number;\r\n  public internalNote: string;\r\n  public invoice: AddressDetails;\r\n  public lastModified: string;\r\n  public fileId: Array<string>;\r\n  public files: Array<FileOutput>;\r\n  public fitter: Fitter;\r\n  public link: string;\r\n  public messages: Array<Message>;\r\n  public notificationSetId: string;\r\n  public offerStatusId: string;\r\n  public offerList: Array<OfferList>;\r\n  public origin: Origin;\r\n  public requisitionNumber: string;\r\n  public responsible: Responsible;\r\n  public status: Status;\r\n  public title: string;\r\n  public transferId?: string;\r\n  public transferTypeId?: string;\r\n  public offerId: string;\r\n  public caseType: CaseType;\r\n  public companyName: string;\r\n  public vorRef: string;\r\n  public propertyInfo: PropertyInfo;\r\n  public propertyLease: PropertyLease;\r\n  public caseCreatedBy?: CaseCreatedBy;\r\n  public invoiceTypeId?: string;\r\n}\r\n\r\ninterface CaseDetailsCasePriority {\r\n  id: string;\r\n  name: string;\r\n}\r\n\r\nexport class OfferList {\r\n  public cooperativeHousingAssessment?: CHA;\r\n  public acceptanceDate: string;\r\n  public costPrice: string;\r\n  public createdAt: string;\r\n  public offerId: string;\r\n  public offerNumber: string;\r\n  public offerPdfId: string;\r\n  public offerTypeId: string;\r\n  public salesVAT: string;\r\n  public statusId: string;\r\n  public title: string;\r\n  public totalPrice: number;\r\n  public variationOrderNumber: number;\r\n  public stade: number;\r\n}\r\n\r\nexport class PropertyInfo {\r\n  propertyNumber: string;\r\n  propertyLeaseNumber: string;\r\n}\r\n\r\nexport class PropertyLease {\r\n  propertyId: string;\r\n  propertyLeaseId: string;\r\n}\r\n\r\nexport class CaseCreatedBy {\r\n  id: string = null;\r\n  isStakeholder: boolean = false;\r\n}\r\n\r\nexport class CHA {\r\n  acceptedAt: string;\r\n  acceptedBy: string;\r\n  chaId: string;\r\n  savedAt: string;\r\n  savedBy: string;\r\n}\r\n\r\nexport class CustomerInput {\r\n  public mobileOverviewExpanded = false;\r\n  public viewDesign = false;\r\n  public viewPackage = false;\r\n  public viewCustomLine = false;\r\n  public changeCaseResponsible = false;\r\n  public changeOfferResponsible = false;\r\n  public changeDescription = false;\r\n  public requisition = false;\r\n  public vorRef = false;\r\n  // public click = new NicoClickPrevention();\r\n  public search: string = '';\r\n  public changeStatus: boolean = false;\r\n  public fakeMessage = {\r\n    'createdAt': new Date(),\r\n    'description': '',\r\n    'files': [],\r\n    'messageId': \"fake\",\r\n    'messageStatus': { key: '184cfaef-2836-431d-bf5a-0e598fb16264', value: 'Pending' },\r\n    'messageType': { key: '403358D3-F766-43C6-AA19-276C40C9CF5A', value: 'Message' },\r\n    'sentAt': new Date(),\r\n    'sendBy': { 'key': 'fake', 'value': '' },\r\n    'title': \"-\"\r\n  }\r\n  public hoursProfit = 0;\r\n  public hoursDiscount = 0;\r\n  public hoursSalePerHour = 0;\r\n  public changeChannel = false;\r\n  public currentChannel = null;\r\n  public changeProperty = false;\r\n  public changeLease = false;\r\n}\r\n\r\nexport class Property {\r\n  id: string;\r\n  name: string;\r\n}\r\n\r\nexport class PropertyLeaseType {\r\n  id: string;\r\n  name: string;\r\n}\r\n\r\nexport class Leases {\r\n  id: string;\r\n  property: Property = new Property();\r\n  leaseNumber: string;\r\n  address: string;\r\n  city: string;\r\n  zipCode: string;\r\n  propertyLeaseType: PropertyLeaseType = new PropertyLeaseType();\r\n  tenant: Tenant;\r\n  createdAt: Date;\r\n}\r\n\r\nexport class Tenant {\r\n  email: string;\r\n  id: string;\r\n  mobile: string;\r\n  name: string;\r\n  phone: string;\r\n}\r\n\r\nexport class Properties {\r\n  id: string;\r\n  number: string;\r\n  name: string;\r\n  department?: any;\r\n  address: string;\r\n  city: string;\r\n  zipCode: string;\r\n  createdAt: Date;\r\n}\r\n\r\nexport class PropertyManager {\r\n  allProperties: Array<Properties>;\r\n  filteredProperties: Array<Properties>;\r\n  propertySortBy = 'name';\r\n  propertySortDirection = -1 ;\r\n  propertySearchString: string = '';\r\n  changePropertySort(s:string) {\r\n    if(s == this.propertySortBy){\r\n      this.propertySortDirection = this.propertySortDirection * -1;\r\n      this.filterProperties();\r\n    }\r\n    else {\r\n      this.propertySortBy = s;\r\n      this.propertySortDirection = -1;\r\n      this.filterProperties()\r\n    }\r\n  }\r\n  filterProperties() {\r\n    let p = this.allProperties;\r\n    let s = this.propertySearchString.toLowerCase();\r\n    this.filteredProperties = p.filter(x => x.number != null && x.number.toString().match(s) ||\r\n      x.name != null && x.name.toLowerCase().match(s) ||\r\n      x.address != null && x.address.toLowerCase().match(s) ||\r\n      x.zipCode != null && x.zipCode.toLowerCase().match(s) ||\r\n      x.city != null && x.city.toLowerCase().match(s)\r\n    ).sort((a,b)=>  a[this.propertySortBy].toLowerCase() < b[this.propertySortBy].toLowerCase() ? this.propertySortDirection : (this.propertySortDirection * -1) )\r\n  }\r\n  allLeases: Array<Leases> | null = null;\r\n  filteredLeases: Array<Leases> | null = null;\r\n  leasesSearchString: string = '';\r\n  leaseSortBy = 'leaseNumber';\r\n  leaseSortDirection = -1;\r\n  changeLeaseSort(s:string) {\r\n    if(s == this.leaseSortBy){\r\n      this.leaseSortDirection = this.leaseSortDirection * -1;\r\n      this.filterLeases();\r\n    }\r\n    else {\r\n      this.leaseSortBy = s;\r\n      this.leaseSortDirection = -1;\r\n      this.filterLeases()\r\n    }\r\n  }\r\n  filterLeases() {\r\n    let l = this.allLeases;\r\n    let s = this.leasesSearchString.toLowerCase();\r\n    this.filteredLeases = l.filter(x =>\r\n      x.leaseNumber != null && x.leaseNumber.toLowerCase().match(s) ||\r\n      x.address != null && x.address.toLowerCase().match(s)\r\n    ).sort((a,b)=>  {\r\n      if(this.leaseSortBy == 'leaseNumber') return +a.leaseNumber < +b.leaseNumber ? this.leaseSortDirection : (this.leaseSortDirection * -1);\r\n      return a[this.leaseSortBy].toLowerCase() < b[this.leaseSortBy].toLowerCase() ? this.leaseSortDirection : (this.leaseSortDirection * -1);\r\n    } )\r\n  }\r\n}\r\n\r\nexport class ClearPriceBasketInfo {\r\n  products: Array<any> = [];\r\n  name: string = '';\r\n  address: string = '';\r\n  zipCode: string = '';\r\n  city: string = '';\r\n  orderNumber: string = '';\r\n}\r\n\r\nexport class SelectResponsibleNotification {\r\n  mail: boolean = false;\r\n  sms: boolean = false;\r\n  alert: boolean = true;\r\n}\r\n\r\nexport class OrderHistory {\r\n  Id!: number;\r\n  WholesalerId!: number;\r\n  OrderDate!: string;\r\n  TotalAmount!: number;\r\n  DeliveryAddress!: string;\r\n  ProductCount!: number;\r\n  UserName!: string;\r\n}\r\n\r\nexport class OrderHistoryLines {\r\n  Number!: string;\r\n  Description!: string;\r\n  Quantity!: number;\r\n  TotalAmount!: number;\r\n}\r\n\r\nexport class CaseProperties {\r\n  salesPrice: number;\r\n  costPrice: number;\r\n  packageId: string;\r\n  packageNumber: string;\r\n  servicetype: string;\r\n  installationTimeInMinutes: string;\r\n  length: number = 0;\r\n}","import { CaseStage } from \"app/settings/category-setup/category-setup.component\";\r\nimport { NotificationSets } from \"app/settings/notifications/notifications\";\r\n\r\nexport class ChooseTimeInput {\r\n  public startTime: string;\r\n  public endTime: string;\r\n  public fitter: string;\r\n}\r\n\r\nexport class CompanyInformation {\r\n  public name: string;\r\n  public address: string;\r\n  public id: string;\r\n  public phone : string;\r\n  public logo: string;\r\n  public email: string;\r\n  public companyLanguage: 'da-DK' | 'sv-SE' | 'en-US' | 'nn-NO' | 'es-ES' | 'fo-FO' | 'de-DE' ;\r\n  public companyNumber: number;\r\n  public companyType: string;\r\n  public googleAnalyticsId: string;\r\n  public originId: string;\r\n  public vat: string;\r\n  public base64? : string;\r\n  public website: string;\r\n}\r\n\r\nexport class CustomerDetails {\r\n  address: string;\r\n  customerId?: string;\r\n  email: string;\r\n  mobile: string;\r\n  phone: string;\r\n  name: string;\r\n  zipCode: string;\r\n  city: string;\r\n  cvr?:string;\r\n}\r\n\r\nexport class AddressDetails {\r\n  address: string;\r\n  id: string;\r\n  email: string;\r\n  mobile: string;\r\n  phone: string;\r\n  name: string;\r\n  zipCode: string;\r\n  city: string;\r\n}\r\n\r\nexport class DeliveryAddressDetails {\r\n  address: string;\r\n  id: string;\r\n  email: string;\r\n  mobile: string;\r\n  phone: string;\r\n  name: string;\r\n  zipCode: string;\r\n  city: string;\r\n}\r\n\r\nexport class Department {\r\n  public companyId: string;\r\n  public createdAt: string;\r\n  public departmentBelongToId: string;\r\n  public departmentBelongToName: string;\r\n  public departmentId: string;\r\n  public description: string;\r\n  public lastModified: Date;\r\n  public name: string;\r\n}\r\n\r\nexport class FileInput {\r\n  public fileId = [];\r\n  public fileName = [];\r\n  public ext = [];\r\n  public originalName = '';\r\n}\r\n\r\nexport class FileOutput {\r\n  public extension: string = '';\r\n  public fileId: string = '';\r\n  public fileTypeId: string = '';\r\n  public originalName: string = '';\r\n  public path: string = '';\r\n}\r\n\r\nexport class Fitter {\r\n  public fitterId: string;\r\n  public name: string;\r\n}\r\n\r\nexport class KeyValue {\r\n  public key: string;\r\n  public value: string;\r\n}\r\n\r\nexport class Lists {\r\n  public responsibles: Array<KeyValue> = [];\r\n  public departments: Array<Department> = [];\r\n  public skills: Array<Skill> = [];\r\n  public status: Array<Status> = [];\r\n  public tasks: Array<Task> = [];\r\n  public priceGroups: Array<PriceGroup>;\r\n  public pendingMessages: Array<PendingMessage>;\r\n  offerListFiltered: Array<any>;\r\n  public caseStages: Array<CaseStage> = [];\r\n  notificationSets: NotificationSets[] = [];\r\n\r\n}\r\n\r\nexport class Message {\r\n  public caseId: string = '';\r\n  public description: string = '';\r\n  public fileId: string = '';\r\n  public files: FileOutput = new FileOutput();\r\n  public messageId: string = '';\r\n  public messageTypeId = '';\r\n  public sentAt: string = '';\r\n  public sentBy: Stakeholder = new Stakeholder();\r\n  public title: string = '-';\r\n  public messageReadByCustomer: boolean;\r\n  public emailSent: boolean;\r\n  public smsSent: boolean;\r\n}\r\n\r\nexport class PendingMessage {\r\n  public email: string;\r\n  public id: string;\r\n  public messageTypeId: string;\r\n  public sendingAt: string;\r\n  public shortDescription: string;\r\n  public sms: string;\r\n  date?: string;\r\n  time: string;\r\n}\r\n\r\nexport class BookingOnCase {\r\n  receiverId: string = null;\r\n  receiver: number = null;\r\n  isBookable: boolean = true;\r\n  skillId: string = null;\r\n  priceGroupId: string = null;\r\n}\r\n\r\nexport class MessageTypes {\r\n  public customer = [\r\n    '77e3ae35-6955-4fbb-89a9-1992ee407dd6',\r\n    'b493822e-bae1-4e96-889c-ae5f821c6473',\r\n    '89a873df-acda-41ca-a680-c40f20f7329e'\r\n  ];\r\n  public system = [\r\n    'b2114c29-d297-4a12-bda5-a400fbcaaf40',\r\n    '1aabee02-1576-4dad-a995-3e8c272f8e82',\r\n    '87806a15-0ae5-44a9-ba2e-ff2402b1345f',\r\n    'c2de85a8-7ce7-4e1c-a229-5279e4ea5f2b',\r\n    '8c300432-6ff5-4e6a-a259-1fb0e9877cbf',\r\n    '8850aee1-48a3-48a6-aa98-2e1597b7b1d7',\r\n    '99bc09b6-b7f7-46c0-a40b-5dfc27ec9cf0',\r\n    '7bccdf15-ad49-4cc9-b358-68e08287f32f',\r\n    'b56c96f0-0e8c-4a9f-8faf-70eea6f6b0b7',\r\n    'a693c47f-9685-4bb6-bf6e-bcab86cb88de',\r\n    '6bef49c6-c9a1-4fd3-ae13-e9b28dfc7b6b',\r\n    'dbe287c5-6011-47f3-88e8-eafa671d1ed6',\r\n    '7f42fb44-d8ea-491f-8bfc-0b63a5276ddf'\r\n  ];\r\n  public company = [\r\n    'c3affd15-1834-44ff-9c5e-11763e6aabed',\r\n    'd8e8ed6f-8582-4f0a-bc26-1307f32825ed',\r\n    '880a69de-65ea-4bd0-96bb-238999075b5b',\r\n    '403358d3-f766-43c6-aa19-276c40c9cf5a',\r\n    'e16ffab0-bbac-4a90-906c-27ec935deba4',\r\n    '69d4f294-ca74-4df1-b018-2e2779e775c5',\r\n    '6deaca71-b600-4f4a-8923-3e5286190f4a',\r\n    '8c0e89f8-0186-4ded-96a1-806fa7846523',\r\n    'affa0591-e431-4543-a005-9200d71e5948',\r\n    '5bd55f91-ae0b-4289-911d-a4037a244360',\r\n    'd9cac90c-6aff-4067-8666-a61d07077379',\r\n    '1f960a12-f5a8-4cd3-a474-bb41fd68a026',\r\n    '04630a3b-6f6e-4c24-be3a-f56a0499c8c4',\r\n    '47324550-1525-4d66-b975-f8c9c9301b15'\r\n  ];\r\n  public internal = ['5bd55f91-ae0b-4289-911d-a4037a244360'];\r\n}\r\n\r\nexport class Origin {\r\n  public originId: string;\r\n  public url: string;\r\n}\r\n\r\nexport class Responsible {\r\n  public responsibleId: string;\r\n  public name: string;\r\n}\r\n\r\nexport class Skill {\r\n  public description: string = '';\r\n  public name: string;\r\n  public packageDistributorId: string;\r\n  public skillId: string;\r\n}\r\n\r\nexport class Procurement {\r\n  id: string;\r\n  name: string;\r\n  icon: string = \"fas fa-question\";\r\n}\r\n\r\nexport class Enterprise {\r\n  id: string;\r\n  name: string;\r\n  icon: string = \"fas fa-question\";\r\n}\r\n\r\nexport class Stakeholder {\r\n  public stakeholderId: string = '';\r\n  public name: string = '';\r\n}\r\n\r\nexport class Status {\r\n  caseStatusId: string;\r\n  name: string;\r\n  description: string;\r\n  createdAt: string;\r\n  lastModified: string;\r\n}\r\n\r\nexport class Task {\r\n  public caseTaskStatus: KeyValue;\r\n  public caseTaskType: KeyValue;\r\n  public endDateTime: string;\r\n  public fitter: KeyValue;\r\n  public startDateTime: string;\r\n  public taskId: string;\r\n}\r\n\r\nexport class PriceGroup {\r\n  public priceGroupId: string;\r\n  public description: string;\r\n  public name: string;\r\n  public costPrice: number;\r\n  public listPrice: number;\r\n  public companyId: string;\r\n  public createdAt: string;\r\n  public lastModified: string;\r\n}\r\n\r\nexport class ActivityHistory {\r\n  // type: string;\r\n  // icon: string[];\r\n  // createdAt: string;\r\n  // userType: string;\r\n  // userId: string;\r\n  // userName: string;\r\n  // description: string;\r\n  // message: string;\r\n  name: string;\r\n  icon: string;\r\n  text: string;\r\n  translateText: string;\r\n  createdAt: string;\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Location } from '@angular/common';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { SharedDataService } from '../../shared/services/shared-data.service';\r\nimport { CaseInfo } from '../../reports/reports.component';\r\nimport { curveMonotoneX } from 'd3-shape';\r\nimport * as api from '../../shared/api/apihandler';\r\n\r\n@Component({\r\n  selector: 'app-case-reports',\r\n  templateUrl: './case-reports.component.html'\r\n})\r\nexport class CaseReportsComponent implements OnInit {\r\n  compInfo;\r\n  responsibles;\r\n  fitters;\r\n  departments;\r\n  filter = new ReportsCaseFilterObject();\r\n\r\n  curve = curveMonotoneX;\r\n\r\n  report = new CaseReportObject();\r\n\r\n  constructor(private httpClient: HttpClient, private router: Router, private activeroute: ActivatedRoute, private loc: Location, private sharedData: SharedDataService) { }\r\n\r\n  ngOnInit() {\r\n    this.sharedData.companyInformation().subscribe(data => this.compInfo = data);\r\n    this.sharedData.responsibles().subscribe(data => { this.responsibles = data });\r\n    this.sharedData.departments().subscribe(data => { this.departments = data });\r\n    this.sharedData.fitter().subscribe(data => { this.fitters = data });\r\n    this.activeroute.queryParams.subscribe((data) => this.setFilterFromQueryParams(data));\r\n    this.getCases();\r\n  }\r\n\r\n  getCases() {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n    this.httpClient.get(api.jubloApi + 'api/Website/Dashboard/GetCaseReport', { headers }).subscribe((data: Array<CaseInfo>) => {\r\n      this.report.allCases = data.sort((a,b) => new Date(a.createdAt) < new Date(b.createdAt) ? -1 : 1);\r\n    }, () => { }, () => {\r\n        this.filterCases();\r\n    }\r\n    );\r\n  }\r\n\r\n  async filterCases() {\r\n    this.report.test = null;\r\n   let c = this.report.allCases;\r\n    for (let x of Object.keys(this.filter.by)) {\r\n      switch (x) {\r\n        case ('fromDate'): {\r\n          let d = !!this.filter.by.fromDate ? this.filter.by.fromDate : null;\r\n          if (d != null) {\r\n            let e: Date = new Date(this.filter.by.fromDate.getFullYear(), this.filter.by.fromDate.getMonth() - 1, this.filter.by.fromDate.getDate());\r\n            console.log(e);\r\n            c = c.filter(x => x.createdAt != null && new Date(x.createdAt) > e);\r\n          }\r\n          console.log(c.length)\r\n          ; break\r\n        }\r\n        case ('toDate'): {\r\n          let d = !!this.filter.by.toDate ? this.filter.by.toDate : null;\r\n          if (d != null) {\r\n            let e: Date = new Date(this.filter.by.toDate.getFullYear(), this.filter.by.toDate.getMonth() -1, this.filter.by.toDate.getDate() + 1);\r\n            c = c.filter(x => x.createdAt != null && new Date(x.createdAt) < e);\r\n          }\r\n          ; break\r\n        }\r\n        case ('responsible'): {\r\n          if (this.filter.by.responsible != null && this.filter.by.responsible != '') {\r\n            c = c.filter(x => x.responsibleId != null && x.responsibleId == this.filter.by.responsible )\r\n          }\r\n          ; break\r\n        }\r\n        case ('fitter'): {\r\n          if (this.filter.by.fitter != null && this.filter.by.fitter != '') {\r\n            c = c.filter(x => x.fitterId != null && x.fitterId == this.filter.by.fitter)\r\n          }\r\n          ; break\r\n        }\r\n        case ('caseChannel'): { ;break}\r\n        case ('department'): {\r\n          ; break\r\n        }\r\n      } // end of switch\r\n    } // end of for loop\r\n    this.report.cases = c;\r\n\r\n    this.mapCaseData();\r\n  }\r\n\r\n  \r\n\r\n  formatDisplayData() {\r\n\r\n\r\n  }\r\n\r\n  async mapCaseData() {\r\n    let data = [];\r\n    let c = this.report.cases.filter(x => x.properties != null);\r\n    let tilbud = this.getSeries(c.filter(x => x.title != null && x.title.includes('Tilbud')));\r\n    let pakke = this.getSeries(c.filter(x => x.title != null && x.title.toLowerCase().includes('pakke')));\r\n    let service = this.getSeries(c.filter(x => x.title != null && x.title.toLowerCase().includes('service')));\r\n    let rekvisition = this.getSeries(c.filter(x => x.title != null && x.title.toLowerCase().includes('rekvisition')));\r\n    let andet = this.getSeries(c.filter(x => x.title == null || x.title == '' || x.title == '-'));\r\n    //data = [\r\n    //  {name:'Tilbud', series:tilbud},\r\n    //  { name: 'Pakker', series: pakke},\r\n    //  { name: 'Service', series: service},\r\n    //  { name: 'Rekvisition', series: rekvisition},\r\n    //  { name: 'Andet', series: andet}\r\n    //]\r\n    data = [\r\n      { name: 'Tilbud', series: tilbud }\r\n    ]\r\n    this.report.test = data;\r\n  }\r\n\r\n  getSeries(data: Array<any>) {\r\n    let series = [];\r\n    let stringOfDates: Array<string> = Array.from(\r\n      new Set(\r\n        data.map(x => new Date(x.createdAt).toLocaleString().split(' ')[0])\r\n      )\r\n    );\r\n    stringOfDates = stringOfDates.sort((a, b) => { return new Date(a).toISOString() < new Date(b).toISOString() ? 1 : -1 })\r\n    for (let x of stringOfDates) {\r\n      let currentData = data.filter(y => new Date(y.createdAt).toLocaleString().split(' ')[0] == x)\r\n      let name = x;\r\n      let value:number = currentData.reduce((total, current) => {\r\n        let a = current.properties != null && current.properties.find(x => x.name == \"SalesPrice\") != null && current.properties.find(x => x.name == \"SalesPrice\").value != null ? +current.properties.find(x => x.name == \"SalesPrice\").value.replace(',', '.') : 0;\r\n        return +total + +a\r\n      }, 0);\r\n      series.push({ name: name, value: +value.toFixed(2) })\r\n    }\r\n    return series\r\n  }\r\n\r\n  totalByType() {\r\n    let t = this.report.cases.reduce((total, y) => { return +total + (y.title != null && y.title.includes('Tilbud') ? +1 : +0) }, 0)\r\n    let p = this.report.cases.reduce((total, y) => { return +total + (y.title != null && y.title.includes('Bestilling af pakke') ? +1 : +0) }, 0)\r\n    let s = this.report.cases.reduce((total, y) => { return +total + (y.title != null && y.title.includes('Service') ? +1 : +0) }, 0)\r\n    let a = this.report.cases.reduce((total, y) => { return +total + (y.title == null || y.title == '-' || y.title == '' ? +1 : +0) }, 0)\r\n    let r = this.report.cases.reduce((total, y) => { return +total + (y.title != null && y.title.includes('Rekvisition') ? +1 : +0) }, 0)\r\n    let data =\r\n      [\r\n        { name: 'Tilbud', value: t },\r\n        { name: 'Pakker', value: p },\r\n        { name: 'Service', value: s },\r\n        { name: 'Rekvisition', value: r },\r\n        { name: 'Andet', value: a }\r\n\r\n      ]\r\n  }\r\n\r\n  clearFilter() {\r\n    this.filter.by = new ReportsCaseFilterOptions();\r\n    this.filterCases();\r\n  }\r\n\r\n  async setFilterFromQueryParams(params) {\r\n    for (let x of Object.keys(params)) {\r\n      switch (x) {\r\n        case ('fromDate'):\r\n        case ('toDate'): {\r\n          this.filter.by[x] = new Date(params[x]);\r\n          break\r\n        }\r\n        case ('origin'): {\r\n          if (['fullScreen'].includes(params[x])) {\r\n            // fullscreen code to be added later\r\n          };\r\n          break\r\n        }\r\n        case ('period'): {\r\n          await this.filter.setDatesFromfind(await this.filter.find.findDates(params[x]))\r\n            ;break\r\n        }\r\n        default: {\r\n            this.filter.by[x] = params[x]\r\n        } // end of default\r\n      } // end of switch\r\n    } // end of for loop\r\n    if (this.report.cases != null && this.report.cases.length > 0) {\r\n      this.filterCases()\r\n    }\r\n  }\r\n\r\n  async setParamsFromFilter() {\r\n    let params = {};\r\n    for (let x of Object.keys(this.filter.by)) {\r\n      if (this.filter.by[x] != null) {\r\n        if (typeof (this.filter.by[x]) == 'string') {\r\n          params[x] = this.filter.by[x]\r\n        }\r\n        else if (typeof (this.filter.by[x]) == 'object') {\r\n          params[x] = this.filter.by[x].singleDate.date.year + '-' + this.filter.by[x].singleDate.date.month + '-' + this.filter.by[x].singleDate.date.day\r\n        }\r\n      }\r\n    }\r\n    this.router.navigate(['.'], { queryParams: params, relativeTo: this.activeroute })\r\n  }\r\n\r\n  back() {\r\n    this.loc.back();\r\n  }\r\n\r\n  test(event) {\r\n    console.log(event)\r\n  }\r\n}\r\n\r\nexport class CaseReportObject {\r\n  allCases;\r\n  cases;\r\n  test;\r\n}\r\n\r\nexport class ReportsCaseFilterObject {\r\n  by = new ReportsCaseFilterOptions();\r\n  find = new FilterStringsToDates();\r\n  setDatesFromfind(dates: FromToDates) {\r\n    this.by.fromDate = new Date(dates.from)\r\n    this.by.toDate = new Date(dates.to);\r\n  }\r\n  changeDate(what, when) {\r\n    this.by[what] = when\r\n  }\r\n}\r\n\r\nexport class ReportsCaseFilterOptions {\r\n  fromDate: Date = null;\r\n  toDate: Date = null;\r\n  responsible: string = null;\r\n  fitter: string = null;\r\n  caseChannel: string = null;\r\n  department: string = null;\r\n}\r\n\r\nexport class FilterStringsToDates {\r\n  private from: Date;\r\n  private to: Date;\r\n  private now = new Date();\r\n  /**\r\n   * @param period thisWeek, lastWeek, thisMonth, lastMonth, thisYear, lastYear\r\n   * @returns { from: Date, to: Date }\r\n   */\r\n  findDates(period: string): FromToDates {\r\n    switch (period) {\r\n      case ('thisWeek'): {\r\n        this.from = new Date(this.now.getFullYear(), this.now.getMonth(), this.now.getDate() - [6, 0, 1, 2, 3, 4, 5][this.now.getDay()]);\r\n        this.to = new Date(this.now.getFullYear(), this.now.getMonth(), this.from.getDate() + 6);\r\n        return { from: this.from, to: this.to }\r\n      }\r\n      case ('lastWeek'): {\r\n        let day = [6, 0, 1, 2, 3, 4, 5][this.now.getDay()]\r\n        this.from = new Date(this.now.getFullYear(), this.now.getMonth(), this.now.getDate() - day - 7);\r\n        this.to = new Date(this.from.getFullYear(), this.from.getMonth(), this.from.getDate() + 6);\r\n        return { from: this.from, to: this.to }\r\n      }\r\n      case ('thisMonth'): {\r\n        this.from = new Date(this.now.getFullYear(), this.now.getMonth(), 1);\r\n        this.to = new Date(this.now.getFullYear(), this.now.getMonth() + 1, 0);\r\n        return { from:this.from, to: this.to}\r\n      }\r\n      case ('lastMonth'): {\r\n        this.from = new Date(this.now.getFullYear(), this.now.getMonth() - 1, 1);\r\n        this.to = new Date(this.now.getFullYear(), this.now.getMonth(), 0);\r\n        return { from: this.from, to: this.to }\r\n      }\r\n      case ('thisYear'): {\r\n        this.from = new Date(this.now.getFullYear() +1, 0, 1);\r\n        this.to = new Date(this.now.getFullYear() +1, 0, 0);\r\n        return { from: this.from, to: this.to }\r\n      }\r\n      case ('lastYear'): {\r\n        this.from = new Date(this.now.getFullYear(), 0, 1);\r\n        this.to = new Date(this.now.getFullYear(), 0, 0);\r\n        return { from: this.from, to: this.to }\r\n      } \r\n    } // end of switch\r\n  }\r\n}\r\n\r\ninterface FromToDates {\r\n  from: Date;\r\n  to: Date;\r\n}\r\n\r\nexport class DataHolder {\r\n  name: string;\r\n}\r\n","<!--Page Header-->\r\n\r\n<div class=\"row mt-3\">\r\n  <div class=\"col-12 d-flex justify-content-between align-items-center\">\r\n    <h2>{{ 'Reports.CaseReports' | translate }}</h2>\r\n    <button class=\"btn btn-secondary\" (click)=\"back()\">{{ 'Buttons.Back' | translate }}</button>\r\n  </div>\r\n</div>\r\n\r\n<!--Filters-->\r\n\r\n<div class=\"row\">\r\n  <div class=\"col\">\r\n    <label>{{ 'Standard.From' | translate }}</label>\r\n    <div class=\"input-group\" *ngIf=\"!!compInfo\">=\"dpFromDate.toggleCalendar()\">\r\n      <div class=\"input-group-append\">\r\n        <button type=\"button\" class=\"btn btn-secondary\" *ngIf=\"filter.by.fromDate\" (click)=\"dpFromDate.clearDate()\">\r\n          <i class=\"fas fa-times\"></i>\r\n        </button>\r\n      </div>\r\n      <!-- toggle calendar button -->\r\n      <div class=\"input-group-append\">\r\n        <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dpFromDate.toggleCalendar()\">\r\n          <i class=\"far fa-calendar-alt\"></i>\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"col\">\r\n    <label>{{ 'Standard.To' | translate }}</label>\r\n    <div class=\"input-group\" *ngIf=\"!!compInfo\">\r\n      <div class=\"input-group-append\">\r\n        <button type=\"button\" class=\"btn btn-secondary\" *ngIf=\"filter.by.toDate\" (click)=\"dpToDate.clearDate()\">\r\n          <i class=\"fas fa-times\"></i>\r\n        </button>\r\n      </div>\r\n      <!-- toggle calendar button -->\r\n      <div class=\"input-group-append\">\r\n        <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dpToDate.toggleCalendar()\">\r\n          <i class=\"far fa-calendar-alt\"></i>\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"col\">\r\n    <label>{{ 'Standard.Responsible' | translate }}</label>\r\n    <select class=\"form-control\" [(ngModel)]=\"filter.by.responsible\" (change)=\"setParamsFromFilter()\">\r\n      <option [value]=\"null\">{{ 'Standard.NoneChosen' | translate }}</option>\r\n      <option *ngFor=\"let x of responsibles\" [value]=\"x.key\">{{ x.value }}</option>\r\n    </select>\r\n  </div>\r\n  <div class=\"col\">\r\n    <label>{{ 'Standard.Fitter' | translate }}</label>\r\n    <select class=\"form-control\" [(ngModel)]=\"filter.by.fitter\" (change)=\"setParamsFromFilter()\">\r\n      <option [value]=\"null\">{{ 'Standard.NoneChosen' | translate }}</option>\r\n      <option *ngFor=\"let x of fitters\" [value]=\"x.key\">{{ x.value }}</option>\r\n    </select>\r\n  </div>\r\n  <div class=\"col\">\r\n    <label>{{ 'Standard.Department' | translate }}</label>\r\n    <select class=\"form-control\" [(ngModel)]=\"filter.by.department\" (change)=\"setParamsFromFilter()\">\r\n      <option [value]=\"null\">{{ 'Standard.NoneChosen' | translate }}</option>\r\n      <option *ngFor=\"let x of departments\" [value]=\"x.departmentId\">{{ x.name }}</option>\r\n    </select>\r\n  </div>\r\n  <div class=\"col\">\r\n    <button class=\"btn btn-outline-danger align-self-baseline\">{{ 'Buttons.Clear' | translate }}</button>\r\n  </div>\r\n</div>\r\n\r\n<div style=\"width:50%;height:20rem\" *ngIf=\"report.test != null\">\r\n  <ngx-charts-line-chart [results]=\"report.test\"\r\n                         [xAxis]=\"true\"\r\n                         [yAxis]=\"true\"\r\n                         [showXAxisLabel]=\"true\"\r\n                         [gradient]=\"true\"\r\n                         (select)=\"test($event)\"\r\n                         [curve]=\"curve\"\r\n                         >\r\n  </ngx-charts-line-chart>\r\n</div>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-economy-reports',\r\n  templateUrl: './economy-reports.component.html'\r\n})\r\nexport class EconomyReportsComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n}\r\n","<p>\r\n  economy-reports works!\r\n</p>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-property-owner-reports',\r\n  templateUrl: './property-owner-reports.component.html'\r\n})\r\nexport class PropertyOwnerReportsComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n}\r\n","<p>\r\n  property-owner-reports works!\r\n</p>\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-ratings-reports',\r\n  templateUrl: './ratings-reports.component.html'\r\n})\r\nexport class RatingsReportsComponent implements OnInit {\r\n\r\n  constructor() { }\r\n\r\n  ngOnInit() {\r\n  }\r\n\r\n}\r\n","<p>\r\n  ratings-reports works!\r\n</p>\r\n","export class UserDetails {\r\n  name: string;\r\n  userId: string;\r\n  password: string;\r\n  title: string;\r\n  email: string;\r\n  image: string;\r\n  language: string;\r\n  externalId: string | null;\r\n  bookingAddressStreet: string;\r\n  bookingAddressCity: string;\r\n  bookingAddressZipCode: string;\r\n  bookingRadius: string;\r\n  mobileCountryCode: string;\r\n  mobileNumber: string;\r\n  createdAt: string;\r\n  lastModified: string;\r\n  company: KeyPair = new KeyPair();\r\n  department: KeyPair = new KeyPair();\r\n  priceGroup: KeyPair = new KeyPair();\r\n  permission: Array<Permission>;\r\n  zipCodes: Array<ZipCodeData> | null;\r\n}\r\n\r\nexport class ZipCodeData {\r\n  id: string | null;\r\n  zipCode: string | null;\r\n  city: string | null;\r\n}\r\n\r\nexport class KeyPair {\r\n  key: string;\r\n  value: string;\r\n}\r\n\r\nexport class UserInfo {\r\n  Name: string;\r\n  Email: string;\r\n  CompanyNumber: string;\r\n}\r\n\r\nexport class Permission {\r\n  name: string;\r\n  permissionId: string;\r\n  isSet: boolean;\r\n}\r\n\r\nexport class UserPostDetails{\r\n  name: string;\r\n  email: string;\r\n  image: string;\r\n  title: string;\r\n  mobileCountryCode: string;\r\n  mobileNumber: string;\r\n  department: string;\r\n  priceGroup: string;\r\n  language: string;\r\n  password: string;\r\n  bookingAddressCity: string;\r\n  bookingRadius: string;\r\n  bookingAddressZipCode: string;\r\n  bookingAddressStreet: string;\r\n  externalId: string | null;\r\n}\r\n","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport * as api from './apihandler';\r\nimport { GridStakeholderStateFilter, IdName, IdNameNumber, KeyValue } from '../models/standard.models';\r\nimport {\r\n    Activity,\r\n    ActivityCategory,\r\n    ActivityOverviewCustomer,\r\n    ActivityOverviewDelivery,\r\n    ActivityTemplate,\r\n    ActivityType,\r\n    BaseActivityCategory,\r\n    BaseActivityTemplate,\r\n    BaseActivityType,\r\n    IdAddressNumber,\r\n    OverviewActivity,\r\n    PostActivity,\r\n    RuleList\r\n} from \"../models/action.models\";\r\nimport { TaskData } from \"app/task-items/tasksData\";\r\n\r\nexport class ActionApi {\r\n    user = localStorage.getItem('bearer') as string;\r\n    constructor(private http: HttpClient) { }\r\n\r\n    authTest() {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get(api.jubloApi + '/api/Activity/AuthTest', { headers })\r\n    }\r\n\r\n    activities() {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<Activity[]>(api.jubloApi + '/api/Activity', { headers })\r\n    }\r\n\r\n    getActivities(): Observable<Activity[]> {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<Activity[]>(api.jubloApi + '/api/Activity/GetActivities', { headers })\r\n    }\r\n\r\n    getActivitiesOnProperty(propertyId: string, amount: number) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<Array<TaskData>>(api.jubloApi + `api/PropertyLease/GetActivitiesOnPoperty/${propertyId}/0/${amount}`, { headers });\r\n    }\r\n\r\n    postActivity(a: PostActivity) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.post<PostActivity>(api.jubloApi + '/api/Activity', a, { headers })\r\n    }\r\n\r\n    getActivitiesOnCase(id: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<Activity[]>(api.jubloApi + `/api/Activity/GetActivitiesOnCase/${id}`, { headers })\r\n    }\r\n\r\n    getActivitiesOnOffer(id: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<Activity[]>(api.jubloApi + `/api/Activity/GetActivitiesOnOffer/${id}`, { headers })\r\n    }\r\n\r\n    getActivitiesOverview() {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<OverviewActivity[]>(api.jubloApi + '/api/Activity/GetActivitiesNew', { headers })\r\n    }\r\n\r\n    getActivitiesOverviewStakeholdFilters(): Observable<GridStakeholderStateFilter> {\r\n        return new Observable((obs) => {\r\n            const headers = new HttpHeaders({ Authorization: this.user });\r\n            this.http.get(api.jubloApi + 'api/Activity/GetStakeholderFilters', { headers }).subscribe({\r\n                next: (result: any) => {\r\n                    if (result != null) {\r\n                        obs.next({\r\n                            columnState: !!result.columnState ? JSON.parse(result.columnState) : null,\r\n                            filterModel: !!result.filterModel ? JSON.parse(result.filterModel) : null\r\n                        });\r\n                    }\r\n                },\r\n                error: (err) => { console.error(err); obs.next({ columnState: null, filterModel: null }) },\r\n                complete: () => { obs.complete() }\r\n            });\r\n        })\r\n\r\n    }\r\n\r\n    postActivitiesOverviewStakeholdFilters(f: any): void {\r\n        const headers = new HttpHeaders({ Authorization: this.user });\r\n        this.http.post(api.jubloApi + 'api/Activity/StakeholderFilters', f, { headers }).subscribe({\r\n            next: () => { },\r\n            error: (err) => console.log(err)\r\n        });\r\n    }\r\n\r\n    getActivitiesOverviewCustomers(): Observable<ActivityOverviewCustomer[]> {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<ActivityOverviewCustomer[]>(api.jubloApi + 'api/Activity/ActivityCustomer', { headers })\r\n    }\r\n\r\n    getActivitiesOverviewDeliveries(): Observable<ActivityOverviewDelivery[]> {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<ActivityOverviewDelivery[]>(api.jubloApi + 'api/Activity/ActivityDelivery', { headers })\r\n    }\r\n\r\n    getActivitiesOverviewLeases(): Observable<IdAddressNumber[]> {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<IdAddressNumber[]>(api.jubloApi + 'api/Activity/GetActivityLease', { headers })\r\n    }\r\n\r\n    getActivitiesOverviewProperties(): Observable<IdNameNumber[]> {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<IdNameNumber[]>(api.jubloApi + 'api/Activity/GetActivityOnProperty', { headers })\r\n    }\r\n\r\n    getActivityById(id: string): Observable<Activity> {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<Activity>(api.jubloApi + `api/Activity/${id}`, { headers })\r\n    }\r\n\r\n    getFilesOnActivity(id: string) {\r\n        const headers = new HttpHeaders({ Authorization: this.user });\r\n        return this.http.get(api.jubloApi + `api/Activity/GetFilesOnActivity/${id}`, { headers })\r\n    }\r\n\r\n    editActivity(id: string, a: PostActivity): Observable<any> {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.put<PostActivity>(api.jubloApi + `api/Activity/${id}`, a, { headers })\r\n    }\r\n\r\n    deleteActivity(id: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.delete(api.jubloApi + `api/Activity/${id}`, { headers })\r\n    }\r\n\r\n    getActivityTypes() {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<ActivityType[]>(api.jubloApi + 'api/Activity/ActivityTypes', { headers })\r\n    }\r\n\r\n    getActivityStatuses() {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<IdName[]>(api.jubloApi + 'api/Activity/ActivityStatus', { headers });\r\n    }\r\n\r\n    postActivityType(t: ActivityType) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.post<ActivityType>(api.jubloApi + 'api/Activity/ActivityType', t, { headers })\r\n    }\r\n\r\n    setOverdue(s: string[]) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.patch(api.jubloApi + 'api/Activity/SetOverdue', s, { headers })\r\n    }\r\n\r\n    putActivityType(id: string, t: BaseActivityType) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.put<BaseActivityType>(api.jubloApi + `api/Activity/UpdateActivity/${id}`, t, { headers })\r\n    }\r\n\r\n    removeActivityType(id: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.delete(api.jubloApi + `api/Activity/RemoveActivityType/${id}`, { headers })\r\n    }\r\n\r\n    getCompanyUsers() {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<KeyValue>(api.jubloApi + '/api/Activity/GetCompanyUsers', { headers })\r\n    }\r\n\r\n    getActivityTemplates() {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<ActivityTemplate[]>(api.jubloApi + '/api/Activity/GetActivityTemplates', { headers })\r\n    }\r\n\r\n    getActivityTemplateById(id: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<ActivityTemplate>(api.jubloApi + `/api/Activity/GetActivityTemplateById/${id}`, { headers })\r\n    }\r\n\r\n    addActivityTemplate(a: BaseActivityTemplate) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.post<BaseActivityTemplate>(api.jubloApi + '/api/Activity/AddActivityTemplate', a, { headers })\r\n    }\r\n\r\n    editActivityTemplate(a: ActivityTemplate) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.put<BaseActivityTemplate>(api.jubloApi + `/api/Activity/EditActivityTemplate/${a.id}`, {\r\n            name: a.name,\r\n            description: a.description,\r\n            categoryId: a.categoryId,\r\n            minutes: a.minutes\r\n        }, { headers })\r\n    }\r\n\r\n    deleteActivityTemplate(id: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.delete(api.jubloApi + `/api/Activity/DeleteActivityTemplate/${id}`, { headers })\r\n    }\r\n\r\n    getActivityCategories() {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<ActivityCategory[]>(api.jubloApi + '/api/Activity/GetActivityCategories', { headers })\r\n    }\r\n\r\n    getActivityCategoryById(id: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<ActivityCategory>(api.jubloApi + `/api/Activity/GetActivityCategoryById/${id}`, { headers })\r\n    }\r\n\r\n    addActivityCategory(c: BaseActivityCategory) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.post<BaseActivityCategory>(api.jubloApi + '/api/Activity/AddActivityCategory', c, { headers })\r\n    }\r\n\r\n    editActivityCategory(c: ActivityCategory) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.put<BaseActivityCategory>(api.jubloApi + `/api/Activity/EditActiviyCategory/${c.id}`, {\r\n            name: c.name,\r\n            parentId: c.parentId\r\n        }, { headers })\r\n    }\r\n\r\n    deleteActivityCategory(id: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.delete(api.jubloApi + `/api/Activity/DeleteActiviyCategory/${id}`, { headers })\r\n    }\r\n\r\n    getDVCategories() {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<string[]>(api.jubloApi + '/api/Activity/GetDVCategory', { headers })\r\n    }\r\n\r\n    addDVCategory(c: BaseActivityCategory) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.post<string>(api.jubloApi + '/api/Activity/AddDVCategory', c, { headers })\r\n    }\r\n\r\n    editDVCategory(c: ActivityCategory) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.put<BaseActivityCategory>(api.jubloApi + `/api/Activity/AddDVCategory/${c.id}`, {\r\n            name: c.name,\r\n            parentId: c.parentId\r\n        }, { headers })\r\n    }\r\n\r\n    deleteDVCategory(id: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.delete(api.jubloApi + `/api/Activity/DeleteDVCategory/${id}`, { headers })\r\n    }\r\n\r\n    getAllTimeSpent() {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get(api.jubloApi + 'api/Activity/GetActivityTimeSpent', { headers })\r\n    }\r\n\r\n    getTimeSpent(id: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get(api.jubloApi + `api/Activity/GetActivityTimeSpent/${id}`, { headers })\r\n    }\r\n\r\n    getTimeSpentOnActivity(activityId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get(api.jubloApi + `api/Activity/GetActivitySpentOnActivity/${activityId}`, { headers })\r\n    }\r\n\r\n    addTimeSpent(timeSpent: TaskTimeSpent) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.post(api.jubloApi + `api/Activity/AddActivityTimeSpent`, timeSpent, { headers })\r\n    }\r\n\r\n    updateTimeSpent(timeSpent: TaskTimeSpentFull) {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.put(api.jubloApi + `api/Activity/UpdateActivityTimeSpent`, timeSpent, { headers })\r\n    }\r\n\r\n    deleteTimeSpent(id: string): Observable<void> {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.delete<void>(api.jubloApi + `api/Activity/DeleteActivityTimeSpent/${id}`, { headers })\r\n    }\r\n\r\n    getTemplates(): Observable<RuleList[]> {\r\n        const headers = new HttpHeaders({ 'Authorization': this.user });\r\n        return this.http.get<RuleList[]>(api.jubloApi + 'api/Activity/GetRuleLists', { headers })\r\n    }\r\n}\r\n\r\nexport class ActionUtils {\r\n    static activityToNewActivity(\r\n        activity: TaskData,\r\n        dueDateTime: string,\r\n        recurrance: string\r\n    ) {\r\n        const addActivity: PostActivity = {\r\n            subject: activity.subject,\r\n            activityType: activity.activityType.id,\r\n            status: '7cb83847-96ee-4567-8555-b9d770ff16c0',\r\n            customerId: activity.customer.customerId,\r\n            caseId: activity.caseId,\r\n            offerId: activity.offerId,\r\n            propertyId: activity.propertyId,\r\n            propertyLeaseId: activity.propertyLeaseId,\r\n            dueDate: null,\r\n            dueTime: null,\r\n            description: activity.description,\r\n            durationInMinutes: activity.durationInMinutes,\r\n            assignedToStakeholder: activity.assignedToStakeholder.id,\r\n            dueDateTime: dueDateTime,\r\n            recurring: null,\r\n            recurrance: recurrance,\r\n            templateId: activity.templateId as string,\r\n            note: activity.note,\r\n            dvCategoryId: activity.dvCategoryId,\r\n            dvAccountPlanId: activity.dvAccountPlanId,\r\n            mandatory: activity.mandatory,\r\n            partnerCompanyId: activity.partnerCompanyId,\r\n            priorityId: activity.priority.id,\r\n        };\r\n\r\n        return addActivity;\r\n    }\r\n\r\n    static convertToTaskTimeSpent(full: TaskTimeSpentFull): any {\r\n        return {\r\n            activityTimeSpentId: full.id,\r\n            stakeholderId: full.stakeholder.id,\r\n            startTime: full.startTime,\r\n            endTime: full.endTime,\r\n            description: full.description,\r\n            priceGroupId: full.priceGroup.id\r\n        };\r\n    }\r\n}\r\n\r\nexport interface TaskTimeSpent {\r\n    activityId: string;\r\n    stakeholderId: string;\r\n    startTime: string;\r\n    endTime: string;\r\n    description: string;\r\n    priceGroupId: string;\r\n}\r\n\r\nexport interface TaskTimeSpentFull {\r\n    id: string;\r\n    activityId: string;\r\n    stakeholder: IdName;\r\n    startTime: string;\r\n    endTime: string;\r\n    description: string;\r\n    priceGroup: IdName;\r\n    createdAt: string;\r\n    createdBy: IdName;\r\n    updatedAt: string;\r\n    updatedBy: IdName;\r\n}\r\n\r\nexport class TimeSpentTime {\r\n    date: Date | null = null;\r\n    time: string | null = null;\r\n\r\n    set dateTime(date: string) {\r\n        if (!!date) {\r\n            this.date = new Date(date);\r\n            this.time = this.roundOffMinutesToNearestQuarter(date);\r\n        }\r\n    }\r\n\r\n    changeTime(time: string) {\r\n        this.time = time;\r\n    }\r\n\r\n    get dateTime(): string | null {\r\n        if (!!this.date && !!this.time) {\r\n            let d = this.date.toISOString().split('T')[0];\r\n            return `${d}T${this.time}:00Z`;\r\n        }\r\n        else if (!!this.date && !this.time) {\r\n            let d = this.date.toISOString().split('T')[0];\r\n            return `${d}T00:00:00Z`;\r\n        }\r\n        return null;\r\n    }\r\n\r\n    get jsDate() { return new Date(this.date!) }\r\n\r\n    set jsDate(date: Date) {\r\n        this.date = date;\r\n    }\r\n    myDate(): Date { return this.date }\r\n\r\n    setMyDate(date: Date) {\r\n        this.date = date;\r\n    }\r\n\r\n    roundOffMinutesToNearestQuarter(asString: string) {\r\n        const date = new Date(asString);\r\n        let hours = date.getHours();\r\n        let minutes = date.getUTCMinutes();\r\n\r\n        if (minutes > 52) {\r\n            hours = (hours + 1) % 24; // Increment hours and wrap around if necessary\r\n            minutes = 0;\r\n        } else {\r\n            minutes = Math.round(minutes / 15) * 15; // Round the minutes to the nearest quarter\r\n        }\r\n\r\n        const roundedTime = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}`; // Format the rounded time\r\n\r\n        return roundedTime;\r\n    }\r\n\r\n    dueTimes = [\r\n        '00:00', '00:15', '00:30', '00:45', '01:00', '01:15', '01:30', '01:45', '02:00', '02:15', '02:30', '02:45', '03:00', '03:15', '03:30', '03:45',\r\n        '04:00', '04:15', '04:30', '04:45', '05:00', '05:15', '05:30', '05:45', '06:00', '06:15', '06:30', '06:45', '07:00', '07:15', '07:30', '07:45',\r\n        '08:00', '08:15', '08:30', '08:45', '09:00', '09:15', '09:30', '09:45', '10:00', '10:15', '10:30', '10:45', '11:00', '11:15', '11:30', '11:45',\r\n        '12:00', '12:15', '12:30', '12:45', '13:00', '13:15', '13:30', '13:45', '14:00', '14:15', '14:30', '14:45', '15:00', '15:15', '15:30', '15:45',\r\n        '16:00', '16:15', '16:30', '16:45', '17:00', '17:15', '17:30', '17:45', '18:00', '18:15', '18:30', '18:45', '19:00', '19:15', '19:30', '19:45',\r\n        '20:00', '20:15', '20:30', '20:45', '21:00', '21:15', '21:30', '21:45', '22:00', '22:15', '22:30', '22:45', '23:00', '23:15', '23:30', '23:45'\r\n    ];\r\n    durationTimes = [\r\n        '00:15', '00:30', '00:45', '01:00', '01:15', '01:30', '01:45', '02:00', '02:15', '02:30', '02:45', '03:00', '03:15', '03:30', '03:45', '04:00',\r\n        '04:15', '04:30', '04:45', '05:00', '05:15', '05:30', '05:45', '06:00', '06:15', '06:30', '06:45', '07:00', '07:15', '07:30', '07:45', '08:00'\r\n    ];\r\n}","\r\n// LIVE\r\nlet api = 'https://jubloapi.azure-api.net/'\r\nexport const goog = 'key=AIzaSyAzWoQOwrMgVrDnCCne4XwQsrHDspEHu1k';\r\n// TEST\r\n// let api = 'https://jubloapi-dev.azurewebsites.net/'\r\n\r\nexport let jubloApi = api;\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, forkJoin } from 'rxjs';\r\nimport { CaseTransfer, CreateCompanyCase, KanbanCard, KanbanCase, PartnerInvoiceOptions } from '../models/case.models';\r\nimport * as api from './apihandler';\r\nimport { PartnerCompany } from '../models/partner.models';\r\n\r\nexport class CaseApi {\r\n    constructor(private http: HttpClient) { }\r\n\r\n    getCase(caseId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        return this.http.get(api.jubloApi + `api/Website/Case/CaseDetails/${ caseId }`, { headers });\r\n    }\r\n\r\n    getCaseStages() {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        return this.http.get(api.jubloApi + 'api/Website/Case/GetCaseStages', { headers });\r\n    }\r\n\r\n    setCaseStage(caseId: string, stageId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        if (!!stageId) {\r\n            this.http.patch(api.jubloApi + `api/Website/Case/SetCaseStage/${ caseId }?StageId=${ stageId }`, {}, { headers }).subscribe({\r\n                next:()=>{}\r\n            });\r\n        } else {\r\n            this.http.patch(api.jubloApi + `api/Website/Case/SetCaseStage/${ caseId }?StageId=null`, {}, { headers }).subscribe({\r\n                next:()=>{}\r\n            });\r\n        }\r\n    }\r\n\r\n    getKanbanCases(): Observable<KanbanCase[]> {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        return this.http.get<KanbanCase[]>(api.jubloApi + 'api/Kanban/GetCards', { headers });\r\n        // return this.http.get<KanbanCase[]>(api.jubloApi + 'api/Website/Case/CaseStageOverview', { headers })\r\n    }\r\n\r\n    removeContactFromCase(caseId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        this.http.patch(api.jubloApi + `api/Website/Case/RemoveContact/${ caseId }`, {}, { headers });\r\n    }\r\n\r\n    getPartnerCaseInfo(partnerCaseId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        return this.http.get(api.jubloApi + `api/Website/Case/GetPartnerCaseInfo/${ partnerCaseId }`, { headers });\r\n    }\r\n\r\n    getOSCaseStatus(partnerCaseId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        return this.http.get(api.jubloApi + `api/Website/Case/GetOSCaseStatus/${ partnerCaseId }`, { headers });\r\n    }\r\n\r\n    getCaseFromPartner(caseId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        return this.http.get(api.jubloApi + `api/Partner/ReceivedPartnerCaseInfo/${ caseId }`, { headers });\r\n    }\r\n\r\n    getCaseDistributedPartners(caseId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        return this.http.get(api.jubloApi + `api/Partner/PartnerCaseInfo/${ caseId }`, { headers });\r\n    }\r\n\r\n    getWaitingPartners(caseId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        return this.http.get(api.jubloApi + `api/Website/CaseTransfer/CheckIfExist/${ caseId }`, { headers });\r\n    }\r\n\r\n    cancelCaseTransfer(transferId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        return this.http.delete(api.jubloApi + `api/Website/CaseTransfer/CancelCaseTransfer/${ transferId }`, { headers });\r\n    }\r\n\r\n    checkIfExists(caseId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        return this.http.get(api.jubloApi + `api/Website/CaseTransfer/CheckIfExistOffer/${ caseId }`, { headers });\r\n    }\r\n\r\n    getPartnerCaseBadges(caseId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        return this.http.get(api.jubloApi + `api/Partner/GetUnreadPartnerMessagesById/${ caseId }`, { headers });\r\n    }\r\n\r\n    getPartners(propertyId: string | null): Observable<PartnerCompany[]> {\r\n        let param = !!propertyId ? \"?propertyId=\" + propertyId : '';\r\n        const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n        return this.http.get<PartnerCompany[]>(api.jubloApi + `api/Partner/GetPartnersToCompany${ param }`, { headers });\r\n    }\r\n\r\n    getPartnerResponsibles(partnerCompanyId: string) {\r\n        const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n        return this.http.get(api.jubloApi + `api/Website/CaseTransfer/GetResponsible/${ partnerCompanyId }`, { headers });\r\n    }\r\n\r\n    /**\r\n     * \r\n     * @param caseId \r\n     * @returns object {from: partner, to: partner[], waiting: partner[]  }\r\n     * A frunction that combines the result of getCaseFromPartner, getCaseDistributedPartners and getWaitingPartners in one subscription\r\n     */\r\n    getCasePartnerData(caseId: string): Observable<any> {\r\n        return forkJoin({\r\n            fromPartner: this.getCaseFromPartner(caseId),\r\n            toPartners: this.getCaseDistributedPartners(caseId),\r\n            waiting: this.getWaitingPartners(caseId),\r\n            offers: this.checkIfExists(caseId)\r\n        });\r\n    }\r\n\r\n    getPropertyOwner(propertyId: string) {\r\n        const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n        return this.http.get(api.jubloApi + `api/PropertyLease/GetPropertyCustomer/${ propertyId }`, { headers });\r\n    }\r\n\r\n    getPropertyById(propertyId: string) {\r\n        const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n        return this.http.get(api.jubloApi + `api/PropertyLease/PropertyByIdExtended/${ propertyId }`, { headers });\r\n    }\r\n\r\n    /**\r\n     * Partner Invoice Options - When sending a case to a partner.\r\n     */\r\n    getPartnerInvoiceOptions(): Observable<string> {\r\n        const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n        return this.http.get<string>(api.jubloApi + 'api/CompanySettings/GetCompanySetting/2c39057b-d7c5-4bec-b06d-69039ca54eca', { headers });\r\n    }\r\n\r\n    setPartnerInvoiceOptions(options: PartnerInvoiceOptions) {\r\n        const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n        this.http.post(api.jubloApi + 'api/CompanySettings/AddCompanySetting/2c39057b-d7c5-4bec-b06d-69039ca54eca', options, { headers }).subscribe({\r\n            next: () => { },\r\n            error: () => console.error('Could not save partner invoice options')\r\n        });\r\n    }\r\n\r\n    postCaseTransfer(caseTransfer: CaseTransfer): Observable<CaseTransfer> {\r\n        const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n        return this.http.post<CaseTransfer>(api.jubloApi + 'api/Website/CaseTransfer', caseTransfer, { headers });\r\n    }\r\n\r\n    removePartnerFromProperty(partnerId: string, propertyId: string) {\r\n        const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n        return this.http.delete(api.jubloApi + `/api/Partner/RemovePartnerFromProperty/${ partnerId }/${ propertyId }`, { headers });\r\n    }\r\n\r\n    getFilesOnCase(caseId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        return this.http.get(api.jubloApi + `api/Website/Case/GetCaseFiles/${ caseId }`, { headers });\r\n    }\r\n\r\n    acceptOffer(offerId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        let statusKey = 'A1A453B8-6AE7-453D-BFDB-867ACE78654E';\r\n        return this.http.patch(api.jubloApi + `api/Website/Offer/ChangeStatus/${ offerId }`, { \"caseOfferStatusId\": statusKey }, { headers });\r\n    }\r\n\r\n    rejectOffer(offerId: string) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        let statusKey = 'E65F9D9E-34B2-4423-8AD4-7228DB8814B4';\r\n        return this.http.patch(api.jubloApi + `api/Website/Offer/ChangeStatus/${ offerId }`, { \"caseOfferStatusId\": statusKey }, { headers });\r\n    }\r\n\r\n    createCompanyCase(newCasedata: CreateCompanyCase) {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n        return this.http.post(api.jubloApi + 'api/Website/Case/CreateCompanyCase', newCasedata, { headers });\r\n    }\r\n\r\n    // Overview\r\n    getCaseActivities() {\r\n        const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n        return this.http.get(api.jubloApi + 'api/Website/Case/GetCaseActivities', { headers });\r\n    }\r\n\r\n    getUnreadMessages() {\r\n        const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n        return this.http.get(api.jubloApi + 'api/Website/Case/GetCaseUnreadMessages', { headers });\r\n    }\r\n\r\n    getUnreadPartnerMessages() {\r\n        const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") as string });\r\n        return this.http.get(api.jubloApi + 'api/Website/Case/GetCaseUnreadPartnerMessages', { headers });\r\n    }\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AddProfit, CompanyInformation, CompanyProfit, PriceGroup, Section } from '../models/standard.models';\r\nimport * as api from './apihandler';\r\nimport { CompanyUser, CompanyPriority } from '../models/company.models';\r\n\r\n\r\nexport class CompanyApi {\r\n    bearer = localStorage.getItem('bearer') as string;\r\n\r\n    constructor(private http:HttpClient){}\r\n\r\n    getCompanyInformation():Observable<CompanyInformation>{\r\n        const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n        return this.http.get<CompanyInformation>(api.jubloApi + 'api/Website/Settings/CompanyInformation', { headers })\r\n      }\r\n    \r\n    getSettings():Observable<Section[]>{\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.get<Section[]>(api.jubloApi + 'api/Website/Settings', { headers })\r\n    }\r\n    \r\n    getSettingsById(id:string):Observable<any>{\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.get<any>(api.jubloApi + `api/Website/Settings/${ id }`, { headers })\r\n    }\r\n\r\n    getCompanySettingById(id:string):Observable<Section>{\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.get<Section>(api.jubloApi + `api/CompanySettings/GetCompanySetting/${ id }`, { headers })\r\n    }\r\n\r\n    updateSetting(id:string, value:string):Observable<any>{\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.put(api.jubloApi + `api/Website/Settings/Update/${ id }`, { value: value }, { headers })\r\n    }\r\n\r\n    getShopSetting(settingId:string){\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.get(api.jubloApi + `api/Website/Shop/GetShopSetting/${ settingId }`, { headers})\r\n    }\r\n\r\n    addCompanySetting(id:string, value:any):Observable<any>{\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.post(api.jubloApi + `api/CompanySettings/AddCompanySetting/${ id }`, value, { headers })\r\n    }\r\n\r\n    addShopSetting(settingId:string, val:any){\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.post(api.jubloApi + `api/Website/Shop/AddShopSetting/${ settingId }`, {value:JSON.stringify(val)}, { headers })\r\n    }\r\n\r\n    editShopSetting(settingId:string, val:any){\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.patch(api.jubloApi + `api/Website/Shop/EditShopSetting/${ settingId }`, {value:JSON.stringify(val)}, { headers })\r\n    }\r\n\r\n    // ---------------- PRICE GROUPS\r\n    getPriceGroups():Observable<PriceGroup[]>{\r\n        const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n        return this.http.get<PriceGroup[]>(api.jubloApi + 'api/Website/PriceGroup', { headers })\r\n      }\r\n    \r\n    getPriceGroup(id:string):Observable<PriceGroup>{\r\n        const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n        return this.http.get<PriceGroup>(api.jubloApi + `api/Website/PriceGroup/Get/${ id }`, { headers })\r\n      }\r\n    \r\n    // ---------------  COMPANY PROFITS\r\n\r\n    getCompanyProfits(): Observable<CompanyProfit[]>{\r\n        const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n        return this.http.get<CompanyProfit[]>(api.jubloApi + 'api/Website/Settings/GetCompanyProfit', { headers })\r\n      }\r\n\r\n    addCompanyProfit(profit: AddProfit):Observable<void>{\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.post<void>(api.jubloApi + 'api/Website/Settings/AddCompanyProfit', profit , { headers })\r\n    }\r\n    \r\n    editCompanyProfit(id:string, profit: AddProfit):Observable<void> {\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.put<void>(api.jubloApi + `api/Website/Settings/AddCompanyProfit/${ id }`, profit, { headers })\r\n    }\r\n\r\n    deleteCompanyProfit(id:string):Observable<void>{\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.delete<void>(api.jubloApi + `api/Website/Settings/DeleteCompanyProfit/${ id }`, { headers })\r\n    }\r\n\r\n    // ---------------- COMPANY LISTS\r\n\r\n    getCompanyUsers():Observable<CompanyUser[]>{\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.get<CompanyUser[]>(api.jubloApi + 'api/Website/Company/User', { headers })\r\n    }\r\n\r\n    getResponsibles(){\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      this.http.get(api.jubloApi + 'api/WebSite/Company/User/Responsible', { headers })\r\n    }\r\n\r\n    getCompanyPriorities():Observable<CompanyPriority[]>{\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.get<CompanyPriority[]>(api.jubloApi + 'api/Website/Case/GetCasePriorities',{ headers })\r\n    }\r\n\r\n    // ---------------- PARTNERS\r\n\r\n    getPartnerCompanies():Observable<any>{\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.get(api.jubloApi + 'api/Partner/GetPartnerCompanies',{ headers })\r\n    }\r\n\r\n    getPartnersToCompanies():Observable<any> {\r\n      const headers = new HttpHeaders({ 'Authorization': this.bearer });\r\n      return this.http.get(api.jubloApi + 'api/Partner/GetPartnersToCompany',{ headers })\r\n    }\r\n}\r\n\r\n","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\nimport * as api from './apihandler';\r\nimport { Companies, GetUser, OriginalCaseSearchResult, OriginalCustomerSearchResult, OriginalDocumentsSearchResult, SuperSearchCaseResults, SuperSearchCombinedResults, SuperSearchCustomerResults, SuperSearchDocumentResults, SuperSearchOutput, User, UserFilters } from \"../models/user.models\";\r\n\r\nexport class UserFunctions {\r\n    constructor(private http: HttpClient) { }\r\n\r\n    getUserInformation(): Observable<GetUser> {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n        return this.http.get<GetUser>(api.jubloApi + 'api/WebSite/Company/User/UserInfo', { headers });\r\n    }\r\n\r\n    getUser(){\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n        return this.http.get(api.jubloApi + `api/WebSite/Company/User/${localStorage.getItem('bearer')}`, { headers });\r\n    }\r\n\r\n    getUserAgGridFilters(): Observable<UserFilters> {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n        return this.http.get<UserFilters>(api.jubloApi + 'api/WebSite/Company/User/GetCompanyUserFilter', { headers });\r\n    }\r\n\r\n    getUserCompanies(): Observable<Companies[]> {\r\n        const headers = new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': localStorage.getItem('bearer') });\r\n        return this.http.get<Companies[]>(api.jubloApi + 'api/WebSite/Company/User/GetUserCompanies/', { headers });\r\n    }\r\n\r\n    superSearch(searchValue: string): Observable<SuperSearchCombinedResults> {\r\n        const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n        return this.http.post<SuperSearchCombinedResults>(api.jubloApi + 'api/Search', { 'searchValue': searchValue }, { headers });\r\n    }\r\n\r\n    static transformUserInfo(user: GetUser): User {\r\n        return {\r\n            companyNumber: user.CompanyNumber,\r\n            email: user.Email,\r\n            name: user.Name\r\n        }\r\n    }\r\n\r\n    static transformDocumentSearchResults(result: OriginalDocumentsSearchResult[]): SuperSearchDocumentResults[] {\r\n        return result.map(obj => {\r\n            return {\r\n                searchScore: obj['@search.score'],\r\n                caseId: obj.CaseId,\r\n                title: obj.Title,\r\n                description: obj.Description,\r\n                companyId: obj.CompanyId,\r\n                offerId: obj.OfferId,\r\n                offerTitle: obj.OfferTitle,\r\n                offerDescription: obj.OfferDescription,\r\n                technicalDescription: obj.TechnicalDescription,\r\n                disclaimer: obj.Disclaimer,\r\n                offerNumber: obj.OfferNumber,\r\n                caseNumber: obj.CaseNumber,\r\n                customerId: obj.CustomerId,\r\n                name: obj.Name,\r\n                address: obj.Address,\r\n                city: obj.City,\r\n                zipCode: obj.ZipCode,\r\n                customerName: obj.customerName,\r\n                customerAddress: obj.customerAddress,\r\n                customerZipCode: obj.customerZipCode,\r\n                customerCity: obj.customerCity\r\n            };\r\n        })\r\n    };\r\n\r\n    static transformCustomerSearchResults(result: OriginalCustomerSearchResult[]): SuperSearchCustomerResults[] {\r\n        return result.map(obj => {\r\n            return {\r\n                searchScore: obj[\"@search.score\"],\r\n                id: obj.id,\r\n                companyId: obj.companyId,\r\n                name: obj.customerName,\r\n                number: obj.customerNumber,\r\n                customer: {\r\n                    address: obj.customerAddress,\r\n                    zip: obj.customerZipCode,\r\n                    city: obj.customerCity,\r\n                    mobile: obj.customerMobile,\r\n                    phone: obj.customerTelephone,\r\n                    email: obj.customerEmail\r\n                },\r\n                invoice: {\r\n                    address: obj.invoiceAddress,\r\n                    zip: obj.invoice_ZipCode,\r\n                    city: obj.invoiceCity,\r\n                    mobile: obj.invoiceMobile,\r\n                    phone: obj.invoiceTelephone,\r\n                    email: obj.invoiceEmail\r\n                }\r\n            }\r\n        })\r\n    }\r\n\r\n    static transformCaseSearchResults(result: OriginalCaseSearchResult[]): SuperSearchCaseResults[] {\r\n        return result.map(obj => {\r\n            return {\r\n                searchScore: obj[\"@search.score\"],\r\n                id: obj.CaseId,\r\n                companyId: obj.CompanyId,\r\n                description: obj.Description,\r\n                status: obj.StatusName,\r\n                responsible: obj.ResponsibleName,\r\n                customer: {\r\n                    name: obj.customerName,\r\n                    address: obj.customerAddress,\r\n                    zip: obj.customerZipCode,\r\n                    city: obj.customerCity\r\n                },\r\n                invoice: {\r\n                    name: obj.invoiceName,\r\n                    address: obj.invoiceAddress,\r\n                    zip: obj.invoice_ZipCode,\r\n                    city: obj.invoiceCity\r\n                },\r\n                delivery: {\r\n                    name: obj.Name,\r\n                    address: obj.Address,\r\n                    zip: obj.ZipCode,\r\n                    city: obj.City\r\n                }\r\n            }\r\n        })\r\n    }\r\n\r\n    static parseResults(result: SuperSearchCombinedResults): SuperSearchOutput {\r\n        return {\r\n            case: this.transformCaseSearchResults(JSON.parse(result.case).value as OriginalCaseSearchResult[]),\r\n            customer: this.transformCustomerSearchResults(JSON.parse(result.customer).value as OriginalCustomerSearchResult[]),\r\n            document: this.transformDocumentSearchResults(JSON.parse(result.documents).value as OriginalDocumentsSearchResult[])\r\n        }\r\n    }\r\n\r\n}","import { Component, Input, EventEmitter, Output, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'app-timeslots',\r\n  templateUrl: './timeslots.component.html',\r\n  styleUrls: ['./timeslots.component.css']\r\n})\r\n\r\nexport class TimeslotsComponent implements OnInit {\r\n\r\n  @Input('times') timeslots: Array<TimeSlot>;\r\n  @Output() chosenTime = new EventEmitter<any>();\r\n  timeManagement = new TimeslotManagement();\r\n\r\n  constructor() {\r\n\r\n  }\r\n  ngOnInit() {\r\n    if (window.screen.width > 576) {\r\n      this.timeManagement.maxTimeSlices = 6;\r\n      this.timeManagement.timeSliceMax = 6;\r\n    }\r\n  }\r\n\r\n  back() {\r\n    this.timeManagement.timeSliceMin = this.timeManagement.timeSliceMin - this.timeManagement.maxTimeSlices;\r\n    this.timeManagement.timeSliceMax = this.timeManagement.timeSliceMax - this.timeManagement.maxTimeSlices;\r\n  }\r\n\r\n  forward() {\r\n    this.timeManagement.timeSliceMin = this.timeManagement.timeSliceMin + this.timeManagement.maxTimeSlices;\r\n    this.timeManagement.timeSliceMax = this.timeManagement.timeSliceMax + this.timeManagement.maxTimeSlices;\r\n  }\r\n\r\n  chooseTime(startTime, fitterId) {\r\n    this.chosenTime.emit({ 'start': startTime, 'fitter': fitterId });\r\n  }\r\n\r\n}\r\n\r\nexport class TimeSlot {\r\n  dayContract: DayContract;\r\n  item: Array<Slot>;\r\n}\r\n\r\nexport class DayContract {\r\n  public date: Date;\r\n  public dayName: string;\r\n  public dayOfYear: number;\r\n}\r\n\r\nexport class Slot {\r\n  public dayOfWeek: number;\r\n  public fitterId: string;\r\n  public id: string;\r\n  public price;\r\n  public startTime: Date;\r\n}\r\n\r\nexport class TimeslotManagement {\r\n  public timeSliceMin = 0;\r\n  public timeSliceMax = 4;\r\n  public maxTimeSlices = 4;\r\n}\r\n","<div class=\"timeslotsHolder\" *ngIf=\"timeslots != null\">\r\n  <div class=\"slotsLoading\">\r\n    <button type=\"button\" class=\"btn btn-outline-secondary\" (click)=\"back()\" [disabled]=\"timeManagement.timeSliceMin <= 0\">{{ 'Shop.TimeChoices.EarlierTimes' | translate }}</button>\r\n    <button type=\"button\" class=\"btn btn-outline-secondary\" (click)=\"forward()\" [disabled]=\"timeManagement.timeSliceMax >= timeslots.length\">{{ 'Shop.TimeChoices.LaterTimes' | translate }}</button>\r\n  </div>\r\n  <div class=\"slots\">\r\n    <div class=\"slots-column\" *ngFor=\"let x of timeslots | slice:timeManagement.timeSliceMin:timeManagement.timeSliceMax\">\r\n      <div class=\"time-header\">\r\n        <b>{{ ('Date.' + ( x.dayContract.dayName | titlecase)) | translate }}</b><br /><i class=\"help__text\">{{x.dayContract.date + 'Z' | date: 'dd-MM'}}</i>\r\n      </div>\r\n      <div class=\"slots-rows btn btn-info btn-block mb-1\" *ngFor=\"let y of x.item\" (click)=\"chooseTime(y.startTime, y.fitterId)\">{{ y.startTime + 'Z' | date: 'HH:mm'}}</div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","export class CreateCompanyCase {\r\n  title: string = '';\r\n  description: string = '';\r\n  caseStatusId: string = '8850aee1-48a3-48a6-aa98-2e1597b7b1d7';\r\n  responsibleId: string | null = null;\r\n  customerId: string | null = null;\r\n  deliveryAddressId: string | null = null;\r\n  contactAddressId: string | null = null;\r\n  requisitionNumber: string | null = null;;\r\n  disableNotification: boolean = true;\r\n  caseNumber: string | null = null;\r\n  vorRef: string | null = null;;\r\n  assetId:string | null = null;\r\n  propertyLeaseId: string | null = null;\r\n  propertyId: string | null = null;\r\n}\r\n\r\nexport class KanbanCase {\r\n    caseChannel: string | null = null;\r\n    caseId!: string;\r\n    caseNumber: string | null = null;\r\n    casePriority: string | null = null;\r\n    createdAt!: string;\r\n    customerName: string | null = null;;\r\n    description: string | null = null;;\r\n    files: number | null = null;\r\n    laseModified!: string;\r\n    orderType!: string;\r\n    priority: IdName = new IdName();\r\n    reference: string | null = null;;\r\n    requisitionNumber: string | null = null;;\r\n    responsible: IdName = new IdName();\r\n    stage: IdName = new IdName();\r\n    stageId!: string;\r\n    stageName!: string;\r\n    status!: string;\r\n    title: string | null = null;;\r\n  }\r\n\r\n  export class PartnerInvoiceOptions {\r\n    standard: 'case' | 'company' | 'property' | 'propertyOwner' | 'auto' = 'auto';\r\n    visible: PartnerInvoiceRecipients = new PartnerInvoiceRecipients();\r\n  }\r\n\r\n  class PartnerInvoiceRecipients {\r\n    case:boolean = true;\r\n    company:boolean = true;\r\n    property:boolean = true;\r\n  }\r\n\r\n  export class KanbanCard {\r\n    caseId!: string;\r\n    title!: string;\r\n    status!: IdName;\r\n    tags: Tag[] = [];\r\n    tasks: Task[] = [];\r\n    responsible: IdName = new IdName();\r\n    files: number | null = null;;\r\n    stage: IdName = new IdName();\r\n    priority: IdName = new IdName();\r\n  }\r\n  \r\n  class IdName {\r\n    id: string | null = null;\r\n    name: string | null = null;\r\n  }\r\n  \r\n  export class Tag extends IdName {\r\n    color: string | null = null;\r\n  }\r\n  \r\n  class Task {\r\n    id!: string;\r\n    dueDate!: string;\r\n    status!: IdName;\r\n  }\r\n\r\n  export class CaseDetails {\r\n    companyId!: string;\r\n    caseId!: string;\r\n    customerNumber: string | null = null;\r\n    customer: Customer = new Customer();\r\n    invoice: Address = new Address();\r\n    deliveryAddress: Address = new Address();\r\n    contactAddress: Address = new Address();\r\n    status!: CaseStatus;\r\n    requisitionNumber: string | null = null;\r\n    responsible: Responsible | null = null;\r\n    fitter: IdName | null = null;\r\n    origin!: Origin;\r\n    disableNotifications: string | null = null;\r\n    messages: Message[] = [];\r\n    files: File[] = [];\r\n    filesNew: FilesNew = new FilesNew();\r\n    offerStatusId: string | null = null;\r\n    title: string | null = null;\r\n    description: string | null = null;\r\n    externalId: string | null = null;\r\n    hours: number | null = null;\r\n    offerId: string | null = null;\r\n    caseNumber: string | null = null;\r\n    vorRef: string | null = null;\r\n    caseType!: IdName;\r\n    companyName: string | null = null;\r\n    caseChannel: CaseChannel | null = null;\r\n    casePriority: IdName | null = null;\r\n    propertyOwner: string | null = null;\r\n    propertyLease: PropertyLease | null = null;\r\n    link: string | null = null;\r\n    offerList: Offer[] = [];\r\n    mobilePay: boolean | null = null;\r\n    departmentId: string | null = null;\r\n    internalNote: string | null = null;\r\n    createdAt!: string;\r\n    caseStage: CaseStage | null = null;\r\n    caseStade: number | null = null;\r\n    notificationSetId: string | null = null;\r\n    assets: string[] = [];\r\n    viewToken: string | null = null;\r\n    caseCreatedBy!: CaseCreatedBy;\r\n  }\r\n\r\n  class Address {\r\n    id: string | null = null;\r\n    name: string | null = null;\r\n    address: string | null = null;\r\n    email: string | null = null;\r\n    phone: string | null = null;\r\n    mobile: string | null = null;\r\n    zipCode: string | null = null;\r\n    city: string | null = null;\r\n  }\r\n  \r\n  class Customer extends Address {\r\n    customerId: string | null = null;\r\n    att: string | null = null;\r\n    cvr: string | null = null;\r\n    ean: string | null = null;\r\n    languageId: string | null = null;\r\n  }\r\n  \r\n  class CaseStatus {\r\n    caseStatusId!: string;\r\n    name!: string;\r\n  }\r\n  \r\n  class Origin {\r\n    originId!: string;\r\n    url: string | null = null;\r\n    name!: string;\r\n  }\r\n  \r\n  class Message {\r\n    // properties omitted for brevity\r\n  }\r\n  \r\n  class File {\r\n    // properties omitted for brevity\r\n  }\r\n  \r\n  class FilesNew {\r\n    filesWithoutFolder: File[] = [];\r\n    files: Folder[] = [];\r\n  }\r\n  \r\n  class Folder {\r\n    folderId!: string;\r\n    parentFolderId: string | null = null;\r\n    folderName: string | null = null;\r\n    files: File[] = [];\r\n  }\r\n  \r\n  class CaseChannel {\r\n    id!: string;\r\n    name!: string;\r\n    icon!: string;\r\n  }\r\n  \r\n  class PropertyLease {\r\n    propertyId: string | null = null;\r\n    propertyLeaseId: string | null = null;\r\n  }\r\n  \r\n  class Offer {\r\n    // properties omitted for brevity\r\n  }\r\n  \r\n  class CaseStage {\r\n    stageId!: string;\r\n    name!: string;\r\n    color!: string;\r\n    probability!: number;\r\n  }\r\n  \r\n  class CaseCreatedBy {\r\n    id!: string;\r\n    isStakeholder!: boolean;\r\n  }\r\n\r\n  interface Responsible {\r\n    responsibleId:string;\r\n    name: string;\r\n  }\r\n\r\n  export class CaseTransfer {\r\n    connectionId!: string;\r\n    caseId!: string;\r\n    companyId!: string;\r\n    customer: ContactDetails = new ContactDetails();\r\n    invoice: ContactDetails = new ContactDetails();\r\n    delivery: ContactDetails = new ContactDetails();\r\n    contact: ContactDetails = new ContactDetails();\r\n    cvr: string = '';\r\n    ean: string = '';\r\n    propertyName: string = '';\r\n    title: string = '';\r\n    requisitionNumber: string = '';\r\n    reference: string = '';\r\n    description: string = '';\r\n    companyMessage: string = '';\r\n    responsibleId: string = '';\r\n    files: string[] = [];\r\n    isOfferRequest: boolean = false;\r\n    orderNumber: string = '';\r\n}\r\n\r\nexport class ContactDetails {\r\n    name: string = '';\r\n    address: string = '';\r\n    zipCode: string = '';\r\n    city: string = '';\r\n    email: string = '';\r\n    phone: string = '';\r\n    mobile: string = '';\r\n    ean: string = '';\r\n    cvr: string = '';\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n  name: 'orderbydate'\r\n})\r\nexport class OrderbydatePipe implements PipeTransform {\r\n\r\n  transform(value: any, args?: any): any {\r\n    if (typeof args[0] === \"undefined\") {\r\n      return value;\r\n    }\r\n    let direction = args[0][0];\r\n    let column = args.replace('-', '');\r\n    value.sort((a: any, b: any) => {\r\n      let left = Number(new Date(a[column]));\r\n      let right = Number(new Date(b[column]));\r\n      return (direction === \"-\") ? right - left : left - right;\r\n    });\r\n    return value;\r\n  }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subject } from 'rxjs';\r\nimport { ActionApi } from '../api/actionApi'\r\nimport { Activity, PostActivity } from '../models/action.models';\r\nimport { TaskData } from 'app/task-items/tasksData';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class ActionService {\r\n  api = new ActionApi(this.http);\r\n  \r\n  public taskSubject = new Subject<any>();\r\n\r\n  constructor(private http: HttpClient) { }\r\n\r\n  convertActivityToPostActivity(a: TaskData): PostActivity {\r\n    return {\r\n      subject: a.subject,\r\n      activityType: a.activityType.id,\r\n      status: a.status.id,\r\n      customerId: a.customer.customerId,\r\n      caseId: a.caseId,\r\n      offerId: a.offerId,\r\n      propertyId: a.propertyId,\r\n      propertyLeaseId: a.propertyLeaseId,\r\n      dueDate: a.dueDate,\r\n      dueTime: a.dueTime,\r\n      description: a.description,\r\n      durationInMinutes: a.durationInMinutes,\r\n      assignedToStakeholder: a.assignedToStakeholder.id,\r\n      dueDateTime: a.dueDateTime,\r\n      recurring: a.recurring,\r\n      recurrance: a.recurrance,\r\n      templateId: a.templateId,\r\n      note: a.note,\r\n      dvCategoryId: a.dvCategoryId,\r\n      dvAccountPlanId: a.dvAccountPlanId,\r\n      mandatory: a.mandatory,\r\n      partnerCompanyId: a.partnerCompanyId,\r\n      priorityId: a.priority.id\r\n    }\r\n  }\r\n\r\n  copyPartialToPostActivity(a:TaskData):PostActivity {\r\n    return {\r\n      subject: '',\r\n      activityType: null,\r\n      status: '7cb83847-96ee-4567-8555-b9d770ff16c0',\r\n      customerId: a.customer.customerId,\r\n      caseId: a.caseId,\r\n      offerId: a.offerId,\r\n      propertyId: a.propertyId,\r\n      propertyLeaseId: a.propertyLeaseId,\r\n      dueDate: a.dueDate,\r\n      dueTime: a.dueTime,\r\n      description: '',\r\n      durationInMinutes: 60,\r\n      assignedToStakeholder: a.assignedToStakeholder.id,\r\n      dueDateTime: null,\r\n      recurring: null,\r\n      recurrance: a.recurrance,\r\n      templateId: a.templateId,\r\n      note: '',\r\n      dvCategoryId: null,\r\n      dvAccountPlanId: null,\r\n      mandatory: false,\r\n      partnerCompanyId: null,\r\n      priorityId: null\r\n    }\r\n  }\r\n\r\n  public copyTask(a: TaskData) {\r\n    this.taskSubject.next(this.copyPartialToPostActivity(a));\r\n  }\r\n\r\n  belongsTo(a: Activity): string {\r\n    return !!a.offerId ? 'offer' : !!a.caseId ? 'case' : !!a.propertyId ? 'property' : !!a.propertyLeaseId ? 'lease' : null\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ReplaySubject, Subject } from 'rxjs';\r\nimport { CaseApi } from '../api/case.api';\r\nimport { NewCase } from 'app/cases/cases.component';\r\nimport { CreateCompanyCase } from '../models/case.models';\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class CaseService {\r\n  _cases: any = {};\r\n  _casePartners: any = {};\r\n\r\n  currentCase = new ReplaySubject<any>(1);\r\n  currentCasePartner = new ReplaySubject<any>(1);\r\n  currentPartnerMessages = new ReplaySubject<any>(1);\r\n  currentPartnerBadges = new ReplaySubject<any>(1);\r\n  newCaseSubject = new Subject<CreateCompanyCase>();\r\n  api = new CaseApi(this.http);\r\n\r\n  constructor(private http: HttpClient) { }\r\n\r\n  case(caseId: string) {\r\n    if (!!caseId && (!this._cases[caseId])) {\r\n      this.getCase(caseId);\r\n    }\r\n    else if (!!caseId && !!this._cases[caseId]) {\r\n      this.currentCase.next(this._cases[caseId]);\r\n    }\r\n    return this.currentCase;\r\n  }\r\n\r\n  casePartners(caseId: string) {\r\n    if (!!caseId && !this._casePartners[caseId]) {\r\n      this.getPartnerData(caseId)\r\n    }\r\n    else if (!!caseId && !!this._casePartners[caseId]) {\r\n      this.currentCasePartner.next(this._casePartners[caseId]);\r\n    }\r\n    return this.currentCasePartner;\r\n  }\r\n\r\n  private getCase(caseId: string) {\r\n    this.api.getCase(caseId).subscribe({\r\n      next: (data) => {\r\n        this._cases[caseId] = data;\r\n        this.currentCase.next(data)\r\n      }\r\n    });\r\n  }\r\n\r\n  public refreshCase(caseId: string) {\r\n    this.getCase(caseId);\r\n  }\r\n\r\n  private getPartnerData(caseId: string, options: any = {}) {\r\n    let o = { messages: false, badges: false };\r\n    o = { ...o, ...options };\r\n    this.api.getCasePartnerData(caseId).subscribe({\r\n      next: (data: any) => {\r\n        this.currentCasePartner.next(data);\r\n        if (!!o.badges) {\r\n          this.getPartnerBadges(this.partnerCaseIdsFromPartnerData(data))\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  public refreshCasePartners(caseId: string, options: any = {}) {\r\n    this.getPartnerData(caseId, options);\r\n  }\r\n\r\n  private getPartnerBadges(partnerCaseIds: string[]) {\r\n    let output: any = {};\r\n    for (let caseId of partnerCaseIds) {\r\n      this.api.getPartnerCaseBadges(caseId).subscribe({\r\n        next: (data) => { output[caseId] = data != null ? data : null },\r\n        error: (err) => { output[caseId] = null; console.error('Problems loading a partners message badge', err) },\r\n        complete: () => {\r\n          if (Object.keys(output).length == partnerCaseIds.length) this.currentPartnerBadges.next(output);\r\n        }\r\n      })\r\n    }\r\n  }\r\n\r\n  public partnerBadges(caseId: string) {\r\n    if (!!caseId && !this._cases[caseId]) this.getPartnerData(caseId, { badges: true });\r\n    return this.currentPartnerBadges\r\n  }\r\n\r\n  partnerCaseIdsFromPartnerData(partnerData: any) {\r\n    let output = [];\r\n    if (!!partnerData.fromPartner) output.push(partnerData.fromPartner.caseId);\r\n    for (let x of partnerData.toPartners) {\r\n      output.push(x.caseId)\r\n    }\r\n    for (let x of partnerData.offers) {\r\n      output.push(x.caseId)\r\n    }\r\n    return Array.from(new Set(output))\r\n  }\r\n\r\n  newCase() {\r\n    return this.newCaseSubject\r\n  }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport * as api from '../api/apihandler';\r\nimport { CompanyApi } from '../api/companyApi';\r\nimport { CompanyInformation, Section } from '../models/standard.models';\r\nimport { da_DK, fo_FO, sv_SE, en_US, es_ES, de_DE,nn_NO } from 'app/shared/utilities/gridTranslates';\r\nimport { CompanyUser, CompanyPriority } from '../models/company.models';\r\nimport { PartnerCompany } from '../models/partner.models';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class CompanyService {\r\n  private compInfo?:{info:CompanyInformation, settings:Section[], grid:any};\r\n  private compInfoReplay = new ReplaySubject<{info:CompanyInformation, settings:Section[], grid:any} | null>(1);\r\n  private users!:CompanyUser[];\r\n  private usersReplay = new ReplaySubject<CompanyUser[] | null>(1);\r\n  private companyPriorities?: CompanyPriority[];\r\n  private prioritiesReplay = new ReplaySubject<CompanyPriority[] | null>(1);\r\n  private _partners?:PartnerCompany[];\r\n  private partnersReplay = new ReplaySubject<PartnerCompany[]>(1);\r\n  private _partnersTo?:PartnerCompany[];\r\n  private partnersToReplay = new ReplaySubject<PartnerCompany[]>(1);\r\n\r\n  api = new CompanyApi(this.http);\r\n\r\n  constructor(private http:HttpClient) {}\r\n\r\n  // REPLAY SUBJECTS\r\n\r\n  public companySettings(){\r\n    if(!this.compInfo) this.getAllCompanyInfo();\r\n    return this.compInfoReplay\r\n  }\r\n\r\n  public companyUsers(){\r\n    if(!this.users) this.getUsers()\r\n    return this.usersReplay\r\n  }\r\n\r\n  public priorities(){\r\n    if(!this.companyPriorities) this.getPriorities();\r\n    return this.prioritiesReplay\r\n  }\r\n\r\n  public partners(){\r\n    if(!this._partners) this.getPartners();\r\n    return this.partnersReplay\r\n  }\r\n\r\n  public partnersTo(){\r\n    if(!this._partnersTo) this.getPartnersTo();\r\n    return this.partnersToReplay\r\n  }\r\n\r\n  public reloadCompany(){ this.getAllCompanyInfo() }\r\n\r\n  private async updateCompInfo(compInfo:CompanyInformation,settings:Section[]) {\r\n    this.compInfo = {\r\n        info: compInfo,\r\n        settings:settings,\r\n        grid: this.getGridTranslatesByLanguage(compInfo.companyLanguage)\r\n      }\r\n    this.compInfoReplay.next( this.compInfo )\r\n  };\r\n\r\n  resetCompany(){\r\n    this.compInfoReplay.next(null);\r\n  }\r\n\r\n  // GETS\r\n  private async getAllCompanyInfo(){\r\n    let compInfo:CompanyInformation;\r\n    let settings: Section[];\r\n    this.api.getCompanyInformation().subscribe(\r\n      {\r\n        next:(data)=> compInfo = data,\r\n        error:(err)=> console.error(err),\r\n        complete:()=> {if(!!compInfo && !!settings) this.updateCompInfo(compInfo,settings);}\r\n      }\r\n    )\r\n    this.api.getSettings().subscribe(\r\n      {\r\n        next:(data)=> settings = data,\r\n        error:(err)=> console.error(err),\r\n        complete:()=>{ if(!!compInfo && !!settings) this.updateCompInfo(compInfo,settings);}\r\n      }\r\n    )\r\n  }\r\n\r\n  private getUsers(){\r\n    this.api.getCompanyUsers().subscribe(\r\n      {\r\n        next:(data:CompanyUser[])=> {this.users = data; this.usersReplay.next(data)},\r\n        error:(err) => console.error(err)\r\n      }\r\n    )\r\n  }\r\n\r\n  private getPriorities(){\r\n    this.api.getCompanyPriorities().subscribe(\r\n      {\r\n        next:(data:CompanyPriority[]) => { this.companyPriorities = data; this.prioritiesReplay.next(data) },\r\n        error:(err) => console.error(err)\r\n      }\r\n    )\r\n  }\r\n\r\n  getGridTranslatesByLanguage(lang:string){\r\n    switch(lang){\r\n      case 'da-DK' : return da_DK;\r\n      case 'fo-FO' : return fo_FO;\r\n      case 'sv-SE' : return sv_SE;\r\n      case 'es_ES' : return es_ES;\r\n      case 'de-DE' : return de_DE;\r\n      case 'nn-NO' : return nn_NO;\r\n      case 'en-US' : \r\n      default : return en_US;\r\n    }\r\n  }\r\n\r\n  public getPartners(){\r\n    this.api.getPartnerCompanies().subscribe({\r\n        next:(data)=> this.partnersReplay.next(data),\r\n        error:(err) => console.error('Could not get partners', err)\r\n      })\r\n  }\r\n\r\n  public getPartnersTo(){\r\n    this.api.getPartnersToCompanies().subscribe({\r\n      next:(data:PartnerCompany[]) => this.partnersReplay.next(data)\r\n    })\r\n  }\r\n\r\n  public formatVat(vat:string, companyLanguage:string){\r\n    if(!vat || !companyLanguage) return vat;\r\n    const digitsOnly = vat.replace(/\\D/g, '');\r\n    switch(companyLanguage){\r\n      case 'sv-SE' : {\r\n        if(digitsOnly.length == 8) return `${digitsOnly.slice(0, 6)}-${digitsOnly.slice(6)}`;\r\n        else if(digitsOnly.length == 10) return `${digitsOnly.slice(0, 8)}-${digitsOnly.slice(8)}`;\r\n        return vat\r\n      }\r\n      default : {\r\n        if(digitsOnly.length == 8) return digitsOnly.replace(/(\\d{2})(?=\\d)/g, '$1 ');\r\n        return vat\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\nexport interface CompanySettings {\r\n  info: CompanyInformation;\r\n  settings: Section[];\r\n  grid:any;\r\n}\r\n\r\nexport class CompanyInformationHandler{\r\n  address:string | undefined | null;\r\n  language: string | undefined | null;\r\n  number: number | undefined | null;\r\n  type: string | undefined | null;\r\n  email:string | undefined | null;\r\n  googleAnalyticsId:string | undefined | null;\r\n  id: string | undefined | null;\r\n  logo: string | undefined | null;\r\n  name: string | undefined | null;\r\n  originId: string | undefined | null;\r\n  phone: string | undefined | null;\r\n\r\n  constructor(compInfo:CompanyInformation, public sections: Section[]){\r\n    this.address = compInfo.address;\r\n    this.language = compInfo.companyLanguage;\r\n    this.number = compInfo.companyNumber;\r\n    this.type = compInfo.companyType;\r\n    this.email = compInfo.email;\r\n    this.googleAnalyticsId = compInfo.googleAnalyticsId;\r\n    this.id = compInfo.id;\r\n    this.logo = compInfo.logo;\r\n    this.name = compInfo.name;\r\n    this.originId = compInfo.originId;\r\n  }\r\n\r\n\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { CaseDetails } from 'app/details-new/details-new.data';\r\nimport { Subject, ReplaySubject, Observable } from 'rxjs';\r\nimport { CaseObject } from '../../shared-html-components/details/details.component'\r\nimport { GetOffer, JoinedProduct } from '../../shared-html-components/document-creator/productGrid';\r\nimport { CompanyApi } from '../api/companyApi';\r\nimport { CompanyProfit, KeyValue, PriceGroup, Section } from '../models/standard.models';\r\nimport * as api from '../api/apihandler';\r\n\r\n \r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class DocumentService {\r\n  private offer = new ReplaySubject<any>(1);\r\n  private activeCase = new ReplaySubject<any>(1);\r\n  private products = new ReplaySubject<any>(1);\r\n  private priceGroups = new ReplaySubject<any>(1);\r\n  private statusTranslates = new ReplaySubject<KeyValue[]>(1);\r\n  private profits = new ReplaySubject<any>(1);\r\n  private companyPrices;\r\n  private replayCompanyPrices = new ReplaySubject<CompanyPrices>(1);\r\n  private statusesLoaded:boolean;\r\n  private api = new CompanyApi(this.http);\r\n\r\n  constructor(private http:HttpClient) { }\r\n\r\n  currentCase() {\r\n    return this.activeCase;\r\n  }\r\n\r\n  currentOffer() {\r\n    return this.offer;\r\n  }\r\n\r\n  currentProducts() {\r\n    return this.products;\r\n  }\r\n\r\n  currentPriceGroups() {\r\n    return this.priceGroups;\r\n  }\r\n\r\n  private getPriceSettings(){\r\n    let companyProfits:CompanyProfit[], priceGroups:PriceGroup[], standardProfit:number;\r\n    this.api.getCompanyProfits().subscribe(\r\n      (data:CompanyProfit[])=>{ companyProfits = data },\r\n      (err)=>{ console.error(err); companyProfits = [] },\r\n      ()=>{ \r\n        if(!!companyProfits && !!priceGroups && !!standardProfit) this.updateCompanyPrices(companyProfits, priceGroups,standardProfit)\r\n      }\r\n      )\r\n    this.api.getPriceGroups().subscribe(\r\n      (data:PriceGroup[])=>{ priceGroups = data },\r\n      (err)=>{ priceGroups = [] },\r\n      ()=>{ \r\n        if(!!companyProfits && !!priceGroups && !!standardProfit) this.updateCompanyPrices(companyProfits, priceGroups,standardProfit)\r\n      }\r\n      )\r\n    // Get standard profit on materials\r\n    this.api.getSettingsById('17983dbc-a098-4c45-b2cf-01fe642bfb01').subscribe(\r\n      (data:Section)=>{ standardProfit = !!data ? +data.value : 40 },\r\n      (err) => { console.error(err); standardProfit = 40 },\r\n      ()=>{ \r\n        if(!!companyProfits && !!priceGroups && !!standardProfit) this.updateCompanyPrices(companyProfits, priceGroups,standardProfit)\r\n      }\r\n      )\r\n  }\r\n\r\n  getCompanyPrices(){\r\n    if(!this.companyPrices) this.getPriceSettings();\r\n    return this.replayCompanyPrices;\r\n  }\r\n\r\n  getOfferStatuses():void {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n    this.http.get<KeyValue[]>(api.jubloApi + 'api/Website/Offer/OfferStatusList', { headers }).subscribe(\r\n      {\r\n        next:(statuses: KeyValue[]) => { this.statusesLoaded = true; this.statusTranslates.next(statuses); },\r\n        error:(err) => console.error(\"An error occurred while getting offer statuses\", err)\r\n      }\r\n    )\r\n  }\r\n\r\n  offerStatuses(){\r\n    if(!this.statusesLoaded) this.getOfferStatuses();\r\n    return this.statusTranslates;\r\n  }\r\n\r\n  statusName(id){\r\n\r\n  }\r\n\r\n  private updateCompanyPrices(companyProfits:CompanyProfit[], priceGroups:PriceGroup[], standardProfit:number){\r\n    let update = {\r\n      companyProfits:companyProfits, \r\n      priceGroups:priceGroups, \r\n      standardProfit:standardProfit\r\n    }\r\n    this.companyPrices = update;\r\n    this.replayCompanyPrices.next(update);\r\n  }\r\n\r\n  set case(c:CaseDetails){\r\n    this.activeCase.next(c);\r\n  }\r\n  \r\n  /**\r\n   * TO-DO wishlist\r\n   * getOfferListByCaseId\r\n   * getProductsByCaseId\r\n   * \r\n   * companyProfitMargin\r\n   * specialProfits\r\n   *  is there a specialProfits editor?\r\n   * HourTypes for updating\r\n   * \r\n   */\r\n\r\n}\r\n\r\nexport interface CompanyPrices {\r\n  companyProfits: CompanyProfit[];\r\n  priceGroups: PriceGroup[],\r\n  standardProfit: number;\r\n}\r\n\r\nexport class CompanyPricesHandler {\r\n  constructor(private companyProfits:CompanyProfit[], public priceGroups: PriceGroup[], public standardProfit){}\r\n  public priceGroupById(id:string){ return this.priceGroups.find(x => x.priceGroupId) }\r\n  public findMaterialProfit(productNumber:number, costPrice:number){\r\n    let result = this.companyProfits.find(x => x.startNumber <= productNumber && x.endNumber >= productNumber && x.priceStart <= costPrice && x.priceEnd >= costPrice);\r\n    return !!result ? +(result.profit).toFixed(2) : this.standardProfit\r\n  }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport * as api from '../api/apihandler';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class OpsAndMaintainService {\r\n  private categories;\r\n  private accounts;\r\n  private replayCatsandAccs = new ReplaySubject<OperationsAndMaintainenceCategoriesAndAccounts>(1);\r\n\r\n  constructor(private http: HttpClient) { }\r\n\r\n  private getDVCategory() {\r\n    const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") });\r\n    this.http.get(api.jubloApi + 'api/Activity/GetDVCategory', { headers }).subscribe(\r\n      (data: Array<DVCategory>) => {\r\n        this.categories = data;\r\n        //this.ops.list = data.map((x) => {\r\n        //  return {\r\n        //    id: x.id,\r\n        //    parentId: x.parentId,\r\n        //    name: x.name,\r\n        //    items: [],\r\n        //    children: [],\r\n        //    showChildren: false,\r\n        //    showItems: false,\r\n        //    editing: false,\r\n        //    hidden: false,\r\n        //    hover: false,\r\n        //    originalData: x,\r\n        //  };\r\n        //}).sort((a, b) => { return a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1; });\r\n      },\r\n      (error) => { console.log(error); },\r\n      () => { this.getAccountPlans(); }\r\n    );\r\n  }\r\n\r\n  private getAccountPlans() {\r\n    const headers = new HttpHeaders({ Authorization: localStorage.getItem(\"bearer\") });\r\n    this.http.get(api.jubloApi + 'api/Activity/GetAccountPlans', { headers }).subscribe(\r\n      (data) => {\r\n        this.accounts = data;\r\n      },\r\n      (error) => { console.log(error)},\r\n      () => {\r\n        this.replayCatsandAccs.next({\r\n          categories: this.categories,\r\n          accounts: this.accounts\r\n        })\r\n      }\r\n    )\r\n  }\r\n\r\n  public getCategoriesAndAccounts() {\r\n    if (!this.categories || !this.accounts) { this.getDVCategory() }\r\n    return this.replayCatsandAccs\r\n  }\r\n\r\n  public findAccountFromSubAccount(id){\r\n    return this.accounts.find(x => x.id == id)\r\n  }\r\n\r\n}\r\n\r\ninterface OperationsAndMaintainenceCategoriesAndAccounts {\r\n  categories: Array<DVCategory>;\r\n  accounts: Array<AccountPlan>;\r\n}\r\n\r\nexport class DVCategory {\r\n  id: string;\r\n  name: string;\r\n  parentId: string;\r\n}\r\n\r\nexport class AccountPlan {\r\n  id: string;\r\n  categoryId: string;\r\n  propertyCost: string;\r\n  parentId: string;\r\n  subscription: string;\r\n  commonCost: string;\r\n  text: string;\r\n  subAccounts: Array<AccountPlan>;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, ReplaySubject, forkJoin, of } from 'rxjs';\r\n\r\nimport * as api from '../api/apihandler';\r\nimport { catchError, map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class PackageService {\r\n  private allPackages: PackageOverviewPackage[];\r\n  private packages = new ReplaySubject<PackageOverviewPackage[]>(1);\r\n\r\n  constructor(private http: HttpClient) { }\r\n\r\n  private getAllCompanyPackages() {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n    return this.http.get(api.jubloApi + 'api/Website/CompanyPackages', { headers }).subscribe(\r\n      (data: PackageOverviewPackage[]) => { \r\n        this.packages.next(data);\r\n      }\r\n    )\r\n  }\r\n\r\n  getPackageById(id: string) {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') });\r\n    return this.http.get(api.jubloApi + 'api/Website/Package/' + id, { headers })\r\n  }\r\n\r\n  getPackageCollection(idArray:string[]):Observable<PackageCollection[]>{\r\n    let amount = 0;\r\n    let output:PackageCollection[] = [];\r\n    return new Observable(observer => {\r\n      for(let x of idArray) {\r\n        this.getPackageById(x).subscribe(\r\n          (data:PackageDetails)=>{ \r\n            output.push({ id:x, data:{...data, totalPrice : (data.salesPrice + data.salesVat).toString()} }),\r\n            amount += 1\r\n          },\r\n          (error:any) => { console.log('Failed to get packageId', error); amount += 1 },\r\n          ()=> { \r\n            if(amount == idArray.length) {\r\n              observer.next(output);\r\n              observer.complete()\r\n            } \r\n           }\r\n          )\r\n        }\r\n      }\r\n    )\r\n  }\r\n\r\n  getPackageName(id: string): Observable<string>{\r\n    return new Observable((obs => {\r\n      this.getPackageById(id).subscribe({\r\n        next:(data: any) => obs.next(`#${data.packageNumber} ${data.name}`),\r\n        error:(err) => obs.error(err),\r\n        complete:()=> obs.complete()\r\n      })\r\n    }))\r\n  }\r\n\r\n  getPackageNames(unitIds: string[]): Observable<{id: string, name: string}[]>{\r\n    const observables = unitIds.map(id => \r\n      this.getPackageName(id).pipe(\r\n        map(name => ({ id, name })),\r\n        catchError(err => of({ id, name: 'Error loading package' })) // Handle error and provide a fallback name\r\n      )\r\n    );\r\n  \r\n    return forkJoin(observables);\r\n  }\r\n\r\n  public getPackages(){\r\n    if(!this.allPackages) this.getAllCompanyPackages();\r\n    return this.packages\r\n  }\r\n}\r\n\r\nexport interface PackageOverviewPackage {\r\n  packageId: string;\r\n  name: string;\r\n  installationTimeInHours: number;\r\n  category: string;\r\n  skill: string;\r\n  isActive: boolean;\r\n  packageNumber: string;\r\n  image: string;\r\n  lastModified: string,\r\n  showInShop: boolean,\r\n  costPrice: number;\r\n  salesPrice: number;\r\n  salesVat: number;\r\n  discount: number;\r\n  packageUpdateType: string;\r\n}\r\n\r\nexport interface PackageDetails {\r\n  packageId: string;\r\n  name: string;\r\n  description: string;\r\n  disclaimer: string;\r\n  installationTimeInHours: number;\r\n  categoryId: string;\r\n  skillId: string;\r\n  isActive: boolean;\r\n  packageNumber: string;\r\n  imageUrl: string;\r\n  customLines: PackageDetailsCustomLine[];\r\n  priceCostMaterials: number;\r\n  priceMaterialsHour: number;\r\n  priceMaterialHourStartFee: number;\r\n  productLines: PackageDetailsProductLine[];\r\n  productImages: string[];\r\n  selectedMarginType: string;\r\n  hoursCostPrice: number;\r\n  hoursSalesPrice: number;\r\n  profitMargin: number;\r\n  totalPrice: string;\r\n  startingPrice: number;\r\n  showInShop: boolean;\r\n  costPrice: number;\r\n  salesPrice: number;\r\n  salesVat: number;\r\n  discount: number;\r\n  priceGroupId: string;\r\n  packageUpdateType: KeyValue;\r\n  startDate: string;\r\n  endDate: string;\r\n  labelOne: string;\r\n  labelTwo: string;\r\n}\r\n\r\nexport interface PackageDetailsCustomLine {\r\n  id: string;\r\n  name: string;\r\n  costPrice: number;\r\n  salesPrice: number;\r\n  quantity: number;\r\n  priceGroupId: string;\r\n  totalCostPrice: number;\r\n  totalSalesPrice: number;\r\n  profit: number;\r\n  discount: number;\r\n  sortOrder: number;\r\n}\r\n\r\nexport interface PackageDetailsProductLine {\r\n    productId: string;\r\n    productNumber: string;\r\n    description: string;\r\n    wholeSaler: number;\r\n    manufacturer: string;\r\n    quantity: number;\r\n    costPrice: number;\r\n    listPrice: number;\r\n    image: string;\r\n    totalCostPrice: number;\r\n    profit: number;\r\n    discount: number;\r\n    sortOrder: number;\r\n    companyProduct: boolean;\r\n}\r\n\r\nexport interface KeyValue {\r\n  key:string;\r\n  value: string;\r\n}\r\n\r\nexport interface PackageCollection {\r\n  id: string;\r\n  data: PackageDetails\r\n}","import { Injectable } from '@angular/core';\r\nimport { ReplaySubject } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Activity } from '../../activities/activities';\r\nimport { UserInfo } from '../../settings/users/userdetails/userDetails-model';\r\nimport { Responsible, Fitter, CompanyInformation } from '../../shared-html-components/details/models';\r\nimport { CaseType } from '../../cases/cases.component';\r\nimport { GridTranslateVariables } from '../utilities/variables';\r\nimport { CasePriority } from 'app/settings/category-setup/category-setup.component';\r\nimport { IdName, IdNamePriority } from '../models/standard.models';\r\nimport * as api from '../api/apihandler';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class SharedDataService {\r\n  public compInfo: CompanyInformation | null = null;\r\n  private activityData = new ActivityDataHolder();\r\n  private assetCats: IdName[] | null = null;\r\n  private responsiblesData: Array<KeyValue> | null = null;\r\n  private onCaseData;\r\n  private messagesToStakeholderData;\r\n  private notifySets;\r\n  private departmentsData: Array<Department> | null = null;\r\n  private categoriesData: Array<any> | null = null\r\n  private companyUsersData;\r\n  private companySkills;\r\n  private priceGroupsData;\r\n  private fitterData;\r\n  private userInfo;\r\n  private filters: UserFilters | null = null;\r\n  private priorityList;\r\n  private allTradeGroups;\r\n  private establishedByList;\r\n  private eKSettings;\r\n  private MinubaSettings;\r\n  public fullscreen: boolean = false;\r\n  private relayFullscreen = new ReplaySubject<boolean>(1);\r\n  private relayFilters = new ReplaySubject<UserFilters | null>(1);\r\n  private relayCompanyInformation = new ReplaySubject<CompanyInformation>(1);\r\n  private relayDepartments = new ReplaySubject<Array<Department>>(1);\r\n  private relayActivities = new ReplaySubject<Array<Activity>>(1);\r\n  private relayResponsibles = new ReplaySubject<any>(1);\r\n  private relayFitters = new ReplaySubject<Array<Activity>>(1);\r\n  private relayUserInfo = new ReplaySubject<any>(1);\r\n  private relayCompanyUsers = new ReplaySubject<any>(1);\r\n  private relayPriceGroups = new ReplaySubject<any>(1);\r\n  private relaySkills = new ReplaySubject<any>(1);\r\n  private relayCategories = new ReplaySubject<any>(1);\r\n  private relayOnCases = new ReplaySubject<OnCases>(1);\r\n  private relayMessagesToStakeholder = new ReplaySubject<StakeholderMessages>(1);\r\n  public gridTranslates = new GridTranslateVariables();\r\n  public relayPriorities = new ReplaySubject<any>(1);\r\n  public relayTradeGroups = new ReplaySubject<any>(1);\r\n  public relayEstablishedBy = new ReplaySubject<any>(1);\r\n  public relayNotificationSets = new ReplaySubject<any>(1);\r\n  public relayAssetCategories = new ReplaySubject<IdName[]>(1);\r\n  public relayEKompletSettings = new ReplaySubject<any>(1);\r\n  public relayMinubaSettings = new ReplaySubject<any>(1);\r\n  gettingCompanyInformation = false;\r\n\r\n  constructor(private httpClient: HttpClient) { }\r\n\r\n  originName(id: string) {\r\n    switch (id) {\r\n      case ('58ecfda6-79a6-4507-80ac-29b6d025360b'): { return 'Ordrestyring'; }\r\n      case ('9f9776f1-7be5-40d6-813e-ef795aba3e73'): { return 'Jublo'; }\r\n      case ('f84e1968-4cc4-4824-936e-441d4984284f'): { return 'Jublo'; }\r\n      case ('4669a7be-4bfe-4046-aee1-3675f545dc9b'): { return 'Rekvisitioner'; }\r\n      case ('2fdf7795-d8dc-4dcc-863b-9654ef98b1a0'): { return 'Minuba'; }\r\n      case ('61ae61e5-8e71-44da-9c0c-72b6a752a697'): { return 'AO'; }\r\n      case ('5a735683-e237-4084-885e-32f8cec5f9cf'): { return 'KlarPris'; }\r\n      case ('cd80e0f1-f6c9-42a1-b2e8-3df714620304'): { return 'EGOne'; }\r\n      case ('b81c660a-bc82-4c6b-a820-4f8804bdf68e'): { return 'EKomplet'; }\r\n      case ('7e82cc3e-163e-4cb2-ba25-939fc339f021'): { return 'EKomplet'; }\r\n      case ('5B3942BA-7118-4B25-80AF-53F5D13EF779'): { return 'Navision'; }\r\n      case ('DD26BA61-4B4B-4827-AE16-D14C46EE5338'): { return 'BilligVVS.dk'; }\r\n      default: { return 'Jublo'; }\r\n    }\r\n  }\r\n\r\n  clearAll() {\r\n    this.compInfo = null;\r\n    this.activityData = new ActivityDataHolder();\r\n    this.responsiblesData = null;\r\n    this.onCaseData = null;\r\n    this.messagesToStakeholderData = null;\r\n    this.departmentsData = null;\r\n    this.categoriesData = null;\r\n    this.companyUsersData = null;\r\n    this.companySkills = null;\r\n    this.priceGroupsData = null;\r\n    this.fitterData = null;\r\n    this.userInfo = null;\r\n    this.filters = null;\r\n  }\r\n\r\n  //API GET CALLS\r\n  getUserInformation() {\r\n    if (localStorage.getItem('bearer') != null) {\r\n      const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n      this.httpClient.get<UserInfo>(api.jubloApi + 'api/WebSite/Company/User/UserInfo', { headers }).subscribe((data: UserInfo) => {\r\n        this.userInfo = data;\r\n        this.relayUserInfo.next(data);\r\n      })\r\n    }\r\n  }\r\n\r\n  getCompanyInformation() {\r\n    if (localStorage.getItem('bearer') != null) {\r\n      this.gettingCompanyInformation = true;\r\n      const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n      this.httpClient.get<CompanyInformation>(api.jubloApi + 'api/Website/Settings/CompanyInformation', { headers }).subscribe((data: CompanyInformation) => {\r\n        if (data.companyNumber == 30125 || data.companyNumber == 32049) {\r\n          let g = JSON.parse(localStorage.getItem('guards') as string);\r\n          if (!g.find((x:{name:string}) => x.name == 'ServiceContract')) {\r\n            g.push({ 'name': 'ServiceContract' });\r\n            localStorage.setItem('guards', JSON.stringify(g));\r\n          } \r\n        }\r\n        this.compInfo = data;\r\n        this.relayCompanyInformation.next(data)\r\n        this.gettingCompanyInformation = false;\r\n      });\r\n    }\r\n  }\r\n\r\n  getResponsibles() {\r\n      const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n      this.httpClient.get<ResponsibleListItem[]>(api.jubloApi + 'api/WebSite/Company/User/Responsible', { headers }).subscribe((data: Array<ResponsibleListItem>) => {\r\n        let temp = [];\r\n        for (let r of data) {\r\n          temp.push(r.responsible)\r\n        }\r\n        this.responsiblesData = temp.sort((a,b)=> a.value.toLowerCase() < b.value.toLowerCase() ? -1 : 1);\r\n        this.relayResponsibles.next( temp.sort((a,b)=> a.value.toLowerCase() < b.value.toLowerCase() ? -1 : 1) );\r\n      })\r\n  }\r\n\r\n  getOnCases() {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.httpClient.get<OnCases[]>(api.jubloApi + 'api/WebSite/Case/GetOnCases', { headers }).subscribe((data: Array<OnCases>) => {\r\n      this.onCaseData = data;\r\n      this.relayOnCases.next(this.onCaseData);\r\n    });\r\n  }\r\n\r\n  getMessagesToStakeholder() {\r\n    if (localStorage.getItem('bearer') != null) {\r\n      const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n      this.httpClient.get<StakeholderMessages[]>(api.jubloApi + 'api/WebSite/Company/User/GetUserMessages', { headers }).subscribe((data: Array<StakeholderMessages>) => {\r\n        this.messagesToStakeholderData = data;\r\n        //console.log(data);\r\n      },(response) => { console.log('error', response) },\r\n        () => {\r\n          this.relayMessagesToStakeholder.next(this.messagesToStakeholderData);\r\n        });\r\n    }\r\n  }\r\n\r\n  getDepartments() {\r\n      const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n      this.httpClient.get<Department[]>(api.jubloApi + 'api/Website/Department', { headers }).subscribe((data: Array<Department>) => {\r\n        this.departmentsData = data.sort((a,b) => a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1);\r\n        this.relayDepartments.next( data.sort((a,b) => a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1) );\r\n      });\r\n \r\n  }\r\n\r\n  getNotificationSets(){\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.httpClient.get<IdNamePriority[]>(api.jubloApi + 'api/Website/Case/GetNotificationSets',{headers}).subscribe(\r\n      (data:IdNamePriority[])=>{\r\n        if(data){\r\n          this.notifySets = data;\r\n          if(data.length > 1)\r\n            this.relayNotificationSets.next(data.sort((a,b)=> a.priority < b.priority ? -1 : 1));\r\n          else { this.relayNotificationSets.next(null); }\r\n        }\r\n      }\r\n    )\r\n  }\r\n\r\n  getSkills() {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.httpClient.get(api.jubloApi + 'api/PackageDistributorSkill', { headers }).subscribe((data: any) => {\r\n      this.companySkills = data.sort((a,b) => a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1);\r\n      this.relaySkills.next(this.companySkills);\r\n    });    \r\n  }\r\n\r\n  getCaseCustomer() {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.httpClient.get(api.jubloApi + 'api/Website/Case/CaseCustomer', { headers }).subscribe((data: any) => {\r\n      return data;\r\n    });\r\n  }\r\n\r\n  getPriceGroups() {\r\n    if (!!this.priceGroupsData) { return this.priceGroupsData }\r\n    else {\r\n      const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n      this.httpClient.get<any[]>(api.jubloApi + 'api/Website/PriceGroup', { headers }).subscribe(\r\n        (data: Array<any>) => {\r\n          this.priceGroupsData = data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1) ;\r\n          this.relayPriceGroups.next(data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1) );\r\n        }\r\n      )\r\n\r\n    }\r\n  }\r\n\r\n  getFitters() {\r\n      const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n      this.httpClient.get(api.jubloApi + 'api/Website/CompanyUserCanBe/Fitter', { headers }).subscribe((data: any) => {\r\n        this.fitterData = data.sort((a,b)=> a.value.toLowerCase() < b.value.toLowerCase() ? -1 : 1);\r\n        this.relayFitters.next(this.fitterData)\r\n      })\r\n  }\r\n\r\n  getActivities() {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.httpClient.get<Activity[]>(api.jubloApi + 'api/Activity',\r\n      { headers }).subscribe(\r\n        (val: Array<Activity>) => {\r\n          this.activityData.data = val;\r\n          this.activityData.lastLoaded = new Date();\r\n          this.relayActivities.next(val);\r\n        },\r\n        response => { },\r\n        () => { }\r\n      );\r\n  }\r\n\r\n  getAssetCategories(){\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.httpClient.get<IdName[]>(api.jubloApi + 'api/Assets/AssetsCategory',{headers}).subscribe(\r\n      (data: IdName[])=>{ \r\n        this.assetCats = data.sort((a,b) => a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1);\r\n        this.relayAssetCategories.next(data.sort((a,b) => a.name.toLowerCase() < b.name.toLowerCase() ? -1 : 1))\r\n        }\r\n    )\r\n  }\r\n\r\n  getCompanyUsers() {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.httpClient.get(api.jubloApi + 'api/Website/Company/User',\r\n      { headers }).subscribe(\r\n        (data:any[]) => { \r\n          this.companyUsersData = data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1);\r\n          this.relayCompanyUsers.next( data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1) ) \r\n        },\r\n        (response) => { },\r\n        () => { }\r\n      )\r\n  }\r\n\r\n  getCompanyUserFilter() {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    return this.httpClient.get<UserFilters>(api.jubloApi + 'api/WebSite/Company/User/GetCompanyUserFilter', { headers }).subscribe((data: UserFilters) => {\r\n      this.filters = new UserFilters();\r\n      if (!!data) {\r\n        this.filters.activities = this.loopFilters(new ActivitiesFilterOptions(), data.activities);\r\n        this.filters.caseOverView = this.loopFilters(new CaseOverViewFilterOptions(),data.caseOverView);\r\n        this.filters.customerOverView = this.loopFilters(new StandardFilterOptions(), data.customerOverView);\r\n        this.filters.offerOverView = this.loopFilters(new StandardFilterOptions(),data.offerOverView);\r\n        this.filters.unitOverview = this.loopFilters(new UnitOverviewFilterOptions(), data.unitOverview);\r\n        this.filters.propertiesOverview = this.loopFilters(new StandardFilterOptions(), data.propertiesOverview);\r\n        this.filters.ratingOverview = this.loopFilters(new StandardFilterOptions(), data.ratingOverview);\r\n        this.filters.outboxOverview = this.loopFilters(new StandardFilterOptions(), data.outboxOverview);\r\n        this.filters.vendors = this.loopFilters(new StandardFilterOptions(), data.vendors)\r\n        this.filters.vendorAgreements = this.loopFilters(new StandardFilterOptions(), data.vendorAgreements);\r\n        this.filters.reportOffer = this.loopFilters(new ReportOfferFilter(), data.reportOffer);\r\n        this.filters.kanbanFilters = data.kanbanFilters;\r\n        this.filters.campaigns = data.campaigns;\r\n        this.filters.assets = data.assets;\r\n        this.filters.service = data.service;\r\n      }\r\n      this.relayFilters.next(this.filters);\r\n    });\r\n  }\r\n\r\n  getEKompletIntegrationSettings(){\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    return this.httpClient.get(api.jubloApi + 'api/Website/IntegrationSettings', { headers }).subscribe(\r\n      (data)=> {\r\n        this.eKSettings = data;\r\n        console.log(data)\r\n        this.relayEKompletSettings.next(data);\r\n      }\r\n    )\r\n  }\r\n\r\n  getMinubaIntegrationSettings(){\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    return this.httpClient.get(api.jubloApi + 'api/Minuba/OrderTypes', { headers }).subscribe({\r\n      next: (data) => {\r\n        this.MinubaSettings = data;\r\n        this.relayMinubaSettings.next(data);\r\n      }\r\n    });\r\n  }\r\n\r\n  loopFilters(newObject:any, object:any): any {\r\n    if (object != null) {\r\n      for (let x of Object.keys(object)) {\r\n        newObject[x] = object[x];\r\n      }\r\n    }\r\n    return newObject\r\n  }\r\n\r\n  getCategories() {\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.httpClient.get(api.jubloApi + 'api/PackageDistributor', { headers }).subscribe(\r\n      (data: any[]) => {\r\n        this.categoriesData = data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1) ;\r\n        this.relayCategories.next(this.categoriesData)\r\n      }\r\n    )\r\n  }\r\n  \r\n  getPriorities(){\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.httpClient.get<Array<CasePriority>>(api.jubloApi + 'api/Website/Case/GetCasePriorities',{headers}).subscribe({\r\n      next: (data) => {\r\n        this.priorityList = data.sort((a,b)=>{ return a.sortOrder > b.sortOrder ? 1 : -1});\r\n        this.relayPriorities.next(this.priorityList);\r\n      }\r\n    });\r\n  }\r\n\r\n  updateCategories() {\r\n    this.getCategories();\r\n  }\r\n\r\n  getTradeGroups(){\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.httpClient.get(api.jubloApi + 'api/Website/Offer/GetTradeGroups',{headers}).subscribe(\r\n      (data: any[])=>{ \r\n        this.allTradeGroups = data; \r\n        this.relayTradeGroups.next( data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1) ) \r\n      }\r\n    )\r\n  }\r\n\r\n  getEstablishedBy(){\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.httpClient.get(api.jubloApi + 'api/Website/Offer/GetEstablishedBy',{headers}).subscribe(\r\n      (data: any[])=>{ \r\n        this.establishedByList = data; \r\n        this.relayEstablishedBy.next( data.sort((a,b)=> a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1) ) \r\n      }\r\n    )\r\n  }\r\n\r\n  //API PUT CALLS\r\n\r\n  putCompanyUserFilter() {\r\n    this.relayFilters.next(this.filters);\r\n    //console.log('saving filters', this.filters)\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    this.httpClient.put(api.jubloApi + 'api/WebSite/Company/User/SetCompanyUserFilter',  this.filters , { headers }).subscribe(\r\n      () => { },\r\n      (response) => { console.log('error',response) },\r\n      () => { }\r\n      )\r\n  }\r\n\r\n  get caseOverViewFilters():CaseOverViewFilterOptions | null {\r\n    return !!this.filters ? this.filters.caseOverView : null;\r\n  }\r\n\r\n  set caseOverViewFilters(filter: CaseOverViewFilterOptions) {\r\n    if (!!filter && this.filters != null) {\r\n      this.filters.caseOverView = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n    else if (this.filters != null) { this.filters.caseOverView = new CaseOverViewFilterOptions() }\r\n  }\r\n\r\n  get offerOverViewFilters(): StandardFilterOptions | null {\r\n    return !!this.filters ? this.filters.offerOverView : null;\r\n  }\r\n\r\n  set offerOverViewFilters(filter: StandardFilterOptions) {\r\n    if (!!filter && this.filters != null) {\r\n      this.filters.offerOverView = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  set unitOverviewFilters(filter: UnitOverviewFilterOptions) {\r\n    if (!!filter && this.filters) {\r\n      this.filters.unitOverview = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  set customerOverviewFilters(filter: StandardFilterOptions) {\r\n    if (!!filter && !!this.filters) {\r\n      this.filters.customerOverView = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  set propertiesOverviewFilters(filter: StandardFilterOptions) {\r\n    if (!!filter && this.filters != null) {\r\n      this.filters.propertiesOverview = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  set ratingsOverviewFilters(filter: StandardFilterOptions) {\r\n    if (!!filter && this.filters != null) {\r\n      this.filters.ratingOverview = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  set reportOfferFilters(filter: ReportOfferFilter) {\r\n    if (!!filter && this.filters != null) {\r\n      this.filters.reportOffer = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  set activitiesFilter(filter: ActivitiesFilterOptions) {\r\n    if (!!filter && this.filters != null) {\r\n      this.filters.activities = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  set outboxFilters(filter: StandardFilterOptions) {\r\n    if (!!filter && this.filters != null) {\r\n      this.filters.outboxOverview = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  set campaginFilters(filter:any){\r\n    if(!!filter && !!this.filters) {\r\n      this.filters.campaigns = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  set assetFilters(filter:any){\r\n    if(!!filter && !!this.filters) {\r\n      this.filters.assets = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  set serviceFilters(filter:any){\r\n    if(!!filter && !!this.filters) {\r\n      this.filters.service = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  set allFilters(data: string) {\r\n    if (data != null) { this.filters = JSON.parse(data) }\r\n    else { this.filters = new UserFilters()}\r\n    \r\n  }\r\n\r\n  set kanbanFilters(filter:any){\r\n    if(!!filter && !!this.filters){\r\n      this.filters.kanbanFilters = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  set vendors(filter:any){\r\n    if(!!filter && !!this.filters){\r\n      this.filters.vendors = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  set vendorAgreements(filter:any){\r\n    if(!!filter && !!this.filters){\r\n      this.filters.vendorAgreements = filter;\r\n      this.putCompanyUserFilter();\r\n    }\r\n  }\r\n\r\n  filterUpdate() {\r\n    //console.log(this.filters);\r\n    if (this.filters == null || this.filters == undefined) {\r\n      this.getCompanyUserFilter();\r\n    }\r\n    //console.log(this.relayFilters);\r\n    return this.relayFilters;\r\n  }\r\n\r\n  enableFullscreen() {\r\n    this.relayFullscreen.next(true);\r\n    this.fullscreen = true;\r\n  }\r\n\r\n  disableFullscreen() {\r\n    this.relayFullscreen.next(false);\r\n    this.fullscreen = false;\r\n  }\r\n\r\n  //SERVICE CALLS\r\n  // Subscribe to these from components to get service data\r\n\r\n  userInformation() {\r\n    if (this.userInfo == null || this.userInfo == undefined) { this.getUserInformation() }\r\n    return this.relayUserInfo\r\n  }\r\n\r\n  categories() {\r\n    if (this.categoriesData == null || this.categoriesData == undefined) { this.getCategories() }\r\n    return this.relayCategories\r\n  }\r\n\r\n  companyInformation() {\r\n    if (this.compInfo == null || this.compInfo == undefined) { this.getCompanyInformation() }\r\n    return this.relayCompanyInformation\r\n  }\r\n\r\n  activities() {\r\n    if (this.activityData.lastLoaded == null || new Date().getTime() - this.activityData.lastLoaded.getTime() > 6000) {\r\n      this.getActivities()\r\n    }\r\n    return this.relayActivities\r\n  }\r\n\r\n  assetCategories() {\r\n    if (!this.assetCats) this.getAssetCategories();\r\n    return this.relayAssetCategories\r\n  }\r\n\r\n  departments() {\r\n    if (this.departmentsData == null) { this.getDepartments() }\r\n    return this.relayDepartments\r\n  }\r\n\r\n  notificationSets() {\r\n    if(!this.notifySets) {this.getNotificationSets()}\r\n    return this.relayNotificationSets\r\n  }\r\n\r\n  fitter() {\r\n    if (this.fitterData == null) { this.getFitters() }\r\n    return this.relayFitters\r\n  }\r\n\r\n  priceGroups() {\r\n    if (this.priceGroupsData == null) { this.getPriceGroups() }\r\n    return this.relayPriceGroups\r\n  }\r\n\r\n  priorities() {\r\n    if(!this.priorityList) {this.getPriorities()}\r\n    return this.relayPriorities\r\n  }\r\n\r\n  responsibles() {\r\n    if (this.responsiblesData == null) { this.getResponsibles() }\r\n    return this.relayResponsibles\r\n  }\r\n\r\n  needUpdate() {\r\n    this.getCompanyUserFilter()\r\n  }\r\n\r\n  starterKit() {\r\n    this.companyInformation();\r\n    this.userInformation();\r\n  }\r\n\r\n  companyUsers() {\r\n    if (this.companyUsersData == null || this.companyUsersData == undefined) { this.getCompanyUsers() }\r\n    return this.relayCompanyUsers;\r\n  }\r\n\r\n  skills() {\r\n    if (this.companySkills == null || this.companySkills == undefined) { this.getSkills() }\r\n    return this.relaySkills;\r\n  }\r\n\r\n  OnCases() {\r\n    if (this.onCaseData == null || this.onCaseData == undefined) { this.getOnCases() }\r\n    return this.relayOnCases;\r\n  }\r\n\r\n  StakeholderMessages() {\r\n    if (this.messagesToStakeholderData == null || this.messagesToStakeholderData == undefined) { this.getMessagesToStakeholder() }\r\n    return this.relayMessagesToStakeholder;\r\n  }\r\n\r\n  eKompletSettings() {\r\n    if (!this.eKSettings) this.getEKompletIntegrationSettings();\r\n    return this.relayEKompletSettings;\r\n  }\r\n\r\n  minubaSettings() {\r\n    if (!this.MinubaSettings) this.getMinubaIntegrationSettings();\r\n    return this.relayMinubaSettings;\r\n  }\r\n\r\n  fullscreenEnabled() {\r\n    return this.relayFullscreen\r\n  }\r\n\r\n  tradeGroups(){\r\n    if(!this.allTradeGroups) { this.getTradeGroups();  }\r\n    return this.relayTradeGroups\r\n  }\r\n\r\n  establishedBy(){\r\n    if(!this.establishedByList) {  this.getEstablishedBy(); }\r\n    return this.relayEstablishedBy\r\n  }\r\n\r\n  /**\r\n   * \r\n   * @param historyType id from CaseHistoryType\r\n   * @param text \r\n   * @param subText \r\n   * @param reporterType id from ReporterTypes ( i.e. stakeholder '89a41c6c-6a83-4978-90bb-ca7ec2d19a26' )\r\n   * @param caseId Case to set the activity to.\r\n   * @returns Observable\r\n   */\r\n  setCaseActivity(historyType: string, text: string, subText: string, reporterType: string, caseId: string) {\r\n    let bearer = localStorage.getItem('bearer');\r\n    let inputData = {\r\n      caseId: caseId,\r\n      reporterId: bearer,\r\n      reporterTypeId: reporterType,\r\n      subText: subText,\r\n      text: text,\r\n      historyTypeId: historyType\r\n    }\r\n    const headers = new HttpHeaders({ 'Authorization': localStorage.getItem('bearer') as string });\r\n    return this.httpClient.post(api.jubloApi + 'api/CaseHistory/AddCaseHistory', inputData, { headers });\r\n  }\r\n}\r\n\r\nexport class ResponsibleListItem {\r\n  responsible: KeyValue = new KeyValue();\r\n}\r\n\r\nexport class KeyValue {\r\n  public key!: string;\r\n  public value!: string;\r\n}\r\n\r\nexport class Department {\r\n  companyId: string;\r\n  createdAt: string;\r\n  departmentBelongToId: string;\r\n  departmentBelongToName: string;\r\n  departmentId: string;\r\n  description: string;\r\n  lastModified: Date;\r\n  name: string;\r\n}\r\n\r\nexport class UserFilters {\r\n  caseOverView: CaseOverViewFilterOptions = new CaseOverViewFilterOptions();\r\n  customerOverView : StandardFilterOptions = new StandardFilterOptions();\r\n  offerOverView: StandardFilterOptions = new StandardFilterOptions();\r\n  activities: ActivitiesFilterOptions = new ActivitiesFilterOptions();\r\n  unitOverview: UnitOverviewFilterOptions = new UnitOverviewFilterOptions();\r\n  propertiesOverview: StandardFilterOptions = new StandardFilterOptions();\r\n  ratingOverview: StandardFilterOptions = new StandardFilterOptions();\r\n  outboxOverview: StandardFilterOptions = new StandardFilterOptions();\r\n  vendors: StandardFilterOptions = new StandardFilterOptions();\r\n  vendorAgreements: StandardFilterOptions = new StandardFilterOptions();\r\n  reportOffer: ReportOfferFilter = new ReportOfferFilter();\r\n  kanbanFilters: any;\r\n  campaigns:any;\r\n  assets:any;\r\n  service:any;\r\n}\r\n\r\nexport class StandardFilterOptions {\r\n  public gridState: any;\r\n  public gridFilters: any;\r\n  public savedFilters: Array<CustomFilters> = [];\r\n}\r\n\r\nexport class CustomFilters {\r\n  name: string;\r\n  filter: any;\r\n  state?: Array<any>;\r\n  sort?: Array<any> = []\r\n}\r\n\r\nexport class CaseOverViewFilterOptions extends StandardFilterOptions {\r\n  public onlyNotifications = true;\r\n}\r\n\r\nexport class ReportOfferFilter extends StandardFilterOptions {\r\n  gridDateFilter: string;\r\n}\r\n\r\nexport class ColumnSettings {\r\n  visible: boolean = true;\r\n  width: string = '1px';\r\n}\r\n\r\nexport class ActivitiesFilterOptions extends StandardFilterOptions {\r\n  public user: string = 'all';\r\n  public type: string = 'all';\r\n  public status: 'todo' | 'overdue' | 'done' | 'current' | 'all' = 'current';\r\n  public period: 'today' | 'tomorrow' | 'thisWeek' | 'nextWeek' | 'custom' | 'all' = 'all';\r\n  public defaultClear: string = 'standard';\r\n  public custom = new StartEnd();\r\n  public newActivityStandardType: string;\r\n}\r\n\r\nexport class CustomerFilterOptions {\r\n  public sortBy: 'customerNumber' | 'name' | 'customerAddress' | 'customerZipCode' | 'customerCity' | 'customerPhone' | 'customerEmail' | 'invoiceName' | 'invoiceAddress' | 'invoiceCity' | 'invoiceZipCode' | 'invoiceCity' | 'invoicePhone' | 'invoiceEmail' = 'customerNumber';\r\n  public sortReversed = false;\r\n  public tableSettings = new CustomerOverViewTableSettings();\r\n  public gridFilters: any;\r\n  public gridState: any;\r\n  public savedFilters: Array<any> = [];\r\n}\r\n\r\nexport class CustomerOverViewTableSettings {\r\n  CustomerNumber = new ColumnSettings();\r\n  Name = new ColumnSettings();\r\n  Address = new ColumnSettings();\r\n  Zipcode = new ColumnSettings();\r\n  City = new ColumnSettings();\r\n  Phone = new ColumnSettings();\r\n  Email = new ColumnSettings();\r\n  InvoiceName = new ColumnSettings();\r\n  InvoiceAddress = new ColumnSettings();\r\n  InvoiceZipcode = new ColumnSettings();\r\n  InvoiceCity = new ColumnSettings();\r\n  InvoicePhone = new ColumnSettings();\r\n  InvoiceEmail = new ColumnSettings();\r\n}\r\n\r\nexport class UnitOverviewFilterOptions {\r\n  price: minMaxExact = new minMaxExact();\r\n  hours: minMaxExact = new minMaxExact();\r\n  use : AdvancedUnitFilters = new AdvancedUnitFilters();\r\n  categories = [];\r\n  categoriesUnused = [];\r\n  skills = [];\r\n  skillsUnused = [];\r\n  number: string | null = null;\r\n  active = true;\r\n  name: string = '';\r\n}\r\n\r\nexport class AdvancedUnitFilters {\r\n  price = false;\r\n  hours = false;\r\n  categories = false;\r\n  skills = false;\r\n  number = false;\r\n  name = false;\r\n  active = false;\r\n}\r\n\r\nexport class minMaxExact {\r\n  min: number;\r\n  max: number;\r\n  exact: number;\r\n  variance: number;\r\n  use_ranged = true;\r\n}\r\n\r\nexport class StartEnd {\r\n  public startString: string = '';\r\n  public endString: string = '';\r\n  public startDate: Date;\r\n  public endDate: Date;\r\n}\r\n\r\nexport class ActivityDataHolder {\r\n  data: Array<Activity>;\r\n  lastLoaded: Date;\r\n}\r\n\r\nexport class OnCases {\r\n  responsibles: Array<Responsible>;\r\n  fitters: Array<Fitter>;\r\n  caseTypes: Array<CaseType>;\r\n  caseChannels: Array<CaseChannel>;\r\n  caseCompany: Array<CaseCompany>;\r\n  doneBy: Array<CaseDoneBy>;\r\n}\r\n\r\nexport class CaseChannel {\r\n  id: string;\r\n  name: string;\r\n}\r\n\r\nexport class CaseCompany {\r\n  id: string;\r\n  name: string;\r\n}\r\n\r\nexport class CaseDoneBy {\r\n  companyId: string;\r\n  name: string;\r\n}\r\n\r\nexport class StakeholderMessages {\r\n  caseId: string;\r\n  createdAt: Date;\r\n  icon: string;\r\n  message: any;\r\n  cleanMessage: any;\r\n  messageId: string;\r\n  messageType: MessageType;\r\n  offerId: string;\r\n  origin: Array<Origin>;\r\n  seenAt: Date;\r\n  since: string;\r\n  title: string;\r\n}\r\n\r\nexport class MessageType {\r\n  messageTypeId: string;\r\n  name: string;\r\n}\r\n\r\nexport class Origin {\r\n  name: string;\r\n  originId: string;\r\n  originLogo: string;\r\n}\r\n\r\nexport class GridColumnSettings {\r\n  width: number = 0;\r\n  visible: boolean = true;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Subject, ReplaySubject } from 'rxjs';\r\nimport { UserFunctions } from '../api/userApi';\r\nimport { Companies, GetUser,  User } from '../models/user.models';\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class UserService {\r\n  api = new UserFunctions(this.http);\r\n\r\n  private _user: User | null = null;\r\n  private userData = new ReplaySubject<User>(1);\r\n  private crumber = new Subject<any>();\r\n\r\n  constructor(private http: HttpClient, private router: Router) { }\r\n\r\n  user() {\r\n    if (!this._user) this.getUser();\r\n    return this.userData\r\n  }\r\n\r\n  private getUser() {\r\n    this.api.getUserInformation().subscribe({\r\n      next: (data: GetUser) => {\r\n        this._user = UserFunctions.transformUserInfo(data);\r\n      },\r\n      error: (err) => console.error('Had problems loading the user data', err),\r\n      complete: () => { this.getCompanies(); }\r\n    });\r\n  }\r\n\r\n  private getCompanies() {\r\n    this.api.getUserCompanies().subscribe({\r\n      next: (data: Companies[]) => {\r\n        if (this._user != null) {\r\n          this._user.companies = data;\r\n          this.userData.next(this._user);\r\n        }\r\n      },\r\n      error: (err) => console.error(\"Something went wrong loading the user's other companies\", err)\r\n    });\r\n  }\r\n\r\n  setCrumb(data: any) {\r\n    this.crumber.next(data)\r\n  }\r\n\r\n  crumbUpdate() {\r\n    return this.crumber\r\n  }\r\n\r\n  fetchUser() {\r\n    return new Promise((resolve, reject) => {\r\n      this.api.getUser().subscribe({\r\n        next: (data) => resolve(data),\r\n        error: (err) => reject(err)\r\n      })\r\n    })\r\n  }\r\n\r\n  getInitials(name: string) {\r\n    if (!name) return '';\r\n    const filteredName = name.replace(/[^a-zA-Z\\s\\t]/g, '').split(/[\\s\\t]+/);\r\n    const validEntries = filteredName.filter(entry => /^[a-zA-Z]+$/.test(entry));\r\n    if (validEntries.length === 0) return '';\r\n    if (validEntries.length === 1) return validEntries[0][0].toUpperCase();\r\n\r\n    // Otherwise, return the initial of the first and last valid entries\r\n    const firstInitial = validEntries[0][0].toUpperCase();\r\n    const lastInitial = validEntries[validEntries.length - 1][0].toUpperCase();\r\n    return `${firstInitial}${lastInitial}`;\r\n  }\r\n\r\n  // Storage Checks\r\n  get id() { return localStorage.getItem('bearer') }\r\n  get isAdmin() { return !!JSON.parse(localStorage.getItem('guards') as string)?.find((x: { name: string }) => x.name == 'SettingsAccess') }\r\n\r\n}\r\n\r\n\r\n","export const da_DK = {\r\n    // Set Filter\r\n    selectAll: '(Vælg alle)',\r\n    selectAllSearchResults: '(Vælg alle)',\r\n    searchOoo: 'Søg...',\r\n    blanks: '(Tom)',\r\n    noMatches: 'No matches',\r\n\r\n    // Number Filter & Text Filter\r\n    filterOoo: 'Filter...',\r\n    equals: 'Er ligemed',\r\n    notEqual: 'Ikke ligemed',\r\n    empty: 'ælg en',\r\n\r\n    // Number Filter\r\n    lessThan: 'Mindre end',\r\n    greaterThan: 'Større end',\r\n    lessThanOrEqual: 'Mindre eller ligemed',\r\n    greaterThanOrEqual: 'Større eller ligemed',\r\n    inRange: 'I range',\r\n    inRangeStart: 'til',\r\n    inRangeEnd: 'fra',\r\n\r\n    // Text Filter\r\n    contains: 'Indeholder',\r\n    notContains: 'Indeholder ikke',\r\n    startsWith: 'Starter med',\r\n    endsWith: 'Slutter med',\r\n\r\n    // Date Filter\r\n    dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n    // Filter Conditions\r\n    andCondition: 'OG',\r\n    orCondition: 'ELLER',\r\n\r\n    // Filter Buttons\r\n    applyFilter: 'Tilføj',\r\n    resetFilter: 'Nulstil',\r\n    clearFilter: 'Ryd',\r\n    cancelFilter: 'Fortryd',\r\n\r\n    // Filter Titles\r\n    textFilter: 'Tekst Filter',\r\n    numberFilter: 'Nummer Filter',\r\n    dateFilter: 'Dato Filter',\r\n    setFilter: 'Sæt Filter',\r\n\r\n    // Side Bar\r\n    columns: 'Kolonner',\r\n    filters: 'Filtre',\r\n\r\n    // columns tool panel\r\n    pivotMode: 'Pivot tilstand',\r\n    groups: 'Rækkegrupper',\r\n    rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n    values: 'Værdier',\r\n    valueColumnsEmptyMessage: 'Træk her for at samle',\r\n    pivots: 'Kolonne labels',\r\n    pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n    // Header of the Default Group Column\r\n    group: 'Gruppe',\r\n\r\n    // Other\r\n    loadingOoo: 'Henter, vent venligst...',\r\n    noRowsToShow: 'Ingen rækker at vise',\r\n    enabled: 'Aktiveret',\r\n\r\n    // Menu\r\n    pinColumn: 'Fastgør kolonne',\r\n    pinLeft: 'Fastgør til venstre',\r\n    pinRight: 'Fastgør til højre',\r\n    noPin: 'Fastgør ikke',\r\n    valueAggregation: 'Værdiaggregering',\r\n    autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n    autosizeAllColumns: 'Autotilpas alle kolonner',\r\n    groupBy: 'Gruppér efter',\r\n    ungroupBy: 'Afgruppér efter',\r\n    resetColumns: 'Nulstil kolonner',\r\n    expandAll: 'Udvid alle',\r\n    collapseAll: 'Luk alle',\r\n    copy: 'Kopier',\r\n    ctrlC: 'Ctrl+C',\r\n    copyWithHeaders: 'Kopier med overskrift',\r\n    paste: 'Sæt ind',\r\n    ctrlV: 'Ctrl+V',\r\n    export: 'Eksporter',\r\n    csvExport: 'CSV Eksport',\r\n    excelExport: 'Excel Eksport (.xlsx)',\r\n    excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n    // Enterprise Menu Aggregation and Status Bar\r\n    sum: 'Sum',\r\n    min: 'Min',\r\n    max: 'Max',\r\n    none: 'Ingen',\r\n    count: 'Tæl',\r\n    avg: 'Gennemsnit',\r\n    filteredRows: 'Filtreret',\r\n    selectedRows: 'Valgt',\r\n    totalRows: 'Total Rækker',\r\n    totalAndFilteredRows: 'Rækker',\r\n    more: 'Mere',\r\n    to: 'til',\r\n    of: 'af',\r\n    page: 'Side',\r\n    nextPage: 'Næste side',\r\n    lastPage: 'Sidste side',\r\n    firstPage: 'Første side',\r\n    previousPage: 'Foregående side',\r\n\r\n    // Enterprise Menu (Charts)\r\n    pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n    pivotChart: 'Pivot Chart',\r\n    chartRange: 'Chart Range',\r\n\r\n    columnChart: 'Kolonne',\r\n    groupedColumn: 'Grupperet',\r\n    stackedColumn: 'Samlet',\r\n    normalizedColumn: '100% Samlet',\r\n\r\n    barChart: 'Bar',\r\n    groupedBar: 'Grupperet',\r\n    stackedBar: 'Samlet',\r\n    normalizedBar: '100% Samlet',\r\n\r\n    pieChart: 'Pie',\r\n    pie: 'Pie',\r\n    doughnut: 'Doughnut',\r\n\r\n    line: 'Line',\r\n\r\n    xyChart: 'X Y (Scatter)',\r\n    scatter: 'Scatter',\r\n    bubble: 'Bubble',\r\n\r\n    areaChart: 'Area',\r\n    area: 'Area',\r\n    stackedArea: 'Stacked',\r\n    normalizedArea: '100% Stacked',\r\n\r\n    histogramChart: 'Histogram',\r\n\r\n    // Charts\r\n    pivotChartTitle: 'Pivot-diagram',\r\n    rangeChartTitle: 'Rækkevidde',\r\n    settings: 'Indstillinger',\r\n    data: 'Data',\r\n    format: 'Format',\r\n    categories: 'Kategorier',\r\n    defaultCategory: '(Ingen)',\r\n    series: 'Serier',\r\n    xyValues: 'X Y Værdier',\r\n    paired: 'Samlet Mode',\r\n    axis: 'Akse',\r\n    navigator: 'Navigator',\r\n    color: 'Farve',\r\n    thickness: 'Tykkelse',\r\n    xType: 'X Type',\r\n    automatic: 'Automatisk',\r\n    category: 'Kategori',\r\n    number: 'Nummer',\r\n    time: 'Tid',\r\n    xRotation: 'X Rotation',\r\n    yRotation: 'Y Rotation',\r\n    ticks: 'Ticks',\r\n    width: 'Bredde',\r\n    height: 'Højde',\r\n    length: 'Længde',\r\n    padding: 'Padding',\r\n    spacing: 'Mellemrum',\r\n    chart: 'Diagram',\r\n    title: 'Titel',\r\n    titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n    background: 'Baggrund',\r\n    font: 'Font',\r\n    top: 'Top',\r\n    right: 'Højre',\r\n    bottom: 'Bund',\r\n    left: 'Venstre',\r\n    labels: 'Labels',\r\n    size: 'Størrelse',\r\n    minSize: 'Minimum Størrelse',\r\n    maxSize: 'Maximum Størrelse',\r\n    legend: 'Legend',\r\n    position: 'Position',\r\n    markerSize: 'Marker Størrelse',\r\n    markerStroke: 'Marker Stroke',\r\n    markerPadding: 'Marker Padding',\r\n    itemSpacing: 'Item Spacing',\r\n    itemPaddingX: 'Item Padding X',\r\n    itemPaddingY: 'Item Padding Y',\r\n    layoutHorizontalSpacing: 'Horizontal Spacing',\r\n    layoutVerticalSpacing: 'Vertical Spacing',\r\n    strokeWidth: 'Stroke Width',\r\n    offset: 'Offset',\r\n    offsets: 'Offsets',\r\n    tooltips: 'Tooltips',\r\n    callout: 'Callout',\r\n    markers: 'Markers',\r\n    shadow: 'Shadow',\r\n    blur: 'Blur',\r\n    xOffset: 'X Offset',\r\n    yOffset: 'Y Offset',\r\n    lineWidth: 'Line Width',\r\n    normal: 'Normal',\r\n    bold: 'Bold',\r\n    italic: 'Italic',\r\n    boldItalic: 'Bold Italic',\r\n    predefined: 'Predefined',\r\n    fillOpacity: 'Fill Opacity',\r\n    strokeOpacity: 'Line Opacity',\r\n    histogramBinCount: 'Bin count',\r\n    columnGroup: 'Column',\r\n    barGroup: 'Bar',\r\n    pieGroup: 'Pie',\r\n    lineGroup: 'Line',\r\n    scatterGroup: 'X Y (Scatter)',\r\n    areaGroup: 'Area',\r\n    histogramGroup: 'Histogram',\r\n    groupedColumnTooltip: 'Grouped',\r\n    stackedColumnTooltip: 'Stacked',\r\n    normalizedColumnTooltip: '100% Stacked',\r\n    groupedBarTooltip: 'Grouped',\r\n    stackedBarTooltip: 'Stacked',\r\n    normalizedBarTooltip: '100% Stacked',\r\n    pieTooltip: 'Pie',\r\n    doughnutTooltip: 'Doughnut',\r\n    lineTooltip: 'Line',\r\n    groupedAreaTooltip: 'Area',\r\n    stackedAreaTooltip: 'Stacked',\r\n    normalizedAreaTooltip: '100% Stacked',\r\n    scatterTooltip: 'Scatter',\r\n    bubbleTooltip: 'Bubble',\r\n    histogramTooltip: 'Histogram',\r\n    noDataToChart: 'No data available to be charted.',\r\n    pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n  }\r\nexport const fo_FO = {\r\n  // Set Filter\r\n  selectAll: '(Vælg alle)',\r\n  selectAllSearchResults: '(Vælg alle)',\r\n  searchOoo: 'Søg...',\r\n  blanks: '(Tom)',\r\n  noMatches: 'No matches',\r\n\r\n  // Number Filter & Text Filter\r\n  filterOoo: 'Filter...',\r\n  equals: 'Er ligemed',\r\n  notEqual: 'Ikke ligemed',\r\n  empty: 'ælg en',\r\n\r\n  // Number Filter\r\n  lessThan: 'Mindre end',\r\n  greaterThan: 'Større end',\r\n  lessThanOrEqual: 'Mindre eller ligemed',\r\n  greaterThanOrEqual: 'Større eller ligemed',\r\n  inRange: 'I range',\r\n  inRangeStart: 'til',\r\n  inRangeEnd: 'fra',\r\n\r\n  // Text Filter\r\n  contains: 'Indeholder',\r\n  notContains: 'Indeholder ikke',\r\n  startsWith: 'Starter med',\r\n  endsWith: 'Slutter med',\r\n\r\n  // Date Filter\r\n  dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n  // Filter Conditions\r\n  andCondition: 'OG',\r\n  orCondition: 'ELLER',\r\n\r\n  // Filter Buttons\r\n  applyFilter: 'Tilføj',\r\n  resetFilter: 'Nulstil',\r\n  clearFilter: 'Ryd',\r\n  cancelFilter: 'Fortryd',\r\n\r\n  // Filter Titles\r\n  textFilter: 'Tekst Filter',\r\n  numberFilter: 'Nummer Filter',\r\n  dateFilter: 'Dato Filter',\r\n  setFilter: 'Sæt Filter',\r\n\r\n  // Side Bar\r\n  columns: 'Kolonner',\r\n  filters: 'Filtre',\r\n\r\n  // columns tool panel\r\n  pivotMode: 'Pivot tilstand',\r\n  groups: 'Rækkegrupper',\r\n  rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n  values: 'Værdier',\r\n  valueColumnsEmptyMessage: 'Træk her for at samle',\r\n  pivots: 'Kolonne labels',\r\n  pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n  // Header of the Default Group Column\r\n  group: 'Gruppe',\r\n\r\n  // Other\r\n  loadingOoo: 'Henter, vent venligst...',\r\n  noRowsToShow: 'Ingen rækker at vise',\r\n  enabled: 'Aktiveret',\r\n\r\n  // Menu\r\n  pinColumn: 'Fastgør kolonne',\r\n  pinLeft: 'Fastgør til venstre',\r\n  pinRight: 'Fastgør til højre',\r\n  noPin: 'Fastgør ikke',\r\n  valueAggregation: 'Værdiaggregering',\r\n  autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n  autosizeAllColumns: 'Autotilpas alle kolonner',\r\n  groupBy: 'Gruppér efter',\r\n  ungroupBy: 'Afgruppér efter',\r\n  resetColumns: 'Nulstil kolonner',\r\n  expandAll: 'Udvid alle',\r\n  collapseAll: 'Luk alle',\r\n  copy: 'Kopier',\r\n  ctrlC: 'Ctrl+C',\r\n  copyWithHeaders: 'Kopier med overskrift',\r\n  paste: 'Sæt ind',\r\n  ctrlV: 'Ctrl+V',\r\n  export: 'Eksporter',\r\n  csvExport: 'CSV Eksport',\r\n  excelExport: 'Excel Eksport (.xlsx)',\r\n  excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n  // Enterprise Menu Aggregation and Status Bar\r\n  sum: 'Sum',\r\n  min: 'Min',\r\n  max: 'Max',\r\n  none: 'Ingen',\r\n  count: 'Tæl',\r\n  avg: 'Gennemsnit',\r\n  filteredRows: 'Filtreret',\r\n  selectedRows: 'Valgt',\r\n  totalRows: 'Total Rækker',\r\n  totalAndFilteredRows: 'Rækker',\r\n  more: 'Mere',\r\n  to: 'til',\r\n  of: 'af',\r\n  page: 'Side',\r\n  nextPage: 'Næste side',\r\n  lastPage: 'Sidste side',\r\n  firstPage: 'Første side',\r\n  previousPage: 'Foregående side',\r\n\r\n  // Enterprise Menu (Charts)\r\n  pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n  pivotChart: 'Pivot Chart',\r\n  chartRange: 'Chart Range',\r\n\r\n  columnChart: 'Kolonne',\r\n  groupedColumn: 'Grupperet',\r\n  stackedColumn: 'Samlet',\r\n  normalizedColumn: '100% Samlet',\r\n\r\n  barChart: 'Bar',\r\n  groupedBar: 'Grupperet',\r\n  stackedBar: 'Samlet',\r\n  normalizedBar: '100% Samlet',\r\n\r\n  pieChart: 'Pie',\r\n  pie: 'Pie',\r\n  doughnut: 'Doughnut',\r\n\r\n  line: 'Line',\r\n\r\n  xyChart: 'X Y (Scatter)',\r\n  scatter: 'Scatter',\r\n  bubble: 'Bubble',\r\n\r\n  areaChart: 'Area',\r\n  area: 'Area',\r\n  stackedArea: 'Stacked',\r\n  normalizedArea: '100% Stacked',\r\n\r\n  histogramChart: 'Histogram',\r\n\r\n  // Charts\r\n  pivotChartTitle: 'Pivot-diagram',\r\n  rangeChartTitle: 'Rækkevidde',\r\n  settings: 'Indstillinger',\r\n  data: 'Data',\r\n  format: 'Format',\r\n  categories: 'Kategorier',\r\n  defaultCategory: '(Ingen)',\r\n  series: 'Serier',\r\n  xyValues: 'X Y Værdier',\r\n  paired: 'Samlet Mode',\r\n  axis: 'Akse',\r\n  navigator: 'Navigator',\r\n  color: 'Farve',\r\n  thickness: 'Tykkelse',\r\n  xType: 'X Type',\r\n  automatic: 'Automatisk',\r\n  category: 'Kategori',\r\n  number: 'Nummer',\r\n  time: 'Tid',\r\n  xRotation: 'X Rotation',\r\n  yRotation: 'Y Rotation',\r\n  ticks: 'Ticks',\r\n  width: 'Bredde',\r\n  height: 'Højde',\r\n  length: 'Længde',\r\n  padding: 'Padding',\r\n  spacing: 'Mellemrum',\r\n  chart: 'Diagram',\r\n  title: 'Titel',\r\n  titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n  background: 'Baggrund',\r\n  font: 'Font',\r\n  top: 'Top',\r\n  right: 'Højre',\r\n  bottom: 'Bund',\r\n  left: 'Venstre',\r\n  labels: 'Labels',\r\n  size: 'Størrelse',\r\n  minSize: 'Minimum Størrelse',\r\n  maxSize: 'Maximum Størrelse',\r\n  legend: 'Legend',\r\n  position: 'Position',\r\n  markerSize: 'Marker Størrelse',\r\n  markerStroke: 'Marker Stroke',\r\n  markerPadding: 'Marker Padding',\r\n  itemSpacing: 'Item Spacing',\r\n  itemPaddingX: 'Item Padding X',\r\n  itemPaddingY: 'Item Padding Y',\r\n  layoutHorizontalSpacing: 'Horizontal Spacing',\r\n  layoutVerticalSpacing: 'Vertical Spacing',\r\n  strokeWidth: 'Stroke Width',\r\n  offset: 'Offset',\r\n  offsets: 'Offsets',\r\n  tooltips: 'Tooltips',\r\n  callout: 'Callout',\r\n  markers: 'Markers',\r\n  shadow: 'Shadow',\r\n  blur: 'Blur',\r\n  xOffset: 'X Offset',\r\n  yOffset: 'Y Offset',\r\n  lineWidth: 'Line Width',\r\n  normal: 'Normal',\r\n  bold: 'Bold',\r\n  italic: 'Italic',\r\n  boldItalic: 'Bold Italic',\r\n  predefined: 'Predefined',\r\n  fillOpacity: 'Fill Opacity',\r\n  strokeOpacity: 'Line Opacity',\r\n  histogramBinCount: 'Bin count',\r\n  columnGroup: 'Column',\r\n  barGroup: 'Bar',\r\n  pieGroup: 'Pie',\r\n  lineGroup: 'Line',\r\n  scatterGroup: 'X Y (Scatter)',\r\n  areaGroup: 'Area',\r\n  histogramGroup: 'Histogram',\r\n  groupedColumnTooltip: 'Grouped',\r\n  stackedColumnTooltip: 'Stacked',\r\n  normalizedColumnTooltip: '100% Stacked',\r\n  groupedBarTooltip: 'Grouped',\r\n  stackedBarTooltip: 'Stacked',\r\n  normalizedBarTooltip: '100% Stacked',\r\n  pieTooltip: 'Pie',\r\n  doughnutTooltip: 'Doughnut',\r\n  lineTooltip: 'Line',\r\n  groupedAreaTooltip: 'Area',\r\n  stackedAreaTooltip: 'Stacked',\r\n  normalizedAreaTooltip: '100% Stacked',\r\n  scatterTooltip: 'Scatter',\r\n  bubbleTooltip: 'Bubble',\r\n  histogramTooltip: 'Histogram',\r\n  noDataToChart: 'No data available to be charted.',\r\n  pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n}\r\nexport const sv_SE = {\r\n  // Set Filter\r\n  selectAll: '(Vælg alle)',\r\n  selectAllSearchResults: '(Vælg alle)',\r\n  searchOoo: 'Søg...',\r\n  blanks: '(Tom)',\r\n  noMatches: 'No matches',\r\n\r\n  // Number Filter & Text Filter\r\n  filterOoo: 'Filter...',\r\n  equals: 'Er ligemed',\r\n  notEqual: 'Ikke ligemed',\r\n  empty: 'ælg en',\r\n\r\n  // Number Filter\r\n  lessThan: 'Mindre end',\r\n  greaterThan: 'Større end',\r\n  lessThanOrEqual: 'Mindre eller ligemed',\r\n  greaterThanOrEqual: 'Større eller ligemed',\r\n  inRange: 'I range',\r\n  inRangeStart: 'til',\r\n  inRangeEnd: 'fra',\r\n\r\n  // Text Filter\r\n  contains: 'Indeholder',\r\n  notContains: 'Indeholder ikke',\r\n  startsWith: 'Starter med',\r\n  endsWith: 'Slutter med',\r\n\r\n  // Date Filter\r\n  dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n  // Filter Conditions\r\n  andCondition: 'OG',\r\n  orCondition: 'ELLER',\r\n\r\n  // Filter Buttons\r\n  applyFilter: 'Tilføj',\r\n  resetFilter: 'Nulstil',\r\n  clearFilter: 'Ryd',\r\n  cancelFilter: 'Fortryd',\r\n\r\n  // Filter Titles\r\n  textFilter: 'Tekst Filter',\r\n  numberFilter: 'Nummer Filter',\r\n  dateFilter: 'Dato Filter',\r\n  setFilter: 'Sæt Filter',\r\n\r\n  // Side Bar\r\n  columns: 'Kolonner',\r\n  filters: 'Filtre',\r\n\r\n  // columns tool panel\r\n  pivotMode: 'Pivot tilstand',\r\n  groups: 'Rækkegrupper',\r\n  rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n  values: 'Værdier',\r\n  valueColumnsEmptyMessage: 'Træk her for at samle',\r\n  pivots: 'Kolonne labels',\r\n  pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n  // Header of the Default Group Column\r\n  group: 'Gruppe',\r\n\r\n  // Other\r\n  loadingOoo: 'Henter, vent venligst...',\r\n  noRowsToShow: 'Ingen rækker at vise',\r\n  enabled: 'Aktiveret',\r\n\r\n  // Menu\r\n  pinColumn: 'Fastgør kolonne',\r\n  pinLeft: 'Fastgør til venstre',\r\n  pinRight: 'Fastgør til højre',\r\n  noPin: 'Fastgør ikke',\r\n  valueAggregation: 'Værdiaggregering',\r\n  autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n  autosizeAllColumns: 'Autotilpas alle kolonner',\r\n  groupBy: 'Gruppér efter',\r\n  ungroupBy: 'Afgruppér efter',\r\n  resetColumns: 'Nulstil kolonner',\r\n  expandAll: 'Udvid alle',\r\n  collapseAll: 'Luk alle',\r\n  copy: 'Kopier',\r\n  ctrlC: 'Ctrl+C',\r\n  copyWithHeaders: 'Kopier med overskrift',\r\n  paste: 'Sæt ind',\r\n  ctrlV: 'Ctrl+V',\r\n  export: 'Eksporter',\r\n  csvExport: 'CSV Eksport',\r\n  excelExport: 'Excel Eksport (.xlsx)',\r\n  excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n  // Enterprise Menu Aggregation and Status Bar\r\n  sum: 'Sum',\r\n  min: 'Min',\r\n  max: 'Max',\r\n  none: 'Ingen',\r\n  count: 'Tæl',\r\n  avg: 'Gennemsnit',\r\n  filteredRows: 'Filtreret',\r\n  selectedRows: 'Valgt',\r\n  totalRows: 'Total Rækker',\r\n  totalAndFilteredRows: 'Rækker',\r\n  more: 'Mere',\r\n  to: 'til',\r\n  of: 'af',\r\n  page: 'Side',\r\n  nextPage: 'Næste side',\r\n  lastPage: 'Sidste side',\r\n  firstPage: 'Første side',\r\n  previousPage: 'Foregående side',\r\n\r\n  // Enterprise Menu (Charts)\r\n  pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n  pivotChart: 'Pivot Chart',\r\n  chartRange: 'Chart Range',\r\n\r\n  columnChart: 'Kolonne',\r\n  groupedColumn: 'Grupperet',\r\n  stackedColumn: 'Samlet',\r\n  normalizedColumn: '100% Samlet',\r\n\r\n  barChart: 'Bar',\r\n  groupedBar: 'Grupperet',\r\n  stackedBar: 'Samlet',\r\n  normalizedBar: '100% Samlet',\r\n\r\n  pieChart: 'Pie',\r\n  pie: 'Pie',\r\n  doughnut: 'Doughnut',\r\n\r\n  line: 'Line',\r\n\r\n  xyChart: 'X Y (Scatter)',\r\n  scatter: 'Scatter',\r\n  bubble: 'Bubble',\r\n\r\n  areaChart: 'Area',\r\n  area: 'Area',\r\n  stackedArea: 'Stacked',\r\n  normalizedArea: '100% Stacked',\r\n\r\n  histogramChart: 'Histogram',\r\n\r\n  // Charts\r\n  pivotChartTitle: 'Pivot-diagram',\r\n  rangeChartTitle: 'Rækkevidde',\r\n  settings: 'Indstillinger',\r\n  data: 'Data',\r\n  format: 'Format',\r\n  categories: 'Kategorier',\r\n  defaultCategory: '(Ingen)',\r\n  series: 'Serier',\r\n  xyValues: 'X Y Værdier',\r\n  paired: 'Samlet Mode',\r\n  axis: 'Akse',\r\n  navigator: 'Navigator',\r\n  color: 'Farve',\r\n  thickness: 'Tykkelse',\r\n  xType: 'X Type',\r\n  automatic: 'Automatisk',\r\n  category: 'Kategori',\r\n  number: 'Nummer',\r\n  time: 'Tid',\r\n  xRotation: 'X Rotation',\r\n  yRotation: 'Y Rotation',\r\n  ticks: 'Ticks',\r\n  width: 'Bredde',\r\n  height: 'Højde',\r\n  length: 'Længde',\r\n  padding: 'Padding',\r\n  spacing: 'Mellemrum',\r\n  chart: 'Diagram',\r\n  title: 'Titel',\r\n  titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n  background: 'Baggrund',\r\n  font: 'Font',\r\n  top: 'Top',\r\n  right: 'Højre',\r\n  bottom: 'Bund',\r\n  left: 'Venstre',\r\n  labels: 'Labels',\r\n  size: 'Størrelse',\r\n  minSize: 'Minimum Størrelse',\r\n  maxSize: 'Maximum Størrelse',\r\n  legend: 'Legend',\r\n  position: 'Position',\r\n  markerSize: 'Marker Størrelse',\r\n  markerStroke: 'Marker Stroke',\r\n  markerPadding: 'Marker Padding',\r\n  itemSpacing: 'Item Spacing',\r\n  itemPaddingX: 'Item Padding X',\r\n  itemPaddingY: 'Item Padding Y',\r\n  layoutHorizontalSpacing: 'Horizontal Spacing',\r\n  layoutVerticalSpacing: 'Vertical Spacing',\r\n  strokeWidth: 'Stroke Width',\r\n  offset: 'Offset',\r\n  offsets: 'Offsets',\r\n  tooltips: 'Tooltips',\r\n  callout: 'Callout',\r\n  markers: 'Markers',\r\n  shadow: 'Shadow',\r\n  blur: 'Blur',\r\n  xOffset: 'X Offset',\r\n  yOffset: 'Y Offset',\r\n  lineWidth: 'Line Width',\r\n  normal: 'Normal',\r\n  bold: 'Bold',\r\n  italic: 'Italic',\r\n  boldItalic: 'Bold Italic',\r\n  predefined: 'Predefined',\r\n  fillOpacity: 'Fill Opacity',\r\n  strokeOpacity: 'Line Opacity',\r\n  histogramBinCount: 'Bin count',\r\n  columnGroup: 'Column',\r\n  barGroup: 'Bar',\r\n  pieGroup: 'Pie',\r\n  lineGroup: 'Line',\r\n  scatterGroup: 'X Y (Scatter)',\r\n  areaGroup: 'Area',\r\n  histogramGroup: 'Histogram',\r\n  groupedColumnTooltip: 'Grouped',\r\n  stackedColumnTooltip: 'Stacked',\r\n  normalizedColumnTooltip: '100% Stacked',\r\n  groupedBarTooltip: 'Grouped',\r\n  stackedBarTooltip: 'Stacked',\r\n  normalizedBarTooltip: '100% Stacked',\r\n  pieTooltip: 'Pie',\r\n  doughnutTooltip: 'Doughnut',\r\n  lineTooltip: 'Line',\r\n  groupedAreaTooltip: 'Area',\r\n  stackedAreaTooltip: 'Stacked',\r\n  normalizedAreaTooltip: '100% Stacked',\r\n  scatterTooltip: 'Scatter',\r\n  bubbleTooltip: 'Bubble',\r\n  histogramTooltip: 'Histogram',\r\n  noDataToChart: 'No data available to be charted.',\r\n  pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n}\r\nexport const en_US = {\r\n  // Set Filter\r\n  selectAll: '(Vælg alle)',\r\n  selectAllSearchResults: '(Vælg alle)',\r\n  searchOoo: 'Search...',\r\n  blanks: '(Tom)',\r\n  noMatches: 'No matches',\r\n\r\n  // Number Filter & Text Filter\r\n  filterOoo: 'Filter...',\r\n  equals: 'Er ligemed',\r\n  notEqual: 'Ikke ligemed',\r\n  empty: 'ælg en',\r\n\r\n  // Number Filter\r\n  lessThan: 'Mindre end',\r\n  greaterThan: 'Større end',\r\n  lessThanOrEqual: 'Mindre eller ligemed',\r\n  greaterThanOrEqual: 'Større eller ligemed',\r\n  inRange: 'I range',\r\n  inRangeStart: 'til',\r\n  inRangeEnd: 'fra',\r\n\r\n  // Text Filter\r\n  contains: 'Indeholder',\r\n  notContains: 'Indeholder ikke',\r\n  startsWith: 'Starter med',\r\n  endsWith: 'Slutter med',\r\n\r\n  // Date Filter\r\n  dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n  // Filter Conditions\r\n  andCondition: 'OG',\r\n  orCondition: 'ELLER',\r\n\r\n  // Filter Buttons\r\n  applyFilter: 'Tilføj',\r\n  resetFilter: 'Nulstil',\r\n  clearFilter: 'Ryd',\r\n  cancelFilter: 'Fortryd',\r\n\r\n  // Filter Titles\r\n  textFilter: 'Tekst Filter',\r\n  numberFilter: 'Nummer Filter',\r\n  dateFilter: 'Dato Filter',\r\n  setFilter: 'Sæt Filter',\r\n\r\n  // Side Bar\r\n  columns: 'Kolonner',\r\n  filters: 'Filtre',\r\n\r\n  // columns tool panel\r\n  pivotMode: 'Pivot tilstand',\r\n  groups: 'Rækkegrupper',\r\n  rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n  values: 'Værdier',\r\n  valueColumnsEmptyMessage: 'Træk her for at samle',\r\n  pivots: 'Kolonne labels',\r\n  pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n  // Header of the Default Group Column\r\n  group: 'Gruppe',\r\n\r\n  // Other\r\n  loadingOoo: 'Henter, vent venligst...',\r\n  noRowsToShow: 'Ingen rækker at vise',\r\n  enabled: 'Aktiveret',\r\n\r\n  // Menu\r\n  pinColumn: 'Fastgør kolonne',\r\n  pinLeft: 'Fastgør til venstre',\r\n  pinRight: 'Fastgør til højre',\r\n  noPin: 'Fastgør ikke',\r\n  valueAggregation: 'Værdiaggregering',\r\n  autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n  autosizeAllColumns: 'Autotilpas alle kolonner',\r\n  groupBy: 'Gruppér efter',\r\n  ungroupBy: 'Afgruppér efter',\r\n  resetColumns: 'Nulstil kolonner',\r\n  expandAll: 'Udvid alle',\r\n  collapseAll: 'Luk alle',\r\n  copy: 'Kopier',\r\n  ctrlC: 'Ctrl+C',\r\n  copyWithHeaders: 'Kopier med overskrift',\r\n  paste: 'Sæt ind',\r\n  ctrlV: 'Ctrl+V',\r\n  export: 'Eksporter',\r\n  csvExport: 'CSV Eksport',\r\n  excelExport: 'Excel Eksport (.xlsx)',\r\n  excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n  // Enterprise Menu Aggregation and Status Bar\r\n  sum: 'Sum',\r\n  min: 'Min',\r\n  max: 'Max',\r\n  none: 'Ingen',\r\n  count: 'Tæl',\r\n  avg: 'Gennemsnit',\r\n  filteredRows: 'Filtreret',\r\n  selectedRows: 'Valgt',\r\n  totalRows: 'Total Rækker',\r\n  totalAndFilteredRows: 'Rækker',\r\n  more: 'Mere',\r\n  to: 'til',\r\n  of: 'af',\r\n  page: 'Side',\r\n  nextPage: 'Næste side',\r\n  lastPage: 'Sidste side',\r\n  firstPage: 'Første side',\r\n  previousPage: 'Foregående side',\r\n\r\n  // Enterprise Menu (Charts)\r\n  pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n  pivotChart: 'Pivot Chart',\r\n  chartRange: 'Chart Range',\r\n\r\n  columnChart: 'Kolonne',\r\n  groupedColumn: 'Grupperet',\r\n  stackedColumn: 'Samlet',\r\n  normalizedColumn: '100% Samlet',\r\n\r\n  barChart: 'Bar',\r\n  groupedBar: 'Grupperet',\r\n  stackedBar: 'Samlet',\r\n  normalizedBar: '100% Samlet',\r\n\r\n  pieChart: 'Pie',\r\n  pie: 'Pie',\r\n  doughnut: 'Doughnut',\r\n\r\n  line: 'Line',\r\n\r\n  xyChart: 'X Y (Scatter)',\r\n  scatter: 'Scatter',\r\n  bubble: 'Bubble',\r\n\r\n  areaChart: 'Area',\r\n  area: 'Area',\r\n  stackedArea: 'Stacked',\r\n  normalizedArea: '100% Stacked',\r\n\r\n  histogramChart: 'Histogram',\r\n\r\n  // Charts\r\n  pivotChartTitle: 'Pivot-diagram',\r\n  rangeChartTitle: 'Rækkevidde',\r\n  settings: 'Indstillinger',\r\n  data: 'Data',\r\n  format: 'Format',\r\n  categories: 'Kategorier',\r\n  defaultCategory: '(Ingen)',\r\n  series: 'Serier',\r\n  xyValues: 'X Y Værdier',\r\n  paired: 'Samlet Mode',\r\n  axis: 'Akse',\r\n  navigator: 'Navigator',\r\n  color: 'Farve',\r\n  thickness: 'Tykkelse',\r\n  xType: 'X Type',\r\n  automatic: 'Automatisk',\r\n  category: 'Kategori',\r\n  number: 'Nummer',\r\n  time: 'Tid',\r\n  xRotation: 'X Rotation',\r\n  yRotation: 'Y Rotation',\r\n  ticks: 'Ticks',\r\n  width: 'Bredde',\r\n  height: 'Højde',\r\n  length: 'Længde',\r\n  padding: 'Padding',\r\n  spacing: 'Mellemrum',\r\n  chart: 'Diagram',\r\n  title: 'Titel',\r\n  titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n  background: 'Baggrund',\r\n  font: 'Font',\r\n  top: 'Top',\r\n  right: 'Højre',\r\n  bottom: 'Bund',\r\n  left: 'Venstre',\r\n  labels: 'Labels',\r\n  size: 'Størrelse',\r\n  minSize: 'Minimum Størrelse',\r\n  maxSize: 'Maximum Størrelse',\r\n  legend: 'Legend',\r\n  position: 'Position',\r\n  markerSize: 'Marker Størrelse',\r\n  markerStroke: 'Marker Stroke',\r\n  markerPadding: 'Marker Padding',\r\n  itemSpacing: 'Item Spacing',\r\n  itemPaddingX: 'Item Padding X',\r\n  itemPaddingY: 'Item Padding Y',\r\n  layoutHorizontalSpacing: 'Horizontal Spacing',\r\n  layoutVerticalSpacing: 'Vertical Spacing',\r\n  strokeWidth: 'Stroke Width',\r\n  offset: 'Offset',\r\n  offsets: 'Offsets',\r\n  tooltips: 'Tooltips',\r\n  callout: 'Callout',\r\n  markers: 'Markers',\r\n  shadow: 'Shadow',\r\n  blur: 'Blur',\r\n  xOffset: 'X Offset',\r\n  yOffset: 'Y Offset',\r\n  lineWidth: 'Line Width',\r\n  normal: 'Normal',\r\n  bold: 'Bold',\r\n  italic: 'Italic',\r\n  boldItalic: 'Bold Italic',\r\n  predefined: 'Predefined',\r\n  fillOpacity: 'Fill Opacity',\r\n  strokeOpacity: 'Line Opacity',\r\n  histogramBinCount: 'Bin count',\r\n  columnGroup: 'Column',\r\n  barGroup: 'Bar',\r\n  pieGroup: 'Pie',\r\n  lineGroup: 'Line',\r\n  scatterGroup: 'X Y (Scatter)',\r\n  areaGroup: 'Area',\r\n  histogramGroup: 'Histogram',\r\n  groupedColumnTooltip: 'Grouped',\r\n  stackedColumnTooltip: 'Stacked',\r\n  normalizedColumnTooltip: '100% Stacked',\r\n  groupedBarTooltip: 'Grouped',\r\n  stackedBarTooltip: 'Stacked',\r\n  normalizedBarTooltip: '100% Stacked',\r\n  pieTooltip: 'Pie',\r\n  doughnutTooltip: 'Doughnut',\r\n  lineTooltip: 'Line',\r\n  groupedAreaTooltip: 'Area',\r\n  stackedAreaTooltip: 'Stacked',\r\n  normalizedAreaTooltip: '100% Stacked',\r\n  scatterTooltip: 'Scatter',\r\n  bubbleTooltip: 'Bubble',\r\n  histogramTooltip: 'Histogram',\r\n  noDataToChart: 'No data available to be charted.',\r\n  pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n}\r\nexport const de_DE = {\r\n  // Set Filter\r\n  selectAll: '(Vælg alle)',\r\n  selectAllSearchResults: '(Vælg alle)',\r\n  searchOoo: 'Search...',\r\n  blanks: '(Tom)',\r\n  noMatches: 'No matches',\r\n\r\n  // Number Filter & Text Filter\r\n  filterOoo: 'Filter...',\r\n  equals: 'Er ligemed',\r\n  notEqual: 'Ikke ligemed',\r\n  empty: 'ælg en',\r\n\r\n  // Number Filter\r\n  lessThan: 'Mindre end',\r\n  greaterThan: 'Større end',\r\n  lessThanOrEqual: 'Mindre eller ligemed',\r\n  greaterThanOrEqual: 'Større eller ligemed',\r\n  inRange: 'I range',\r\n  inRangeStart: 'til',\r\n  inRangeEnd: 'fra',\r\n\r\n  // Text Filter\r\n  contains: 'Indeholder',\r\n  notContains: 'Indeholder ikke',\r\n  startsWith: 'Starter med',\r\n  endsWith: 'Slutter med',\r\n\r\n  // Date Filter\r\n  dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n  // Filter Conditions\r\n  andCondition: 'OG',\r\n  orCondition: 'ELLER',\r\n\r\n  // Filter Buttons\r\n  applyFilter: 'Tilføj',\r\n  resetFilter: 'Nulstil',\r\n  clearFilter: 'Ryd',\r\n  cancelFilter: 'Fortryd',\r\n\r\n  // Filter Titles\r\n  textFilter: 'Tekst Filter',\r\n  numberFilter: 'Nummer Filter',\r\n  dateFilter: 'Dato Filter',\r\n  setFilter: 'Sæt Filter',\r\n\r\n  // Side Bar\r\n  columns: 'Kolonner',\r\n  filters: 'Filtre',\r\n\r\n  // columns tool panel\r\n  pivotMode: 'Pivot tilstand',\r\n  groups: 'Rækkegrupper',\r\n  rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n  values: 'Værdier',\r\n  valueColumnsEmptyMessage: 'Træk her for at samle',\r\n  pivots: 'Kolonne labels',\r\n  pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n  // Header of the Default Group Column\r\n  group: 'Gruppe',\r\n\r\n  // Other\r\n  loadingOoo: 'Henter, vent venligst...',\r\n  noRowsToShow: 'Ingen rækker at vise',\r\n  enabled: 'Aktiveret',\r\n\r\n  // Menu\r\n  pinColumn: 'Fastgør kolonne',\r\n  pinLeft: 'Fastgør til venstre',\r\n  pinRight: 'Fastgør til højre',\r\n  noPin: 'Fastgør ikke',\r\n  valueAggregation: 'Værdiaggregering',\r\n  autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n  autosizeAllColumns: 'Autotilpas alle kolonner',\r\n  groupBy: 'Gruppér efter',\r\n  ungroupBy: 'Afgruppér efter',\r\n  resetColumns: 'Nulstil kolonner',\r\n  expandAll: 'Udvid alle',\r\n  collapseAll: 'Luk alle',\r\n  copy: 'Kopier',\r\n  ctrlC: 'Ctrl+C',\r\n  copyWithHeaders: 'Kopier med overskrift',\r\n  paste: 'Sæt ind',\r\n  ctrlV: 'Ctrl+V',\r\n  export: 'Eksporter',\r\n  csvExport: 'CSV Eksport',\r\n  excelExport: 'Excel Eksport (.xlsx)',\r\n  excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n  // Enterprise Menu Aggregation and Status Bar\r\n  sum: 'Sum',\r\n  min: 'Min',\r\n  max: 'Max',\r\n  none: 'Ingen',\r\n  count: 'Tæl',\r\n  avg: 'Gennemsnit',\r\n  filteredRows: 'Filtreret',\r\n  selectedRows: 'Valgt',\r\n  totalRows: 'Total Rækker',\r\n  totalAndFilteredRows: 'Rækker',\r\n  more: 'Mere',\r\n  to: 'til',\r\n  of: 'af',\r\n  page: 'Side',\r\n  nextPage: 'Næste side',\r\n  lastPage: 'Sidste side',\r\n  firstPage: 'Første side',\r\n  previousPage: 'Foregående side',\r\n\r\n  // Enterprise Menu (Charts)\r\n  pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n  pivotChart: 'Pivot Chart',\r\n  chartRange: 'Chart Range',\r\n\r\n  columnChart: 'Kolonne',\r\n  groupedColumn: 'Grupperet',\r\n  stackedColumn: 'Samlet',\r\n  normalizedColumn: '100% Samlet',\r\n\r\n  barChart: 'Bar',\r\n  groupedBar: 'Grupperet',\r\n  stackedBar: 'Samlet',\r\n  normalizedBar: '100% Samlet',\r\n\r\n  pieChart: 'Pie',\r\n  pie: 'Pie',\r\n  doughnut: 'Doughnut',\r\n\r\n  line: 'Line',\r\n\r\n  xyChart: 'X Y (Scatter)',\r\n  scatter: 'Scatter',\r\n  bubble: 'Bubble',\r\n\r\n  areaChart: 'Area',\r\n  area: 'Area',\r\n  stackedArea: 'Stacked',\r\n  normalizedArea: '100% Stacked',\r\n\r\n  histogramChart: 'Histogram',\r\n\r\n  // Charts\r\n  pivotChartTitle: 'Pivot-diagram',\r\n  rangeChartTitle: 'Rækkevidde',\r\n  settings: 'Indstillinger',\r\n  data: 'Data',\r\n  format: 'Format',\r\n  categories: 'Kategorier',\r\n  defaultCategory: '(Ingen)',\r\n  series: 'Serier',\r\n  xyValues: 'X Y Værdier',\r\n  paired: 'Samlet Mode',\r\n  axis: 'Akse',\r\n  navigator: 'Navigator',\r\n  color: 'Farve',\r\n  thickness: 'Tykkelse',\r\n  xType: 'X Type',\r\n  automatic: 'Automatisk',\r\n  category: 'Kategori',\r\n  number: 'Nummer',\r\n  time: 'Tid',\r\n  xRotation: 'X Rotation',\r\n  yRotation: 'Y Rotation',\r\n  ticks: 'Ticks',\r\n  width: 'Bredde',\r\n  height: 'Højde',\r\n  length: 'Længde',\r\n  padding: 'Padding',\r\n  spacing: 'Mellemrum',\r\n  chart: 'Diagram',\r\n  title: 'Titel',\r\n  titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n  background: 'Baggrund',\r\n  font: 'Font',\r\n  top: 'Top',\r\n  right: 'Højre',\r\n  bottom: 'Bund',\r\n  left: 'Venstre',\r\n  labels: 'Labels',\r\n  size: 'Størrelse',\r\n  minSize: 'Minimum Størrelse',\r\n  maxSize: 'Maximum Størrelse',\r\n  legend: 'Legend',\r\n  position: 'Position',\r\n  markerSize: 'Marker Størrelse',\r\n  markerStroke: 'Marker Stroke',\r\n  markerPadding: 'Marker Padding',\r\n  itemSpacing: 'Item Spacing',\r\n  itemPaddingX: 'Item Padding X',\r\n  itemPaddingY: 'Item Padding Y',\r\n  layoutHorizontalSpacing: 'Horizontal Spacing',\r\n  layoutVerticalSpacing: 'Vertical Spacing',\r\n  strokeWidth: 'Stroke Width',\r\n  offset: 'Offset',\r\n  offsets: 'Offsets',\r\n  tooltips: 'Tooltips',\r\n  callout: 'Callout',\r\n  markers: 'Markers',\r\n  shadow: 'Shadow',\r\n  blur: 'Blur',\r\n  xOffset: 'X Offset',\r\n  yOffset: 'Y Offset',\r\n  lineWidth: 'Line Width',\r\n  normal: 'Normal',\r\n  bold: 'Bold',\r\n  italic: 'Italic',\r\n  boldItalic: 'Bold Italic',\r\n  predefined: 'Predefined',\r\n  fillOpacity: 'Fill Opacity',\r\n  strokeOpacity: 'Line Opacity',\r\n  histogramBinCount: 'Bin count',\r\n  columnGroup: 'Column',\r\n  barGroup: 'Bar',\r\n  pieGroup: 'Pie',\r\n  lineGroup: 'Line',\r\n  scatterGroup: 'X Y (Scatter)',\r\n  areaGroup: 'Area',\r\n  histogramGroup: 'Histogram',\r\n  groupedColumnTooltip: 'Grouped',\r\n  stackedColumnTooltip: 'Stacked',\r\n  normalizedColumnTooltip: '100% Stacked',\r\n  groupedBarTooltip: 'Grouped',\r\n  stackedBarTooltip: 'Stacked',\r\n  normalizedBarTooltip: '100% Stacked',\r\n  pieTooltip: 'Pie',\r\n  doughnutTooltip: 'Doughnut',\r\n  lineTooltip: 'Line',\r\n  groupedAreaTooltip: 'Area',\r\n  stackedAreaTooltip: 'Stacked',\r\n  normalizedAreaTooltip: '100% Stacked',\r\n  scatterTooltip: 'Scatter',\r\n  bubbleTooltip: 'Bubble',\r\n  histogramTooltip: 'Histogram',\r\n  noDataToChart: 'No data available to be charted.',\r\n  pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n}\r\nexport const nn_NO = {\r\n  // Set Filter\r\n  selectAll: '(Vælg alle)',\r\n  selectAllSearchResults: '(Vælg alle)',\r\n  searchOoo: 'Search...',\r\n  blanks: '(Tom)',\r\n  noMatches: 'No matches',\r\n\r\n  // Number Filter & Text Filter\r\n  filterOoo: 'Filter...',\r\n  equals: 'Er ligemed',\r\n  notEqual: 'Ikke ligemed',\r\n  empty: 'ælg en',\r\n\r\n  // Number Filter\r\n  lessThan: 'Mindre end',\r\n  greaterThan: 'Større end',\r\n  lessThanOrEqual: 'Mindre eller ligemed',\r\n  greaterThanOrEqual: 'Større eller ligemed',\r\n  inRange: 'I range',\r\n  inRangeStart: 'til',\r\n  inRangeEnd: 'fra',\r\n\r\n  // Text Filter\r\n  contains: 'Indeholder',\r\n  notContains: 'Indeholder ikke',\r\n  startsWith: 'Starter med',\r\n  endsWith: 'Slutter med',\r\n\r\n  // Date Filter\r\n  dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n  // Filter Conditions\r\n  andCondition: 'OG',\r\n  orCondition: 'ELLER',\r\n\r\n  // Filter Buttons\r\n  applyFilter: 'Tilføj',\r\n  resetFilter: 'Nulstil',\r\n  clearFilter: 'Ryd',\r\n  cancelFilter: 'Fortryd',\r\n\r\n  // Filter Titles\r\n  textFilter: 'Tekst Filter',\r\n  numberFilter: 'Nummer Filter',\r\n  dateFilter: 'Dato Filter',\r\n  setFilter: 'Sæt Filter',\r\n\r\n  // Side Bar\r\n  columns: 'Kolonner',\r\n  filters: 'Filtre',\r\n\r\n  // columns tool panel\r\n  pivotMode: 'Pivot tilstand',\r\n  groups: 'Rækkegrupper',\r\n  rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n  values: 'Værdier',\r\n  valueColumnsEmptyMessage: 'Træk her for at samle',\r\n  pivots: 'Kolonne labels',\r\n  pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n  // Header of the Default Group Column\r\n  group: 'Gruppe',\r\n\r\n  // Other\r\n  loadingOoo: 'Henter, vent venligst...',\r\n  noRowsToShow: 'Ingen rækker at vise',\r\n  enabled: 'Aktiveret',\r\n\r\n  // Menu\r\n  pinColumn: 'Fastgør kolonne',\r\n  pinLeft: 'Fastgør til venstre',\r\n  pinRight: 'Fastgør til højre',\r\n  noPin: 'Fastgør ikke',\r\n  valueAggregation: 'Værdiaggregering',\r\n  autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n  autosizeAllColumns: 'Autotilpas alle kolonner',\r\n  groupBy: 'Gruppér efter',\r\n  ungroupBy: 'Afgruppér efter',\r\n  resetColumns: 'Nulstil kolonner',\r\n  expandAll: 'Udvid alle',\r\n  collapseAll: 'Luk alle',\r\n  copy: 'Kopier',\r\n  ctrlC: 'Ctrl+C',\r\n  copyWithHeaders: 'Kopier med overskrift',\r\n  paste: 'Sæt ind',\r\n  ctrlV: 'Ctrl+V',\r\n  export: 'Eksporter',\r\n  csvExport: 'CSV Eksport',\r\n  excelExport: 'Excel Eksport (.xlsx)',\r\n  excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n  // Enterprise Menu Aggregation and Status Bar\r\n  sum: 'Sum',\r\n  min: 'Min',\r\n  max: 'Max',\r\n  none: 'Ingen',\r\n  count: 'Tæl',\r\n  avg: 'Gennemsnit',\r\n  filteredRows: 'Filtreret',\r\n  selectedRows: 'Valgt',\r\n  totalRows: 'Total Rækker',\r\n  totalAndFilteredRows: 'Rækker',\r\n  more: 'Mere',\r\n  to: 'til',\r\n  of: 'af',\r\n  page: 'Side',\r\n  nextPage: 'Næste side',\r\n  lastPage: 'Sidste side',\r\n  firstPage: 'Første side',\r\n  previousPage: 'Foregående side',\r\n\r\n  // Enterprise Menu (Charts)\r\n  pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n  pivotChart: 'Pivot Chart',\r\n  chartRange: 'Chart Range',\r\n\r\n  columnChart: 'Kolonne',\r\n  groupedColumn: 'Grupperet',\r\n  stackedColumn: 'Samlet',\r\n  normalizedColumn: '100% Samlet',\r\n\r\n  barChart: 'Bar',\r\n  groupedBar: 'Grupperet',\r\n  stackedBar: 'Samlet',\r\n  normalizedBar: '100% Samlet',\r\n\r\n  pieChart: 'Pie',\r\n  pie: 'Pie',\r\n  doughnut: 'Doughnut',\r\n\r\n  line: 'Line',\r\n\r\n  xyChart: 'X Y (Scatter)',\r\n  scatter: 'Scatter',\r\n  bubble: 'Bubble',\r\n\r\n  areaChart: 'Area',\r\n  area: 'Area',\r\n  stackedArea: 'Stacked',\r\n  normalizedArea: '100% Stacked',\r\n\r\n  histogramChart: 'Histogram',\r\n\r\n  // Charts\r\n  pivotChartTitle: 'Pivot-diagram',\r\n  rangeChartTitle: 'Rækkevidde',\r\n  settings: 'Indstillinger',\r\n  data: 'Data',\r\n  format: 'Format',\r\n  categories: 'Kategorier',\r\n  defaultCategory: '(Ingen)',\r\n  series: 'Serier',\r\n  xyValues: 'X Y Værdier',\r\n  paired: 'Samlet Mode',\r\n  axis: 'Akse',\r\n  navigator: 'Navigator',\r\n  color: 'Farve',\r\n  thickness: 'Tykkelse',\r\n  xType: 'X Type',\r\n  automatic: 'Automatisk',\r\n  category: 'Kategori',\r\n  number: 'Nummer',\r\n  time: 'Tid',\r\n  xRotation: 'X Rotation',\r\n  yRotation: 'Y Rotation',\r\n  ticks: 'Ticks',\r\n  width: 'Bredde',\r\n  height: 'Højde',\r\n  length: 'Længde',\r\n  padding: 'Padding',\r\n  spacing: 'Mellemrum',\r\n  chart: 'Diagram',\r\n  title: 'Titel',\r\n  titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n  background: 'Baggrund',\r\n  font: 'Font',\r\n  top: 'Top',\r\n  right: 'Højre',\r\n  bottom: 'Bund',\r\n  left: 'Venstre',\r\n  labels: 'Labels',\r\n  size: 'Størrelse',\r\n  minSize: 'Minimum Størrelse',\r\n  maxSize: 'Maximum Størrelse',\r\n  legend: 'Legend',\r\n  position: 'Position',\r\n  markerSize: 'Marker Størrelse',\r\n  markerStroke: 'Marker Stroke',\r\n  markerPadding: 'Marker Padding',\r\n  itemSpacing: 'Item Spacing',\r\n  itemPaddingX: 'Item Padding X',\r\n  itemPaddingY: 'Item Padding Y',\r\n  layoutHorizontalSpacing: 'Horizontal Spacing',\r\n  layoutVerticalSpacing: 'Vertical Spacing',\r\n  strokeWidth: 'Stroke Width',\r\n  offset: 'Offset',\r\n  offsets: 'Offsets',\r\n  tooltips: 'Tooltips',\r\n  callout: 'Callout',\r\n  markers: 'Markers',\r\n  shadow: 'Shadow',\r\n  blur: 'Blur',\r\n  xOffset: 'X Offset',\r\n  yOffset: 'Y Offset',\r\n  lineWidth: 'Line Width',\r\n  normal: 'Normal',\r\n  bold: 'Bold',\r\n  italic: 'Italic',\r\n  boldItalic: 'Bold Italic',\r\n  predefined: 'Predefined',\r\n  fillOpacity: 'Fill Opacity',\r\n  strokeOpacity: 'Line Opacity',\r\n  histogramBinCount: 'Bin count',\r\n  columnGroup: 'Column',\r\n  barGroup: 'Bar',\r\n  pieGroup: 'Pie',\r\n  lineGroup: 'Line',\r\n  scatterGroup: 'X Y (Scatter)',\r\n  areaGroup: 'Area',\r\n  histogramGroup: 'Histogram',\r\n  groupedColumnTooltip: 'Grouped',\r\n  stackedColumnTooltip: 'Stacked',\r\n  normalizedColumnTooltip: '100% Stacked',\r\n  groupedBarTooltip: 'Grouped',\r\n  stackedBarTooltip: 'Stacked',\r\n  normalizedBarTooltip: '100% Stacked',\r\n  pieTooltip: 'Pie',\r\n  doughnutTooltip: 'Doughnut',\r\n  lineTooltip: 'Line',\r\n  groupedAreaTooltip: 'Area',\r\n  stackedAreaTooltip: 'Stacked',\r\n  normalizedAreaTooltip: '100% Stacked',\r\n  scatterTooltip: 'Scatter',\r\n  bubbleTooltip: 'Bubble',\r\n  histogramTooltip: 'Histogram',\r\n  noDataToChart: 'No data available to be charted.',\r\n  pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n}\r\nexport const es_ES = {\r\n  // Set Filter\r\n  selectAll: '(Vælg alle)',\r\n  selectAllSearchResults: '(Vælg alle)',\r\n  searchOoo: 'Search...',\r\n  blanks: '(Tom)',\r\n  noMatches: 'No matches',\r\n\r\n  // Number Filter & Text Filter\r\n  filterOoo: 'Filter...',\r\n  equals: 'Er ligemed',\r\n  notEqual: 'Ikke ligemed',\r\n  empty: 'ælg en',\r\n\r\n  // Number Filter\r\n  lessThan: 'Mindre end',\r\n  greaterThan: 'Større end',\r\n  lessThanOrEqual: 'Mindre eller ligemed',\r\n  greaterThanOrEqual: 'Større eller ligemed',\r\n  inRange: 'I range',\r\n  inRangeStart: 'til',\r\n  inRangeEnd: 'fra',\r\n\r\n  // Text Filter\r\n  contains: 'Indeholder',\r\n  notContains: 'Indeholder ikke',\r\n  startsWith: 'Starter med',\r\n  endsWith: 'Slutter med',\r\n\r\n  // Date Filter\r\n  dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n  // Filter Conditions\r\n  andCondition: 'OG',\r\n  orCondition: 'ELLER',\r\n\r\n  // Filter Buttons\r\n  applyFilter: 'Tilføj',\r\n  resetFilter: 'Nulstil',\r\n  clearFilter: 'Ryd',\r\n  cancelFilter: 'Fortryd',\r\n\r\n  // Filter Titles\r\n  textFilter: 'Tekst Filter',\r\n  numberFilter: 'Nummer Filter',\r\n  dateFilter: 'Dato Filter',\r\n  setFilter: 'Sæt Filter',\r\n\r\n  // Side Bar\r\n  columns: 'Kolonner',\r\n  filters: 'Filtre',\r\n\r\n  // columns tool panel\r\n  pivotMode: 'Pivot tilstand',\r\n  groups: 'Rækkegrupper',\r\n  rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n  values: 'Værdier',\r\n  valueColumnsEmptyMessage: 'Træk her for at samle',\r\n  pivots: 'Kolonne labels',\r\n  pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n  // Header of the Default Group Column\r\n  group: 'Gruppe',\r\n\r\n  // Other\r\n  loadingOoo: 'Henter, vent venligst...',\r\n  noRowsToShow: 'Ingen rækker at vise',\r\n  enabled: 'Aktiveret',\r\n\r\n  // Menu\r\n  pinColumn: 'Fastgør kolonne',\r\n  pinLeft: 'Fastgør til venstre',\r\n  pinRight: 'Fastgør til højre',\r\n  noPin: 'Fastgør ikke',\r\n  valueAggregation: 'Værdiaggregering',\r\n  autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n  autosizeAllColumns: 'Autotilpas alle kolonner',\r\n  groupBy: 'Gruppér efter',\r\n  ungroupBy: 'Afgruppér efter',\r\n  resetColumns: 'Nulstil kolonner',\r\n  expandAll: 'Udvid alle',\r\n  collapseAll: 'Luk alle',\r\n  copy: 'Kopier',\r\n  ctrlC: 'Ctrl+C',\r\n  copyWithHeaders: 'Kopier med overskrift',\r\n  paste: 'Sæt ind',\r\n  ctrlV: 'Ctrl+V',\r\n  export: 'Eksporter',\r\n  csvExport: 'CSV Eksport',\r\n  excelExport: 'Excel Eksport (.xlsx)',\r\n  excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n  // Enterprise Menu Aggregation and Status Bar\r\n  sum: 'Sum',\r\n  min: 'Min',\r\n  max: 'Max',\r\n  none: 'Ingen',\r\n  count: 'Tæl',\r\n  avg: 'Gennemsnit',\r\n  filteredRows: 'Filtreret',\r\n  selectedRows: 'Valgt',\r\n  totalRows: 'Total Rækker',\r\n  totalAndFilteredRows: 'Rækker',\r\n  more: 'Mere',\r\n  to: 'til',\r\n  of: 'af',\r\n  page: 'Side',\r\n  nextPage: 'Næste side',\r\n  lastPage: 'Sidste side',\r\n  firstPage: 'Første side',\r\n  previousPage: 'Foregående side',\r\n\r\n  // Enterprise Menu (Charts)\r\n  pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n  pivotChart: 'Pivot Chart',\r\n  chartRange: 'Chart Range',\r\n\r\n  columnChart: 'Kolonne',\r\n  groupedColumn: 'Grupperet',\r\n  stackedColumn: 'Samlet',\r\n  normalizedColumn: '100% Samlet',\r\n\r\n  barChart: 'Bar',\r\n  groupedBar: 'Grupperet',\r\n  stackedBar: 'Samlet',\r\n  normalizedBar: '100% Samlet',\r\n\r\n  pieChart: 'Pie',\r\n  pie: 'Pie',\r\n  doughnut: 'Doughnut',\r\n\r\n  line: 'Line',\r\n\r\n  xyChart: 'X Y (Scatter)',\r\n  scatter: 'Scatter',\r\n  bubble: 'Bubble',\r\n\r\n  areaChart: 'Area',\r\n  area: 'Area',\r\n  stackedArea: 'Stacked',\r\n  normalizedArea: '100% Stacked',\r\n\r\n  histogramChart: 'Histogram',\r\n\r\n  // Charts\r\n  pivotChartTitle: 'Pivot-diagram',\r\n  rangeChartTitle: 'Rækkevidde',\r\n  settings: 'Indstillinger',\r\n  data: 'Data',\r\n  format: 'Format',\r\n  categories: 'Kategorier',\r\n  defaultCategory: '(Ingen)',\r\n  series: 'Serier',\r\n  xyValues: 'X Y Værdier',\r\n  paired: 'Samlet Mode',\r\n  axis: 'Akse',\r\n  navigator: 'Navigator',\r\n  color: 'Farve',\r\n  thickness: 'Tykkelse',\r\n  xType: 'X Type',\r\n  automatic: 'Automatisk',\r\n  category: 'Kategori',\r\n  number: 'Nummer',\r\n  time: 'Tid',\r\n  xRotation: 'X Rotation',\r\n  yRotation: 'Y Rotation',\r\n  ticks: 'Ticks',\r\n  width: 'Bredde',\r\n  height: 'Højde',\r\n  length: 'Længde',\r\n  padding: 'Padding',\r\n  spacing: 'Mellemrum',\r\n  chart: 'Diagram',\r\n  title: 'Titel',\r\n  titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n  background: 'Baggrund',\r\n  font: 'Font',\r\n  top: 'Top',\r\n  right: 'Højre',\r\n  bottom: 'Bund',\r\n  left: 'Venstre',\r\n  labels: 'Labels',\r\n  size: 'Størrelse',\r\n  minSize: 'Minimum Størrelse',\r\n  maxSize: 'Maximum Størrelse',\r\n  legend: 'Legend',\r\n  position: 'Position',\r\n  markerSize: 'Marker Størrelse',\r\n  markerStroke: 'Marker Stroke',\r\n  markerPadding: 'Marker Padding',\r\n  itemSpacing: 'Item Spacing',\r\n  itemPaddingX: 'Item Padding X',\r\n  itemPaddingY: 'Item Padding Y',\r\n  layoutHorizontalSpacing: 'Horizontal Spacing',\r\n  layoutVerticalSpacing: 'Vertical Spacing',\r\n  strokeWidth: 'Stroke Width',\r\n  offset: 'Offset',\r\n  offsets: 'Offsets',\r\n  tooltips: 'Tooltips',\r\n  callout: 'Callout',\r\n  markers: 'Markers',\r\n  shadow: 'Shadow',\r\n  blur: 'Blur',\r\n  xOffset: 'X Offset',\r\n  yOffset: 'Y Offset',\r\n  lineWidth: 'Line Width',\r\n  normal: 'Normal',\r\n  bold: 'Bold',\r\n  italic: 'Italic',\r\n  boldItalic: 'Bold Italic',\r\n  predefined: 'Predefined',\r\n  fillOpacity: 'Fill Opacity',\r\n  strokeOpacity: 'Line Opacity',\r\n  histogramBinCount: 'Bin count',\r\n  columnGroup: 'Column',\r\n  barGroup: 'Bar',\r\n  pieGroup: 'Pie',\r\n  lineGroup: 'Line',\r\n  scatterGroup: 'X Y (Scatter)',\r\n  areaGroup: 'Area',\r\n  histogramGroup: 'Histogram',\r\n  groupedColumnTooltip: 'Grouped',\r\n  stackedColumnTooltip: 'Stacked',\r\n  normalizedColumnTooltip: '100% Stacked',\r\n  groupedBarTooltip: 'Grouped',\r\n  stackedBarTooltip: 'Stacked',\r\n  normalizedBarTooltip: '100% Stacked',\r\n  pieTooltip: 'Pie',\r\n  doughnutTooltip: 'Doughnut',\r\n  lineTooltip: 'Line',\r\n  groupedAreaTooltip: 'Area',\r\n  stackedAreaTooltip: 'Stacked',\r\n  normalizedAreaTooltip: '100% Stacked',\r\n  scatterTooltip: 'Scatter',\r\n  bubbleTooltip: 'Bubble',\r\n  histogramTooltip: 'Histogram',\r\n  noDataToChart: 'No data available to be charted.',\r\n  pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n}\r\n","import { GridOptions, Module} from \"@ag-grid-enterprise/all-modules\";\r\nimport { RowGroupingModule } from \"@ag-grid-enterprise/row-grouping\";\r\nimport { ServerSideRowModelModule } from \"@ag-grid-enterprise/server-side-row-model\";\r\nimport { SetFilterModule } from \"@ag-grid-enterprise/set-filter\";\r\nimport { SideBarModule } from \"@ag-grid-enterprise/side-bar\";\r\nimport { format } from \"date-fns\";\r\nconst components = {\r\n    loadingRenderer: function (params) {\r\n      if (params.value !== undefined) {\r\n        return params.value;\r\n      } else {\r\n        return '<img src=\"https://www.ag-grid.com/example-assets/loading.gif\">';\r\n      }\r\n    },\r\n  };\r\n\r\nconst excelStyles = [{\r\n  field: 'createdAt',\r\n  dataType: 'String',\r\n  numberFormat: {\r\n    format: 'yy-mm-dd;;;',\r\n  }\r\n}];\r\n\r\nexport class AgFilters {\r\n  static text = 'agTextColumnFilter';\r\n  static set = 'agSetColumnFilter';\r\n  static date = 'agDateColumnFilter';\r\n}\r\n\r\nexport const modules: Module[] = [\r\n  ServerSideRowModelModule,\r\n  SetFilterModule,\r\n  RowGroupingModule,\r\n  SideBarModule\r\n];\r\n\r\nconst sidebar = {\r\n  toolPanels: [\r\n    {\r\n      id: \"columns\",\r\n      toolPanel: \"agColumnsToolPanel\",\r\n      labelKey: \"columns\",\r\n      labelDefault: \"Columns\",\r\n      toolPanelParams: {\r\n        suppressRowGroups: true,\r\n        suppressValues: true,\r\n        suppressPivots: true,\r\n        suppressPivotMode: true,\r\n        suppressSideButtons: true,\r\n        suppressColumnFilter: true,\r\n        suppressColumnSelectAll: true,\r\n        suppressColumnExpandAll: true,\r\n        allowDragFromColumnsToolPanel: true\r\n      },\r\n    },\r\n    {\r\n      id: \"filters\",\r\n      toolPanel: \"agFiltersToolPanel\",\r\n      labelKey: \"filters\",\r\n      iconKey: \"filter\",\r\n      labelDefault: \"Filters\"\r\n    },\r\n  ],\r\n  defaultToolPanel: \"\"\r\n};\r\n\r\nconst defaultColDef = {\r\n  editable: true,\r\n  sortable: true,\r\n  resizable: true,\r\n  enableValue: true,\r\n  enableRowGroup: true,\r\n  enablePivot: true,\r\n  suppressMenu: false,\r\n  lockPosition: true,\r\n  floatingFilter: true,\r\n  filter: AgFilters.text,\r\n  width: 150\r\n};\r\n\r\nexport const gridStandards = {\r\n  components : components,\r\n  sideBar : sidebar,\r\n  // modules: modules,\r\n  defaultColDef: defaultColDef,\r\n  headerHeight: 32,\r\n  rowHeight: 32,\r\n  floatingFiltersHeight: 36,\r\n  pagination: true,\r\n  cacheQuickFilter: true,\r\n  paginationPageSize: 100,\r\n  rowGroup: false\r\n} as GridOptions;\r\n\r\nexport var dateFilterParams = {\r\n  //inRangeInclusive: true,\r\n  comparator: function (filterLocalDateAtMidnight, cellValue) {\r\n    var dateAsString = format(cellValue,\"DD/MM/YYYY\");\r\n    var dateParts = dateAsString.split(\"/\");\r\n    var cellDate = new Date(Number(dateParts[2]), Number(dateParts[1]) - 1, Number(dateParts[0]));\r\n\r\n    if (filterLocalDateAtMidnight.getTime() == cellDate.getTime()) {\r\n      return 0;\r\n    }\r\n\r\n    if (cellDate < filterLocalDateAtMidnight) {\r\n      return -1;\r\n    }\r\n\r\n    if (cellDate > filterLocalDateAtMidnight) {\r\n      return 1;\r\n    }\r\n  },\r\n  buttons: [\"reset\"]\r\n};\r\n\r\nexport const gridKey = \"CompanyName=Jublo ApS,LicensedApplication=Jublo,LicenseType=SingleApplication,LicensedConcurrentDeveloperCount=1,LicensedProductionInstancesCount=1,AssetReference=AG-021014,ExpiryDate=16_November_2022_[v2]_MTY2ODU1NjgwMDAwMA==faba358e68ee5c3e653801cd1a39baf4\";\r\n\r\n  ","export class GridTranslateVariables {\r\n   'da-DK' = {\r\n    // Set Filter\r\n    selectAll: '(Vælg alle)',\r\n    selectAllSearchResults: '(Vælg alle)',\r\n    searchOoo: 'Søg...',\r\n    blanks: '(Tom)',\r\n    noMatches: 'No matches',\r\n\r\n    // Number Filter & Text Filter\r\n    filterOoo: 'Filter...',\r\n    equals: 'Er ligemed',\r\n    notEqual: 'Ikke ligemed',\r\n    empty: 'ælg en',\r\n\r\n    // Number Filter\r\n    lessThan: 'Mindre end',\r\n    greaterThan: 'Større end',\r\n    lessThanOrEqual: 'Mindre eller ligemed',\r\n    greaterThanOrEqual: 'Større eller ligemed',\r\n    inRange: 'I range',\r\n    inRangeStart: 'til',\r\n    inRangeEnd: 'fra',\r\n\r\n    // Text Filter\r\n    contains: 'Indeholder',\r\n    notContains: 'Indeholder ikke',\r\n    startsWith: 'Starter med',\r\n    endsWith: 'Slutter med',\r\n\r\n    // Date Filter\r\n    dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n    // Filter Conditions\r\n    andCondition: 'OG',\r\n    orCondition: 'ELLER',\r\n\r\n    // Filter Buttons\r\n    applyFilter: 'Tilføj',\r\n    resetFilter: 'Nulstil',\r\n    clearFilter: 'Ryd',\r\n    cancelFilter: 'Fortryd',\r\n\r\n    // Filter Titles\r\n    textFilter: 'Tekst Filter',\r\n    numberFilter: 'Nummer Filter',\r\n    dateFilter: 'Dato Filter',\r\n    setFilter: 'Sæt Filter',\r\n\r\n    // Side Bar\r\n    columns: 'Kolonner',\r\n    filters: 'Filtre',\r\n\r\n    // columns tool panel\r\n    pivotMode: 'Pivot tilstand',\r\n    groups: 'Rækkegrupper',\r\n    rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n    values: 'Værdier',\r\n    valueColumnsEmptyMessage: 'Træk her for at samle',\r\n    pivots: 'Kolonne labels',\r\n    pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n    // Header of the Default Group Column\r\n    group: 'Gruppe',\r\n\r\n    // Other\r\n    loadingOoo: 'Henter, vent venligst...',\r\n    noRowsToShow: 'Ingen rækker at vise',\r\n    enabled: 'Aktiveret',\r\n\r\n    // Menu\r\n    pinColumn: 'Fastgør kolonne',\r\n    pinLeft: 'Fastgør til venstre',\r\n    pinRight: 'Fastgør til højre',\r\n    noPin: 'Fastgør ikke',\r\n    valueAggregation: 'Værdiaggregering',\r\n    autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n    autosizeAllColumns: 'Autotilpas alle kolonner',\r\n    groupBy: 'Gruppér efter',\r\n    ungroupBy: 'Afgruppér efter',\r\n    resetColumns: 'Nulstil kolonner',\r\n    expandAll: 'Udvid alle',\r\n    collapseAll: 'Luk alle',\r\n    copy: 'Kopier',\r\n    ctrlC: 'Ctrl+C',\r\n    copyWithHeaders: 'Kopier med overskrift',\r\n    paste: 'Sæt ind',\r\n    ctrlV: 'Ctrl+V',\r\n    export: 'Eksporter',\r\n    csvExport: 'CSV Eksport',\r\n    excelExport: 'Excel Eksport (.xlsx)',\r\n    excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n    // Enterprise Menu Aggregation and Status Bar\r\n    sum: 'Sum',\r\n    min: 'Min',\r\n    max: 'Max',\r\n    none: 'Ingen',\r\n    count: 'Tæl',\r\n    avg: 'Gennemsnit',\r\n    filteredRows: 'Filtreret',\r\n    selectedRows: 'Valgt',\r\n    totalRows: 'Total Rækker',\r\n    totalAndFilteredRows: 'Rækker',\r\n    more: 'Mere',\r\n    to: 'til',\r\n    of: 'af',\r\n    page: 'Side',\r\n    nextPage: 'Næste side',\r\n    lastPage: 'Sidste side',\r\n    firstPage: 'Første side',\r\n    previousPage: 'Foregående side',\r\n\r\n    // Enterprise Menu (Charts)\r\n    pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n    pivotChart: 'Pivot Chart',\r\n    chartRange: 'Chart Range',\r\n\r\n    columnChart: 'Kolonne',\r\n    groupedColumn: 'Grupperet',\r\n    stackedColumn: 'Samlet',\r\n    normalizedColumn: '100% Samlet',\r\n\r\n    barChart: 'Bar',\r\n    groupedBar: 'Grupperet',\r\n    stackedBar: 'Samlet',\r\n    normalizedBar: '100% Samlet',\r\n\r\n    pieChart: 'Pie',\r\n    pie: 'Pie',\r\n    doughnut: 'Doughnut',\r\n\r\n    line: 'Line',\r\n\r\n    xyChart: 'X Y (Scatter)',\r\n    scatter: 'Scatter',\r\n    bubble: 'Bubble',\r\n\r\n    areaChart: 'Area',\r\n    area: 'Area',\r\n    stackedArea: 'Stacked',\r\n    normalizedArea: '100% Stacked',\r\n\r\n    histogramChart: 'Histogram',\r\n\r\n    // Charts\r\n    pivotChartTitle: 'Pivot-diagram',\r\n    rangeChartTitle: 'Rækkevidde',\r\n    settings: 'Indstillinger',\r\n    data: 'Data',\r\n    format: 'Format',\r\n    categories: 'Kategorier',\r\n    defaultCategory: '(Ingen)',\r\n    series: 'Serier',\r\n    xyValues: 'X Y Værdier',\r\n    paired: 'Samlet Mode',\r\n    axis: 'Akse',\r\n    navigator: 'Navigator',\r\n    color: 'Farve',\r\n    thickness: 'Tykkelse',\r\n    xType: 'X Type',\r\n    automatic: 'Automatisk',\r\n    category: 'Kategori',\r\n    number: 'Nummer',\r\n    time: 'Tid',\r\n    xRotation: 'X Rotation',\r\n    yRotation: 'Y Rotation',\r\n    ticks: 'Ticks',\r\n    width: 'Bredde',\r\n    height: 'Højde',\r\n    length: 'Længde',\r\n    padding: 'Padding',\r\n    spacing: 'Mellemrum',\r\n    chart: 'Diagram',\r\n    title: 'Titel',\r\n    titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n    background: 'Baggrund',\r\n    font: 'Font',\r\n    top: 'Top',\r\n    right: 'Højre',\r\n    bottom: 'Bund',\r\n    left: 'Venstre',\r\n    labels: 'Labels',\r\n    size: 'Størrelse',\r\n    minSize: 'Minimum Størrelse',\r\n    maxSize: 'Maximum Størrelse',\r\n    legend: 'Legend',\r\n    position: 'Position',\r\n    markerSize: 'Marker Størrelse',\r\n    markerStroke: 'Marker Stroke',\r\n    markerPadding: 'Marker Padding',\r\n    itemSpacing: 'Item Spacing',\r\n    itemPaddingX: 'Item Padding X',\r\n    itemPaddingY: 'Item Padding Y',\r\n    layoutHorizontalSpacing: 'Horizontal Spacing',\r\n    layoutVerticalSpacing: 'Vertical Spacing',\r\n    strokeWidth: 'Stroke Width',\r\n    offset: 'Offset',\r\n    offsets: 'Offsets',\r\n    tooltips: 'Tooltips',\r\n    callout: 'Callout',\r\n    markers: 'Markers',\r\n    shadow: 'Shadow',\r\n    blur: 'Blur',\r\n    xOffset: 'X Offset',\r\n    yOffset: 'Y Offset',\r\n    lineWidth: 'Line Width',\r\n    normal: 'Normal',\r\n    bold: 'Bold',\r\n    italic: 'Italic',\r\n    boldItalic: 'Bold Italic',\r\n    predefined: 'Predefined',\r\n    fillOpacity: 'Fill Opacity',\r\n    strokeOpacity: 'Line Opacity',\r\n    histogramBinCount: 'Bin count',\r\n    columnGroup: 'Column',\r\n    barGroup: 'Bar',\r\n    pieGroup: 'Pie',\r\n    lineGroup: 'Line',\r\n    scatterGroup: 'X Y (Scatter)',\r\n    areaGroup: 'Area',\r\n    histogramGroup: 'Histogram',\r\n    groupedColumnTooltip: 'Grouped',\r\n    stackedColumnTooltip: 'Stacked',\r\n    normalizedColumnTooltip: '100% Stacked',\r\n    groupedBarTooltip: 'Grouped',\r\n    stackedBarTooltip: 'Stacked',\r\n    normalizedBarTooltip: '100% Stacked',\r\n    pieTooltip: 'Pie',\r\n    doughnutTooltip: 'Doughnut',\r\n    lineTooltip: 'Line',\r\n    groupedAreaTooltip: 'Area',\r\n    stackedAreaTooltip: 'Stacked',\r\n    normalizedAreaTooltip: '100% Stacked',\r\n    scatterTooltip: 'Scatter',\r\n    bubbleTooltip: 'Bubble',\r\n    histogramTooltip: 'Histogram',\r\n    noDataToChart: 'No data available to be charted.',\r\n    pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n  }\r\n  'fo-FO' = {\r\n    // Set Filter\r\n    selectAll: '(Vælg alle)',\r\n    selectAllSearchResults: '(Vælg alle)',\r\n    searchOoo: 'Søg...',\r\n    blanks: '(Tom)',\r\n    noMatches: 'No matches',\r\n\r\n    // Number Filter & Text Filter\r\n    filterOoo: 'Filter...',\r\n    equals: 'Er ligemed',\r\n    notEqual: 'Ikke ligemed',\r\n    empty: 'ælg en',\r\n\r\n    // Number Filter\r\n    lessThan: 'Mindre end',\r\n    greaterThan: 'Større end',\r\n    lessThanOrEqual: 'Mindre eller ligemed',\r\n    greaterThanOrEqual: 'Større eller ligemed',\r\n    inRange: 'I range',\r\n    inRangeStart: 'til',\r\n    inRangeEnd: 'fra',\r\n\r\n    // Text Filter\r\n    contains: 'Indeholder',\r\n    notContains: 'Indeholder ikke',\r\n    startsWith: 'Starter med',\r\n    endsWith: 'Slutter med',\r\n\r\n    // Date Filter\r\n    dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n    // Filter Conditions\r\n    andCondition: 'OG',\r\n    orCondition: 'ELLER',\r\n\r\n    // Filter Buttons\r\n    applyFilter: 'Tilføj',\r\n    resetFilter: 'Nulstil',\r\n    clearFilter: 'Ryd',\r\n    cancelFilter: 'Fortryd',\r\n\r\n    // Filter Titles\r\n    textFilter: 'Tekst Filter',\r\n    numberFilter: 'Nummer Filter',\r\n    dateFilter: 'Dato Filter',\r\n    setFilter: 'Sæt Filter',\r\n\r\n    // Side Bar\r\n    columns: 'Kolonner',\r\n    filters: 'Filtre',\r\n\r\n    // columns tool panel\r\n    pivotMode: 'Pivot tilstand',\r\n    groups: 'Rækkegrupper',\r\n    rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n    values: 'Værdier',\r\n    valueColumnsEmptyMessage: 'Træk her for at samle',\r\n    pivots: 'Kolonne labels',\r\n    pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n    // Header of the Default Group Column\r\n    group: 'Gruppe',\r\n\r\n    // Other\r\n    loadingOoo: 'Henter, vent venligst...',\r\n    noRowsToShow: 'Ingen rækker at vise',\r\n    enabled: 'Aktiveret',\r\n\r\n    // Menu\r\n    pinColumn: 'Fastgør kolonne',\r\n    pinLeft: 'Fastgør til venstre',\r\n    pinRight: 'Fastgør til højre',\r\n    noPin: 'Fastgør ikke',\r\n    valueAggregation: 'Værdiaggregering',\r\n    autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n    autosizeAllColumns: 'Autotilpas alle kolonner',\r\n    groupBy: 'Gruppér efter',\r\n    ungroupBy: 'Afgruppér efter',\r\n    resetColumns: 'Nulstil kolonner',\r\n    expandAll: 'Udvid alle',\r\n    collapseAll: 'Luk alle',\r\n    copy: 'Kopier',\r\n    ctrlC: 'Ctrl+C',\r\n    copyWithHeaders: 'Kopier med overskrift',\r\n    paste: 'Sæt ind',\r\n    ctrlV: 'Ctrl+V',\r\n    export: 'Eksporter',\r\n    csvExport: 'CSV Eksport',\r\n    excelExport: 'Excel Eksport (.xlsx)',\r\n    excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n    // Enterprise Menu Aggregation and Status Bar\r\n    sum: 'Sum',\r\n    min: 'Min',\r\n    max: 'Max',\r\n    none: 'Ingen',\r\n    count: 'Tæl',\r\n    avg: 'Gennemsnit',\r\n    filteredRows: 'Filtreret',\r\n    selectedRows: 'Valgt',\r\n    totalRows: 'Total Rækker',\r\n    totalAndFilteredRows: 'Rækker',\r\n    more: 'Mere',\r\n    to: 'til',\r\n    of: 'af',\r\n    page: 'Side',\r\n    nextPage: 'Næste side',\r\n    lastPage: 'Sidste side',\r\n    firstPage: 'Første side',\r\n    previousPage: 'Foregående side',\r\n\r\n    // Enterprise Menu (Charts)\r\n    pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n    pivotChart: 'Pivot Chart',\r\n    chartRange: 'Chart Range',\r\n\r\n    columnChart: 'Kolonne',\r\n    groupedColumn: 'Grupperet',\r\n    stackedColumn: 'Samlet',\r\n    normalizedColumn: '100% Samlet',\r\n\r\n    barChart: 'Bar',\r\n    groupedBar: 'Grupperet',\r\n    stackedBar: 'Samlet',\r\n    normalizedBar: '100% Samlet',\r\n\r\n    pieChart: 'Pie',\r\n    pie: 'Pie',\r\n    doughnut: 'Doughnut',\r\n\r\n    line: 'Line',\r\n\r\n    xyChart: 'X Y (Scatter)',\r\n    scatter: 'Scatter',\r\n    bubble: 'Bubble',\r\n\r\n    areaChart: 'Area',\r\n    area: 'Area',\r\n    stackedArea: 'Stacked',\r\n    normalizedArea: '100% Stacked',\r\n\r\n    histogramChart: 'Histogram',\r\n\r\n    // Charts\r\n    pivotChartTitle: 'Pivot-diagram',\r\n    rangeChartTitle: 'Rækkevidde',\r\n    settings: 'Indstillinger',\r\n    data: 'Data',\r\n    format: 'Format',\r\n    categories: 'Kategorier',\r\n    defaultCategory: '(Ingen)',\r\n    series: 'Serier',\r\n    xyValues: 'X Y Værdier',\r\n    paired: 'Samlet Mode',\r\n    axis: 'Akse',\r\n    navigator: 'Navigator',\r\n    color: 'Farve',\r\n    thickness: 'Tykkelse',\r\n    xType: 'X Type',\r\n    automatic: 'Automatisk',\r\n    category: 'Kategori',\r\n    number: 'Nummer',\r\n    time: 'Tid',\r\n    xRotation: 'X Rotation',\r\n    yRotation: 'Y Rotation',\r\n    ticks: 'Ticks',\r\n    width: 'Bredde',\r\n    height: 'Højde',\r\n    length: 'Længde',\r\n    padding: 'Padding',\r\n    spacing: 'Mellemrum',\r\n    chart: 'Diagram',\r\n    title: 'Titel',\r\n    titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n    background: 'Baggrund',\r\n    font: 'Font',\r\n    top: 'Top',\r\n    right: 'Højre',\r\n    bottom: 'Bund',\r\n    left: 'Venstre',\r\n    labels: 'Labels',\r\n    size: 'Størrelse',\r\n    minSize: 'Minimum Størrelse',\r\n    maxSize: 'Maximum Størrelse',\r\n    legend: 'Legend',\r\n    position: 'Position',\r\n    markerSize: 'Marker Størrelse',\r\n    markerStroke: 'Marker Stroke',\r\n    markerPadding: 'Marker Padding',\r\n    itemSpacing: 'Item Spacing',\r\n    itemPaddingX: 'Item Padding X',\r\n    itemPaddingY: 'Item Padding Y',\r\n    layoutHorizontalSpacing: 'Horizontal Spacing',\r\n    layoutVerticalSpacing: 'Vertical Spacing',\r\n    strokeWidth: 'Stroke Width',\r\n    offset: 'Offset',\r\n    offsets: 'Offsets',\r\n    tooltips: 'Tooltips',\r\n    callout: 'Callout',\r\n    markers: 'Markers',\r\n    shadow: 'Shadow',\r\n    blur: 'Blur',\r\n    xOffset: 'X Offset',\r\n    yOffset: 'Y Offset',\r\n    lineWidth: 'Line Width',\r\n    normal: 'Normal',\r\n    bold: 'Bold',\r\n    italic: 'Italic',\r\n    boldItalic: 'Bold Italic',\r\n    predefined: 'Predefined',\r\n    fillOpacity: 'Fill Opacity',\r\n    strokeOpacity: 'Line Opacity',\r\n    histogramBinCount: 'Bin count',\r\n    columnGroup: 'Column',\r\n    barGroup: 'Bar',\r\n    pieGroup: 'Pie',\r\n    lineGroup: 'Line',\r\n    scatterGroup: 'X Y (Scatter)',\r\n    areaGroup: 'Area',\r\n    histogramGroup: 'Histogram',\r\n    groupedColumnTooltip: 'Grouped',\r\n    stackedColumnTooltip: 'Stacked',\r\n    normalizedColumnTooltip: '100% Stacked',\r\n    groupedBarTooltip: 'Grouped',\r\n    stackedBarTooltip: 'Stacked',\r\n    normalizedBarTooltip: '100% Stacked',\r\n    pieTooltip: 'Pie',\r\n    doughnutTooltip: 'Doughnut',\r\n    lineTooltip: 'Line',\r\n    groupedAreaTooltip: 'Area',\r\n    stackedAreaTooltip: 'Stacked',\r\n    normalizedAreaTooltip: '100% Stacked',\r\n    scatterTooltip: 'Scatter',\r\n    bubbleTooltip: 'Bubble',\r\n    histogramTooltip: 'Histogram',\r\n    noDataToChart: 'No data available to be charted.',\r\n    pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n  }\r\n  'sv-SE' = {\r\n    // Set Filter\r\n    selectAll: '(Välj alla)',\r\n    selectAllSearchResults: '(Välj alla)',\r\n    searchOoo: 'Sök...',\r\n    blanks: '(Tom)',\r\n    noMatches: 'No matches',\r\n\r\n    // Number Filter & Text Filter\r\n    filterOoo: 'Filter...',\r\n    equals: 'Är like med',\r\n    notEqual: 'Inte lika med',\r\n    empty: 'Välj en',\r\n\r\n    // Number Filter\r\n    lessThan: 'Mindre än',\r\n    greaterThan: 'Större än',\r\n    lessThanOrEqual: 'Mindre eller lika med',\r\n    greaterThanOrEqual: 'Större eller lika med',\r\n    inRange: 'I range',\r\n    inRangeStart: 'till',\r\n    inRangeEnd: 'från',\r\n\r\n    // Text Filter\r\n    contains: 'Innehåller',\r\n    notContains: 'Innehåller inte',\r\n    startsWith: 'Startar med',\r\n    endsWith: 'Slutar med',\r\n\r\n    // Date Filter\r\n    dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n    // Filter Conditions\r\n    andCondition: 'OCH',\r\n    orCondition: 'ELLER',\r\n\r\n    // Filter Buttons\r\n    applyFilter: 'Lägg till',\r\n    resetFilter: 'Nollställ',\r\n    clearFilter: 'Rensa',\r\n    cancelFilter: 'Ångra',\r\n\r\n    // Filter Titles\r\n    textFilter: 'Text Filter',\r\n    numberFilter: 'Nummer Filter',\r\n    dateFilter: 'Datum Filter',\r\n    setFilter: 'Set Filter',\r\n\r\n    // Side Bar\r\n    columns: 'Kolonner',\r\n    filters: 'Filtre',\r\n\r\n    // columns tool panel\r\n    pivotMode: 'Pivot tilstand',\r\n    groups: 'Rækkegrupper',\r\n    rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n    values: 'Værdier',\r\n    valueColumnsEmptyMessage: 'Træk her for at samle',\r\n    pivots: 'Kolonne labels',\r\n    pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n    // Header of the Default Group Column\r\n    group: 'Gruppe',\r\n\r\n    // Other\r\n    loadingOoo: 'Hämtar, vänligen vänta ett ögonblick...',\r\n    noRowsToShow: 'Inga rader att visa',\r\n    enabled: 'Aktiverad',\r\n\r\n    // Menu\r\n    pinColumn: 'Fastgør kolonne',\r\n    pinLeft: 'Fastgør til venstre',\r\n    pinRight: 'Fastgør til højre',\r\n    noPin: 'Fastgør ikke',\r\n    valueAggregation: 'Værdiaggregering',\r\n    autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n    autosizeAllColumns: 'Autotilpas alle kolonner',\r\n    groupBy: 'Gruppera efter',\r\n    ungroupBy: 'Afgruppér efter',\r\n    resetColumns: 'Nollställ kolumner',\r\n    expandAll: 'Udvid alle',\r\n    collapseAll: 'Stäng alla',\r\n    copy: 'Kopiera',\r\n    ctrlC: 'Ctrl+C',\r\n    copyWithHeaders: 'Kopiera med överskrift',\r\n    paste: 'Klista in',\r\n    ctrlV: 'Ctrl+V',\r\n    export: 'Eksporter',\r\n    csvExport: 'CSV Eksport',\r\n    excelExport: 'Excel Export (.xlsx)',\r\n    excelXmlExport: 'Excel Export (.xml)',\r\n\r\n    // Enterprise Menu Aggregation and Status Bar\r\n    sum: 'Sum',\r\n    min: 'Min',\r\n    max: 'Max',\r\n    none: 'Ingen',\r\n    count: 'Tæl',\r\n    avg: 'Gennemsnit',\r\n    filteredRows: 'Filtrerat',\r\n    selectedRows: 'Vald',\r\n    totalRows: 'Totala Rader',\r\n    totalAndFilteredRows: 'Rader',\r\n    more: 'Mer',\r\n    to: 'till',\r\n    of: 'av',\r\n    page: 'Sida',\r\n    nextPage: 'Näste sida',\r\n    lastPage: 'Sista sidan',\r\n    firstPage: 'Första sidan',\r\n    previousPage: 'Föregående sida',\r\n\r\n    // Enterprise Menu (Charts)\r\n    pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n    pivotChart: 'Pivot Chart',\r\n    chartRange: 'Chart Range',\r\n\r\n    columnChart: 'Kolonne',\r\n    groupedColumn: 'Grupperet',\r\n    stackedColumn: 'Samlet',\r\n    normalizedColumn: '100% Samlet',\r\n\r\n    barChart: 'Bar',\r\n    groupedBar: 'Grupperet',\r\n    stackedBar: 'Samlet',\r\n    normalizedBar: '100% Samlet',\r\n\r\n    pieChart: 'Pie',\r\n    pie: 'Pie',\r\n    doughnut: 'Doughnut',\r\n\r\n    line: 'Line',\r\n\r\n    xyChart: 'X Y (Scatter)',\r\n    scatter: 'Scatter',\r\n    bubble: 'Bubble',\r\n\r\n    areaChart: 'Area',\r\n    area: 'Area',\r\n    stackedArea: 'Stacked',\r\n    normalizedArea: '100% Stacked',\r\n\r\n    histogramChart: 'Histogram',\r\n\r\n    // Charts\r\n    pivotChartTitle: 'Pivot-diagram',\r\n    rangeChartTitle: 'Rækkevidde',\r\n    settings: 'Indstillinger',\r\n    data: 'Data',\r\n    format: 'Format',\r\n    categories: 'Kategorier',\r\n    defaultCategory: '(Ingen)',\r\n    series: 'Serier',\r\n    xyValues: 'X Y Værdier',\r\n    paired: 'Samlet Mode',\r\n    axis: 'Akse',\r\n    navigator: 'Navigator',\r\n    color: 'Farve',\r\n    thickness: 'Tykkelse',\r\n    xType: 'X Type',\r\n    automatic: 'Automatisk',\r\n    category: 'Kategori',\r\n    number: 'Nummer',\r\n    time: 'Tid',\r\n    xRotation: 'X Rotation',\r\n    yRotation: 'Y Rotation',\r\n    ticks: 'Ticks',\r\n    width: 'Bredde',\r\n    height: 'Højde',\r\n    length: 'Længde',\r\n    padding: 'Padding',\r\n    spacing: 'Mellemrum',\r\n    chart: 'Diagram',\r\n    title: 'Titel',\r\n    titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n    background: 'Baggrund',\r\n    font: 'Font',\r\n    top: 'Top',\r\n    right: 'Højre',\r\n    bottom: 'Bund',\r\n    left: 'Venstre',\r\n    labels: 'Labels',\r\n    size: 'Størrelse',\r\n    minSize: 'Minimum Størrelse',\r\n    maxSize: 'Maximum Størrelse',\r\n    legend: 'Legend',\r\n    position: 'Position',\r\n    markerSize: 'Marker Størrelse',\r\n    markerStroke: 'Marker Stroke',\r\n    markerPadding: 'Marker Padding',\r\n    itemSpacing: 'Item Spacing',\r\n    itemPaddingX: 'Item Padding X',\r\n    itemPaddingY: 'Item Padding Y',\r\n    layoutHorizontalSpacing: 'Horizontal Spacing',\r\n    layoutVerticalSpacing: 'Vertical Spacing',\r\n    strokeWidth: 'Stroke Width',\r\n    offset: 'Offset',\r\n    offsets: 'Offsets',\r\n    tooltips: 'Tooltips',\r\n    callout: 'Callout',\r\n    markers: 'Markers',\r\n    shadow: 'Shadow',\r\n    blur: 'Blur',\r\n    xOffset: 'X Offset',\r\n    yOffset: 'Y Offset',\r\n    lineWidth: 'Line Width',\r\n    normal: 'Normal',\r\n    bold: 'Bold',\r\n    italic: 'Italic',\r\n    boldItalic: 'Bold Italic',\r\n    predefined: 'Predefined',\r\n    fillOpacity: 'Fill Opacity',\r\n    strokeOpacity: 'Line Opacity',\r\n    histogramBinCount: 'Bin count',\r\n    columnGroup: 'Column',\r\n    barGroup: 'Bar',\r\n    pieGroup: 'Pie',\r\n    lineGroup: 'Line',\r\n    scatterGroup: 'X Y (Scatter)',\r\n    areaGroup: 'Area',\r\n    histogramGroup: 'Histogram',\r\n    groupedColumnTooltip: 'Grouped',\r\n    stackedColumnTooltip: 'Stacked',\r\n    normalizedColumnTooltip: '100% Stacked',\r\n    groupedBarTooltip: 'Grouped',\r\n    stackedBarTooltip: 'Stacked',\r\n    normalizedBarTooltip: '100% Stacked',\r\n    pieTooltip: 'Pie',\r\n    doughnutTooltip: 'Doughnut',\r\n    lineTooltip: 'Line',\r\n    groupedAreaTooltip: 'Area',\r\n    stackedAreaTooltip: 'Stacked',\r\n    normalizedAreaTooltip: '100% Stacked',\r\n    scatterTooltip: 'Scatter',\r\n    bubbleTooltip: 'Bubble',\r\n    histogramTooltip: 'Histogram',\r\n    noDataToChart: 'No data available to be charted.',\r\n    pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n  }\r\n  'en-US' = {\r\n    // Set Filter\r\n    selectAll: '(Vælg alle)',\r\n    selectAllSearchResults: '(Vælg alle)',\r\n    searchOoo: 'Search...',\r\n    blanks: '(Tom)',\r\n    noMatches: 'No matches',\r\n\r\n    // Number Filter & Text Filter\r\n    filterOoo: 'Filter...',\r\n    equals: 'Er ligemed',\r\n    notEqual: 'Ikke ligemed',\r\n    empty: 'ælg en',\r\n\r\n    // Number Filter\r\n    lessThan: 'Mindre end',\r\n    greaterThan: 'Større end',\r\n    lessThanOrEqual: 'Mindre eller ligemed',\r\n    greaterThanOrEqual: 'Større eller ligemed',\r\n    inRange: 'I range',\r\n    inRangeStart: 'til',\r\n    inRangeEnd: 'fra',\r\n\r\n    // Text Filter\r\n    contains: 'Indeholder',\r\n    notContains: 'Indeholder ikke',\r\n    startsWith: 'Starter med',\r\n    endsWith: 'Slutter med',\r\n\r\n    // Date Filter\r\n    dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n    // Filter Conditions\r\n    andCondition: 'OG',\r\n    orCondition: 'ELLER',\r\n\r\n    // Filter Buttons\r\n    applyFilter: 'Tilføj',\r\n    resetFilter: 'Nulstil',\r\n    clearFilter: 'Ryd',\r\n    cancelFilter: 'Fortryd',\r\n\r\n    // Filter Titles\r\n    textFilter: 'Tekst Filter',\r\n    numberFilter: 'Nummer Filter',\r\n    dateFilter: 'Dato Filter',\r\n    setFilter: 'Sæt Filter',\r\n\r\n    // Side Bar\r\n    columns: 'Kolonner',\r\n    filters: 'Filtre',\r\n\r\n    // columns tool panel\r\n    pivotMode: 'Pivot tilstand',\r\n    groups: 'Rækkegrupper',\r\n    rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n    values: 'Værdier',\r\n    valueColumnsEmptyMessage: 'Træk her for at samle',\r\n    pivots: 'Kolonne labels',\r\n    pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n    // Header of the Default Group Column\r\n    group: 'Gruppe',\r\n\r\n    // Other\r\n    loadingOoo: 'Henter, vent venligst...',\r\n    noRowsToShow: 'Ingen rækker at vise',\r\n    enabled: 'Aktiveret',\r\n\r\n    // Menu\r\n    pinColumn: 'Fastgør kolonne',\r\n    pinLeft: 'Fastgør til venstre',\r\n    pinRight: 'Fastgør til højre',\r\n    noPin: 'Fastgør ikke',\r\n    valueAggregation: 'Værdiaggregering',\r\n    autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n    autosizeAllColumns: 'Autotilpas alle kolonner',\r\n    groupBy: 'Gruppér efter',\r\n    ungroupBy: 'Afgruppér efter',\r\n    resetColumns: 'Nulstil kolonner',\r\n    expandAll: 'Udvid alle',\r\n    collapseAll: 'Luk alle',\r\n    copy: 'Kopier',\r\n    ctrlC: 'Ctrl+C',\r\n    copyWithHeaders: 'Kopier med overskrift',\r\n    paste: 'Sæt ind',\r\n    ctrlV: 'Ctrl+V',\r\n    export: 'Eksporter',\r\n    csvExport: 'CSV Eksport',\r\n    excelExport: 'Excel Eksport (.xlsx)',\r\n    excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n    // Enterprise Menu Aggregation and Status Bar\r\n    sum: 'Sum',\r\n    min: 'Min',\r\n    max: 'Max',\r\n    none: 'Ingen',\r\n    count: 'Tæl',\r\n    avg: 'Gennemsnit',\r\n    filteredRows: 'Filtreret',\r\n    selectedRows: 'Valgt',\r\n    totalRows: 'Total Rækker',\r\n    totalAndFilteredRows: 'Rækker',\r\n    more: 'Mere',\r\n    to: 'til',\r\n    of: 'af',\r\n    page: 'Side',\r\n    nextPage: 'Næste side',\r\n    lastPage: 'Sidste side',\r\n    firstPage: 'Første side',\r\n    previousPage: 'Foregående side',\r\n\r\n    // Enterprise Menu (Charts)\r\n    pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n    pivotChart: 'Pivot Chart',\r\n    chartRange: 'Chart Range',\r\n\r\n    columnChart: 'Kolonne',\r\n    groupedColumn: 'Grupperet',\r\n    stackedColumn: 'Samlet',\r\n    normalizedColumn: '100% Samlet',\r\n\r\n    barChart: 'Bar',\r\n    groupedBar: 'Grupperet',\r\n    stackedBar: 'Samlet',\r\n    normalizedBar: '100% Samlet',\r\n\r\n    pieChart: 'Pie',\r\n    pie: 'Pie',\r\n    doughnut: 'Doughnut',\r\n\r\n    line: 'Line',\r\n\r\n    xyChart: 'X Y (Scatter)',\r\n    scatter: 'Scatter',\r\n    bubble: 'Bubble',\r\n\r\n    areaChart: 'Area',\r\n    area: 'Area',\r\n    stackedArea: 'Stacked',\r\n    normalizedArea: '100% Stacked',\r\n\r\n    histogramChart: 'Histogram',\r\n\r\n    // Charts\r\n    pivotChartTitle: 'Pivot-diagram',\r\n    rangeChartTitle: 'Rækkevidde',\r\n    settings: 'Indstillinger',\r\n    data: 'Data',\r\n    format: 'Format',\r\n    categories: 'Kategorier',\r\n    defaultCategory: '(Ingen)',\r\n    series: 'Serier',\r\n    xyValues: 'X Y Værdier',\r\n    paired: 'Samlet Mode',\r\n    axis: 'Akse',\r\n    navigator: 'Navigator',\r\n    color: 'Farve',\r\n    thickness: 'Tykkelse',\r\n    xType: 'X Type',\r\n    automatic: 'Automatisk',\r\n    category: 'Kategori',\r\n    number: 'Nummer',\r\n    time: 'Tid',\r\n    xRotation: 'X Rotation',\r\n    yRotation: 'Y Rotation',\r\n    ticks: 'Ticks',\r\n    width: 'Bredde',\r\n    height: 'Højde',\r\n    length: 'Længde',\r\n    padding: 'Padding',\r\n    spacing: 'Mellemrum',\r\n    chart: 'Diagram',\r\n    title: 'Titel',\r\n    titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n    background: 'Baggrund',\r\n    font: 'Font',\r\n    top: 'Top',\r\n    right: 'Højre',\r\n    bottom: 'Bund',\r\n    left: 'Venstre',\r\n    labels: 'Labels',\r\n    size: 'Størrelse',\r\n    minSize: 'Minimum Størrelse',\r\n    maxSize: 'Maximum Størrelse',\r\n    legend: 'Legend',\r\n    position: 'Position',\r\n    markerSize: 'Marker Størrelse',\r\n    markerStroke: 'Marker Stroke',\r\n    markerPadding: 'Marker Padding',\r\n    itemSpacing: 'Item Spacing',\r\n    itemPaddingX: 'Item Padding X',\r\n    itemPaddingY: 'Item Padding Y',\r\n    layoutHorizontalSpacing: 'Horizontal Spacing',\r\n    layoutVerticalSpacing: 'Vertical Spacing',\r\n    strokeWidth: 'Stroke Width',\r\n    offset: 'Offset',\r\n    offsets: 'Offsets',\r\n    tooltips: 'Tooltips',\r\n    callout: 'Callout',\r\n    markers: 'Markers',\r\n    shadow: 'Shadow',\r\n    blur: 'Blur',\r\n    xOffset: 'X Offset',\r\n    yOffset: 'Y Offset',\r\n    lineWidth: 'Line Width',\r\n    normal: 'Normal',\r\n    bold: 'Bold',\r\n    italic: 'Italic',\r\n    boldItalic: 'Bold Italic',\r\n    predefined: 'Predefined',\r\n    fillOpacity: 'Fill Opacity',\r\n    strokeOpacity: 'Line Opacity',\r\n    histogramBinCount: 'Bin count',\r\n    columnGroup: 'Column',\r\n    barGroup: 'Bar',\r\n    pieGroup: 'Pie',\r\n    lineGroup: 'Line',\r\n    scatterGroup: 'X Y (Scatter)',\r\n    areaGroup: 'Area',\r\n    histogramGroup: 'Histogram',\r\n    groupedColumnTooltip: 'Grouped',\r\n    stackedColumnTooltip: 'Stacked',\r\n    normalizedColumnTooltip: '100% Stacked',\r\n    groupedBarTooltip: 'Grouped',\r\n    stackedBarTooltip: 'Stacked',\r\n    normalizedBarTooltip: '100% Stacked',\r\n    pieTooltip: 'Pie',\r\n    doughnutTooltip: 'Doughnut',\r\n    lineTooltip: 'Line',\r\n    groupedAreaTooltip: 'Area',\r\n    stackedAreaTooltip: 'Stacked',\r\n    normalizedAreaTooltip: '100% Stacked',\r\n    scatterTooltip: 'Scatter',\r\n    bubbleTooltip: 'Bubble',\r\n    histogramTooltip: 'Histogram',\r\n    noDataToChart: 'No data available to be charted.',\r\n    pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n  }\r\n  'de-DE' = {\r\n    // Set Filter\r\n    selectAll: '(Vælg alle)',\r\n    selectAllSearchResults: '(Vælg alle)',\r\n    searchOoo: 'Search...',\r\n    blanks: '(Tom)',\r\n    noMatches: 'No matches',\r\n\r\n    // Number Filter & Text Filter\r\n    filterOoo: 'Filter...',\r\n    equals: 'Er ligemed',\r\n    notEqual: 'Ikke ligemed',\r\n    empty: 'ælg en',\r\n\r\n    // Number Filter\r\n    lessThan: 'Mindre end',\r\n    greaterThan: 'Større end',\r\n    lessThanOrEqual: 'Mindre eller ligemed',\r\n    greaterThanOrEqual: 'Større eller ligemed',\r\n    inRange: 'I range',\r\n    inRangeStart: 'til',\r\n    inRangeEnd: 'fra',\r\n\r\n    // Text Filter\r\n    contains: 'Indeholder',\r\n    notContains: 'Indeholder ikke',\r\n    startsWith: 'Starter med',\r\n    endsWith: 'Slutter med',\r\n\r\n    // Date Filter\r\n    dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n    // Filter Conditions\r\n    andCondition: 'OG',\r\n    orCondition: 'ELLER',\r\n\r\n    // Filter Buttons\r\n    applyFilter: 'Tilføj',\r\n    resetFilter: 'Nulstil',\r\n    clearFilter: 'Ryd',\r\n    cancelFilter: 'Fortryd',\r\n\r\n    // Filter Titles\r\n    textFilter: 'Tekst Filter',\r\n    numberFilter: 'Nummer Filter',\r\n    dateFilter: 'Dato Filter',\r\n    setFilter: 'Sæt Filter',\r\n\r\n    // Side Bar\r\n    columns: 'Kolonner',\r\n    filters: 'Filtre',\r\n\r\n    // columns tool panel\r\n    pivotMode: 'Pivot tilstand',\r\n    groups: 'Rækkegrupper',\r\n    rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n    values: 'Værdier',\r\n    valueColumnsEmptyMessage: 'Træk her for at samle',\r\n    pivots: 'Kolonne labels',\r\n    pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n    // Header of the Default Group Column\r\n    group: 'Gruppe',\r\n\r\n    // Other\r\n    loadingOoo: 'Henter, vent venligst...',\r\n    noRowsToShow: 'Ingen rækker at vise',\r\n    enabled: 'Aktiveret',\r\n\r\n    // Menu\r\n    pinColumn: 'Fastgør kolonne',\r\n    pinLeft: 'Fastgør til venstre',\r\n    pinRight: 'Fastgør til højre',\r\n    noPin: 'Fastgør ikke',\r\n    valueAggregation: 'Værdiaggregering',\r\n    autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n    autosizeAllColumns: 'Autotilpas alle kolonner',\r\n    groupBy: 'Gruppér efter',\r\n    ungroupBy: 'Afgruppér efter',\r\n    resetColumns: 'Nulstil kolonner',\r\n    expandAll: 'Udvid alle',\r\n    collapseAll: 'Luk alle',\r\n    copy: 'Kopier',\r\n    ctrlC: 'Ctrl+C',\r\n    copyWithHeaders: 'Kopier med overskrift',\r\n    paste: 'Sæt ind',\r\n    ctrlV: 'Ctrl+V',\r\n    export: 'Eksporter',\r\n    csvExport: 'CSV Eksport',\r\n    excelExport: 'Excel Eksport (.xlsx)',\r\n    excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n    // Enterprise Menu Aggregation and Status Bar\r\n    sum: 'Sum',\r\n    min: 'Min',\r\n    max: 'Max',\r\n    none: 'Ingen',\r\n    count: 'Tæl',\r\n    avg: 'Gennemsnit',\r\n    filteredRows: 'Filtreret',\r\n    selectedRows: 'Valgt',\r\n    totalRows: 'Total Rækker',\r\n    totalAndFilteredRows: 'Rækker',\r\n    more: 'Mere',\r\n    to: 'til',\r\n    of: 'af',\r\n    page: 'Side',\r\n    nextPage: 'Næste side',\r\n    lastPage: 'Sidste side',\r\n    firstPage: 'Første side',\r\n    previousPage: 'Foregående side',\r\n\r\n    // Enterprise Menu (Charts)\r\n    pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n    pivotChart: 'Pivot Chart',\r\n    chartRange: 'Chart Range',\r\n\r\n    columnChart: 'Kolonne',\r\n    groupedColumn: 'Grupperet',\r\n    stackedColumn: 'Samlet',\r\n    normalizedColumn: '100% Samlet',\r\n\r\n    barChart: 'Bar',\r\n    groupedBar: 'Grupperet',\r\n    stackedBar: 'Samlet',\r\n    normalizedBar: '100% Samlet',\r\n\r\n    pieChart: 'Pie',\r\n    pie: 'Pie',\r\n    doughnut: 'Doughnut',\r\n\r\n    line: 'Line',\r\n\r\n    xyChart: 'X Y (Scatter)',\r\n    scatter: 'Scatter',\r\n    bubble: 'Bubble',\r\n\r\n    areaChart: 'Area',\r\n    area: 'Area',\r\n    stackedArea: 'Stacked',\r\n    normalizedArea: '100% Stacked',\r\n\r\n    histogramChart: 'Histogram',\r\n\r\n    // Charts\r\n    pivotChartTitle: 'Pivot-diagram',\r\n    rangeChartTitle: 'Rækkevidde',\r\n    settings: 'Indstillinger',\r\n    data: 'Data',\r\n    format: 'Format',\r\n    categories: 'Kategorier',\r\n    defaultCategory: '(Ingen)',\r\n    series: 'Serier',\r\n    xyValues: 'X Y Værdier',\r\n    paired: 'Samlet Mode',\r\n    axis: 'Akse',\r\n    navigator: 'Navigator',\r\n    color: 'Farve',\r\n    thickness: 'Tykkelse',\r\n    xType: 'X Type',\r\n    automatic: 'Automatisk',\r\n    category: 'Kategori',\r\n    number: 'Nummer',\r\n    time: 'Tid',\r\n    xRotation: 'X Rotation',\r\n    yRotation: 'Y Rotation',\r\n    ticks: 'Ticks',\r\n    width: 'Bredde',\r\n    height: 'Højde',\r\n    length: 'Længde',\r\n    padding: 'Padding',\r\n    spacing: 'Mellemrum',\r\n    chart: 'Diagram',\r\n    title: 'Titel',\r\n    titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n    background: 'Baggrund',\r\n    font: 'Font',\r\n    top: 'Top',\r\n    right: 'Højre',\r\n    bottom: 'Bund',\r\n    left: 'Venstre',\r\n    labels: 'Labels',\r\n    size: 'Størrelse',\r\n    minSize: 'Minimum Størrelse',\r\n    maxSize: 'Maximum Størrelse',\r\n    legend: 'Legend',\r\n    position: 'Position',\r\n    markerSize: 'Marker Størrelse',\r\n    markerStroke: 'Marker Stroke',\r\n    markerPadding: 'Marker Padding',\r\n    itemSpacing: 'Item Spacing',\r\n    itemPaddingX: 'Item Padding X',\r\n    itemPaddingY: 'Item Padding Y',\r\n    layoutHorizontalSpacing: 'Horizontal Spacing',\r\n    layoutVerticalSpacing: 'Vertical Spacing',\r\n    strokeWidth: 'Stroke Width',\r\n    offset: 'Offset',\r\n    offsets: 'Offsets',\r\n    tooltips: 'Tooltips',\r\n    callout: 'Callout',\r\n    markers: 'Markers',\r\n    shadow: 'Shadow',\r\n    blur: 'Blur',\r\n    xOffset: 'X Offset',\r\n    yOffset: 'Y Offset',\r\n    lineWidth: 'Line Width',\r\n    normal: 'Normal',\r\n    bold: 'Bold',\r\n    italic: 'Italic',\r\n    boldItalic: 'Bold Italic',\r\n    predefined: 'Predefined',\r\n    fillOpacity: 'Fill Opacity',\r\n    strokeOpacity: 'Line Opacity',\r\n    histogramBinCount: 'Bin count',\r\n    columnGroup: 'Column',\r\n    barGroup: 'Bar',\r\n    pieGroup: 'Pie',\r\n    lineGroup: 'Line',\r\n    scatterGroup: 'X Y (Scatter)',\r\n    areaGroup: 'Area',\r\n    histogramGroup: 'Histogram',\r\n    groupedColumnTooltip: 'Grouped',\r\n    stackedColumnTooltip: 'Stacked',\r\n    normalizedColumnTooltip: '100% Stacked',\r\n    groupedBarTooltip: 'Grouped',\r\n    stackedBarTooltip: 'Stacked',\r\n    normalizedBarTooltip: '100% Stacked',\r\n    pieTooltip: 'Pie',\r\n    doughnutTooltip: 'Doughnut',\r\n    lineTooltip: 'Line',\r\n    groupedAreaTooltip: 'Area',\r\n    stackedAreaTooltip: 'Stacked',\r\n    normalizedAreaTooltip: '100% Stacked',\r\n    scatterTooltip: 'Scatter',\r\n    bubbleTooltip: 'Bubble',\r\n    histogramTooltip: 'Histogram',\r\n    noDataToChart: 'No data available to be charted.',\r\n    pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n  }\r\n  'nn-NO' = {\r\n    // Set Filter\r\n    selectAll: '(Vælg alle)',\r\n    selectAllSearchResults: '(Vælg alle)',\r\n    searchOoo: 'Search...',\r\n    blanks: '(Tom)',\r\n    noMatches: 'No matches',\r\n\r\n    // Number Filter & Text Filter\r\n    filterOoo: 'Filter...',\r\n    equals: 'Er ligemed',\r\n    notEqual: 'Ikke ligemed',\r\n    empty: 'ælg en',\r\n\r\n    // Number Filter\r\n    lessThan: 'Mindre end',\r\n    greaterThan: 'Større end',\r\n    lessThanOrEqual: 'Mindre eller ligemed',\r\n    greaterThanOrEqual: 'Større eller ligemed',\r\n    inRange: 'I range',\r\n    inRangeStart: 'til',\r\n    inRangeEnd: 'fra',\r\n\r\n    // Text Filter\r\n    contains: 'Indeholder',\r\n    notContains: 'Indeholder ikke',\r\n    startsWith: 'Starter med',\r\n    endsWith: 'Slutter med',\r\n\r\n    // Date Filter\r\n    dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n    // Filter Conditions\r\n    andCondition: 'OG',\r\n    orCondition: 'ELLER',\r\n\r\n    // Filter Buttons\r\n    applyFilter: 'Tilføj',\r\n    resetFilter: 'Nulstil',\r\n    clearFilter: 'Ryd',\r\n    cancelFilter: 'Fortryd',\r\n\r\n    // Filter Titles\r\n    textFilter: 'Tekst Filter',\r\n    numberFilter: 'Nummer Filter',\r\n    dateFilter: 'Dato Filter',\r\n    setFilter: 'Sæt Filter',\r\n\r\n    // Side Bar\r\n    columns: 'Kolonner',\r\n    filters: 'Filtre',\r\n\r\n    // columns tool panel\r\n    pivotMode: 'Pivot tilstand',\r\n    groups: 'Rækkegrupper',\r\n    rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n    values: 'Værdier',\r\n    valueColumnsEmptyMessage: 'Træk her for at samle',\r\n    pivots: 'Kolonne labels',\r\n    pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n    // Header of the Default Group Column\r\n    group: 'Gruppe',\r\n\r\n    // Other\r\n    loadingOoo: 'Henter, vent venligst...',\r\n    noRowsToShow: 'Ingen rækker at vise',\r\n    enabled: 'Aktiveret',\r\n\r\n    // Menu\r\n    pinColumn: 'Fastgør kolonne',\r\n    pinLeft: 'Fastgør til venstre',\r\n    pinRight: 'Fastgør til højre',\r\n    noPin: 'Fastgør ikke',\r\n    valueAggregation: 'Værdiaggregering',\r\n    autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n    autosizeAllColumns: 'Autotilpas alle kolonner',\r\n    groupBy: 'Gruppér efter',\r\n    ungroupBy: 'Afgruppér efter',\r\n    resetColumns: 'Nulstil kolonner',\r\n    expandAll: 'Udvid alle',\r\n    collapseAll: 'Luk alle',\r\n    copy: 'Kopier',\r\n    ctrlC: 'Ctrl+C',\r\n    copyWithHeaders: 'Kopier med overskrift',\r\n    paste: 'Sæt ind',\r\n    ctrlV: 'Ctrl+V',\r\n    export: 'Eksporter',\r\n    csvExport: 'CSV Eksport',\r\n    excelExport: 'Excel Eksport (.xlsx)',\r\n    excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n    // Enterprise Menu Aggregation and Status Bar\r\n    sum: 'Sum',\r\n    min: 'Min',\r\n    max: 'Max',\r\n    none: 'Ingen',\r\n    count: 'Tæl',\r\n    avg: 'Gennemsnit',\r\n    filteredRows: 'Filtreret',\r\n    selectedRows: 'Valgt',\r\n    totalRows: 'Total Rækker',\r\n    totalAndFilteredRows: 'Rækker',\r\n    more: 'Mere',\r\n    to: 'til',\r\n    of: 'af',\r\n    page: 'Side',\r\n    nextPage: 'Næste side',\r\n    lastPage: 'Sidste side',\r\n    firstPage: 'Første side',\r\n    previousPage: 'Foregående side',\r\n\r\n    // Enterprise Menu (Charts)\r\n    pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n    pivotChart: 'Pivot Chart',\r\n    chartRange: 'Chart Range',\r\n\r\n    columnChart: 'Kolonne',\r\n    groupedColumn: 'Grupperet',\r\n    stackedColumn: 'Samlet',\r\n    normalizedColumn: '100% Samlet',\r\n\r\n    barChart: 'Bar',\r\n    groupedBar: 'Grupperet',\r\n    stackedBar: 'Samlet',\r\n    normalizedBar: '100% Samlet',\r\n\r\n    pieChart: 'Pie',\r\n    pie: 'Pie',\r\n    doughnut: 'Doughnut',\r\n\r\n    line: 'Line',\r\n\r\n    xyChart: 'X Y (Scatter)',\r\n    scatter: 'Scatter',\r\n    bubble: 'Bubble',\r\n\r\n    areaChart: 'Area',\r\n    area: 'Area',\r\n    stackedArea: 'Stacked',\r\n    normalizedArea: '100% Stacked',\r\n\r\n    histogramChart: 'Histogram',\r\n\r\n    // Charts\r\n    pivotChartTitle: 'Pivot-diagram',\r\n    rangeChartTitle: 'Rækkevidde',\r\n    settings: 'Indstillinger',\r\n    data: 'Data',\r\n    format: 'Format',\r\n    categories: 'Kategorier',\r\n    defaultCategory: '(Ingen)',\r\n    series: 'Serier',\r\n    xyValues: 'X Y Værdier',\r\n    paired: 'Samlet Mode',\r\n    axis: 'Akse',\r\n    navigator: 'Navigator',\r\n    color: 'Farve',\r\n    thickness: 'Tykkelse',\r\n    xType: 'X Type',\r\n    automatic: 'Automatisk',\r\n    category: 'Kategori',\r\n    number: 'Nummer',\r\n    time: 'Tid',\r\n    xRotation: 'X Rotation',\r\n    yRotation: 'Y Rotation',\r\n    ticks: 'Ticks',\r\n    width: 'Bredde',\r\n    height: 'Højde',\r\n    length: 'Længde',\r\n    padding: 'Padding',\r\n    spacing: 'Mellemrum',\r\n    chart: 'Diagram',\r\n    title: 'Titel',\r\n    titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n    background: 'Baggrund',\r\n    font: 'Font',\r\n    top: 'Top',\r\n    right: 'Højre',\r\n    bottom: 'Bund',\r\n    left: 'Venstre',\r\n    labels: 'Labels',\r\n    size: 'Størrelse',\r\n    minSize: 'Minimum Størrelse',\r\n    maxSize: 'Maximum Størrelse',\r\n    legend: 'Legend',\r\n    position: 'Position',\r\n    markerSize: 'Marker Størrelse',\r\n    markerStroke: 'Marker Stroke',\r\n    markerPadding: 'Marker Padding',\r\n    itemSpacing: 'Item Spacing',\r\n    itemPaddingX: 'Item Padding X',\r\n    itemPaddingY: 'Item Padding Y',\r\n    layoutHorizontalSpacing: 'Horizontal Spacing',\r\n    layoutVerticalSpacing: 'Vertical Spacing',\r\n    strokeWidth: 'Stroke Width',\r\n    offset: 'Offset',\r\n    offsets: 'Offsets',\r\n    tooltips: 'Tooltips',\r\n    callout: 'Callout',\r\n    markers: 'Markers',\r\n    shadow: 'Shadow',\r\n    blur: 'Blur',\r\n    xOffset: 'X Offset',\r\n    yOffset: 'Y Offset',\r\n    lineWidth: 'Line Width',\r\n    normal: 'Normal',\r\n    bold: 'Bold',\r\n    italic: 'Italic',\r\n    boldItalic: 'Bold Italic',\r\n    predefined: 'Predefined',\r\n    fillOpacity: 'Fill Opacity',\r\n    strokeOpacity: 'Line Opacity',\r\n    histogramBinCount: 'Bin count',\r\n    columnGroup: 'Column',\r\n    barGroup: 'Bar',\r\n    pieGroup: 'Pie',\r\n    lineGroup: 'Line',\r\n    scatterGroup: 'X Y (Scatter)',\r\n    areaGroup: 'Area',\r\n    histogramGroup: 'Histogram',\r\n    groupedColumnTooltip: 'Grouped',\r\n    stackedColumnTooltip: 'Stacked',\r\n    normalizedColumnTooltip: '100% Stacked',\r\n    groupedBarTooltip: 'Grouped',\r\n    stackedBarTooltip: 'Stacked',\r\n    normalizedBarTooltip: '100% Stacked',\r\n    pieTooltip: 'Pie',\r\n    doughnutTooltip: 'Doughnut',\r\n    lineTooltip: 'Line',\r\n    groupedAreaTooltip: 'Area',\r\n    stackedAreaTooltip: 'Stacked',\r\n    normalizedAreaTooltip: '100% Stacked',\r\n    scatterTooltip: 'Scatter',\r\n    bubbleTooltip: 'Bubble',\r\n    histogramTooltip: 'Histogram',\r\n    noDataToChart: 'No data available to be charted.',\r\n    pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n  }\r\n  'es-ES' = {\r\n    // Set Filter\r\n    selectAll: '(Vælg alle)',\r\n    selectAllSearchResults: '(Vælg alle)',\r\n    searchOoo: 'Search...',\r\n    blanks: '(Tom)',\r\n    noMatches: 'No matches',\r\n\r\n    // Number Filter & Text Filter\r\n    filterOoo: 'Filter...',\r\n    equals: 'Er ligemed',\r\n    notEqual: 'Ikke ligemed',\r\n    empty: 'ælg en',\r\n\r\n    // Number Filter\r\n    lessThan: 'Mindre end',\r\n    greaterThan: 'Større end',\r\n    lessThanOrEqual: 'Mindre eller ligemed',\r\n    greaterThanOrEqual: 'Større eller ligemed',\r\n    inRange: 'I range',\r\n    inRangeStart: 'til',\r\n    inRangeEnd: 'fra',\r\n\r\n    // Text Filter\r\n    contains: 'Indeholder',\r\n    notContains: 'Indeholder ikke',\r\n    startsWith: 'Starter med',\r\n    endsWith: 'Slutter med',\r\n\r\n    // Date Filter\r\n    dateFormatOoo: 'yyyy-mm-dd',\r\n\r\n    // Filter Conditions\r\n    andCondition: 'OG',\r\n    orCondition: 'ELLER',\r\n\r\n    // Filter Buttons\r\n    applyFilter: 'Tilføj',\r\n    resetFilter: 'Nulstil',\r\n    clearFilter: 'Ryd',\r\n    cancelFilter: 'Fortryd',\r\n\r\n    // Filter Titles\r\n    textFilter: 'Tekst Filter',\r\n    numberFilter: 'Nummer Filter',\r\n    dateFilter: 'Dato Filter',\r\n    setFilter: 'Sæt Filter',\r\n\r\n    // Side Bar\r\n    columns: 'Kolonner',\r\n    filters: 'Filtre',\r\n\r\n    // columns tool panel\r\n    pivotMode: 'Pivot tilstand',\r\n    groups: 'Rækkegrupper',\r\n    rowGroupColumnsEmptyMessage: 'Træk her for at sætte rækker',\r\n    values: 'Værdier',\r\n    valueColumnsEmptyMessage: 'Træk her for at samle',\r\n    pivots: 'Kolonne labels',\r\n    pivotColumnsEmptyMessage: 'Træk her for at sætte kolonner',\r\n\r\n    // Header of the Default Group Column\r\n    group: 'Gruppe',\r\n\r\n    // Other\r\n    loadingOoo: 'Henter, vent venligst...',\r\n    noRowsToShow: 'Ingen rækker at vise',\r\n    enabled: 'Aktiveret',\r\n\r\n    // Menu\r\n    pinColumn: 'Fastgør kolonne',\r\n    pinLeft: 'Fastgør til venstre',\r\n    pinRight: 'Fastgør til højre',\r\n    noPin: 'Fastgør ikke',\r\n    valueAggregation: 'Værdiaggregering',\r\n    autosizeThiscolumn: 'Autotilpas denne kolonne',\r\n    autosizeAllColumns: 'Autotilpas alle kolonner',\r\n    groupBy: 'Gruppér efter',\r\n    ungroupBy: 'Afgruppér efter',\r\n    resetColumns: 'Nulstil kolonner',\r\n    expandAll: 'Udvid alle',\r\n    collapseAll: 'Luk alle',\r\n    copy: 'Kopier',\r\n    ctrlC: 'Ctrl+C',\r\n    copyWithHeaders: 'Kopier med overskrift',\r\n    paste: 'Sæt ind',\r\n    ctrlV: 'Ctrl+V',\r\n    export: 'Eksporter',\r\n    csvExport: 'CSV Eksport',\r\n    excelExport: 'Excel Eksport (.xlsx)',\r\n    excelXmlExport: 'Excel Eksport (.xml)',\r\n\r\n    // Enterprise Menu Aggregation and Status Bar\r\n    sum: 'Sum',\r\n    min: 'Min',\r\n    max: 'Max',\r\n    none: 'Ingen',\r\n    count: 'Tæl',\r\n    avg: 'Gennemsnit',\r\n    filteredRows: 'Filtreret',\r\n    selectedRows: 'Valgt',\r\n    totalRows: 'Total Rækker',\r\n    totalAndFilteredRows: 'Rækker',\r\n    more: 'Mere',\r\n    to: 'til',\r\n    of: 'af',\r\n    page: 'Side',\r\n    nextPage: 'Næste side',\r\n    lastPage: 'Sidste side',\r\n    firstPage: 'Første side',\r\n    previousPage: 'Foregående side',\r\n\r\n    // Enterprise Menu (Charts)\r\n    pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',\r\n    pivotChart: 'Pivot Chart',\r\n    chartRange: 'Chart Range',\r\n\r\n    columnChart: 'Kolonne',\r\n    groupedColumn: 'Grupperet',\r\n    stackedColumn: 'Samlet',\r\n    normalizedColumn: '100% Samlet',\r\n\r\n    barChart: 'Bar',\r\n    groupedBar: 'Grupperet',\r\n    stackedBar: 'Samlet',\r\n    normalizedBar: '100% Samlet',\r\n\r\n    pieChart: 'Pie',\r\n    pie: 'Pie',\r\n    doughnut: 'Doughnut',\r\n\r\n    line: 'Line',\r\n\r\n    xyChart: 'X Y (Scatter)',\r\n    scatter: 'Scatter',\r\n    bubble: 'Bubble',\r\n\r\n    areaChart: 'Area',\r\n    area: 'Area',\r\n    stackedArea: 'Stacked',\r\n    normalizedArea: '100% Stacked',\r\n\r\n    histogramChart: 'Histogram',\r\n\r\n    // Charts\r\n    pivotChartTitle: 'Pivot-diagram',\r\n    rangeChartTitle: 'Rækkevidde',\r\n    settings: 'Indstillinger',\r\n    data: 'Data',\r\n    format: 'Format',\r\n    categories: 'Kategorier',\r\n    defaultCategory: '(Ingen)',\r\n    series: 'Serier',\r\n    xyValues: 'X Y Værdier',\r\n    paired: 'Samlet Mode',\r\n    axis: 'Akse',\r\n    navigator: 'Navigator',\r\n    color: 'Farve',\r\n    thickness: 'Tykkelse',\r\n    xType: 'X Type',\r\n    automatic: 'Automatisk',\r\n    category: 'Kategori',\r\n    number: 'Nummer',\r\n    time: 'Tid',\r\n    xRotation: 'X Rotation',\r\n    yRotation: 'Y Rotation',\r\n    ticks: 'Ticks',\r\n    width: 'Bredde',\r\n    height: 'Højde',\r\n    length: 'Længde',\r\n    padding: 'Padding',\r\n    spacing: 'Mellemrum',\r\n    chart: 'Diagram',\r\n    title: 'Titel',\r\n    titlePlaceholder: 'Diagramtitel - dobbeltklik for at redigere',\r\n    background: 'Baggrund',\r\n    font: 'Font',\r\n    top: 'Top',\r\n    right: 'Højre',\r\n    bottom: 'Bund',\r\n    left: 'Venstre',\r\n    labels: 'Labels',\r\n    size: 'Størrelse',\r\n    minSize: 'Minimum Størrelse',\r\n    maxSize: 'Maximum Størrelse',\r\n    legend: 'Legend',\r\n    position: 'Position',\r\n    markerSize: 'Marker Størrelse',\r\n    markerStroke: 'Marker Stroke',\r\n    markerPadding: 'Marker Padding',\r\n    itemSpacing: 'Item Spacing',\r\n    itemPaddingX: 'Item Padding X',\r\n    itemPaddingY: 'Item Padding Y',\r\n    layoutHorizontalSpacing: 'Horizontal Spacing',\r\n    layoutVerticalSpacing: 'Vertical Spacing',\r\n    strokeWidth: 'Stroke Width',\r\n    offset: 'Offset',\r\n    offsets: 'Offsets',\r\n    tooltips: 'Tooltips',\r\n    callout: 'Callout',\r\n    markers: 'Markers',\r\n    shadow: 'Shadow',\r\n    blur: 'Blur',\r\n    xOffset: 'X Offset',\r\n    yOffset: 'Y Offset',\r\n    lineWidth: 'Line Width',\r\n    normal: 'Normal',\r\n    bold: 'Bold',\r\n    italic: 'Italic',\r\n    boldItalic: 'Bold Italic',\r\n    predefined: 'Predefined',\r\n    fillOpacity: 'Fill Opacity',\r\n    strokeOpacity: 'Line Opacity',\r\n    histogramBinCount: 'Bin count',\r\n    columnGroup: 'Column',\r\n    barGroup: 'Bar',\r\n    pieGroup: 'Pie',\r\n    lineGroup: 'Line',\r\n    scatterGroup: 'X Y (Scatter)',\r\n    areaGroup: 'Area',\r\n    histogramGroup: 'Histogram',\r\n    groupedColumnTooltip: 'Grouped',\r\n    stackedColumnTooltip: 'Stacked',\r\n    normalizedColumnTooltip: '100% Stacked',\r\n    groupedBarTooltip: 'Grouped',\r\n    stackedBarTooltip: 'Stacked',\r\n    normalizedBarTooltip: '100% Stacked',\r\n    pieTooltip: 'Pie',\r\n    doughnutTooltip: 'Doughnut',\r\n    lineTooltip: 'Line',\r\n    groupedAreaTooltip: 'Area',\r\n    stackedAreaTooltip: 'Stacked',\r\n    normalizedAreaTooltip: '100% Stacked',\r\n    scatterTooltip: 'Scatter',\r\n    bubbleTooltip: 'Bubble',\r\n    histogramTooltip: 'Histogram',\r\n    noDataToChart: 'No data available to be charted.',\r\n    pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.'\r\n  }\r\n}\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport 'ag-grid-enterprise';\r\nimport { LicenseManager } from '@ag-grid-enterprise/core';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\nimport { gridKey } from 'app/shared/utilities/grids/gridStandard';\r\n\r\nexport function getBaseUrl() {\r\n  return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nLicenseManager.setLicenseKey(gridKey);\r\n\r\nconst providers = [\r\n  { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nenableProdMode();\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n  .catch(err => console.log(err));\r\n"],"names":[],"sourceRoot":"webpack:///"}