{"version":3,"file":"main.js","mappings":";;;;;;;;;;;;;;;;;AAAuC;AACiC;AAExE,MAAM,MAAM,GAAW;IACtB;QACC,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,GAAG,EAAE,CAAC,iSAAoC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;KACpF;IACD;QACC,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,GAAG,EAAE,CAAC,wXAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;KAExF;IACD;QACC,IAAI,EAAE,gBAAgB;QACtB,YAAY,EAAE,GAAG,EAAE,CAAC,uXAAsD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC;KAC/G;IACD;QACC,IAAI,EAAE,kBAAkB;QACxB,YAAY,EAAE,GAAG,EAAE,CAAC,+XAA0D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC;KACrH;IACD;QACC,IAAI,EAAE,YAAY;QAClB,YAAY,EAAE,GAAG,EAAE,CAAC,wTAA8C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC;KACpG;IACD;QACC,IAAI,EAAE,WAAW;QACjB,YAAY,EAAE,GAAG,EAAE,CAAC,iRAA4C,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;KACjG;CACD,CAAC;IAYW,gBAAgB,SAAhB,gBAAgB;CAC5B;AADY,gBAAgB;IAV5B,uDAAQ,CAAC;QACT,OAAO,EAAE;YACR,iEAAoB,CAAC,MAAM,EAAE;gBAC5B,kBAAkB,EAAE,8DAAiB;gBACrC,OAAO,EAAE,IAAI;gBACb,mBAAmB,EAAE,QAAQ;aAC7B,CAAC;SACF;QACD,OAAO,EAAE,CAAC,yDAAY,CAAC;KACvB,CAAC;GACW,gBAAgB,CAC5B;AAD4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzCmB;AAC4B;AACF;AACV;AAQvC;AACyD;AAChB;AACc;AACvB;AAClB;AAC+C;AAClB;AACC;AACW;AACF;AACjC;AACH;AACP;AAC2B;AAEvB;IAO1B,YAAY,SAAZ,YAAY;IAoDxB,YAAoB,QAAkB,EAC3B,SAAoB,EACpB,QAAkB,EAClB,MAAc,EACd,SAA0B,EAC1B,WAA8B,EAC9B,aAAmC,EACnC,cAA8B,EAC9B,cAA8B,EAC9B,WAAwB,EACxB,WAA+B,EAC/B,UAA2B,EAC5B,SAAoB,EACnB,UAAsB,EACtB,WAA+B;QAdtB,aAAQ,GAAR,QAAQ,CAAU;QAC3B,cAAS,GAAT,SAAS,CAAW;QACpB,aAAQ,GAAR,QAAQ,CAAU;QAClB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAiB;QAC1B,gBAAW,GAAX,WAAW,CAAmB;QAC9B,kBAAa,GAAb,aAAa,CAAsB;QACnC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAa;QACxB,gBAAW,GAAX,WAAW,CAAoB;QAC/B,eAAU,GAAV,UAAU,CAAiB;QAC5B,cAAS,GAAT,SAAS,CAAW;QACnB,eAAU,GAAV,UAAU,CAAY;QACtB,gBAAW,GAAX,WAAW,CAAoB;QA/DnC,kBAAa,GAAG,CAAC,CAAC;QAClB,aAAQ,GAAG;YACjB;gBACC,KAAK,EAAE,QAAQ;gBACf,GAAG,EAAE,SAAS;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;aACd;YACD;gBACC,KAAK,EAAE,WAAW;gBAClB,GAAG,EAAE,YAAY;gBACjB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,KAAK;aACd;YACD;gBACC,KAAK,EAAE,kBAAkB;gBACzB,GAAG,EAAE,eAAe;gBACpB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,KAAK;aACd;YACD;gBACC,KAAK,EAAE,wBAAwB;gBAC/B,GAAG,EAAE,aAAa;gBAClB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI;aACb;YACD;gBACC,KAAK,EAAE,eAAe;gBACtB,GAAG,EAAE,WAAW;gBAChB,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,IAAI;aACb;YACD;gBACC,KAAK,EAAE,eAAe;gBACtB,GAAG,EAAE,cAAc;gBACnB,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,KAAK;aACd;YACD;gBACC,KAAK,EAAE,UAAU;gBACjB,GAAG,EAAE,SAAS;gBACd,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;aACd;SACD,CAAC;QAqBD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAEhD,IAAI,mEAAqB,EAAE,KAAK,KAAK,EAAE;YACtC,iFAA+B,CAAC,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;SACnD;aAAM;YACN,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,mEAAqB,EAAE,CAAC,CAAC;SACtD;QAED,4DAAwB,CAAC,YAAY,EAAE,CAAO,EAAC,SAAS,EAAC,EAAE,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAC5B,IAAI,GAAG,KAAK,iBAAiB,EAAE;gBAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;aACrB;iBAAM;gBACN,IAAI,SAAS,EAAE;oBACd,UAAU,CAAC,GAAG,EAAE;wBACf,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACvB,CAAC,EAAE,GAAG,CAAC,CAAC;iBAER;qBAAM;oBACN,IAAI,CAAC,aAAa,EAAE,CAAC;iBACrB;aACD;QACF,CAAC,EAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,aAAa;QACb,0DAA0D;QAE1D,2DAA2D;QAC3D,oEAAoE;QACpE,8CAA8C;QAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAU,EAAE,EAAE;YAE3C,QAAQ,IAAI,EAAE;gBACb,KAAK,KAAK,YAAY,2DAAa,CAAC,CAAC;oBACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;oBAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;oBAEpG,MAAM;iBACN;gBAED,KAAK,KAAK,YAAY,6DAAe,CAAC,CAAC;oBACtC,MAAM;iBACN;gBACD,KAAK,KAAK,YAAY,8DAAgB,CAAC;gBACvC,KAAK,KAAK,YAAY,6DAAe,CAAC,CAAC;oBACtC,MAAM;iBACN;gBAED,OAAO,CAAC,CAAC;oBACR,MAAM;iBACN;aACD;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAEK,aAAa;;YAClB,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBACxC,MAAM,EAAE,yEAAyB;gBACjC,SAAS,EAAE,4EAA4B;gBACvC,OAAO,EAAE,CAAC;wBACT,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,GAAG,EAAE;4BACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;4BACzB,OAAO,KAAK,CAAC;wBACd,CAAC;qBACD,EAAE;wBACF,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,GAAG,EAAE;4BACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BAC1B,OAAO,KAAK,CAAC;wBACd,CAAC;qBACD,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;oBACnD,IAAI,CAAC,wBAAwB,EAAE,CAAC;iBAChC;qBAAM;oBACN,YAAY;iBACZ;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;KAAA;IAEK,wBAAwB;;YAE7B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC3C,OAAO,EAAE,2EAA2B;aACpC,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAE5B,MAAM,WAAW,GAAG;gBACnB,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU;gBACpC,YAAY,EAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,KAAK;aACtD,CAAC;YACF,MAAM,OAAO,GAAW,EAAC,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAC,CAAC;YACvG,IAAI,CAAC,UAAU;iBACb,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,0EAAmB,EAAE,WAAW,EAAE,OAAO,CAAC;iBAClF,IAAI,CAAC,oDAAG,CAAC,CAAC,GAAsB,EAAE,EAAE;gBACpC,qCAAqC;gBACrC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC,CAAC,CAAC;iBACF,SAAS,CAAC,CAAO,IAAuB,EAAE,EAAE,CAAC;gBAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,wDAAW,EAAE,CAAC;YACf,CAAC,GAAE,CAAO,KAAK,EAAE,EAAE,CAAC;gBACnB,wFAAwF;gBACxF,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gBACnB,wDAAW,EAAE,CAAC;YACf,CAAC,EAAC,CAAC;QACL,CAAC;KAAA;IAGK,aAAa;;YAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAS,EAAE,CAAC;gBAEtC,qDAAqD;gBACrD,6BAA6B;gBAE7B,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;oBAC5B,qCAAqC;oBACrC,uDAAuD;oBACvD,uCAAuC;oBACvC,oDAAoD;iBACpD;qBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;oBACvC,sDAAsD;oBACtD,0CAA0C;oBAC1C,+DAA+D;iBAC/D;gBAED,2BAA2B;gBAC3B,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,4EAAqB,EAAE,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,8EAAuB,EAAE,EAAE,CAAC,CAAC;gBACnE,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,oFAA6B,EAAE,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,sFAA+B,EAAE,CAAC,CAAC,CAAC;gBAC1E,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,+FAAwC,EAAE,CAAC,CAAC,CAAC;gBAEnF,6DAA6D;gBAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,GAAS,EAAE,CAAC;gBAE3C,CAAC,EAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;oBAEhC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;yBACvB,SAAS,CAAC,CAAC,UAAwB,EAAE,EAAE;wBAEvC,gDAAgD;wBAChD,2FAA2F;wBAC3F,mEAAmE;wBACnE,8BAA8B;wBAC9B,qDAAqD;wBACrD,WAAW;wBACX,IAAI;wBAEJ,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;4BACtC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gCAC5C,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gCACjE,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gCACnE,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC;gCAC/B,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,oCAAoC,EAAC,CAAC,CAAC;6BAC7E;iCAAM;gCACN,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gCACzD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC;qCAC9C,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oCAEb,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oCACzD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oCACvC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oCAE1D,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,GAAG,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;oCAE/E,IAAI,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;wCAC7C,MAAM,SAAS,GAAG;4CACjB,GAAG,EAAE,GAAG;4CACR,IAAI,EAAE,0BAA0B;4CAChC,KAAK,EAAE,QAAQ;yCAEf,CAAC;wCACF,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;wCAChE,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC;wCAC/B,0CAA0C;wCAC1C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,iBAAiB,EAAC,CAAC,CAAC;qCAC1D;yCAAM;wCACN,UAAU;qCACV;gCAEF,CAAC,CAAC;qCACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oCACZ,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;oCAC5C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,0EAA0B,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gCAC5E,CAAC,CAAC,CAAC;6BACJ;yBACD;oBAEF,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;wBACR,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;iBAEJ;qBAAM;oBACN,4DAAe,CAAC,YAAY,EAAE,CAAC,KAA2B,EAAE,EAAE;wBAC7D,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;wBAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;wBAEtB,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;wBACzD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBACvC,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC1D,IAAI,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;4BAC7C,MAAM,SAAS,GAAG;gCACjB,GAAG,EAAE,GAAG;gCACR,IAAI,EAAE,0BAA0B;gCAChC,KAAK,EAAE,QAAQ;6BAEf,CAAC;4BACF,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;4BAChE,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC;4BAC/B,0CAA0C;4BAC1C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAC,OAAO,EAAE,iBAAiB,EAAC,CAAC,CAAC;yBAC1D;6BAAM;4BACN,UAAU;yBACV;oBACF,CAAC,CAAC;iBACF;gBAED,iDAAiD;gBACjD,6EAA6E;gBAC7E,2EAAkC,EAAE;qBAClC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;wBAChB,OAAO,KAAK,CAAC;qBACb;oBACD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxE,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;oBAEtF,IAAI,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;wBACpD,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;qBAC7D;yBAAM;wBACN,UAAU;qBACV;gBACF,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC;gBACvC,CAAC,CAAC,CAAC;YACL,CAAC,EAAC,CAAC;QACJ,CAAC;KAAA;IAEK,QAAQ;;YACb,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACzE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;YACtF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;YAClF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAC5E,IAAI,CAAC,cAAc,EAAE;gBACpB,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;aACrF;YACD,IAAI,CAAC,gBAAgB,EAAE;gBACtB,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;aAClG;YACD,IAAI,CAAC,cAAc,EAAE;gBACpB,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;aAC9F;YACD,IAAI,CAAC,WAAW,EAAE;gBACjB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;aACxF;QACF,CAAC;KAAA;CAGD;;YArX2C,qDAAQ;YACpC,8EAAS;YACjB,4EAAQ;YAOf,oDAAM;YATC,4DAAe;YAAE,8DAAiB;YAgBlC,iGAAoB;YAZ3B,4DAAc;YAQP,6EAAc;YAEd,oEAAW;YADX,2FAAkB;YAKlB,iFAAe;YAQf,mDAAS;YAFT,6DAAU;YALV,4FAAkB;;AAcb,YAAY;IALxB,yDAAS,CAAC;QACV,QAAQ,EAAE,UAAU;QACpB,+MAAiC;;KAEjC,CAAC;GACW,YAAY,CAoVxB;AApVwB;;;;;;;;;;;;;;;;;;;;;;;AClCgB;AACO;AACqB;AAC7B;AAE0B;AAElE,mFAAmF;IAGtE,SAAS,SAAT,SAAS;IAIrB,YAAoB,IAAgB,EACzB,QAAkB,EAClB,cAA8B;QAFrB,SAAI,GAAJ,IAAI,CAAY;QACzB,aAAQ,GAAR,QAAQ,CAAU;QAClB,mBAAc,GAAd,cAAc,CAAgB;QAJjC,kBAAa,GAAwB,IAAI,CAAC;IAMlD,CAAC;IAEM,SAAS;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAEM,SAAS,CAAC,aAAkC;QAClD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACpC,CAAC;IAEM,IAAI;QAEV,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,+EAAwB,CAAC;iBAC1D,SAAS,CAAC,CAAC,IAAyB,EAAE,EAAE;gBAExC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC;gBACrE,IAAI,CAAC,cAAc,EAAE;oBACpB,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;oBAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;iBAC1B;qBAAM;oBACN,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;oBACnD,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;iBACpC;gBAED,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;oBAC/B,UAAU,CAAC,GAAG,EAAE;wBACf,OAAO,CAAC,IAAI,CAAC,CAAC;oBACf,CAAC,EAAE,IAAI,CAAC,CAAC;gBACV,CAAC,CAAC,CAAC;YAEJ,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;gBACZ,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;gBAC7C,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAAC,aAAqB;IAErD,CAAC;CACD;;YA1DO,4DAAU;YAEV,oDAAQ;YAER,6EAAc;;AAKT,SAAS;IADrB,yDAAU,EAAE;GACA,SAAS,CAiDrB;AAjDqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVkC;AACjB;AACiB;AACS;AAEF;AACR;AACV;AACS;AACgB;AACJ;AACF;AACV;AACkB;AACJ;AACM;AACU;AAClC;AACM;AAE0B;AAC5B;AACE;AACD;AAEO;AACN;AACO;AAEJ;AACC;AACC;AACiB;IAgDjE,SAAS,SAAT,SAAS;IACrB,YAAY,OAAsB;QACjC,OAAO,CAAC,YAAY,CAAC,qEAAG,EAAE,mEAAG,EAAE,oEAAG,CAAC,CAAC;IACrC,CAAC;CACD;;YAhE0B,4EAAa;;AA4D3B,SAAS;IA9CrB,wDAAQ,CAAC;QACT,YAAY,EAAE,CAAC,wDAAY,EAAE,0EAAa,EAAE,2EAAa,CAAC;QAC1D,eAAe,EAAE,EAAE;QACnB,OAAO,EAAE,CAAC,qEAAa;YACtB,gEAAmB,CAAC;gBACnB,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,IAAI;gBACV,YAAY,EAAE,KAAK;aACnB,CAAC;YACF,uEAA0B,CAAC;gBAC1B,IAAI,EAAE,wEAAgB;gBACtB,WAAW,EAAE,CAAC,WAAW,CAAC;aAC1B,CAAC;YACF,iEAAgB;YAChB,mEAAgB;YAChB,gFAAiB;YACjB,wEAAuB,CAAC;QACzB,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,gEAAkB,EAAE,QAAQ,EAAE,+DAAkB,EAAC;YACtE,kFAAW;YACX,0EAAO;YACP,8EAAS;YACT,4EAAQ;YACR,mEAAI;YACJ,oFAAY;YACZ,gFAAU;YACV,sFAAa;YACb,0EAAa;YACb,sDAAQ;YACR,2EAAa;YACb,kDAAS;YACT,wEAAM;YACN,2FAAe;YACf,iGAAkB;YAClB;gBACC,OAAO,EAAE,2DAAe;gBACxB,UAAU,EAAE,CAAC,MAAiB,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;gBACtD,IAAI,EAAE,CAAC,kDAAS,CAAC;gBACjB,KAAK,EAAE,IAAI;aACX;YACD;gBACC,OAAO,EAAE,2DAAa;gBACtB,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC;aAC5B,CAAC;QACH,SAAS,EAAE,CAAC,wDAAY,CAAC;QACzB,OAAO,EAAE,EAAE;KACX,CAAC;GACW,SAAS,CAIrB;AAJqB;;;;;;;;;;;;;;;;;;;;;;;;;;AChFiB;AAC8C;AACsB;AAC1B;AACtC;AACiD;AACiC;AAC3B;IA+BrF,uBAAuB,SAAvB,uBAAuB;CACnC;AADY,uBAAuB;IA7BnC,uDAAQ,CAAC;QACT,YAAY,EAAE;YACb,gGAA0B;YAC1B,oFAAoB;YACpB,4FAAwB;YACxB,uGAA6B;YAC7B,sFAAqB;YACrB,uFAAsB;YACtB,yFAAwB;YACxB,wFAAsB;YACtB,qFAAmB;YACnB,gGAAgC;SAChC;QACD,OAAO,EAAE;YACR,uDAAW;SACX;QACD,OAAO,EAAE;YACR,gGAA0B;YAC1B,oFAAoB;YACpB,4FAAwB;YACxB,uGAA6B;YAC7B,sFAAqB;YACrB,uFAAsB;YACtB,yFAAwB;YACxB,wFAAsB;YACtB,qFAAmB;YACnB,gGAAgC;SAChC;KACD,CAAC;GACW,uBAAuB,CACnC;AADmC;;;;;;;;;;;;;;;;;;;ACtC2B;IAKlD,wBAAwB,SAAxB,wBAAwB;IAEpC,YAAY,EAAe,EAAU,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;QACxD,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,WAAW,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,QAAQ,CAAC,EAAE;YACnG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;SACtD;aAAM;YACN,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAC,MAAM,CAAC,CAAC;YAChD,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;SAC/C;IAEF,CAAC;CAED;;YAlBkB,qDAAU;YAAE,oDAAS;;AAK3B,wBAAwB;IAHpC,wDAAS,CAAC;QACV,QAAQ,EAAE,sBAAsB;KAChC,CAAC;GACW,wBAAwB,CAapC;AAboC;;;;;;;;;;;;;;;;;;;;ACL0B;AACO;IAMzD,6BAA6B,SAA7B,6BAA6B;IAIzC,YAAY,EAAe,EAAU,QAAoB,EAAU,UAA4B;QAA1D,aAAQ,GAAR,QAAQ,CAAY;QAAU,eAAU,GAAV,UAAU,CAAkB;QAC9F,MAAM,oBAAoB,GAAG,KAAK,CAAC;QACnC,IAAI,oBAAoB,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;SACnE;aAAM;YACN,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;SACtE;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACxE,IAAI,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE;gBAChC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;aACnE;iBAAM;gBACN,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;aACtE;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CAED;;YA3BkB,qDAAU;YAAE,oDAAS;YAChC,gFAAe;;AAMV,6BAA6B;IAHzC,wDAAS,CAAC;QACV,QAAQ,EAAE,2BAA2B;KACrC,CAAC;GACW,6BAA6B,CAoBzC;AApByC;;;;;;;;;;;;;;;;;;;;ACPqB;IAMlD,oBAAoB,SAApB,oBAAoB;IAEhC,YAAY,EAAe,EAAU,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;QACxD,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,WAAW,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,QAAQ,CAAC,EAAE;YACnG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;SACnE;aAAM;YACN,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9D,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;SAC/C;IAEF,CAAC;CAED;;YAnBkB,qDAAU;YAAE,oDAAS;;AAM3B,oBAAoB;IAHhC,wDAAS,CAAC;QACV,QAAQ,EAAE,kBAAkB;KAC5B,CAAC;GACW,oBAAoB,CAahC;AAbgC;IAkBpB,gCAAgC,SAAhC,gCAAgC;IAC5C,YAAY,EAAe,EAAU,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;QACxD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QAC/G,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,uBAAuB,GAAG,mBAAmB,GAAG,IAAI,CAAC,CAAC;QAEzG,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QAElH,IAAI,sBAAsB,KAAK,KAAK,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAClE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;SAChE;IAGF,CAAC;CACD;;YAtCkB,qDAAU;YAAE,oDAAS;;AAwB3B,gCAAgC;IAH5C,wDAAS,CAAC;QACV,QAAQ,EAAE,2BAA2B;KACrC,CAAC;GACW,gCAAgC,CAc5C;AAd4C;;;;;;;;;;;;;;;;;;;;;;;;;;ACxByB;AACd;AACrB;AACO;IAK7B,sBAAsB,SAAtB,sBAAsB;IAKlC,YAAY,EAAe,EAAU,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;QAHzD,kBAAa,GAAG,KAAK,CAAC;QACtB,mBAAc,GAAiB,oDAAkB,CAAC;QAGjD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC;QAEtC,IAAI,CAAC,cAAc,GAAG,2CAAK,CAC1B,wCAAE,CAAC,IAAI,CAAC,EACR,+CAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC3B,+CAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAC5B;aACC,IAAI,CAAC,mDAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;aACjC,SAAS,CAAC,MAAM,CAAC,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;YAC5B,QAAQ,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE;gBAClC,KAAK,QAAQ;oBACZ,IAAI,MAAM,EAAE;wBACX,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;qBAC5D;yBAAM;wBACN,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;qBACjE;oBACD,MAAM;gBACP,KAAK,YAAY;oBAChB,IAAI,MAAM,EAAE;wBACX,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;qBAC5D;yBAAM;wBACN,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;qBACjE;oBACD,MAAM;gBACP,KAAK,gBAAgB;oBACpB,IAAI,MAAM,EAAE;wBACX,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;qBAC5D;yBAAM;wBACN,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;qBACjE;oBACD,MAAM;gBACP,KAAK,4BAA4B;oBAChC,IAAI,MAAM,EAAE;wBACX,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;qBAC5D;yBAAM;wBACN,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;qBACvD;oBACD,MAAM;aACP;QAEF,CAAC,CAAC,CAAC;IAEL,CAAC;CAED;;YA3DkB,qDAAU;YAAS,oDAAS;;AAQlC,sBAAsB;IAHlC,wDAAS,CAAC;QACV,QAAQ,EAAE,oBAAoB;KAC9B,CAAC;GACW,sBAAsB,CAmDlC;AAnDkC;IAwDtB,mBAAmB,SAAnB,mBAAmB;IAC/B,YAAY,EAAe,EAAU,QAAoB;QAApB,aAAQ,GAAR,QAAQ,CAAY;QACxD,IAAI,kEAAqB,EAAE,KAAK,KAAK,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SAC5D;IACF,CAAC;CACD;;YAtEkB,qDAAU;YAAS,oDAAS;;AAgElC,mBAAmB;IAH/B,wDAAS,CAAC;QACV,QAAQ,EAAE,iBAAiB;KAC3B,CAAC;GACW,mBAAmB,CAM/B;AAN+B;;;;;;;;;;;;;;;;;;;;;;;AChE+B;AAClB;AACH;IAK7B,qBAAqB,SAArB,qBAAqB;IAEjC,YACQ,EAAe,EACd,QAAoB;QADrB,OAAE,GAAF,EAAE,CAAa;QACd,aAAQ,GAAR,QAAQ,CAAY;QAE5B,IAAI,kEAAqB,EAAE,KAAK,KAAK,EAAE;YACtC,qEAAoB,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YAEH,qEAAoB,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;SACH;IACF,CAAC;CACD;;YAvBkB,qDAAU;YAAE,oDAAS;;AAO3B,qBAAqB;IAHjC,wDAAS,CAAC;QACV,QAAQ,EAAE,mBAAmB;KAC7B,CAAC;GACW,qBAAqB,CAgBjC;AAhBiC;IAqBrB,sBAAsB,SAAtB,sBAAsB;IAElC,YACQ,EAAe,EACd,QAAoB;QADrB,OAAE,GAAF,EAAE,CAAa;QACd,aAAQ,GAAR,QAAQ,CAAY;QAE5B,IAAI,kEAAqB,EAAE,KAAK,KAAK,EAAE;YACtC,qEAAoB,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YAEH,qEAAoB,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC7C,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;SACH;IACF,CAAC;CACD;;YA5CkB,qDAAU;YAAE,oDAAS;;AA4B3B,sBAAsB;IAHlC,wDAAS,CAAC;QACV,QAAQ,EAAE,oBAAoB;KAC9B,CAAC;GACW,sBAAsB,CAgBlC;AAhBkC;IAqBtB,wBAAwB,SAAxB,wBAAwB;IAEpC,YACQ,EAAe,EACd,QAAoB;QADrB,OAAE,GAAF,EAAE,CAAa;QACd,aAAQ,GAAR,QAAQ,CAAY;QAE5B,IAAI,kEAAqB,EAAE,KAAK,KAAK,EAAE;YACtC,qEAAoB,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,qEAAoB,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;SACH;IACF,CAAC;CACD;;YAjEkB,qDAAU;YAAE,oDAAS;;AAiD3B,wBAAwB;IAHpC,wDAAS,CAAC;QACV,QAAQ,EAAE,sBAAsB;KAChC,CAAC;GACW,wBAAwB,CAgBpC;AAhBoC;;;;;;;;;;;;;;;;;;;;ACjDqC;AAC3B;IAKlC,0BAA0B,SAA1B,0BAA0B;IAEnC,YAAoB,SAA0B,EAAU,EAAc;QAAlD,cAAS,GAAT,SAAS,CAAiB;QAAU,OAAE,GAAF,EAAE,CAAY;QAClE,EAAE,CAAC,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,QAAQ;QACJ,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACxD,CAAC;CAcJ;;YA3BO,2DAAe;YADkB,qDAAU;;AAMtC,0BAA0B;IAHtC,wDAAS,CAAC;QACP,QAAQ,EAAE,wBAAwB;KACrC,CAAC;GACW,0BAA0B,CAsBtC;AAtBsC;;;;;;;;;;;;;;;;;;;;ACNE;AAaV;AAI/B,MAAM,aAAa,GAAG,sEAAmB,CAAC;IAK7B,kBAAkB,SAAlB,kBAAkB;IAE9B;IACA,CAAC;IAED;;;;;;;OAOG;IACG,cAAc,CAAC,UAAkB;;YACtC,MAAM,OAAO,GAAmB;gBAC/B,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,aAAa;aACxB,CAAC;YAEF,OAAO,qEAAkB,CAAC,OAAO,CAAC;iBAChC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,4DAA4D;gBAC5D,OAAO,IAAI,CAAC;YACb,CAAC,CAAC;iBACD,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;KAAA;IAED;;;;;;;OAOG;IACG,iBAAiB,CAAC,UAAkB;;YACzC,MAAM,MAAM,GAAiB;gBAC5B,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,aAAa;gBACxB,SAAS,EAAE,KAAK;aAChB,CAAC;YACF,OAAO,mEAAgB,CAAC,MAAM,CAAC;iBAC7B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;iBAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;KAAA;IAEK,aAAa,CAAC,UAAkB,EAAE,SAAiB,EAAE,OAAe;;YACzE,MAAM,OAAO,GAAqB;gBACjC,SAAS,EAAE,aAAa;gBACxB,QAAQ,EAAE,gEAAa;gBACvB,IAAI,EAAE,yBAAyB,GAAG,OAAO;gBACzC,IAAI,EAAE,UAAU,GAAG,GAAG,GAAG,SAAS;aAClC,CAAC;YAEF,OAAO,uEAAoB,CAAC,OAAO,CAAC;iBAClC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,oCAAoC;gBACpC,OAAO,IAAI,CAAC;YACb,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChB,2CAA2C;gBAC3C,OAAO,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,SAAS,CAAC,IAAY,EAAE,SAAiB;;YAC9C,MAAM,OAAO,GAAoB;gBAChC,SAAS,EAAE,aAAa;gBACxB,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,SAAS;gBAC5B,QAAQ,EAAE,gEAAa;aACvB,CAAC;YAEF,OAAO,sEAAmB,CAAC,OAAO,CAAC;iBACjC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,oCAAoC;gBACpC,OAAO,IAAI,CAAC;YACb,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChB,2CAA2C;gBAC3C,OAAO,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,aAAa,CAAC,IAAY;;YAC/B,MAAM,MAAM,GAAiB;gBAC5B,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,aAAa;gBACxB,SAAS,EAAE,IAAI;aACf,CAAC;YAEF,OAAO,mEAAgB,CAAC,MAAM,CAAC;iBAC7B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,OAAO,IAAI,CAAC;YACb,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChB,OAAO,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,YAAY,CAAC,IAAY;;YAC9B,MAAM,MAAM,GAAsB;gBACjC,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,aAAa;aACxB,CAAC;YAEF,OAAO,wEAAqB,CAAC,MAAM,CAAC;iBAClC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,OAAO,IAAI,CAAC;YACb,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChB,OAAO,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED,6BAA6B;IAC7B,8CAA8C;IAExC,aAAa;;YAClB,qBAAqB;QACtB,CAAC;KAAA;IAEK,qBAAqB,CAAC,UAAkB,EAAE,SAAiB,EAAE,OAAe;;YACjF,MAAM,OAAO,GAAqB;gBACjC,SAAS,EAAE,aAAa;gBACxB,QAAQ,EAAE,gEAAa;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU,GAAG,GAAG,GAAG,SAAS;aAClC,CAAC;YAEF,OAAO,uEAAoB,CAAC,OAAO,CAAC;iBAClC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC;YACb,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;gBACxC,OAAO,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,MAAM,CAAC,QAAQ;;YACpB,MAAM,OAAO,GAAkB;gBAC9B,SAAS,EAAE,aAAa;gBACxB,IAAI,EAAE,QAAQ;aACd;YAED,OAAO,oEAAiB,CAAC,OAAO,CAAC;iBAC/B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAC9B,OAAO,IAAI,CAAC;YACb,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC/B,OAAO,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,WAAW,CAAC,QAAQ;;YACzB,MAAM,OAAO,GAAgB;gBAC5B,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,aAAa;aACxB,CAAC;YACF,OAAO,kEAAe,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;KAAA;IAEK,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ;;YACtD,MAAM,OAAO,GAAgB;gBAC5B,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,YAAY,GAAG,QAAQ;gBAC3B,WAAW,EAAE,aAAa;aAC1B,CAAC;YACF,OAAO,kEAAe,CAAC,OAAO,CAAC;iBAC7B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;iBACpB,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;KAAA;IAEK,mBAAmB,CAAC,UAAkB;;YAC3C,MAAM,OAAO,GAAmB;gBAC/B,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE,aAAa;aACxB,CAAC;YAEF,OAAO,qEAAkB,CAAC,OAAO,CAAC;iBAChC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;iBACpB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;KAAA;IAEK,WAAW,CAAC,GAAG;;YACpB,OAAO,sEAAmB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAC,CAAC,CAAC;QACzC,CAAC;KAAA;IAEK,iBAAiB,CAAC,OAAe;;YAEtC,MAAM,OAAO,GAAqB;gBACjC,SAAS,EAAE,qEAAkB;gBAC7B,QAAQ,EAAE,gEAAa;gBACvB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,mBAAmB;aACzB,CAAC;YAEF,OAAO,uEAAoB,CAAC,OAAO,CAAC;iBAClC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,OAAO,IAAI,CAAC;YACb,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChB,OAAO,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,aAAa;;YAClB,MAAM,OAAO,GAAoB;gBAChC,SAAS,EAAE,qEAAkB;gBAC7B,IAAI,EAAE,mBAAmB;gBACzB,QAAQ,EAAE,gEAAa;aACvB,CAAC;YAEF,OAAO,sEAAmB,CAAC,OAAO,CAAC;iBACjC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACd,OAAO,IAAI,CAAC;YACb,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChB,OAAO,KAAK,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;CAED;;AAjOY,kBAAkB;IAH9B,yDAAU,CAAC;QACX,UAAU,EAAE,MAAM;KAClB,CAAC;GACW,kBAAkB,CAiO9B;AAjO8B;;;;;;;;;;;;;;;;;;;;;;;ACtBwB;AACuB;AACvC;AAEsB;AACZ;IAKpC,oBAAoB,SAApB,oBAAoB;IAMhC,YAAoB,SAA0B,EACnC,SAA0B,EAC1B,MAAc;QAFL,cAAS,GAAT,SAAS,CAAiB;QACnC,cAAS,GAAT,SAAS,CAAiB;QAC1B,WAAM,GAAN,MAAM,CAAQ;QAJzB,uBAAkB,GAAG,EAAE,CAAC;IAKxB,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,aAAkB,EAAE,MAAe,EAAE,UAAoB;QAC3E,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAC5C,IAAI;YACH,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;YACnC,sBAAsB;YACtB,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;gBACpC,gDAAgD;gBAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACvC,gDAAgD;gBAChD,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,UAAU,EAAE;oBAChB,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC;iBACrD;qBAAM;iBAEN;aACD;iBAAM;gBACN,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAClD;YAED,QAAQ,aAAa,CAAC,MAAM,EAAE;gBAC7B,MAAM;gBACN,KAAK,GAAG,CAAC,CAAC;oBACT,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,2EAAoB,CAAC,CAAC,CAAC;oBAC7C,MAAM;iBACN;gBACD,KAAK,GAAG,CAAC,CAAC;oBACT,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,2EAAoB,CAAC,CAAC,CAAC;oBAC7C,MAAM;iBACN;gBACD,MAAM;gBACN,KAAK,GAAG,CAAC,CAAC;oBACT,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,2EAAoB,CAAC,CAAC,CAAC;oBAC7C,MAAM;iBACN;aACD;SAED;QAAC,OAAO,CAAC,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;YAC7C,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAClD;IACF,CAAC;IAEM,eAAe,CAAC,aAAkB,EAAE,MAAe;QACzD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;QAChD,IAAI;YACH,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;YACnC,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;gBACpC,gDAAgD;gBAChD,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACtC,OAAO,IAAI,CAAC;iBACZ;aACD;iBAAM;gBACN,IAAI,CAAC,YAAY,CAAC,uFAAuF,EAAE,OAAO,CAAC,CAAC;gBACpH,OAAO,KAAK,CAAC;aACb;SAED;QAAC,OAAO,CAAC,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,YAAY,CAAC,uFAAuF,EAAE,OAAO,CAAC,CAAC;YACpH,OAAO,KAAK,CAAC;SACb;IACF,CAAC;IAEM,qBAAqB,CAAC,SAAoB;QAChD,QAAQ,SAAS,CAAC,OAAO,EAAE;YAC1B,KAAK,cAAc,CAAC,CAAC;gBACpB,mCAAmC;gBACnC,IAAI,CAAC,YAAY,CAAC,6JAA6J,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAChM,MAAM;aACN;YACD,KAAK,eAAe,CAAC,CAAC;gBACrB,IAAI,CAAC,YAAY,CAAC,uDAAuD,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC1F,MAAM;aACN;SACD;IACF,CAAC;IAEM,iBAAiB,CAAC,KAAa,EAAE,MAAc;QACrD,MAAM,GAAG,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC;QACxC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAEK,YAAY,CAAC,GAAW,EAAE,IAAY,EAAE,OAAiB,EAAE,GAAY,EAAE,MAAW,QAAQ;;YAEjG,IAAI,CAAC,GAAG,EAAE;gBACT,GAAG,GAAG,IAAI,CAAC;aACX;YAED,IAAI,IAAI,KAAK,OAAO,EAAE;gBACrB,IAAI;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;iBAC3B;gBAAC,OAAO,CAAC,EAAE;oBACX,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;iBACnC;gBAED,MAAM,OAAO,GAAiB;oBAC7B,OAAO,EAAE,GAAG;oBACZ,QAAQ,EAAE,GAAG;oBACb,QAAQ,EAAE,GAAG;oBACb,OAAO,EAAE,EAAE;iBACX,CAAC;gBAEF,IAAI,OAAO,EAAE;oBACZ,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;wBACpB,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,GAAG,EAAE;4BACb,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;wBAC/B,CAAC;qBACD,CAAC,CAAC;oBACH,OAAO,OAAO,CAAC,QAAQ,CAAC;iBACxB;gBAED,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gBACvC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;aAE3B;iBAAM,IAAI,IAAI,KAAK,OAAO,EAAE;gBAC5B,IAAI;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;iBAC3B;gBAAC,OAAO,CAAC,EAAE;oBACX,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;iBACnC;gBAED,MAAM,YAAY,GAAG;oBACpB,MAAM,EAAE,wEAAyB;oBACjC,SAAS,EAAE,GAAG;oBACd,OAAO,EAAE,CAAC,IAAI,CAAC;iBACf,CAAC;gBAEF,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACvD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;aAC3B;QAEF,CAAC;KAAA;CAED;;YAjKwB,2DAAe;YAAhC,2DAAe;YACf,mDAAM;;AAQD,oBAAoB;IAHhC,yDAAU,CAAC;QACX,UAAU,EAAE,MAAM;KAClB,CAAC;GACW,oBAAoB,CAwJhC;AAxJgC;;;;;;;;;;;;;;;;;;;;ACVQ;AACA;IAK5B,eAAe,SAAf,eAAe;IAI3B;QAFQ,YAAO,GAAG,IAAI,yCAAO,EAAO,CAAC;IAGrC,CAAC;IAED,WAAW,CAAC,GAAQ;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;IACnC,CAAC;IAED,aAAa;QACZ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;CACD;;AAlBY,eAAe;IAH3B,yDAAU,CAAC;QACX,UAAU,EAAE,MAAM;KAClB,CAAC;GACW,eAAe,CAkB3B;AAlB2B;;;;;;;;;;;;;;;;;;;ACNsB;IAKrC,aAAa,SAAb,aAAa;IAExB,SAAS,CAAC,KAAa,EAAE,IAAU;QAEjC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,QAAQ,KAAK,CAAC,WAAW,EAAE,EAAE;YAC3B,KAAK,qBAAqB;gBACxB,MAAM,GAAG,QAAQ,CAAC;gBAClB,MAAM;YACR,KAAK,oBAAoB;gBACvB,MAAM,GAAG,aAAa,CAAC;gBACvB,MAAM;YACR,KAAK,sBAAsB;gBACzB,MAAM,GAAG,UAAU,CAAC;gBACpB,MAAM;YACR,KAAK,kBAAkB;gBACrB,MAAM,GAAG,cAAc,CAAC;gBACxB,MAAM;YACR,KAAK,oBAAoB;gBACvB,MAAM,GAAG,OAAO,CAAC;gBACjB,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,GAAG,OAAO,CAAC;gBACjB,MAAM;SACT;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA7BY,aAAa;IAHzB,mDAAI,CAAC;QACJ,IAAI,EAAE,WAAW;KAClB,CAAC;GACW,aAAa,CA6BzB;AA7ByB;;;;;;;;;;;;;;;;;;;;ACLwB;IAKrC,aAAa,SAAb,aAAa;IAEtB,SAAS,CAAC,KAAU,EAAE,GAAG,IAAW;QAEhC,IAAI,MAAc,CAAC;QAEnB,QAAQ,KAAK,EAAE;YACX,KAAK,qBAAqB;gBACtB,MAAM,GAAG,WAAW,CAAC;gBACrB,MAAM;YACV,KAAK,oBAAoB;gBACrB,MAAM,GAAG,QAAQ,CAAC;gBAClB,MAAM;YACV,KAAK,oBAAoB;gBACrB,MAAM,GAAG,QAAQ,CAAC;gBAClB,MAAM;YACV,KAAK,sBAAsB;gBACvB,MAAM,GAAG,UAAU,CAAC;gBACpB,MAAM;YACV,KAAK,oBAAoB;gBACrB,MAAM,GAAG,SAAS,CAAC;gBACnB,MAAM;YACV,KAAK,kBAAkB;gBACnB,MAAM,GAAG,SAAS,CAAC;gBACnB,MAAM;SACb;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CAEJ;AA9BY,aAAa;IAHzB,mDAAI,CAAC;QACF,IAAI,EAAE,WAAW;KACpB,CAAC;GACW,aAAa,CA8BzB;AA9ByB;IAmCb,UAAU,SAAV,UAAU;IAEnB,SAAS,CAAC,KAAa,EAAE,IAAa;QAElC,IAAI,MAAc,CAAC;QACnB,IAAI,GAAW,CAAC;QAEhB,IAAI;YACA,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE;gBACrB,GAAG,GAAG,MAAM,CAAC;aAChB;YACD,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;YACrC,OAAO,MAAM,CAAC;SACjB;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,mDAAmD,GAAG,KAAK,GAAG,GAAG,CAAC;SAC5E;IAEL,CAAC;CAEJ;AAnBY,UAAU;IAHtB,mDAAI,CAAC;QACF,IAAI,EAAE,QAAQ;KACjB,CAAC;GACW,UAAU,CAmBtB;AAnBsB;;;;;;;;;;;;;;;;;;;;ACxCkB;AAEE;IAK9B,kBAAkB,SAAlB,kBAAkB;IAc9B,YAAmB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;QAVvC,iBAAY,GAAG,EAAE,CAAC;QAClB,eAAU,GAAe,EAAE,CAAC;QAC5B,eAAU,GAAW,IAAI,CAAC;QAE1B,sBAAiB,GAAsB;YACtC,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,EAAE;SACR,CAAC;QACF,aAAQ,GAAe,EAAE,CAAC;QAGzB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;IACjD,CAAC;CACD;;YAtBO,kDAAS;;AAKJ,kBAAkB;IAH9B,yDAAU,CAAC;QACX,UAAU,EAAE,MAAM;KAClB,CAAC;GACW,kBAAkB,CAiB9B;AAjB8B;;;;;;;;;;;;;;;;;;;;;;;;ACPU;AACiC;AAClC;AACD;AACyE;AACnD;IAMhD,cAAc,SAAd,cAAc;IAE1B,YAAoB,aAA4B,EACtC,QAAkB,EACjB,UAA2B,EAC3B,OAAgB;QAHP,kBAAa,GAAb,aAAa,CAAe;QACtC,aAAQ,GAAR,QAAQ,CAAU;QACjB,eAAU,GAAV,UAAU,CAAiB;QAC3B,YAAO,GAAP,OAAO,CAAS;IAC3B,CAAC;IAED,SAAS;IACT,WAAW;QACV,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE;YAC7B,QAAQ,GAAG,IAAI,CAAC;SAChB;aAAM;YACN,QAAQ,GAAG,KAAK,CAAC;SACjB;QAED,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACpC,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,qCAAqC;IACrC,6BAA6B;IAC7B,kDAAkD;IAClD,YAAY;IACZ,4CAA4C;IAC5C,KAAK;IACL,IAAI;IAEE,OAAO,CAAC,GAAG;;YAChB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1C,OAAO,IAAI,CAAC;YACb,CAAC,CAAC,CAAC;QACJ,CAAC;KAAA;IAED,8BAA8B;IAC9B,6BAA6B;IAC7B,yDAAyD;IACzD,YAAY;IACZ,mDAAmD;IACnD,KAAK;IACL,IAAI;IAEE,OAAO,CAAC,GAAW,EAAE,KAAU;;YACpC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACjD,OAAO,IAAI,CAAC;YACb,CAAC,CAAC,CAAC;QACJ,CAAC;KAAA;IAEK,UAAU,CAAC,GAAG;;YACnB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;KAAA;IAEK,UAAU;;QAEhB,CAAC;KAAA;IAED,gBAAgB;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,KAAa;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4EAAqB,EAAE,KAAK,CAAC,CAAC;QAC/C,YAAY,CAAC,OAAO,CAAC,4EAAqB,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAED,WAAW;QACV,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,4EAAqB,CAAC,CAAC;QAC3C,YAAY,CAAC,UAAU,CAAC,4EAAqB,CAAC,CAAC;IAChD,CAAC;IAED,qBAAqB,CAAC,IAAY;QACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAEK,mBAAmB;;YACxB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4EAAqB,CAAC,CAAC;QAChD,CAAC;KAAA;IAED;;;;OAIG;IACH,aAAa,CAAC,UAAkB;QAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6EAAsB,EAAE,UAAU,CAAC,CAAC;QACrD,YAAY,CAAC,OAAO,CAAC,6EAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,mCAAmC;IAC9G,CAAC;IAEK,aAAa,CAAC,IAAa;;YAChC,IAAI,CAAC,IAAI,EAAE;gBACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6EAAsB,CAAC,CAAC;aAChD;iBAAM;gBACN,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6EAAsB,CAAC,CAAC;gBAClE,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;aACxB;QACF,CAAC;KAAA;IAED,gBAAgB;QACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,6EAAsB,CAAC,CAAC;QAC5C,YAAY,CAAC,UAAU,CAAC,6EAAsB,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;OAOG;IACH,oBAAoB,CAAC,OAA2B;QAC/C,IAAI,OAAO,CAAC,KAAK,IAAI,8EAAuB,EAAE;YAC7C,IAAI,OAAO,CAAC,KAAK,KAAK,8EAAuB,IAAI,OAAO,CAAC,KAAK,GAAG,8EAAuB,EAAE;gBACzF,OAAO,IAAI,CAAC;aACZ;iBAAM;gBACN,OAAO,KAAK,CAAC;aACb;SACD;aAAM;YACN,OAAO,KAAK,CAAC;SACb;IACF,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,WAAmB;QACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,8EAAuB,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;IAEK,iBAAiB;;YACtB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,8EAAuB,CAAC,CAAC;QAClD,CAAC;KAAA;IAED,cAAc,CAAC,WAAmB;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,8EAAuB,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;IAEK,cAAc;;YACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,8EAAuB,CAAC,CAAC;QAClD,CAAC;KAAA;IAED,qBAAqB,CAAC,cAAsB;QAC3C,YAAY,CAAC,OAAO,CAAC,iFAA0B,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,iBAAiB;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,iFAA0B,CAAC,CAAC,CAAC;IACrE,CAAC;IAEK,uBAAuB,CAAC,SAAS,EAAE,IAAI;;YAE5C,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,SAAS,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,IAAI,CAAC,CAAC;YAEvD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAChD,IAAI,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAChE,IAAI,QAAQ,GAAG,CAAC,CAAC;YAEjB,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,oBAAoB,CAAC,CAAC;YAEhE,MAAM,YAAY,GAAG;gBACpB,gEAAgE;gBAChE,OAAO,EAAE,CAAC;gBACV,gEAAgE;gBAChE,mBAAmB,EAAE,CAAC;gBACtB,gEAAgE;gBAChE,kBAAkB,EAAE,CAAC;gBACrB,gEAAgE;gBAChE,oBAAoB,EAAE,CAAC;gBACvB,gEAAgE;gBAChE,gBAAgB,EAAE,CAAC;gBACnB,gEAAgE;gBAChE,kBAAkB,EAAE,CAAC;aACrB,CAAC;YAEF,IAAI,CAAC,oBAAoB,EAAE;gBAC1B,oBAAoB,GAAG,YAAY,CAAC;aACpC;YAED,IAAI,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;gBACrC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACtD,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;gBACjC,CAAC,CAAC,CAAC;gBACH,oBAAoB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;aACtC;iBAAM;gBACN,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACxD,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;gBACjC,CAAC,CAAC,CAAC;gBACH,oBAAoB,CAAC,OAAO,GAAG,QAAQ,CAAC;aACxC;YAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;YAExD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uFAAgC,EAAE,oBAAoB,CAAC,CAAC;QAC1E,CAAC;KAAA;IAEK,uBAAuB;;YAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uFAAgC,CAAC,CAAC;QAC3D,CAAC;KAAA;IAED;;;;OAIG;IACH,WAAW,CAAC,QAAgB;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gFAAyB,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,SAAiB;QACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yFAAkC,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,oBAAoB;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yFAAkC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACzE,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,GAAW,EAAE,KAAU;QACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,EAAE;gBACV,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aAC7B;QACF,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACJ,CAAC;IAGD,uBAAuB;IACvB,yBAAyB;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,yBAAyB,CAAC,aAAqB;QAC9C,MAAM,UAAU,GAAkB,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAClD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,QAAQ;QACP,OAAO,YAAY,CAAC,OAAO,CAAC,4EAAqB,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;OAQG;IACH,oBAAoB,CAAC,aAAqB;QAEzC,MAAM,UAAU,GAAkB,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAClD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE;aACtB,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAChB,IAAI;gBACH,MAAM,gBAAgB,GAAG,EAAE,CAAC;gBAC5B,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;oBAChC,gBAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBAClC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iFAA0B,EAAE,gBAAgB,CAAC,CAAC;aAC/D;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;aACtD;QACF,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;YACnB,IAAI,SAAS,KAAK,IAAI,EAAE;gBACvB,MAAM,gBAAgB,GAAG,EAAE,CAAC;gBAC5B,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;oBAChC,gBAAgB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBAClC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iFAA0B,EAAE,gBAAgB,CAAC,CAAC;aAC/D;QACF,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,IAAY,EAAE,KAAa;QAE3C,IAAI,CAAC,iBAAiB,EAAE;aACtB,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;YACnB,IAAI,MAAc,CAAC;YAEnB,IAAI;gBACH,IAAI,iBAA6B,CAAC;gBAClC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;gBACnE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;oBACjC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,MAAM,GAAG,KAAK,CAAC;iBACf;qBAAM;oBACN,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;wBACpD,OAAO,KAAK,KAAK,KAAK,CAAC;oBACxB,CAAC,CAAC,CAAC;oBACH,SAAS,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC;oBACpC,MAAM,GAAG,QAAQ,CAAC;iBAClB;gBACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iFAA0B,EAAE,SAAS,CAAC,CAAC;gBACxD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;oBAC3B,OAAO,EAAE,gBAAgB;oBACzB,EAAE,EAAE,MAAM;oBACV,SAAS,EAAE,IAAI;oBACf,EAAE,EAAE,KAAK;oBACT,YAAY,EAAE,SAAS;iBACvB,CAAC,CAAC;aACH;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;aAClD;QAEF,CAAC,CAAC,CAAC;IAEL,CAAC;IAED;;OAEG;IACH,iBAAiB;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,iFAA0B,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACjE,OAAO,IAAI,CAAC;QACb,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,4DAA4D;IAC5D,oEAAoE;IACpE,2DAA2D;IAC3D,gDAAgD;IAChD,oDAAoD;IACpD,wCAAwC;IACxC,yCAAyC;IACzC,OAAO;IACP,QAAQ;IACR,qCAAqC;IACrC,6BAA6B;IAC7B,OAAO;IACP,IAAI;IAEJ,4BAA4B,CAAC,SAAS;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,6EAAsB,CAAC,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;QACtD,MAAM,gBAAgB,GAAkB,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YAC5C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;gBAChC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAClC;QACF,CAAC,CAAC,CAAC;QACH,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,gBAAgB,CAAC;IACzB,CAAC;IAEK,6BAA6B,CAAC,SAAiB;;YACpD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6EAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,CAAC;QACJ,CAAC;KAAA;IAEK,4BAA4B,CAAC,SAAS;;YAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6EAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;YAChD,CAAC,CAAC,CAAC;QACJ,CAAC;KAAA;IAEK,yBAAyB,CAAC,SAAS;;YACxC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6EAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,CAAC;QACJ,CAAC;KAAA;IAEK,6BAA6B,CAAC,SAAS;;YAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,6EAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7D,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC;YACjD,CAAC,CAAC,CAAC;QACJ,CAAC;KAAA;IAED;;;;;OAKG;IACH,iCAAiC,CAAC,SAAS,EAAE,QAAS;QACrD,IAAI,YAAoB,CAAC;QACzB,IAAI,SAAS,EAAE;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,6EAAsB,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,QAAQ,EAAE;gBACd,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;aACnD;iBAAM;gBACN,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;aAClD;YACD,OAAO,YAAY,CAAC;SACpB;IACF,CAAC;IAED;;;;;OAKG;IACH,gCAAgC,CAAC,SAAS;QACzC,IAAI,SAAS,EAAE;YACd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,6EAAsB,CAAC,CAAC,CAAC;YACtE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC;YAC5D,OAAO,WAAW,CAAC;SACnB;IAEF,CAAC;IAED,gBAAgB,CAAC,IAAwB;QACxC,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,gFAAyB,CAAC,CAAC;QACtE,IAAI,aAAa,EAAE;YAClB,eAAe;SACf;aAAM;YACN,MAAM,IAAI,GAAkB,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,YAAY,CAAC,OAAO,CAAC,gFAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;SACtE;IACF,CAAC;IAED,gBAAgB;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,gFAAyB,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,uBAAuB;QACtB,IAAI;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,4EAAqB,CAAC,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;SACZ;QAAC,OAAO,CAAC,EAAE;YACX,OAAO,IAAI,CAAC;SACZ;IACF,CAAC;IAED,uBAAuB,CAAC,aAAkC;QACzD,YAAY,CAAC,OAAO,CAAC,4EAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IAEG,aAAa,CAAC,MAAe;;YAClC,IAAI,CAAC,MAAM,EAAE;gBACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4EAAqB,CAAC,CAAC;aAC/C;iBAAM;gBACN,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4EAAqB,CAAC,CAAC;gBAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;aACpB;QACF,CAAC;KAAA;IAEK,gCAAgC,CAAC,KAAK,EAAE,QAAQ;;YACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4EAAqB,CAAC,CAAC;YAEjE,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;YAE5E,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAEhF,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;YAE5C,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAE/C,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;YAE7C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4EAAqB,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;KAAA;IAEK,0BAA0B,CAAC,KAAa;;YAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4EAAqB,CAAC,CAAC;YACjE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4EAAqB,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;KAAA;IAEK,eAAe,CAAC,GAAW;;YAChC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,MAAM,MAAM,GAAQ,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAElD,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;gBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;oBAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBAC1B,OAAO,IAAI,CAAC;qBACZ;gBACF,CAAC,CAAC,CAAC;gBAEH,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;oBACjB,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACzB;aACD;iBAAM;gBACN,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACzB;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,8EAAuB,EAAE,MAAM,CAAC,CAAC;QAC1D,CAAC;KAAA;IAEK,kBAAkB,CAAC,EAAU;;YAClC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;YAExC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,MAAM,MAAM,GAAQ,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAElD,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAE9E,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;gBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;oBAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;wBACzB,OAAO,IAAI,CAAC;qBACZ;gBACF,CAAC,CAAC,CAAC;gBAEH,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;oBACf,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChD,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBAChC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,8EAAuB,EAAE,MAAM,CAAC,CAAC;iBACzD;aAED;QACF,CAAC;KAAA;IAEK,gBAAgB;;YACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,8EAAuB,CAAC,CAAC;YAC/D,OAAO,MAAM,CAAC;QACf,CAAC;KAAA;IAEK,yBAAyB,CAAC,QAAa;;YAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,MAAM,UAAU,GAAQ,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAEnD,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;gBACtC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAEtD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC7F,IAAI,SAAS,EAAE;wBACd,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACrG,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC;wBACrD,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBAClD;yBAAM;wBACN,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBAClD;iBAED;qBAAM;oBACN,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;iBAChD;aAED;iBAAM;gBACN,UAAU,CAAC,MAAM,CAAC,GAAG;oBACpB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC;iBAC5B,CAAC;aACF;YAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4EAAqB,EAAE,UAAU,CAAC,CAAC;QACrD,CAAC;KAAA;IAED,iBAAiB,CAAC,QAAQ,EAAE,aAAc;QACzC,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAErC,MAAM,GAAG,GAAQ,EAAE,CAAC;YAEpB,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBACpC,4BAA4B;gBAC5B,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC;gBACtB,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;gBACf,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,GAAG,KAAK,IAAI,EAAE;oBACjB,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACnB;gBACD,IAAI,GAAG,GAAG,GAAG,EAAE;oBACd,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC;iBACtB;qBAAM;oBACN,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC;iBAClB;gBACD,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACzB;QAEF,CAAC,CAAC,CAAC;QAEH,uFAAuF;QACvF,qFAAqF;QACrF,mBAAmB;QACnB,MAAM,cAAc,GAAG;YACtB,gEAAgE;YAChE,oBAAoB,EAAE,CAAC,4BAA4B,CAAC;YACpD,gEAAgE;YAChE,kBAAkB,EAAE,CAAC,KAAK,CAAC;SAC3B,CAAC;QAEF,6BAA6B;QAC7B,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;QACxE,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACvC,6EAA6E;YAC7E,IAAI,cAAc,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;gBACjD,kEAAkE;gBAClE,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBACvD,qDAAqD;oBACrD,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACtC;aACD;QACF,CAAC,CAAC,CAAC;QAEH,uDAAuD;QACvD,kEAAkE;QAClE,8CAA8C;QAC9C,IAAI,oBAAoB,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,EAAE;YAC1D,OAAO,cAAc,CAAC;SACtB;aAAM;YACN,OAAO,oBAAoB,CAAC;SAC5B;QAED,yBAAyB;IAC1B,CAAC;IAEK,wBAAwB,CAAC,aAAa;;YAE3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC5D,MAAM,cAAc,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC;YACjE,MAAM,QAAQ,GAAG,EAAE,CAAC;YAEpB,sDAAsD;YACtD,MAAM,yBAAyB,GAAG,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAC/E,IAAI,yBAAyB,GAAG,CAAC,CAAC,EAAE;gBACnC,cAAc,CAAC,yBAAyB,CAAC,GAAG,oBAAoB,CAAC;aACjE;YAED,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC/B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC;QACjB,CAAC;KAAA;IAEK,uBAAuB,CAAC,QAAuB;;YACpD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG,EAAE,CAAC;YAExB,iEAAiE;YACjE,EAAE;YACF,gFAAgF;YAChF,gFAAgF;YAChF,mFAAmF;YACnF,6BAA6B;YAC7B,+GAA+G;YAC/G,uDAAuD;YACvD,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1B,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;oBAChD,cAAc,GAAG,aAAa,CAAC;iBAC/B;qBAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE;oBACvD,cAAc,GAAG,aAAa,CAAC;iBAC/B;aACD;YAED,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAChC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;gBACrD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,OAAO,YAAY,CAAC;QAErB,CAAC;KAAA;IAED,gBAAgB,CAAC,MAAc;QAC9B,YAAY,CAAC,OAAO,CAAC,gFAAyB,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,gBAAgB;QACf,OAAO,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9C,CAAC;IAED,mBAAmB;QAClB,OAAO,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACjD,CAAC;IAED,6BAA6B,CAAC,MAAc;QAC3C,YAAY,CAAC,OAAO,CAAC,mGAA4C,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAED,6BAA6B;QAC5B,OAAO,YAAY,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IACjE,CAAC;IAED,gCAAgC;QAC/B,OAAO,YAAY,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC;IACpE,CAAC;CAGD;;YAtuBO,sFAAa;YACb,oDAAQ;YAGR,uEAAe;YAFf,mDAAO;;AAQF,cAAc;IAH1B,yDAAU,CAAC;QACX,UAAU,EAAE,MAAM;KAClB,CAAC;GACW,cAAc,CA4tB1B;AA5tB0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXc;AACqE;AACpC;AAChB;AACnB;AACsB;AACD;AACjC;AACmD;AACxC;AACkC;IAK3D,WAAW,SAAX,WAAW;IAwGvB,YAAmB,SAA0B,EACnC,WAA8B,EAC9B,SAA0B,EAC1B,SAA0B,EAC1B,QAAkB,EACjB,cAA8B,EAC9B,MAAc,EACd,aAAmC,EACnC,YAAgC,EAChC,UAA2B;QATnB,cAAS,GAAT,SAAS,CAAiB;QACnC,gBAAW,GAAX,WAAW,CAAmB;QAC9B,cAAS,GAAT,SAAS,CAAiB;QAC1B,cAAS,GAAT,SAAS,CAAiB;QAC1B,aAAQ,GAAR,QAAQ,CAAU;QACjB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,kBAAa,GAAb,aAAa,CAAsB;QACnC,iBAAY,GAAZ,YAAY,CAAoB;QAChC,eAAU,GAAV,UAAU,CAAiB;QA9GtC,oBAAe,GAAG;YACjB,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,CAAC;YACf,SAAS,EAAE;gBACV,YAAY,EAAE,CAAC;aACf;SACD,CAAC;QAIF,cAAS,GAAG;YACX,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,uBAAuB;YAC9B,KAAK,EAAE,uBAAuB;YAC9B,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,iBAAiB;YACxB,KAAK,EAAE,8BAA8B;YACrC,KAAK,EAAE,0BAA0B;YACjC,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,mBAAmB;YAC1B,KAAK,EAAE,mBAAmB;YAC1B,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,oBAAoB;YAC3B,MAAM,EAAE,yEAAyE;YACjF,KAAK,EAAE,+BAA+B;YACtC,MAAM,EAAE,sBAAsB;YAC9B,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,0BAA0B;YACjC,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,0BAA0B;YACjC,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,kBAAkB;YAC1B,QAAQ,EAAE,qBAAqB;YAC/B,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,iBAAiB;YACxB,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,qCAAqC;YAC7C,KAAK,EAAE,iDAAiD;YACxD,KAAK,EAAE,gDAAgD;YACvD,KAAK,EAAE,yCAAyC;YAChD,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,iBAAiB;YACxB,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,iBAAiB;YACxB,KAAK,EAAE,yBAAyB;YAChC,KAAK,EAAE,+BAA+B;YACtC,MAAM,EAAE,2EAA2E;YACnF,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,mBAAmB;YAC1B,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,uBAAuB;YAC9B,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,uBAAuB;YAChC,KAAK,EAAE,0BAA0B;YACjC,MAAM,EAAE,mEAAmE;YAC3E,KAAK,EAAE,iBAAiB;YACxB,KAAK,EAAE,iCAAiC;YACxC,KAAK,EAAE,iBAAiB;YACxB,KAAK,EAAE,wBAAwB;YAC/B,KAAK,EAAE,0BAA0B;YACjC,IAAI,EAAE,6BAA6B;YACnC,KAAK,EAAE,YAAY;SACnB,CAAC;QAEF,4BAAuB,GAAG;YACzB,kBAAkB;YAClB,qBAAqB;YACrB,uBAAuB;YACvB,sBAAsB;YACtB,oBAAoB;YACpB,qBAAqB;YACrB,YAAY;YACZ,oBAAoB;SACpB,CAAC;IAYF,CAAC;IAEK,mBAAmB,CAAC,GAAW,EAAE,MAAc,IAAI,EAAE,MAAW,QAAQ;;YAE7E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBACzC,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,GAAG;aACb,CAAC,CAAC;YAEH,KAAK,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC;KAAA;IAED;;;;OAIG;IACH,qBAAqB,CAAC,MAAc,EAAE,IAAY;QAEjD,MAAM,WAAW,GAAG;YACnB,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE,WAAW;YACvB,eAAe,EAAE,WAAW;YAC5B,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,UAAU;YACxB,SAAS,EAAE,aAAa;YACxB,cAAc,EAAE,aAAa;YAC7B,YAAY,EAAE,QAAQ;YACtB,iBAAiB,EAAE,QAAQ;YAC3B,WAAW,EAAE,SAAS;YACtB,gBAAgB,EAAE,SAAS;YAC3B,YAAY,EAAE,UAAU;YACxB,iBAAiB,EAAE,UAAU;YAC7B,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,aAAa;YAC1B,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,SAAS;YACtB,UAAU,EAAE,SAAS;YACrB,eAAe,EAAE,SAAS;YAC1B,UAAU,EAAE,aAAa;YACzB,eAAe,EAAE,aAAa;YAC9B,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,WAAW;YACvB,eAAe,EAAE,WAAW;YAC5B,QAAQ,EAAE,WAAW;YACrB,aAAa,EAAE,WAAW;YAC1B,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,aAAa;YAC1B,KAAK,EAAE,SAAS;YAChB,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,OAAO;YAClB,cAAc,EAAE,OAAO;YACvB,QAAQ,EAAE,aAAa;YACvB,aAAa,EAAE,aAAa;YAC5B,QAAQ,EAAE,WAAW;YACrB,aAAa,EAAE,WAAW;YAC1B,SAAS,EAAE,WAAW;YACtB,cAAc,EAAE,WAAW;YAC3B,MAAM,EAAE,aAAa;YACrB,WAAW,EAAE,aAAa;SAC1B,CAAC;QAEF,MAAM,QAAQ,GAAG;YAChB,OAAO,EAAE,MAAM;YACf,cAAc,EAAE,aAAa;YAC7B,aAAa,EAAE,QAAQ;SACvB,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE;YAEnC,IAAI,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;gBACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBAC7B,IAAI,IAAI,KAAK,MAAM,EAAE;wBACpB,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;qBACvD;oBACD,IAAI,IAAI,KAAK,MAAM,EAAE;wBACpB,QAAQ,CAAC,cAAc,CAAC,GAAG,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;wBAClE,QAAQ,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;qBAChC;oBACD,OAAO,QAAQ,CAAC;iBAChB;qBAAM;oBACN,IAAI,IAAI,KAAK,MAAM,EAAE;wBACpB,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;wBACvD,QAAQ,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;qBACjC;oBACD,IAAI,IAAI,KAAK,MAAM,EAAE;wBACpB,QAAQ,CAAC,cAAc,CAAC,GAAG,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;wBAClE,QAAQ,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;qBAChC;oBAED,OAAO,QAAQ,CAAC;iBAChB;aACD;iBAAM;gBACN,IAAI,IAAI,KAAK,MAAM,EAAE;oBACpB,QAAQ,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;iBAChC;gBACD,OAAO,QAAQ,CAAC;aAChB;SACD;IACF,CAAC;IAED,WAAW;QACV,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAClE,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CAAC,GAAW,EAAE,MAAc,EAAE,WAAmB,EAAE,GAAa;QAC5E,IAAI,IAAY,CAAC;QAEjB,IAAI,GAAG,EAAE;YACR,IAAI,GAAG,GAAG,CAAC;SACX;aAAM;YACN,IAAI,GAAG,GAAG,CAAC;SACX;QAED,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxC,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACzD,OAAO,eAAe,CAAC;IACxB,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC9B,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAEK,aAAa,CAAC,MAAc,EAAE;;YAEnC,IAAI;gBACH,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aACrB;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;aAC9C;YAED,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBAC3C,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KAAA;IAEK,aAAa;;YAClB,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAChD,OAAO,SAAS,EAAE;gBACjB,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE;oBACjC,QAAQ;iBACR;gBACD,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;aAC5C;QACF,CAAC;KAAA;IAED,SAAS,CAAC,CAAM;QAEf,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE3B,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,EAAE;YACxB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;SACb;QAED,iEAAiE;QACjE,uCAAuC;QACvC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,aAAa;QACZ,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAC/E,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACI,UAAU,CAAC,IAAI,EAAE,eAAwB,KAAK,EAAE,MAAe;QAErE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,YAAY,EAAE;YAC9C,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SAC1B;QAED,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;QACpC,IAAI,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,KAAK,GAAG,GAAG,GAAG,KAAK,CAAC;SACpB;QACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACnB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;SAChB;QACD,IAAI,CAAC,MAAM,EAAE;YACZ,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACpC;aAAM;YACN,IAAI,MAAM,KAAK,YAAY,EAAE;gBAC5B,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACpC;SACD;IACF,CAAC;IAED,WAAW,CAAC,MAAc;QACzB,MAAM,KAAK,GAAG,gEAAgE,CAAC;QAC/E,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;YAChC,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAChE;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAEM,YAAY,CAAC,OAAO,EAAE,WAAW;QACvC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,CAAC;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE;YACzE,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;YAC/D,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aACrC;YACD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;YAC9C,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3B;QACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;YACjC,IAAI,EAAE,WAAW;SACjB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACb,CAAC;IAEK,cAAc;;YAEnB,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG;kBACzC,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG;kBAClC,WAAW,CAAC,WAAW,EAAE,GAAG,GAAG;kBAC/B,WAAW,CAAC,QAAQ,EAAE,GAAG,GAAG;kBAC5B,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG;kBAC9B,WAAW,CAAC,UAAU,EAAE,CAAC;YAE5B,OAAO,QAAQ,CAAC;QACjB,CAAC;KAAA;IAEK,mBAAmB,CAAC,YAAqB,IAAI;;YAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YACjE,IAAI;gBACH,IAAI,cAAc,EAAE;oBACnB,IAAI,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;wBAE/C,IAAI,SAAS,EAAE;4BACd,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gCAExD,yEAAyE;gCACzE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAC,eAAe,EAAE,IAAI,EAAC,CAAC,CAAC;gCAErD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oCACzC,MAAM,EAAE,wEAAyB;oCACjC,SAAS,EAAE,2EAA4B;oCACvC,OAAO,EAAE,CAAC;4CACT,IAAI,EAAE,yEAA0B;4CAChC,IAAI,EAAE,oBAAoB;4CAC1B,OAAO,EAAE,GAAG,EAAE;gDACb,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,+EAAwB,CAAC,CAAC,CAAC;4CAClD,CAAC;yCACD,EAAE;4CACF,IAAI,EAAE,yEAA0B;4CAChC,IAAI,EAAE,QAAQ;yCACd,CAAC;oCACF,eAAe,EAAE,KAAK;iCACtB,CAAC,CAAC;gCAEH,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;gCACtB,OAAO,KAAK,CAAC,YAAY,EAAE,CAAC;6BAC5B;yBACD;6BAAM;4BACN,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;yBAC3D;qBACD;iBACD;aACD;YAAC,OAAO,CAAC,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC;aAC9C;QACF,CAAC;KAAA;IAEK,YAAY,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM;;YACjD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBACzC,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,YAAY;gBACvB,OAAO,EAAE,CAAC;wBACT,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,QAAQ;qBACd,EAAE;wBACF,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;qBACd,CAAC;aACF,CAAC,CAAC;YAEH,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC,YAAY,EAAE,CAAC;QAC7B,CAAC;KAAA;IAED;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,KAAa,EAAE,QAAuB,EAAE,MAAc;QAC5E,IAAI,MAAM,CAAC;QACX,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC/B,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACxC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAa;QACrB,IAAI,GAAG,GAAG,GAAG,CAAC;QACd,IAAI,MAAM,CAAC;QACX,MAAM,SAAS,GAAG,KAAK,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;QACjC,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE;YACjC,GAAG,GAAG,GAAG,CAAC;YACV,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;gBACvB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;aAC1C;iBAAM;gBACN,MAAM,GAAG,KAAK,CAAC;aACf;YACD,OAAO,MAAM,CAAC;SACd;aAAM,IAAI,MAAM,IAAI,GAAG,EAAE;YACzB,GAAG,GAAG,EAAE,CAAC;YACT,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;gBACvB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;aAC1C;iBAAM;gBACN,MAAM,GAAG,KAAK,CAAC;aACf;YACD,OAAO,MAAM,CAAC;SACd;aAAM,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;YAC9B,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;SACxC;aAAM;YACN,OAAO,KAAK,CAAC;SACb;IACF,CAAC;IAGD;;OAEG;IAEG,4BAA4B,CAAC,IAAI;;YACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,QAAQ,CAAC,CAAC;YACjE,IAAI,QAAQ,EAAE;gBACb,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,oFAA6B,EAAE,CAAC,CAAC,CAAC;aACpE;iBAAM;gBACN,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,yEAA0B,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;aAC3E;QACF,CAAC;KAAA;IAEK,QAAQ,CAAC,KAAa,EAAE,KAAc;;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,+CAAW,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,2CAAa,CAAC,OAAO,EAAE,EAAC,YAAY,EAAE,GAAG,EAAC,CAAC,CAAC;YACzD,IAAI,KAAK,EAAE;gBACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACrD,OAAO,MAAM,CAAC;aACd;iBAAM;gBACN,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;aACvB;QACF,CAAC;KAAA;IAED,aAAa,CAAC,GAAW;QACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzC,OAAO,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAEK,SAAS,CAAC,IAAY;;YAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;KAAA;IAEK,oBAAoB,CAAC,KAAa;;YACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;KAAA;IAED,kCAAkC,CAAC,UAAU;QAC5C,IAAI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YACtD,OAAO,UAAU,CAAC;SAClB;aAAM;YACN,OAAO,SAAS,CAAC;SACjB;IACF,CAAC;CAED;;YA7iBsE,2DAAe;YAA7D,6DAAiB;YAAE,2DAAe;YAAnD,2DAAe;YAAsC,oDAAQ;YAE7D,oEAAc;YACd,oDAAM;YAIN,wFAAoB;YAEpB,kFAAkB;YALlB,uEAAe;;AAUV,WAAW;IAHvB,0DAAU,CAAC;QACX,UAAU,EAAE,MAAM;KAClB,CAAC;GACW,WAAW,CA+hBvB;AA/hBuB;;;;;;;;;;;;;;;;;;;ACfxB,SAAS;AACF,MAAM,SAAS,GAAG;IACxB,MAAM,EAAE;QACP,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,uBAAuB;QACjC,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,0BAA0B;QACpC,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,sBAAsB;KAChC;IACD,SAAS,EAAE;QACV,QAAQ,EAAE,wDAAwD;QAClE,QAAQ,EAAE,gFAAgF;QAC1F,QAAQ,EAAE,wCAAwC;QAClD,QAAQ,EAAE,kIAAkI;QAC5I,QAAQ,EAAE,wIAAwI;QAClJ,QAAQ,EAAE,iEAAiE;QAC3E,QAAQ,EAAE,yDAAyD;QACnE,QAAQ,EAAE,qGAAqG;QAC/G,QAAQ,EAAE,0JAA0J;QACpK,QAAQ,EAAE,mIAAmI;QAC7I,QAAQ,EAAE,yJAAyJ;QACnK,QAAQ,EAAE,wEAAwE;QAClF,QAAQ,EAAE,qCAAqC;QAC/C,QAAQ,EAAE,4EAA4E;QACtF,QAAQ,EAAE,2DAA2D;KACrE;IACD,OAAO,EAAE;QACR,QAAQ,EAAE,kBAAkB;QAC5B,QAAQ,EAAE,iGAAiG;QAC3G,QAAQ,EAAE,uHAAuH;QACjI,QAAQ,EAAE,+FAA+F;QACzG,QAAQ,EAAE,mHAAmH;QAC7H,QAAQ,EAAE,mHAAmH;QAC7H,QAAQ,EAAE,yHAAyH;QACnI,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;KACZ;IACD,OAAO,EAAE;QACR,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,yBAAyB;QACnC,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,uBAAuB;QACjC,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE,2BAA2B;QACrC,QAAQ,EAAE,wBAAwB;QAClC,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,UAAU;KACpB;CACD,CAAC;AACF,SAAS;AACF,MAAM,SAAS,GAAG;IACxB,OAAO,EAAE;QACR,QAAQ,EAAE,oFAAoF;QAC9F,QAAQ,EAAE,mDAAmD;QAC7D,QAAQ,EAAE,qDAAqD;QAC/D,QAAQ,EAAE,gIAAgI;QAC1I,QAAQ,EAAE,qCAAqC;QAC/C,QAAQ,EAAE,oDAAoD;QAC9D,QAAQ,EAAE,iGAAiG;QAC3G,QAAQ,EAAE,2CAA2C;QACrD,QAAQ,EAAE,6CAA6C;QACvD,QAAQ,EAAE,sCAAsC;QAChD,QAAQ,EAAE,qDAAqD;KAC/D;CACD,CAAC;AAEF,SAAS;AACF,MAAM,UAAU,GAAG;IACzB,OAAO,EAAE;QACR,QAAQ,EAAE,uBAAuB;KACjC;CACD,CAAC;AAEF,QAAQ;AAER,SAAS;AACF,MAAM,WAAW,GAAG;IAC1B,SAAS,EAAE;QACV,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,UAAU;QACjB,QAAQ,EAAE,qBAAqB;QAC/B,WAAW,EAAE,+CAA+C;KAC5D;CACD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5GF,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;;GAMG;AAC8B,CAAE,oDAAoD;AAEvF,mCAAmC;AACnC,qCAAqC;AACrC,4CAA4C;AAC5C,2DAA2D;AAE3D,gEAAgE;AAChE,uEAAuE;AAEvE,2DAA2D;AAC3D,kEAAkE;AAE3D,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,MAAM,wBAAwB,GAAG,kCAAkC,CAAC;AAEpE,MAAM,YAAY,GAAG;IAC1B,KAAK,EAAE,gBAAgB;IACvB,MAAM,EAAE,iBAAiB;IACzB,UAAU,EAAE,4BAA4B;IACxC,OAAO,EAAE,sBAAsB;CAChC,CAAC;AAEK,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC,MAAM,UAAU,GAAG;IACxB,SAAS,EAAE,qBAAqB;IAChC,KAAK,EAAE,iBAAiB;IACxB,cAAc,EAAE,0BAA0B;IAC1C,MAAM,EAAE,kBAAkB;IAC1B,OAAO,EAAE,mBAAmB;IAC5B,gBAAgB,EAAE,6BAA6B;IAC/C,aAAa,EAAE,0BAA0B;CAC1C,CAAC;AAEK,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,cAAc;IACzB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,gBAAgB;IAChC,oBAAoB,EAAE,sBAAsB;IAC5C,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,eAAe;IAC9B,gCAAgC,EAAE,kCAAkC;IACpE,IAAI,EAAE;QACJ,QAAQ,EAAE,UAAU;QACpB,iBAAiB,EAAE,mBAAmB;QACtC,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,QAAQ;QAChB,YAAY,EAAE,cAAc;QAC5B,cAAc,EAAE,gBAAgB;QAChC,uBAAuB,EAAE,yBAAyB;KACnD;CACF,CAAC;AAEK,MAAM,YAAY,GAAG;IAC1B,iBAAiB,EAAE,oBAAoB;CACxC,CAAC;AAEK,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,gCAAgC;CAC5C,CAAC;AAEK,MAAM,mBAAmB,GAAG;IACjC,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;CACzB,CAAC;AAEK,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE;QACV,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,KAAK;KACX;IACD,YAAY,EAAE,MAAM;CACrB,CAAC;AAEK,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;AACtD,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAC/C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAC/C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C,MAAM,aAAa,GAAG,wBAAwB,CAAC;;;;;;;;;;;;;;;;;AC1GP;AAC4B;AAE9B;AACY;AAEzD,IAAI,6EAAsB,EAAE;IAC1B,6DAAc,EAAE,CAAC;CAClB;AAED,yFAAsB,EAAE,CAAC,eAAe,CAAC,sDAAS,CAAC;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;ACXlC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;;;;;;ACpPA,iEAAe,0EAA0E;;;;;;;;;;;;;;;;;;;;;ACAzF","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.config.ts","./src/app/app.module.ts","./src/app/directives.module.ts","./src/app/directives/content-position.directive.ts","./src/app/directives/dateien-in-bearbeitung.directive.ts","./src/app/directives/nav-position.directive.ts","./src/app/directives/network-status.directive.ts","./src/app/directives/toggle-footer.directive.ts","./src/app/directives/under-construction.directive.ts","./src/app/provider/datei-system/datei-system.service.ts","./src/app/provider/error-handling/error-handling.service.ts","./src/app/provider/messages/messages.service.ts","./src/app/provider/pipes/icon-class.pipe.ts","./src/app/provider/pipes/translate.pipe.ts","./src/app/provider/session-data/session-data.service.ts","./src/app/provider/storage/storage.service.ts","./src/app/provider/user/user.service.ts","./src/app/strings/language.ts","./src/environments/environment.ts","./src/main.ts","./node_modules/@ionic/core/dist/esm|lazy|/^/.*/.entry/.js$/|include: /.entry/.js$/|exclude: /.system/.entry/.js$/|groupOptions: {}|namespace object","./src/app/app.component.html","ignored|C:\\Users\\s.birke\\development\\comundus\\ionic\\capacitor\\com.comundus.regisafe.iq\\node_modules\\crypto-js|crypto"],"sourcesContent":["import {NgModule} from '@angular/core';\r\nimport {PreloadAllModules, RouterModule, Routes} from '@angular/router';\r\n\r\nconst routes: Routes = [\r\n\t{\r\n\t\tpath: '',\r\n\t\tloadChildren: () => import('./regisafe/regisafe.module').then(m => m.TabsPageModule)\r\n\t},\r\n\t{\r\n\t\tpath: 'detail',\r\n\t\tloadChildren: () => import('./views/detail/detail.module').then(m => m.DetailPageModule),\r\n\r\n\t},\r\n\t{\r\n\t\tpath: 'in-bearbeitung',\r\n\t\tloadChildren: () => import('./views/in-bearbeitung/in-bearbeitung.module').then(m => m.InBearbeitungPageModule)\r\n\t},\r\n\t{\r\n\t\tpath: 'dateien-zuordnen',\r\n\t\tloadChildren: () => import('./views/dateien-zuordnen/dateien-zuordnen.module').then(m => m.DateienZuordnenPageModule)\r\n\t},\r\n\t{\r\n\t\tpath: 'hierarchie',\r\n\t\tloadChildren: () => import('./views/hierarchie/hierarchie.module').then(m => m.HierarchiePageModule)\r\n\t},\r\n\t{\r\n\t\tpath: 'abmeldung',\r\n\t\tloadChildren: () => import('./views/abmeldung/abmeldung.module').then(m => m.AbmeldungPageModule)\r\n\t}\r\n];\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tRouterModule.forRoot(routes, {\r\n\t\t\tpreloadingStrategy: PreloadAllModules,\r\n\t\t\tuseHash: true,\r\n\t\t\tonSameUrlNavigation: 'reload'\r\n\t\t})\r\n\t],\r\n\texports: [RouterModule]\r\n})\r\nexport class AppRoutingModule {\r\n}\r\n","import {Component, OnInit} from '@angular/core';\r\nimport {AlertController, LoadingController, Platform} from '@ionic/angular';\r\nimport {Intent, WebIntent} from '@awesome-cordova-plugins/web-intent/ngx';\r\nimport {FilePath} from '@awesome-cordova-plugins/file-path/ngx';\r\nimport {\r\n\tActivatedRoute,\r\n\tNavigationCancel,\r\n\tNavigationEnd,\r\n\tNavigationError,\r\n\tNavigationStart,\r\n\tRouter\r\n} from '@angular/router';\r\nimport {APP_ROUTES, APP_STORAGE, IQAPI_ROUTES} from '../environments/environment';\r\nimport {StorageService} from './provider/storage/storage.service';\r\nimport {DateiSystemService} from './provider/datei-system/datei-system.service';\r\nimport {UserService} from './provider/user/user.service';\r\nimport {SendIntent} from 'send-intent';\r\nimport {ErrorHandlingService} from './provider/error-handling/error-handling.service';\r\nimport {ALERT_TXT, LOADER_TXT, TOAST_TXT} from './strings/language';\r\nimport {MessagesService} from './provider/messages/messages.service';\r\nimport {SessionDataService} from './provider/session-data/session-data.service';\r\nimport {App as CapacitorApp, App, URLOpenListenerEvent} from '@capacitor/app';\r\nimport {Keyboard} from '@capacitor/keyboard';\r\nimport {Capacitor} from '@capacitor/core';\r\nimport {tap} from 'rxjs/operators';\r\nimport {HttpClient, HttpResponse} from '@angular/common/http';\r\nimport {ConfigurationObject} from './interfaces/interfaces.regisafe';\r\nimport {AppConfig} from './app.config';\r\n\r\n@Component({\r\n\tselector: 'app-root',\r\n\ttemplateUrl: 'app.component.html',\r\n\tstyleUrls: ['app.component.scss'],\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n\tpublic configuration: ConfigurationObject;\r\n\tpublic selectedIndex = 0;\r\n\tpublic appPages = [\r\n\t\t{\r\n\t\t\ttitle: 'Suchen',\r\n\t\t\turl: '/search',\r\n\t\t\ticon: 'search',\r\n\t\t\tdisable: false\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Favoriten',\r\n\t\t\turl: '/favorites',\r\n\t\t\ticon: 'star',\r\n\t\t\tdisable: false\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Dateien zuordnen',\r\n\t\t\turl: '/assign-files',\r\n\t\t\ticon: 'clipboard',\r\n\t\t\tdisable: false\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Dateien in Bearbeitung',\r\n\t\t\turl: '/edit-files',\r\n\t\t\ticon: 'create',\r\n\t\t\tdisable: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Einstellungen',\r\n\t\t\turl: '/settings',\r\n\t\t\ticon: 'settings',\r\n\t\t\tdisable: true\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Informationen',\r\n\t\t\turl: '/information',\r\n\t\t\ticon: 'information-circle',\r\n\t\t\tdisable: false\r\n\t\t},\r\n\t\t{\r\n\t\t\ttitle: 'Abmelden',\r\n\t\t\turl: '/logout',\r\n\t\t\ticon: 'log-out',\r\n\t\t\tdisable: false\r\n\t\t}\r\n\t];\r\n\r\n\talert: HTMLIonAlertElement;\r\n\tloader: HTMLIonLoadingElement;\r\n\r\n\tconstructor(private platform: Platform,\r\n\t\t\t\tprivate webIntent: WebIntent,\r\n\t\t\t\tprivate filePath: FilePath,\r\n\t\t\t\tprivate router: Router,\r\n\t\t\t\tprivate alertCtrl: AlertController,\r\n\t\t\t\tprivate loadingCtrl: LoadingController,\r\n\t\t\t\tprivate errorHandling: ErrorHandlingService,\r\n\t\t\t\tprivate activatedRoute: ActivatedRoute,\r\n\t\t\t\tprivate storageService: StorageService,\r\n\t\t\t\tprivate userService: UserService,\r\n\t\t\t\tprivate dateiSystem: DateiSystemService,\r\n\t\t\t\tprivate msgService: MessagesService,\r\n\t\t\t\tpublic appConfig: AppConfig,\r\n\t\t\t\tprivate httpClient: HttpClient,\r\n\t\t\t\tprivate sessionData: SessionDataService) {\r\n\r\n\t\tthis.configuration = this.appConfig.getConfig();\r\n\r\n\t\tif (Capacitor.getPlatform() !== 'web') {\r\n\t\t\tKeyboard.setAccessoryBarVisible({isVisible: true});\r\n\t\t} else {\r\n\t\t\tconsole.log('Platform is: ', Capacitor.getPlatform());\r\n\t\t}\r\n\r\n\t\tCapacitorApp.addListener('backButton', async ({canGoBack}) => {\r\n\t\t\tconst url = this.router.url;\r\n\t\t\tif (url === '/regisafe/suche') {\r\n\t\t\t\tthis.leaveAppAlert();\r\n\t\t\t} else {\r\n\t\t\t\tif (canGoBack) {\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\twindow.history.back();\r\n\t\t\t\t\t}, 150);\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.leaveAppAlert();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.initializeApp();\r\n\r\n\t\t// For MDM!!!\r\n\t\t// https://github.com/oracle/cordova-plugin-emm-app-config\r\n\r\n\t\t// Aktuelle Seite in Navigation auf activ (selected) setzen\r\n\t\t// Beim RouterEvent 'NavigationEnd' wird die aktuelle URL ausgelesen\r\n\t\t// und mit dem Array this.appPages verglichen.\r\n\t\tthis.router.events.subscribe((event: any) => {\r\n\r\n\t\t\tswitch (true) {\r\n\t\t\t\tcase event instanceof NavigationEnd: {\r\n\t\t\t\t\tconst path = this.router.url;\r\n\t\t\t\t\tthis.selectedIndex = this.appPages.findIndex(page => page.url.toLowerCase() === path.toLowerCase());\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tcase event instanceof NavigationStart: {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase event instanceof NavigationCancel:\r\n\t\t\t\tcase event instanceof NavigationError: {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdefault: {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tasync leaveAppAlert() {\r\n\t\tthis.alert = await this.alertCtrl.create({\r\n\t\t\theader: ALERT_TXT.header.str00010,\r\n\t\t\tsubHeader: ALERT_TXT.subHeader.str00150,\r\n\t\t\tbuttons: [{\r\n\t\t\t\ttext: 'Verlassen',\r\n\t\t\t\thandler: () => {\r\n\t\t\t\t\tthis.alert.dismiss(true);\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\ttext: 'Abbrechen',\r\n\t\t\t\trole: 'cancel',\r\n\t\t\t\thandler: () => {\r\n\t\t\t\t\tthis.alert.dismiss(false);\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}]\r\n\t\t});\r\n\r\n\t\tawait this.alert.present();\r\n\t\tawait this.alert.onDidDismiss().then((event) => {\r\n\t\t\tif (event.data === true && event.role !== 'cancel') {\r\n\t\t\t\tthis.sessionLogoutAndCloseApp();\r\n\t\t\t} else {\r\n\t\t\t\t// Stay here\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tasync sessionLogoutAndCloseApp() {\r\n\r\n\t\tthis.loader = await this.loadingCtrl.create({\r\n\t\t\tmessage: LOADER_TXT.message.str00010\r\n\t\t});\r\n\t\tawait this.loader.present();\r\n\r\n\t\tconst accountData = {\r\n\t\t\tapiID: this.configuration.iqapiAppId,\r\n\t\t\tsessionToken : this.storageService.getToken() || '123'\r\n\t\t};\r\n\t\tconst options: object = {headers: {}, responseType: 'json', reportProgress: true, observe: 'response'};\r\n\t\tthis.httpClient\r\n\t\t\t.post(this.configuration.iqapiEndpoint + IQAPI_ROUTES.logout, accountData, options)\r\n\t\t\t.pipe(tap((res: HttpResponse) => {\r\n\t\t\t\t// SessionToken aus Datenbank löschen\r\n\t\t\t\tthis.storageService.removeToken();\r\n\t\t\t}))\r\n\t\t\t.subscribe(async (data: HttpResponse) => {\r\n\t\t\t\tawait this.loader.dismiss();\r\n\t\t\t\tthis.loader = null;\r\n\t\t\t\tApp.exitApp();\r\n\t\t\t}, async (error) => {\r\n\t\t\t\t// Fehlerfall ignorieren, ggf. vorhandenen Token löschen und Weiterleitung zur Anmeldung\r\n\t\t\t\tthis.storageService.removeToken();\r\n\t\t\t\tawait this.loader.dismiss();\r\n\t\t\t\tthis.loader = null;\r\n\t\t\t\tApp.exitApp();\r\n\t\t\t});\r\n\t}\r\n\r\n\r\n\tasync initializeApp() {\r\n\t\tthis.platform.ready().then(async () => {\r\n\r\n\t\t\t// Hide the splash (you should do this on app launch)\r\n\t\t\t// await SplashScreen.hide();\r\n\r\n\t\t\tif (this.platform.is('ios')) {\r\n\t\t\t\t// create Folder for \"Datei zuordnen\"\r\n\t\t\t\t// this.fileSystemService.createMainFolderForCapture();\r\n\t\t\t\t// create Folder for \"Datei bearbeiten\"\r\n\t\t\t\t// this.fileSystemService.createMainFolderForEdit();\r\n\t\t\t} else if (this.platform.is('android')) {\r\n\t\t\t\t// create Folder for \"regisafe\" include Subdirectories\r\n\t\t\t\t// \"Datei zuordnen\" and \"Datei bearbeiten\"\r\n\t\t\t\t// this.fileEditingService.checkDirectory(DIRECTORY_TREE.root);\r\n\t\t\t}\r\n\r\n\t\t\t// set Initial Storage Data\r\n\t\t\tthis.storageService.setInitialStorage(APP_STORAGE.user.edit, {});\r\n\t\t\tthis.storageService.setInitialStorage(APP_STORAGE.user.locked, {});\r\n\t\t\tthis.storageService.setInitialStorage(APP_STORAGE.user.offlinelogin, 0);\r\n\t\t\tthis.storageService.setInitialStorage(APP_STORAGE.user.biometriclogin, 0);\r\n\t\t\tthis.storageService.setInitialStorage(APP_STORAGE.user.opendocsindefaultviewer, 1);\r\n\r\n\t\t\t// do some Stuff here if App becomes from Background to Front\r\n\t\t\tthis.platform.resume.subscribe(async () => {\r\n\r\n\t\t\t});\r\n\r\n\t\t\tif (this.platform.is('android')) {\r\n\r\n\t\t\t\tthis.webIntent.onIntent()\r\n\t\t\t\t\t.subscribe((intentData: Intent | any) => {\r\n\r\n\t\t\t\t\t\t// if (intentData.hasOwnProperty('clipItems')) {\r\n\t\t\t\t\t\t// \t// console.log('### onIntent - SEND (share) clipItems ###: ', intentData.clipItems[0]);\r\n\t\t\t\t\t\t// \t// this.filePath.resolveNativePath(intentData.clipItems[0].uri)\r\n\t\t\t\t\t\t// \t// \t.then(async (uri) => {\r\n\t\t\t\t\t\t// \t// \t\tconsole.log('resolveNativePath aaa: ', uri);\r\n\t\t\t\t\t\t// \t// \t});\r\n\t\t\t\t\t\t// }\r\n\r\n\t\t\t\t\t\tif (intentData.hasOwnProperty('data')) {\r\n\t\t\t\t\t\t\tif (intentData.data.includes('regisafe://')) {\r\n\t\t\t\t\t\t\t\tconsole.log('### INTENT - Custom URL Scheme: ', intentData.data);\r\n\t\t\t\t\t\t\t\tthis.storageService.setRecivedIntendFromURLScheme(intentData.data);\r\n\t\t\t\t\t\t\t\tthis.sessionData.iqoArray = [];\r\n\t\t\t\t\t\t\t\tthis.msgService.sendMessage({context: 'intent:receivedfromcustomurlscheme'});\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tconsole.log('### INTENT - Send File: ', intentData.data);\r\n\t\t\t\t\t\t\t\tthis.filePath.resolveNativePath(intentData.data)\r\n\t\t\t\t\t\t\t\t\t.then((uri) => {\r\n\r\n\t\t\t\t\t\t\t\t\t\tconst filename = uri.substring(uri.lastIndexOf('/') + 1);\r\n\t\t\t\t\t\t\t\t\t\tconst path = uri.replace(filename, '');\r\n\t\t\t\t\t\t\t\t\t\tconst extension = uri.substring(uri.lastIndexOf('.') + 1);\r\n\r\n\t\t\t\t\t\t\t\t\t\tconsole.log('### IQO CHECK EXTENSION 111 ###: ', uri, extension.toLowerCase());\r\n\r\n\t\t\t\t\t\t\t\t\t\tif (uri && extension.toLowerCase() === 'iqo') {\r\n\t\t\t\t\t\t\t\t\t\t\tconst intentObj = {\r\n\t\t\t\t\t\t\t\t\t\t\t\turl: uri,\r\n\t\t\t\t\t\t\t\t\t\t\t\ttype: 'application/octet-stream',\r\n\t\t\t\t\t\t\t\t\t\t\t\ttitle: filename\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\t\t\tthis.storageService.setRecivedIntend(JSON.stringify(intentObj));\r\n\t\t\t\t\t\t\t\t\t\t\tthis.sessionData.iqoArray = [];\r\n\t\t\t\t\t\t\t\t\t\t\t// TODO: prüfen ob Benutzer angemeldet ist\r\n\t\t\t\t\t\t\t\t\t\t\tthis.msgService.sendMessage({context: 'intent:received'});\r\n\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t// silence\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t.catch((e) => {\r\n\t\t\t\t\t\t\t\t\t\tconsole.log('resolveNativePath error: ', e);\r\n\t\t\t\t\t\t\t\t\t\tthis.errorHandling.errorMessage(TOAST_TXT.message.str00020, 'toast', true);\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}, (e) => {\r\n\t\t\t\t\t\tconsole.log('### onIntent - SEND ### error: ', e);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t} else {\r\n\t\t\t\tApp.addListener('appUrlOpen', (event: URLOpenListenerEvent) => {\r\n\t\t\t\t\tconsole.log('### appUrlOpen ios ###: ', event);\r\n\t\t\t\t\tconst uri = event.url;\r\n\r\n\t\t\t\t\tconst filename = uri.substring(uri.lastIndexOf('/') + 1);\r\n\t\t\t\t\tconst path = uri.replace(filename, '');\r\n\t\t\t\t\tconst extension = uri.substring(uri.lastIndexOf('.') + 1);\r\n\t\t\t\t\tif (uri && extension.toLowerCase() === 'iqo') {\r\n\t\t\t\t\t\tconst intentObj = {\r\n\t\t\t\t\t\t\turl: uri,\r\n\t\t\t\t\t\t\ttype: 'application/octet-stream',\r\n\t\t\t\t\t\t\ttitle: filename\r\n\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tthis.storageService.setRecivedIntend(JSON.stringify(intentObj));\r\n\t\t\t\t\t\tthis.sessionData.iqoArray = [];\r\n\t\t\t\t\t\t// TODO: prüfen ob Benutzer angemeldet ist\r\n\t\t\t\t\t\tthis.msgService.sendMessage({context: 'intent:received'});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// silence\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\t// https://github.com/carsten-klaffke/send-intent\r\n\t\t\t// nimmt eine Intend (Share) engegen und speichert den Inhalt im localstorage\r\n\t\t\tSendIntent.checkSendIntentReceived()\r\n\t\t\t\t.then((result: any) => {\r\n\t\t\t\t\tif (!result.url) {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tconst extension = result.url.substring(result.url.lastIndexOf('.') + 1);\r\n\t\t\t\t\tconsole.log('### IQO CHECK EXTENSION 333 ###: ', result.url, extension.toLowerCase());\r\n\r\n\t\t\t\t\tif (result.url && extension.toLowerCase() === 'iqo') {\r\n\t\t\t\t\t\tthis.storageService.setRecivedIntend(JSON.stringify(result));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// silence\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tconsole.error('SendIntent error', err)\r\n\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tasync ngOnInit() {\r\n\t\tconst regisafeOrdner = await this.dateiSystem.pruefeAppOrder('regisafe');\r\n\t\tconst bearbeitenOrdner = await this.dateiSystem.pruefeAppOrder('regisafe/bearbeiten');\r\n\t\tconst zuordnenOrdner = await this.dateiSystem.pruefeAppOrder('regisafe/zuordnen');\r\n\t\tconst cacheOrdner = await this.dateiSystem.pruefeAppOrder('regisafe/cache');\r\n\t\tif (!regisafeOrdner) {\r\n\t\t\tconst regisafeOrdnerErstellen = await this.dateiSystem.erstelleAppOrdner('regisafe');\r\n\t\t}\r\n\t\tif (!bearbeitenOrdner) {\r\n\t\t\tconst bearbeitenOrdnerErstellen = await this.dateiSystem.erstelleAppOrdner('regisafe/bearbeiten');\r\n\t\t}\r\n\t\tif (!zuordnenOrdner) {\r\n\t\t\tconst zuordnenOrdnerErstellen = await this.dateiSystem.erstelleAppOrdner('regisafe/zuordnen');\r\n\t\t}\r\n\t\tif (!cacheOrdner) {\r\n\t\t\tconst cacheOrdnerErstellen = await this.dateiSystem.erstelleAppOrdner('regisafe/cache');\r\n\t\t}\r\n\t}\r\n\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {HttpClient} from '@angular/common/http';\r\nimport {IQAPI_CONFIGURATION_FILE} from '../environments/environment';\r\nimport {Platform} from '@ionic/angular';\r\nimport {ConfigurationObject} from './interfaces/interfaces.regisafe';\r\nimport {StorageService} from './provider/storage/storage.service';\r\n\r\n// https://www.technouz.com/5125/changing-angular-environment-variables-at-runtime/\r\n\r\n@Injectable()\r\nexport class AppConfig {\r\n\r\n\tprivate configuration: ConfigurationObject = null;\r\n\r\n\tconstructor(private http: HttpClient,\r\n\t\t\t\tprivate platform: Platform,\r\n\t\t\t\tprivate storageService: StorageService) {\r\n\r\n\t}\r\n\r\n\tpublic getConfig() {\r\n\t\treturn this.configuration;\r\n\t}\r\n\r\n\tpublic setConfig(configuration: ConfigurationObject) {\r\n\t\tthis.configuration = configuration;\r\n\t}\r\n\r\n\tpublic load() {\r\n\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tthis.http.get('./assets/config/' + IQAPI_CONFIGURATION_FILE)\r\n\t\t\t\t.subscribe((data: ConfigurationObject) => {\r\n\r\n\t\t\t\t\tconst existingConfig = this.storageService.getAppConfigurationSync();\r\n\t\t\t\t\tif (!existingConfig) {\r\n\t\t\t\t\t\tconsole.log('DefaultConfig.load: ', data);\r\n\t\t\t\t\t\tthis.configuration = data;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('CustomConfig.load: ', existingConfig);\r\n\t\t\t\t\t\tthis.configuration = existingConfig;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.platform.ready().then(() => {\r\n\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\tresolve(true);\r\n\t\t\t\t\t\t}, 2000);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t}, (error) => {\r\n\t\t\t\t\tconsole.log('AppConfig.load error: ', error);\r\n\t\t\t\t\treject('SET CONFIGUTARION');\r\n\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tprivate handleConfigurationData(configuration: object) {\r\n\r\n\t}\r\n}\r\n","import {APP_INITIALIZER, NgModule} from '@angular/core';\r\nimport {AppConfig} from './app.config';\r\nimport {BrowserModule} from '@angular/platform-browser';\r\nimport {RouteReuseStrategy, RouterModule} from '@angular/router';\r\n\r\nimport {IonicModule, IonicRouteStrategy} from '@ionic/angular';\r\nimport {File} from '@awesome-cordova-plugins/file/ngx';\r\nimport {AppComponent} from './app.component';\r\nimport {AppRoutingModule} from './app-routing.module';\r\nimport {ImagePicker} from '@awesome-cordova-plugins/image-picker/ngx';\r\nimport {WebIntent} from '@awesome-cordova-plugins/web-intent/ngx';\r\nimport {FilePath} from '@awesome-cordova-plugins/file-path/ngx';\r\nimport {HttpClientModule} from '@angular/common/http';\r\nimport {FileTransfer} from '@awesome-cordova-plugins/file-transfer/ngx';\r\nimport {FileOpener} from '@awesome-cordova-plugins/file-opener/ngx';\r\nimport {NativeStorage} from '@awesome-cordova-plugins/native-storage/ngx';\r\nimport {AndroidPermissions} from '@awesome-cordova-plugins/android-permissions/ngx';\r\nimport {IonicStorageModule} from '@ionic/storage';\r\nimport {APP_STORAGE} from '../environments/environment';\r\n\r\nimport {FontAwesomeModule, FaIconLibrary} from '@fortawesome/angular-fontawesome';\r\nimport {fas} from '@fortawesome/free-solid-svg-icons';\r\nimport {far} from '@fortawesome/free-regular-svg-icons';\r\nimport {fab} from '@fortawesome/free-brands-svg-icons';\r\n\r\nimport {TranslatePipe} from './provider/pipes/translate.pipe';\r\nimport {APP_BASE_HREF, DatePipe} from '@angular/common';\r\nimport {IconClassPipe} from './provider/pipes/icon-class.pipe';\r\n\r\nimport {Camera} from '@awesome-cordova-plugins/camera/ngx';\r\nimport {RegisafeDirectiveModule} from './directives.module';\r\nimport {Chooser} from '@awesome-cordova-plugins/chooser/ngx';\r\nimport {LaunchNavigator} from '@awesome-cordova-plugins/launch-navigator/ngx';\r\n\r\n@NgModule({\r\n\tdeclarations: [AppComponent, TranslatePipe, IconClassPipe],\r\n\tentryComponents: [],\r\n\timports: [BrowserModule,\r\n\t\tIonicModule.forRoot({\r\n\t\t\tanimated: false,\r\n\t\t\tmode: 'md',\r\n\t\t\trippleEffect: false\r\n\t\t}),\r\n\t\tIonicStorageModule.forRoot({\r\n\t\t\tname: APP_STORAGE.name,\r\n\t\t\tdriverOrder: ['indexeddb']\r\n\t\t}),\r\n\t\tAppRoutingModule,\r\n\t\tHttpClientModule,\r\n\t\tFontAwesomeModule,\r\n\t\tRegisafeDirectiveModule],\r\n\tproviders: [{provide: RouteReuseStrategy, useClass: IonicRouteStrategy},\r\n\t\tImagePicker,\r\n\t\tChooser,\r\n\t\tWebIntent,\r\n\t\tFilePath,\r\n\t\tFile,\r\n\t\tFileTransfer,\r\n\t\tFileOpener,\r\n\t\tNativeStorage,\r\n\t\tTranslatePipe,\r\n\t\tDatePipe,\r\n\t\tIconClassPipe,\r\n\t\tAppConfig,\r\n\t\tCamera,\r\n\t\tLaunchNavigator,\r\n\t\tAndroidPermissions,\r\n\t\t{\r\n\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\tuseFactory: (config: AppConfig) => () => config.load(),\r\n\t\t\tdeps: [AppConfig],\r\n\t\t\tmulti: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tprovide: APP_BASE_HREF,\r\n\t\t\tuseValue: window['base-url']\r\n\t\t}],\r\n\tbootstrap: [AppComponent],\r\n\texports: []\r\n})\r\nexport class AppModule {\r\n\tconstructor(library: FaIconLibrary) {\r\n\t\tlibrary.addIconPacks(far, fas, fab);\r\n\t}\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {UnderConstructionDirective} from './directives/under-construction.directive';\r\nimport {NavCompensationSafeAreaDirective, NavPositionDirective} from './directives/nav-position.directive';\r\nimport {ContentPositionDirective} from './directives/content-position.directive';\r\nimport {IonicModule} from '@ionic/angular';\r\nimport {DateienInBearbeitungDirective} from './directives/dateien-in-bearbeitung.directive';\r\nimport {ToggleFooterDirective, ToggleSidebarDirective, ToggleSearchFabDirective} from './directives/toggle-footer.directive';\r\nimport {NativeOnlyDirective, NetworkStatusDirective} from './directives/network-status.directive';\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tUnderConstructionDirective,\r\n\t\tNavPositionDirective,\r\n\t\tContentPositionDirective,\r\n\t\tDateienInBearbeitungDirective,\r\n\t\tToggleFooterDirective,\r\n\t\tToggleSidebarDirective,\r\n\t\tToggleSearchFabDirective,\r\n\t\tNetworkStatusDirective,\r\n\t\tNativeOnlyDirective,\r\n\t\tNavCompensationSafeAreaDirective\r\n\t],\r\n\timports: [\r\n\t\tIonicModule\r\n\t],\r\n\texports: [\r\n\t\tUnderConstructionDirective,\r\n\t\tNavPositionDirective,\r\n\t\tContentPositionDirective,\r\n\t\tDateienInBearbeitungDirective,\r\n\t\tToggleFooterDirective,\r\n\t\tToggleSidebarDirective,\r\n\t\tToggleSearchFabDirective,\r\n\t\tNetworkStatusDirective,\r\n\t\tNativeOnlyDirective,\r\n\t\tNavCompensationSafeAreaDirective\r\n\t]\r\n})\r\nexport class RegisafeDirectiveModule {\r\n}\r\n","import {Directive, ElementRef, Renderer2} from '@angular/core';\r\n\r\n@Directive({\r\n\tselector: '[appContentPosition]'\r\n})\r\nexport class ContentPositionDirective {\r\n\r\n\tconstructor(el?: ElementRef, private renderer?: Renderer2) {\r\n\t\tconst navPosition = localStorage.getItem('appNavPosition');\r\n\t\tif (navPosition && (navPosition === 'left' || navPosition === 'right' || navPosition === 'bottom')) {\r\n\t\t\tthis.renderer.addClass(el.nativeElement, navPosition);\r\n\t\t} else {\r\n\t\t\tthis.renderer.addClass(el.nativeElement,'left');\r\n\t\t\tlocalStorage.setItem('appNavPosition', 'left');\r\n\t\t}\r\n\r\n\t}\r\n\r\n}\r\n","import {Directive, ElementRef, Renderer2} from '@angular/core';\r\nimport {MessagesService} from '../provider/messages/messages.service';\r\nimport {Subscription} from 'rxjs';\r\n\r\n@Directive({\r\n\tselector: '[appDateienInBearbeitung]'\r\n})\r\nexport class DateienInBearbeitungDirective {\r\n\r\n\tsubscription: Subscription;\r\n\r\n\tconstructor(el?: ElementRef, private renderer?: Renderer2, private msgService?: MessagesService) {\r\n\t\tconst dateienInBearbeitung = false;\r\n\t\tif (dateienInBearbeitung) {\r\n\t\t\tthis.renderer.addClass(el.nativeElement, 'dateien-in-bearbeitung');\r\n\t\t} else {\r\n\t\t\tthis.renderer.removeClass(el.nativeElement, 'dateien-in-bearbeitung');\r\n\t\t}\r\n\t\tthis.subscription = this.msgService.getMessages().subscribe((msg: any) => {\r\n\t\t\tif (msg.message.filesInProgress) {\r\n\t\t\t\tthis.renderer.addClass(el.nativeElement, 'dateien-in-bearbeitung');\r\n\t\t\t} else {\r\n\t\t\t\tthis.renderer.removeClass(el.nativeElement, 'dateien-in-bearbeitung');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n}\r\n","import {Directive, ElementRef, Renderer2} from '@angular/core';\r\nimport {element} from 'protractor';\r\n\r\n@Directive({\r\n\tselector: '[appNavPosition]'\r\n})\r\nexport class NavPositionDirective {\r\n\r\n\tconstructor(el?: ElementRef, private renderer?: Renderer2) {\r\n\t\tconst navPosition = localStorage.getItem('appNavPosition');\r\n\t\tif (navPosition && (navPosition === 'left' || navPosition === 'right' || navPosition === 'bottom')) {\r\n\t\t\tthis.renderer.setAttribute(el.nativeElement, 'class', navPosition);\r\n\t\t} else {\r\n\t\t\tthis.renderer.setAttribute(el.nativeElement, 'class', 'left');\r\n\t\t\tlocalStorage.setItem('appNavPosition', 'left');\r\n\t\t}\r\n\r\n\t}\r\n\r\n}\r\n\r\n@Directive({\r\n\tselector: '[appCompensationSafeArea]'\r\n})\r\nexport class NavCompensationSafeAreaDirective {\r\n\tconstructor(el?: ElementRef, private renderer?: Renderer2) {\r\n\t\tconst regisafeSafeAreaTop = getComputedStyle(document.documentElement).getPropertyValue('--regisafeSafeAreaT');\r\n\t\tthis.renderer.setStyle(el.nativeElement, 'height', 'calc(100% - (173px + ' + regisafeSafeAreaTop + '))');\r\n\r\n\t\tconst regisafeSafeAreaBottom = getComputedStyle(document.documentElement).getPropertyValue('--regisafeSafeAreaB');\r\n\r\n\t\tif (regisafeSafeAreaBottom !== '0px') {\r\n\t\t\tthis.renderer.setStyle(el.nativeElement, 'padding-bottom', '0px');\r\n\t\t\tthis.renderer.setStyle(el.nativeElement, 'padding-left', '0px');\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t}\r\n}\r\n","import {Directive, ElementRef, Input, Renderer2} from '@angular/core';\nimport {fromEvent, merge, of, Subscription} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {Capacitor} from '@capacitor/core';\n\n@Directive({\n\tselector: '[appNetworkStatus]'\n})\nexport class NetworkStatusDirective {\n\n\tnetworkStatus = false;\n\tnetworkStatus$: Subscription = Subscription.EMPTY;\n\n\tconstructor(el?: ElementRef, private renderer?: Renderer2) {\n\t\tthis.networkStatus = navigator.onLine;\n\n\t\tthis.networkStatus$ = merge(\n\t\t\tof(null),\n\t\t\tfromEvent(window, 'online'),\n\t\t\tfromEvent(window, 'offline')\n\t\t)\n\t\t\t.pipe(map(() => navigator.onLine))\n\t\t\t.subscribe(online => {\n\t\t\t\tthis.networkStatus = online;\n\t\t\t\tswitch (el.nativeElement.nodeName) {\n\t\t\t\t\tcase 'BUTTON':\n\t\t\t\t\t\tif (online) {\n\t\t\t\t\t\t\tthis.renderer.removeAttribute(el.nativeElement, 'disabled');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.renderer.setAttribute(el.nativeElement, 'disabled', 'true');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'ION-BUTTON':\n\t\t\t\t\t\tif (online) {\n\t\t\t\t\t\t\tthis.renderer.removeAttribute(el.nativeElement, 'disabled');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.renderer.setAttribute(el.nativeElement, 'disabled', 'true');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'ION-TAB-BUTTON':\n\t\t\t\t\t\tif (online) {\n\t\t\t\t\t\t\tthis.renderer.removeAttribute(el.nativeElement, 'disabled');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.renderer.setAttribute(el.nativeElement, 'disabled', 'true');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'APP-REGISAFE-OFFLINE-LOGIN':\n\t\t\t\t\t\tif (online) {\n\t\t\t\t\t\t\tthis.renderer.setStyle(el.nativeElement, 'display', 'none');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.renderer.removeStyle(el.nativeElement, 'display');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t});\n\n\t}\n\n}\n\n@Directive({\n\tselector: '[appNativeOnly]'\n})\nexport class NativeOnlyDirective {\n\tconstructor(el?: ElementRef, private renderer?: Renderer2) {\n\t\tif (Capacitor.getPlatform() === 'web') {\n\t\t\tthis.renderer.setStyle(el.nativeElement, 'display', 'none');\n\t\t}\n\t}\n}\n","import {Directive, ElementRef, Renderer2} from '@angular/core';\r\nimport {Keyboard} from '@capacitor/keyboard';\r\nimport {Capacitor} from '@capacitor/core';\r\n\r\n@Directive({\r\n\tselector: '[appToggleFooter]'\r\n})\r\nexport class ToggleFooterDirective {\r\n\r\n\tconstructor(\r\n\t\tpublic el?: ElementRef,\r\n\t\tprivate renderer?: Renderer2) {\r\n\r\n\t\tif (Capacitor.getPlatform() !== 'web') {\r\n\t\t\tKeyboard.addListener('keyboardWillShow', (info) => {\r\n\t\t\t\tthis.renderer.setStyle(this.el.nativeElement, 'display', 'none');\r\n\t\t\t});\r\n\r\n\t\t\tKeyboard.addListener('keyboardWillHide', () => {\r\n\t\t\t\tthis.renderer.setStyle(this.el.nativeElement, 'display', 'block');\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n\r\n@Directive({\r\n\tselector: '[appToggleSidebar]'\r\n})\r\nexport class ToggleSidebarDirective {\r\n\r\n\tconstructor(\r\n\t\tpublic el?: ElementRef,\r\n\t\tprivate renderer?: Renderer2) {\r\n\r\n\t\tif (Capacitor.getPlatform() !== 'web') {\r\n\t\t\tKeyboard.addListener('keyboardWillShow', (info) => {\r\n\t\t\t\tthis.renderer.addClass(this.el.nativeElement, 'keyboard-show');\r\n\t\t\t});\r\n\r\n\t\t\tKeyboard.addListener('keyboardWillHide', () => {\r\n\t\t\t\tthis.renderer.removeClass(this.el.nativeElement, 'keyboard-show');\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n\r\n@Directive({\r\n\tselector: '[appToggleSearchFab]'\r\n})\r\nexport class ToggleSearchFabDirective {\r\n\r\n\tconstructor(\r\n\t\tpublic el?: ElementRef,\r\n\t\tprivate renderer?: Renderer2) {\r\n\r\n\t\tif (Capacitor.getPlatform() !== 'web') {\r\n\t\t\tKeyboard.addListener('keyboardWillShow', (info) => {\r\n\t\t\t\tthis.renderer.removeClass(this.el.nativeElement, 'hidden');\r\n\t\t\t});\r\n\r\n\t\t\tKeyboard.addListener('keyboardWillHide', () => {\r\n\t\t\t\tthis.renderer.addClass(this.el.nativeElement, 'hidden');\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\n","import {Directive, HostListener, OnInit, ElementRef} from '@angular/core';\nimport {ToastController} from '@ionic/angular';\n\n@Directive({\n selector: '[appUnderConstruction]'\n})\nexport class UnderConstructionDirective implements OnInit {\n\n constructor(private toastCtrl: ToastController, private el: ElementRef) {\n el.nativeElement.disabled = true;\n }\n\n ngOnInit() {\n console.log('### appUnderConstruction calling ###');\n }\n\n // @HostListener('click') onClick() {\n // this.presentToast();\n // }\n //\n // async presentToast() {\n // const toast = await this.toastCtrl.create({\n // message: '[DEV] Currently not implemented.',\n // duration: 2000\n // });\n // toast.present();\n // }\n\n}\n","import {Injectable} from '@angular/core';\nimport {\n\tDeleteFileOptions,\n\tDirectory,\n\tEncoding,\n\tFilesystem,\n\tGetUriOptions,\n\tMkdirOptions,\n\tReaddirOptions,\n\tReadFileOptions,\n\tRmdirOptions,\n\tStatOptions,\n\tWriteFileOptions\n} from '@capacitor/filesystem';\nimport {CopyOptions} from '@capacitor/filesystem/dist/esm/definitions';\n\n\nconst APP_DIRECTORY = Directory.Documents;\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class DateiSystemService {\n\n\tconstructor() {\n\t}\n\n\t/**\n\t * pruefeAppOrder()\n\t *\n\t * Prüft ob ein Ordner existiert und gibt das Ergebnis\n\t * als Boolschen Wert zurück\n\t *\n\t * @param ordnername\n\t */\n\tasync pruefeAppOrder(ordnername: string): Promise {\n\t\tconst options: ReaddirOptions = {\n\t\t\tpath: ordnername,\n\t\t\tdirectory: APP_DIRECTORY\n\t\t};\n\n\t\treturn Filesystem.readdir(options)\n\t\t\t.then((data) => {\n\t\t\t\t// console.log('Filesystem readdir: ', data, APP_DIRECTORY);\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch(() => false);\n\t}\n\n\t/**\n\t * erstelleAppOrdner()\n\t *\n\t * Erstellt einen Ordner im angegebenen Verzeichniss und\n\t * gibt das Ergebnis als Boolschen Wert zurück\n\t *\n\t * @param ordnername\n\t */\n\tasync erstelleAppOrdner(ordnername: string): Promise {\n\t\tconst option: MkdirOptions = {\n\t\t\tpath: ordnername,\n\t\t\tdirectory: APP_DIRECTORY,\n\t\t\trecursive: false\n\t\t};\n\t\treturn Filesystem.mkdir(option)\n\t\t\t.then(() => true)\n\t\t\t.catch(() => false);\n\t}\n\n\tasync schreibeDatei(ordnername: string, dateiname: string, content: string): Promise {\n\t\tconst options: WriteFileOptions = {\n\t\t\tdirectory: APP_DIRECTORY,\n\t\t\tencoding: Encoding.UTF8,\n\t\t\tdata: 'data:image/jpeg;base64,' + content,\n\t\t\tpath: ordnername + '/' + dateiname\n\t\t};\n\n\t\treturn Filesystem.writeFile(options)\n\t\t\t.then((data) => {\n\t\t\t\t// console.log('writeFile: ', data);\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\t// console.log('writeFile error: ', error);\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n\n\tasync leseDatei(pfad: string, dateiname: string): Promise {\n\t\tconst options: ReadFileOptions = {\n\t\t\tdirectory: APP_DIRECTORY,\n\t\t\tpath: pfad + '/' + dateiname,\n\t\t\tencoding: Encoding.UTF8\n\t\t};\n\n\t\treturn Filesystem.readFile(options)\n\t\t\t.then((data) => {\n\t\t\t\t// console.log('leseDatei: ', data);\n\t\t\t\treturn data;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\t// console.log('leseDatei error: ', error);\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n\n\tasync loescheOrdner(pfad: string): Promise {\n\t\tconst option: RmdirOptions = {\n\t\t\tpath: pfad,\n\t\t\tdirectory: APP_DIRECTORY,\n\t\t\trecursive: true\n\t\t};\n\n\t\treturn Filesystem.rmdir(option)\n\t\t\t.then((data) => {\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n\n\tasync loescheDatei(pfad: string): Promise {\n\t\tconst option: DeleteFileOptions = {\n\t\t\tpath: pfad,\n\t\t\tdirectory: APP_DIRECTORY\n\t\t};\n\n\t\treturn Filesystem.deleteFile(option)\n\t\t\t.then((data) => {\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n\n\t// https://file-examples.com/\n\t// https://www.youtube.com/watch?v=KdIgThOqqhU\n\n\tasync downloadDatei() {\n\t\t// return Filesystem.\n\t}\n\n\tasync schreibeKonfiguration(ordnername: string, dateiname: string, content: string): Promise {\n\t\tconst options: WriteFileOptions = {\n\t\t\tdirectory: APP_DIRECTORY,\n\t\t\tencoding: Encoding.UTF8,\n\t\t\tdata: content,\n\t\t\tpath: ordnername + '/' + dateiname\n\t\t};\n\n\t\treturn Filesystem.writeFile(options)\n\t\t\t.then((data) => {\n\t\t\t\tconsole.log('writeFile: ', data);\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tconsole.log('writeFile error: ', error);\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n\n\tasync getURI(filePath): Promise {\n\t\tconst options: GetUriOptions = {\n\t\t\tdirectory: APP_DIRECTORY,\n\t\t\tpath: filePath\n\t\t}\n\n\t\treturn Filesystem.getUri(options)\n\t\t\t.then((data) => {\n\t\t\t\tconsole.log('getURI: ', data);\n\t\t\t\treturn data;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tconsole.log('getURI: ', error);\n\t\t\t\treturn error;\n\t\t\t});\n\t}\n\n\tasync getFileInfo(filePath) {\n\t\tconst options: StatOptions = {\n\t\t\tpath: filePath,\n\t\t\tdirectory: APP_DIRECTORY\n\t\t};\n\t\treturn Filesystem.stat(options);\n\t}\n\n\tasync kopiereDateiNach(fromPath, targetFolder, filename) {\n\t\tconst options: CopyOptions = {\n\t\t\tfrom: fromPath,\n\t\t\tto: targetFolder + filename,\n\t\t\ttoDirectory: APP_DIRECTORY\n\t\t};\n\t\treturn Filesystem.copy(options)\n\t\t\t.then((data) => true)\n\t\t\t.catch((error) => false);\n\t}\n\n\tasync leseDateienInOrdner(ordnername: string): Promise {\n\t\tconst options: ReaddirOptions = {\n\t\t\tpath: ordnername,\n\t\t\tdirectory: APP_DIRECTORY\n\t\t};\n\n\t\treturn Filesystem.readdir(options)\n\t\t\t.then((data) => data)\n\t\t\t.catch((e) => e);\n\t}\n\n\tasync readIQOFile(url) {\n\t\treturn Filesystem.readFile({path: url});\n\t}\n\n\tasync schreibeDateiHash(content: string): Promise {\n\n\t\tconst options: WriteFileOptions = {\n\t\t\tdirectory: Directory.External,\n\t\t\tencoding: Encoding.UTF8,\n\t\t\tdata: content,\n\t\t\tpath: 'regisafe.hash.txt'\n\t\t};\n\n\t\treturn Filesystem.writeFile(options)\n\t\t\t.then((data) => {\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n\n\tasync leseDateiHash(): Promise {\n\t\tconst options: ReadFileOptions = {\n\t\t\tdirectory: Directory.External,\n\t\t\tpath: 'regisafe.hash.txt',\n\t\t\tencoding: Encoding.UTF8\n\t\t};\n\n\t\treturn Filesystem.readFile(options)\n\t\t\t.then((data) => {\n\t\t\t\treturn data;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\treturn false;\n\t\t\t});\n\t}\n\n}\n","import {ErrorHandler, Injectable} from '@angular/core';\r\nimport {AlertController, ToastController, ToastOptions} from '@ionic/angular';\r\nimport {Router} from '@angular/router';\r\nimport {FileError} from '@awesome-cordova-plugins/file';\r\nimport {APP_ROUTES} from \"../../../environments/environment\";\r\nimport {ALERT_TXT} from '../../strings/language';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ErrorHandlingService implements ErrorHandler {\r\n\r\n\ttoast: HTMLIonToastElement;\r\n\talert: HTMLIonAlertElement;\r\n\tregisafeErrorCodes = {};\r\n\r\n\tconstructor(private toastCtrl: ToastController,\r\n\t\t\t\tprivate alertCtrl: AlertController,\r\n\t\t\t\tprivate router: Router) {\r\n\t}\r\n\r\n\t/**\r\n\t *\r\n\t * @param error - Fehlermeldung\r\n\t * @param origin - Herkunft der Fehlermeldung\r\n\t */\r\n\tpublic handleError(errorResponse: any, origin?: string, objectLock?: boolean): void {\r\n\t\tconsole.log('handleError: ', errorResponse);\r\n\t\ttry {\r\n\t\t\tconst errObj = errorResponse.error;\r\n\t\t\t// check regisafeError\r\n\t\t\tif (errObj.hasOwnProperty('_error')) {\r\n\t\t\t\t// eslint-disable-next-line no-underscore-dangle\r\n\t\t\t\tconst errMsg = errObj._error['1'].eMsg;\r\n\t\t\t\t// eslint-disable-next-line no-underscore-dangle\r\n\t\t\t\tconst h1 = errObj._error['1'].hl;\r\n\t\t\t\tif (!objectLock) {\r\n\t\t\t\t\tthis.errorMessage(errMsg + ' (' + h1 + ')', 'toast');\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tthis.errorMessage(errorResponse.message, 'toast');\r\n\t\t\t}\r\n\r\n\t\t\tswitch (errorResponse.status) {\r\n\t\t\t\t// 400\r\n\t\t\t\tcase 401: {\r\n\t\t\t\t\tthis.router.navigate([APP_ROUTES.anmeldung]);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 403: {\r\n\t\t\t\t\tthis.router.navigate([APP_ROUTES.anmeldung]);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\t// 500\r\n\t\t\t\tcase 502: {\r\n\t\t\t\t\tthis.router.navigate([APP_ROUTES.anmeldung]);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log('handleError error in TRY: ', e);\r\n\t\t\tthis.errorMessage(errorResponse.message, 'toast');\r\n\t\t}\r\n\t}\r\n\r\n\tpublic handleConfError(errorResponse: any, origin?: string): boolean {\r\n\t\tconsole.log('handleConfError: ', errorResponse);\r\n\t\ttry {\r\n\t\t\tconst errObj = errorResponse.error;\r\n\t\t\tif (errObj.hasOwnProperty('_error')) {\r\n\t\t\t\t// eslint-disable-next-line no-underscore-dangle\r\n\t\t\t\tif (errObj._error.hasOwnProperty('1')) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tthis.errorMessage('Bitte prüfen Sie Ihre Konfigrationsdatei. Der angegebene Server ist nicht erreichbar.', 'toast');\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log('handleConfError error in TRY: ', e);\r\n\t\t\tthis.errorMessage('Bitte prüfen Sie Ihre Konfigrationsdatei. Der angegebene Server ist nicht erreichbar.', 'toast');\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic handleFileSystemError(fileError: FileError) {\r\n\t\tswitch (fileError.message) {\r\n\t\t\tcase 'SECURITY_ERR': {\r\n\t\t\t\t// eslint-disable-next-line max-len\r\n\t\t\t\tthis.errorMessage('Notwendige Ordner konnten nicht angelegt werden. Bitte öffnen Sie die App \"Einstellungen\" und prüfen Sie ob regisafe den erforderlichen Berechtigungen hat.', 'toast', true);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tcase 'NOT_FOUND_ERR': {\r\n\t\t\t\tthis.errorMessage('Die Datei konnte nicht gefunden bzw. geöffnet werden!', 'toast', true);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic handlePluginError(error: string, plugin: string) {\r\n\t\tconst msg = error + ' (' + plugin + ')';\r\n\t\tthis.errorMessage(msg, 'toast', true);\r\n\t}\r\n\r\n\tasync errorMessage(msg: string, type: string, confirm?: boolean, dur?: number, pos: any = 'bottom') {\r\n\r\n\t\tif (!dur) {\r\n\t\t\tdur = 4000;\r\n\t\t}\r\n\r\n\t\tif (type === 'toast') {\r\n\t\t\ttry {\r\n\t\t\t\tawait this.toast.dismiss();\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.log('No Toast visible', e);\r\n\t\t\t}\r\n\r\n\t\t\tconst options: ToastOptions = {\r\n\t\t\t\tmessage: msg,\r\n\t\t\t\tduration: dur,\r\n\t\t\t\tposition: pos,\r\n\t\t\t\tbuttons: []\r\n\t\t\t};\r\n\r\n\t\t\tif (confirm) {\r\n\t\t\t\toptions.buttons.push({\r\n\t\t\t\t\ttext: 'OK',\r\n\t\t\t\t\trole: 'cancel',\r\n\t\t\t\t\thandler: () => {\r\n\t\t\t\t\t\tconsole.log('Cancel clicked');\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tdelete options.duration;\r\n\t\t\t}\r\n\r\n\t\t\tthis.toast = await this.toastCtrl.create(options);\r\n\t\t\tthis.toast.removeAttribute('tabindex');\r\n\t\t\tawait this.toast.present();\r\n\r\n\t\t} else if (type === 'alert') {\r\n\t\t\ttry {\r\n\t\t\t\tawait this.alert.dismiss();\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.log('No Alert visible', e);\r\n\t\t\t}\r\n\r\n\t\t\tconst alertOptions = {\r\n\t\t\t\theader: ALERT_TXT.header.str00010,\r\n\t\t\t\tsubHeader: msg,\r\n\t\t\t\tbuttons: ['Ok']\r\n\t\t\t};\r\n\r\n\t\t\tthis.alert = await this.alertCtrl.create(alertOptions);\r\n\t\t\tawait this.alert.present();\r\n\t\t}\r\n\r\n\t}\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Observable, Subject} from 'rxjs';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class MessagesService {\r\n\r\n\tprivate subject = new Subject();\r\n\r\n\tconstructor() {\r\n\t}\r\n\r\n\tsendMessage(msg: any) {\r\n\t\tthis.subject.next({message: msg});\r\n\t}\r\n\r\n\tclearMessages() {\r\n\t\tthis.subject.next();\r\n\t}\r\n\r\n\tgetMessages(): Observable {\r\n\t\treturn this.subject.asObservable();\r\n\t}\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'iconClass',\r\n})\r\nexport class IconClassPipe implements PipeTransform {\r\n \r\n transform(value: string, args?: any): any {\r\n \r\n let output = '';\r\n \r\n switch (value.toLowerCase()) {\r\n case 'aktenplanverwaltung':\r\n output = 'folder';\r\n break;\r\n case 'vorgangsverwaltung':\r\n output = 'folder-open';\r\n break;\r\n case 'schriftgutverwaltung':\r\n output = 'file-alt';\r\n break;\r\n case 'adressverwaltung':\r\n output = 'address-card';\r\n break;\r\n case 'sitzungsverwaltung':\r\n output = 'users';\r\n break;\r\n case 'global':\r\n output = 'globe';\r\n break;\r\n }\r\n \r\n return output;\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'translate'\r\n})\r\nexport class TranslatePipe implements PipeTransform {\r\n \r\n transform(value: any, ...args: any[]): any {\r\n \r\n let output: string;\r\n \r\n switch (value) {\r\n case 'Aktenplanverwaltung':\r\n output = 'Structure';\r\n break;\r\n case 'VorgangsVerwaltung':\r\n output = 'Folder';\r\n break;\r\n case 'Vorgangsverwaltung':\r\n output = 'Folder';\r\n break;\r\n case 'Schriftgutverwaltung':\r\n output = 'Document';\r\n break;\r\n case 'Sitzungsverwaltung':\r\n output = 'Meeting';\r\n break;\r\n case 'Adressverwaltung':\r\n output = 'Address';\r\n break;\r\n }\r\n \r\n return output;\r\n }\r\n \r\n}\r\n\r\n@Pipe({\r\n name: 'subStr'\r\n})\r\nexport class SubstrPipe implements PipeTransform {\r\n \r\n transform(value: string, args?: number): any {\r\n \r\n let output: string;\r\n let end: string;\r\n \r\n try {\r\n if (value.length > args) {\r\n end = ' ...';\r\n }\r\n output = value.substr(0, args) + end;\r\n return output;\r\n } catch (e) {\r\n return 'Bezeichner konnte nicht gelesen werden. (subStr: ' + value + ')';\r\n }\r\n \r\n }\r\n \r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {ConfigurationObject, SearchResultCache} from '../../interfaces/interfaces.regisafe';\r\nimport {AppConfig} from '../../app.config';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class SessionDataService {\r\n\r\n\tpublic configuration: ConfigurationObject;\r\n\r\n\tsearchString = '';\r\n\tdataStores: Array = [];\r\n\tfilterData: object = null;\r\n\tjsonBody: any;\r\n\tsearchResultCache: SearchResultCache = {\r\n\t\tstateURL: '',\r\n\t\tdata: {}\r\n\t};\r\n\tiqoArray: Array = [];\r\n\r\n\tconstructor(public appConfig: AppConfig) {\r\n\t\tthis.configuration = this.appConfig.getConfig();\r\n\t}\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {NativeStorage} from '@awesome-cordova-plugins/native-storage/ngx';\r\nimport {Platform} from '@ionic/angular';\r\nimport {Storage} from '@ionic/storage';\r\nimport {APP_STORAGE, IQAPI_MIN_VERSION_MAJOR, IQAPI_MIN_VERSION_MINOR} from '../../../environments/environment';\r\nimport {MessagesService} from '../messages/messages.service';\r\nimport {ConfigurationObject, IQAPIVersionObject, SearchObjectsExObj} from '../../interfaces/interfaces.regisafe';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class StorageService {\r\n\r\n\tconstructor(private nativeStorage: NativeStorage,\r\n\t\t\t\tpublic platform: Platform,\r\n\t\t\t\tprivate msgService: MessagesService,\r\n\t\t\t\tprivate storage: Storage) {\r\n\t}\r\n\r\n\t// native\r\n\tisNativeRun(): boolean {\r\n\t\tlet isNative = false;\r\n\t\tif (this.platform.is('ios') ||\r\n\t\t\tthis.platform.is('android')) {\r\n\t\t\tisNative = true;\r\n\t\t} else {\r\n\t\t\tisNative = false;\r\n\t\t}\r\n\r\n\t\tconsole.log('isNative: ', isNative);\r\n\t\treturn isNative;\r\n\t}\r\n\r\n\t// async getItem(key): Promise {\r\n\t// \tif (this.isNativeRun()) {\r\n\t// \t\treturn await this.nativeStorage.getItem(key);\r\n\t// \t} else {\r\n\t// \t\treturn await localStorage.getItem(key);\r\n\t// \t}\r\n\t// }\r\n\r\n\tasync getItem(key): Promise {\r\n\t\treturn this.storage.get(key).then((data) => {\r\n\t\t\treturn data;\r\n\t\t});\r\n\t}\r\n\r\n\t// async setItem(key, value) {\r\n\t// \tif (this.isNativeRun()) {\r\n\t// \t\treturn await this.nativeStorage.setItem(key, value);\r\n\t// \t} else {\r\n\t// \t\treturn await localStorage.setItem(key, value);\r\n\t// \t}\r\n\t// }\r\n\r\n\tasync setItem(key: string, value: any) {\r\n\t\treturn this.storage.set(key, value).then((data) => {\r\n\t\t\treturn data;\r\n\t\t});\r\n\t}\r\n\r\n\tasync removeItem(key): Promise {\r\n\t\treturn await this.nativeStorage.remove(key);\r\n\t}\r\n\r\n\tasync getAllKeys(): Promise {\r\n\r\n\t}\r\n\r\n\t// ionic storage\r\n\t/**\r\n\t * Token wird sowohl im ionic Storage als auch im localStorage abgespeichert (für sync bzw. async Zugriff)\r\n\t * setToken - String\r\n\t *\r\n\t * @param token - Token aus ApiService.login\r\n\t */\r\n\tsetToken(token: string) {\r\n\t\tthis.storage.set(APP_STORAGE.tokenname, token);\r\n\t\tlocalStorage.setItem(APP_STORAGE.tokenname, token);\r\n\t}\r\n\r\n\tremoveToken() {\r\n\t\tthis.storage.remove(APP_STORAGE.tokenname);\r\n\t\tlocalStorage.removeItem(APP_STORAGE.tokenname);\r\n\t}\r\n\r\n\tremoveItemFromStorage(item: string) {\r\n\t\tthis.storage.remove(item);\r\n\t}\r\n\r\n\tasync getTokenFromStorage(): Promise {\r\n\t\treturn this.storage.get(APP_STORAGE.tokenname);\r\n\t}\r\n\r\n\t/**\r\n\t * setConditions\r\n\t *\r\n\t * @param conditions - Object\r\n\t */\r\n\tsetConditions(conditions: object) {\r\n\t\tthis.storage.set(APP_STORAGE.conditions, conditions);\r\n\t\tlocalStorage.setItem(APP_STORAGE.conditions, JSON.stringify(conditions)); // speichern für synchronen Zugriff\r\n\t}\r\n\r\n\tasync getConditions(item?: string) {\r\n\t\tif (!item) {\r\n\t\t\treturn this.storage.get(APP_STORAGE.conditions);\r\n\t\t} else {\r\n\t\t\tconst conditions = await this.storage.get(APP_STORAGE.conditions);\r\n\t\t\treturn conditions[item];\r\n\t\t}\r\n\t}\r\n\r\n\tremoveConditions() {\r\n\t\tthis.storage.remove(APP_STORAGE.conditions);\r\n\t\tlocalStorage.removeItem(APP_STORAGE.conditions);\r\n\t}\r\n\r\n\t/**\r\n\t * checkUpdateNecessary()\r\n\t *\r\n\t * prüft ob eine Update von regisafe notwendig ist, damit diese Version der\r\n\t * App lauffähig ist\r\n\t *\r\n\t * @param version\r\n\t */\r\n\tcheckUpdateNecessary(version: IQAPIVersionObject): boolean {\r\n\t\tif (version.major >= IQAPI_MIN_VERSION_MAJOR) {\r\n\t\t\tif (version.major === IQAPI_MIN_VERSION_MAJOR && version.minor < IQAPI_MIN_VERSION_MINOR) {\r\n\t\t\t\treturn true;\r\n\t\t\t} else {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * setSearchFormData\r\n\t *\r\n\t * @param conditions - Object\r\n\t */\r\n\tsetSearchFormData(searchforms: object) {\r\n\t\tthis.storage.set(APP_STORAGE.searchforms, searchforms);\r\n\t}\r\n\r\n\tasync getSearchFormData() {\r\n\t\treturn this.storage.get(APP_STORAGE.searchforms);\r\n\t}\r\n\r\n\tsetSortingData(sortingdata: object) {\r\n\t\tthis.storage.set(APP_STORAGE.sortingdata, sortingdata);\r\n\t}\r\n\r\n\tasync getSortingData() {\r\n\t\treturn this.storage.get(APP_STORAGE.sortingdata);\r\n\t}\r\n\r\n\tsetSearchWordModeData(searchmodedata: object) {\r\n\t\tlocalStorage.setItem(APP_STORAGE.searchmodedata, JSON.stringify(searchmodedata));\r\n\t}\r\n\r\n\tgetSearchModeData() {\r\n\t\treturn JSON.parse(localStorage.getItem(APP_STORAGE.searchmodedata));\r\n\t}\r\n\r\n\tasync setSortingDataSelection(sortField, osId) {\r\n\r\n\t\tconsole.log('### setSortingDataSelection ###: ', sortField);\r\n\t\tconsole.log('### setSortingDataSelection ###: ', osId);\r\n\r\n\t\tconst sortingData = await this.getSortingData();\r\n\t\tlet sortingDataSelection = await this.getSortingDataSelection();\r\n\t\tlet position = 0;\r\n\r\n\t\tconsole.log('### sortingDataSelection: ', sortingDataSelection);\r\n\r\n\t\tconst selectionObj = {\r\n\t\t\t// eslint-disable-next-line @typescript-eslint/naming-convention\r\n\t\t\tDefault: 0,\r\n\t\t\t// eslint-disable-next-line @typescript-eslint/naming-convention\r\n\t\t\tAktenplanverwaltung: 0,\r\n\t\t\t// eslint-disable-next-line @typescript-eslint/naming-convention\r\n\t\t\tVorgangsVerwaltung: 0,\r\n\t\t\t// eslint-disable-next-line @typescript-eslint/naming-convention\r\n\t\t\tSchriftgutverwaltung: 0,\r\n\t\t\t// eslint-disable-next-line @typescript-eslint/naming-convention\r\n\t\t\tAdressverwaltung: 0,\r\n\t\t\t// eslint-disable-next-line @typescript-eslint/naming-convention\r\n\t\t\tSitzungsverwaltung: 0\r\n\t\t};\r\n\r\n\t\tif (!sortingDataSelection) {\r\n\t\t\tsortingDataSelection = selectionObj;\r\n\t\t}\r\n\r\n\t\tif (sortingData.hasOwnProperty(osId)) {\r\n\t\t\tposition = sortingData[osId].findIndex((elem, index) => {\r\n\t\t\t\treturn elem.value === sortField;\r\n\t\t\t});\r\n\t\t\tsortingDataSelection[osId] = position;\r\n\t\t} else {\r\n\t\t\tposition = sortingData.Default.findIndex((elem, index) => {\r\n\t\t\t\treturn elem.value === sortField;\r\n\t\t\t});\r\n\t\t\tsortingDataSelection.Default = position;\r\n\t\t}\r\n\r\n\t\tconsole.log('### selectionObj: ', sortingDataSelection);\r\n\r\n\t\tthis.storage.set(APP_STORAGE.sortingdataselection, sortingDataSelection);\r\n\t}\r\n\r\n\tasync getSortingDataSelection() {\r\n\t\treturn this.storage.get(APP_STORAGE.sortingdataselection);\r\n\t}\r\n\r\n\t/**\r\n\t * setUsername\r\n\t *\r\n\t * @param username - String\r\n\t */\r\n\tsetUsername(username: string) {\r\n\t\tthis.storage.set(APP_STORAGE.user.username, username);\r\n\t}\r\n\r\n\t/**\r\n\t * setStructure\r\n\t *\r\n\t * @param structure - String\r\n\t */\r\n\tsetSelectedStructure(structure: string) {\r\n\t\tthis.storage.set(APP_STORAGE.user.selectedstructure, structure);\r\n\t}\r\n\r\n\tgetSelectedStructure(): Promise {\r\n\t\treturn this.storage.get(APP_STORAGE.user.selectedstructure).then((data) => {\r\n\t\t\treturn data;\r\n\t\t});\r\n\t}\r\n\r\n\tsetInitialStorage(key: string, value: any) {\r\n\t\tthis.storage.get(key).then((data) => {\r\n\t\t\tif (!data) {\r\n\t\t\t\tthis.storage.set(key, value);\r\n\t\t\t}\r\n\t\t}).catch((e) => {\r\n\t\t\tconsole.log('setInitialStorage error: ', e);\r\n\t\t});\r\n\t}\r\n\r\n\r\n\t// --- localstorage ---\r\n\tgetLocalStorageAppStructs(): Array {\r\n\t\treturn JSON.parse(localStorage.getItem('appStructs'));\r\n\t}\r\n\r\n\tsetLocalStorageAppStructs(appStructsObj: object) {\r\n\t\tconst appStructs: Array = [];\r\n\t\tObject.values(appStructsObj).forEach((structure) => {\r\n\t\t\tappStructs.push(structure);\r\n\t\t});\r\n\t\tlocalStorage.setItem('appStructs', JSON.stringify(appStructs));\r\n\t}\r\n\r\n\tgetToken(): string {\r\n\t\treturn localStorage.getItem(APP_STORAGE.tokenname);\r\n\t}\r\n\r\n\t/**\r\n\t * setLocalFavoritesObj\r\n\t *\r\n\t * @param appStructsObj - Object\r\n\t *\r\n\t * Methode wird nach erfolgreichen Login aufgerufen\r\n\t * Es wird geprüft ob das Object für die Favoriten bereits im Storage vorhanden ist\r\n\t * und ggf. neu angelegt.\r\n\t */\r\n\tsetLocalFavoritesObj(appStructsObj: object) {\r\n\r\n\t\tconst appStructs: Array = [];\r\n\t\tObject.values(appStructsObj).forEach((structure) => {\r\n\t\t\tappStructs.push(structure);\r\n\t\t});\r\n\r\n\t\tthis.getLocalFavorites()\r\n\t\t\t.catch((error) => {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst localFavoriteObj = {};\r\n\t\t\t\t\tappStructs.forEach((structure) => {\r\n\t\t\t\t\t\tlocalFavoriteObj[structure] = [];\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.storage.set(APP_STORAGE.localfavorites, localFavoriteObj);\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tconsole.log('setLocalFavoritesObj error: ', error, e);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then((favorites) => {\r\n\t\t\t\tif (favorites === null) {\r\n\t\t\t\t\tconst localFavoriteObj = {};\r\n\t\t\t\t\tappStructs.forEach((structure) => {\r\n\t\t\t\t\t\tlocalFavoriteObj[structure] = [];\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.storage.set(APP_STORAGE.localfavorites, localFavoriteObj);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * setLocalFavorites\r\n\t */\r\n\tsetLocalFavorite(osId: string, objID: string) {\r\n\r\n\t\tthis.getLocalFavorites()\r\n\t\t\t.catch((e) => {\r\n\t\t\t\tconsole.log('setLocalFavorite error in catch: ', e);\r\n\t\t\t})\r\n\t\t\t.then((favorites) => {\r\n\t\t\t\tlet action: string;\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\tlet filteredFavorites: Array;\r\n\t\t\t\t\tconst found = favorites[osId].find(favorite => favorite === objID);\r\n\t\t\t\t\tif (typeof found === 'undefined') {\r\n\t\t\t\t\t\tfavorites[osId].push(objID);\r\n\t\t\t\t\t\taction = 'add';\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tfilteredFavorites = favorites[osId].filter((value) => {\r\n\t\t\t\t\t\t\treturn value !== objID;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tfavorites[osId] = filteredFavorites;\r\n\t\t\t\t\t\taction = 'remove';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.storage.set(APP_STORAGE.localfavorites, favorites);\r\n\t\t\t\t\tthis.msgService.sendMessage({\r\n\t\t\t\t\t\tcontext: 'favorites:edit',\r\n\t\t\t\t\t\tdo: action,\r\n\t\t\t\t\t\tstructure: osId,\r\n\t\t\t\t\t\tid: objID,\r\n\t\t\t\t\t\tfavoritesObj: favorites\r\n\t\t\t\t\t});\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tconsole.log('setLocalFavorite error in try: ', e);\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * getLocalFavorites\r\n\t */\r\n\tgetLocalFavorites(): Promise {\r\n\t\treturn this.storage.get(APP_STORAGE.localfavorites).then((data) => {\r\n\t\t\treturn data;\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * getOSFieldsFromCondtions(structure)\r\n\t * Liest die osFields aus den Conditons aus undbereinigt diese um alle Felder mit Unterstrich am Beginn\r\n\t *\r\n\t * @param structure\r\n\t */\r\n\t// async getOSFieldsFromCondtions(structure): Promise {\r\n\t// \treturn this.storage.get(APP_STORAGE.conditions).then((data) => {\r\n\t// \t\tconst osFields = data.orgaStructs[structure].osFields;\r\n\t// \t\tconst searchedOsFields: Array = [];\r\n\t// \t\tObject.keys(osFields).forEach((osFieldKey) => {\r\n\t// \t\t\tif (!osFieldKey.startsWith('_')) {\r\n\t// \t\t\t\tsearchedOsFields.push(osFieldKey);\r\n\t// \t\t\t}\r\n\t// \t\t});\r\n\t// \t\tsearchedOsFields.push('_ObjID');\r\n\t// \t\treturn searchedOsFields;\r\n\t// \t});\r\n\t// }\r\n\r\n\tgetOSFieldsFromCondtionsSync(structure): any {\r\n\t\tconst data = JSON.parse(localStorage.getItem(APP_STORAGE.conditions));\r\n\t\tconst osFields = data.orgaStructs[structure].osFields;\r\n\t\tconst searchedOsFields: Array = [];\r\n\t\tObject.keys(osFields).forEach((osFieldKey) => {\r\n\t\t\tif (!osFieldKey.startsWith('_')) {\r\n\t\t\t\tsearchedOsFields.push(osFieldKey);\r\n\t\t\t}\r\n\t\t});\r\n\t\tsearchedOsFields.push('_ObjID');\r\n\t\tsearchedOsFields.push('_SYMBFARBE');\r\n\t\tsearchedOsFields.push('_FARBE');\r\n\t\treturn searchedOsFields;\r\n\t}\r\n\r\n\tasync getOsSignumFieldFromCondtions(structure: string): Promise {\r\n\t\treturn this.storage.get(APP_STORAGE.conditions).then((data) => {\r\n\t\t\treturn data.orgaStructs[structure].osSignum;\r\n\t\t});\r\n\t}\r\n\r\n\tasync getOsFieldDescFromConditions(structure): Promise {\r\n\t\treturn this.storage.get(APP_STORAGE.conditions).then((data) => {\r\n\t\t\treturn data.orgaStructs[structure].osFieldDesc;\r\n\t\t});\r\n\t}\r\n\r\n\tasync getOsFieldsFromConditions(structure): Promise {\r\n\t\treturn this.storage.get(APP_STORAGE.conditions).then((data) => {\r\n\t\t\treturn data.orgaStructs[structure].osFields;\r\n\t\t});\r\n\t}\r\n\r\n\tasync getOsStructNameFromConditions(structure): Promise {\r\n\t\treturn this.storage.get(APP_STORAGE.conditions).then((data) => {\r\n\t\t\treturn data.orgaStructs[structure].osStructName;\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * Gibt den Namen der übergebenen Orgastruktur zurück (osStructName)\r\n\t * (synchron)\r\n\t *\r\n\t * @param structure\r\n\t */\r\n\tgetOsStructNameFromConditionsSync(structure, singular?) {\r\n\t\tlet osStructName: string;\r\n\t\tif (structure) {\r\n\t\t\tconst data = JSON.parse(localStorage.getItem(APP_STORAGE.conditions));\r\n\t\t\tif (!singular) {\r\n\t\t\t\tosStructName = data.orgaStructs[structure].osUnits;\r\n\t\t\t} else {\r\n\t\t\t\tosStructName = data.orgaStructs[structure].osUnit;\r\n\t\t\t}\r\n\t\t\treturn osStructName;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * Gibt den osSortIndex der übergebenen Orgastruktur zurück (osStructName)\r\n\t * (synchron)\r\n\t *\r\n\t * @param structure\r\n\t */\r\n\tgetOsSortIndexFromConditionsSync(structure) {\r\n\t\tif (structure) {\r\n\t\t\tconst data = JSON.parse(localStorage.getItem(APP_STORAGE.conditions));\r\n\t\t\tconst osSortIndex = data.orgaStructs[structure].osSortIndex;\r\n\t\t\treturn osSortIndex;\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tsetSavedSearches(body: SearchObjectsExObj) {\r\n\t\tconst savedSearches = localStorage.getItem(APP_STORAGE.savedSearches);\r\n\t\tif (savedSearches) {\r\n\t\t\t// push inArray\r\n\t\t} else {\r\n\t\t\tconst temp: Array = [];\r\n\t\t\ttemp.push(body);\r\n\t\t\tlocalStorage.setItem(APP_STORAGE.savedSearches, JSON.stringify(temp));\r\n\t\t}\r\n\t}\r\n\r\n\tgetSavedSearches() {\r\n\t\treturn JSON.parse(localStorage.getItem(APP_STORAGE.savedSearches));\r\n\t}\r\n\r\n\t/**\r\n\t * AppConfiguration\r\n\t */\r\n\tgetAppConfigurationSync(): any {\r\n\t\ttry {\r\n\t\t\tconst data = JSON.parse(localStorage.getItem(APP_STORAGE.appConfig));\r\n\t\t\treturn data;\r\n\t\t} catch (e) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t}\r\n\r\n\tsetAppConfigurationSync(configuration: ConfigurationObject): void {\r\n\t\tlocalStorage.setItem(APP_STORAGE.appConfig, JSON.stringify(configuration));\r\n\t}\r\n\r\n\t/**\r\n\t * Schriftgut\r\n\t */\r\n\r\n\tasync getSchriftgut(userId?: string) {\r\n\t\tif (!userId) {\r\n\t\t\treturn this.storage.get(APP_STORAGE.user.edit);\r\n\t\t} else {\r\n\t\t\tconst edit = await this.storage.get(APP_STORAGE.user.edit);\r\n\t\t\treturn edit[userId];\r\n\t\t}\r\n\t}\r\n\r\n\tasync removeFileFromObjectInSchriftgut(objid, filename) {\r\n\t\tconst userData = await this.getConditions('user');\r\n\t\tconst userId = userData.userId;\r\n\t\tconst schriftgut = await this.storage.get(APP_STORAGE.user.edit);\r\n\r\n\t\tconsole.log('## removeFileFromObjectInSchriftgut ##: ', schriftgut[userId]);\r\n\r\n\t\tconst find = schriftgut[userId][objid].find(o => o.name === filename);\r\n\t\tconst findIndex = schriftgut[userId][objid].findIndex(o => o.name === filename);\r\n\r\n\t\tconsole.log('## find ##: ', find);\r\n\t\tconsole.log('## findIndex ##: ', findIndex);\r\n\r\n\t\tschriftgut[userId][objid].splice(findIndex, 1);\r\n\r\n\t\tconsole.log('## schiftgut ##: ', schriftgut);\r\n\r\n\t\treturn this.storage.set(APP_STORAGE.user.edit, schriftgut);\r\n\t}\r\n\r\n\tasync removeObjectFromSchriftgut(objid: string): Promise {\r\n\t\tconst userData = await this.getConditions('user');\r\n\t\tconst userId = userData.userId;\r\n\t\tconst schriftgut = await this.storage.get(APP_STORAGE.user.edit);\r\n\t\tdelete schriftgut[userId][objid];\r\n\t\treturn this.storage.set(APP_STORAGE.user.edit, schriftgut);\r\n\t}\r\n\r\n\tasync setLockedObject(obj: string): Promise {\r\n\t\tconst userData = await this.getConditions('user');\r\n\t\tconst userId = userData.userId;\r\n\t\tconst locked: any = await this.getLockedObjects();\r\n\r\n\t\tif (locked.hasOwnProperty(userId)) {\r\n\t\t\tconst index = locked[userId].findIndex(element => {\r\n\t\t\t\tif (element.includes(obj)) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tif (index === -1) {\r\n\t\t\t\tlocked[userId].push(obj);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tlocked[userId] = [];\r\n\t\t\tlocked[userId].push(obj);\r\n\t\t}\r\n\r\n\t\treturn this.storage.set(APP_STORAGE.user.locked, locked);\r\n\t}\r\n\r\n\tasync removeLockedObject(id: string) {\r\n\t\tconsole.log('removeLockedObject: ', id);\r\n\r\n\t\tconst userData = await this.getConditions('user');\r\n\t\tconst userId = userData.userId;\r\n\t\tconst locked: any = await this.getLockedObjects();\r\n\r\n\t\tconsole.log('locked.hasOwnProperty(userId): ', locked.hasOwnProperty(userId));\r\n\r\n\t\tif (locked.hasOwnProperty(userId)) {\r\n\t\t\tconst index = locked[userId].findIndex(element => {\r\n\t\t\t\tif (element.includes(id)) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tif (index > -1) {\r\n\t\t\t\tconsole.log('index: ', index);\r\n\t\t\t\tconsole.log('locked: ', JSON.stringify(locked));\r\n\t\t\t\tlocked[userId].splice(index, 1);\r\n\t\t\t\tconsole.log('locked: ', locked);\r\n\t\t\t\treturn this.storage.set(APP_STORAGE.user.locked, locked);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n\r\n\tasync getLockedObjects() {\r\n\t\tconst locked = await this.storage.get(APP_STORAGE.user.locked);\r\n\t\treturn locked;\r\n\t}\r\n\r\n\tasync storeFileMetaInformations(metadata: any) {\r\n\t\tconst userData = await this.getConditions('user');\r\n\t\tconst userId = userData.userId;\r\n\t\tconst schriftgut: any = await this.getSchriftgut();\r\n\r\n\t\tif (schriftgut.hasOwnProperty(userId)) {\r\n\t\t\tif (schriftgut[userId].hasOwnProperty(metadata.objid)) {\r\n\r\n\t\t\t\tconst docExists = schriftgut[userId][metadata.objid].find(obj => obj.name === metadata.name);\r\n\t\t\t\tif (docExists) {\r\n\t\t\t\t\tconst docExistsFilter = schriftgut[userId][metadata.objid].filter(obj => obj.name !== metadata.name);\r\n\t\t\t\t\tschriftgut[userId][metadata.objid] = docExistsFilter;\r\n\t\t\t\t\tschriftgut[userId][metadata.objid].push(metadata);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tschriftgut[userId][metadata.objid].push(metadata);\r\n\t\t\t\t}\r\n\r\n\t\t\t} else {\r\n\t\t\t\tschriftgut[userId][metadata.objid] = [metadata];\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\tschriftgut[userId] = {\r\n\t\t\t\t[metadata.objid]: [metadata]\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tthis.storage.set(APP_STORAGE.user.edit, schriftgut);\r\n\t}\r\n\r\n\tgetRequiredFields(osFields, orgaStructure?): Array {\r\n\t\tconst requiredFields = [];\r\n\t\tlet nbr = null;\r\n\t\tObject.keys(osFields).forEach((key) => {\r\n\r\n\t\t\tconst obj: any = {};\r\n\r\n\t\t\tif (osFields[key].indexOf('!') > -1) {\r\n\t\t\t\t// requiredFields.push(key);\r\n\t\t\t\tobj.placeholder = key;\r\n\t\t\t\tobj.name = key;\r\n\t\t\t\tnbr = osFields[key].match(/\\d/g);\r\n\t\t\t\tif (nbr !== null) {\r\n\t\t\t\t\tnbr = nbr.join('');\r\n\t\t\t\t}\r\n\t\t\t\tif (nbr > 100) {\r\n\t\t\t\t\tobj.type = 'textarea';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tobj.type = 'text';\r\n\t\t\t\t}\r\n\t\t\t\trequiredFields.push(obj);\r\n\t\t\t}\r\n\r\n\t\t});\r\n\r\n\t\t// aktuell kann nicht geprüft werden, ob ein Pflichtfeld ein Autonummer hat oder nicht.\r\n\t\t// Daher werden hier vorerst manuell die entsprechenden Felder statisch angegeben und\r\n\t\t// wieder entfernt;\r\n\t\tconst fieldsToRemove = {\r\n\t\t\t// eslint-disable-next-line @typescript-eslint/naming-convention\r\n\t\t\tSchriftgutverwaltung: ['Schriftstückidentifikation'],\r\n\t\t\t// eslint-disable-next-line @typescript-eslint/naming-convention\r\n\t\t\tVorgangsVerwaltung: ['xyz']\r\n\t\t};\r\n\r\n\t\t// Array clonen ohne Referenz\r\n\t\tconst staticRequiredFields = JSON.parse(JSON.stringify(requiredFields));\r\n\t\trequiredFields.forEach((value, index) => {\r\n\t\t\t// prüfen ob Orgastruktur in zu entfernden Feldern (fieldsToRemove) existiert\r\n\t\t\tif (fieldsToRemove.hasOwnProperty(orgaStructure)) {\r\n\t\t\t\t// prüfen ob zu entferndendes Feld in requiredFields vorhanden ist\r\n\t\t\t\tif (fieldsToRemove[orgaStructure].includes(value.name)) {\r\n\t\t\t\t\t// zu entferndendes Feld aus geclontem Array entfenen\r\n\t\t\t\t\tstaticRequiredFields.splice(index, 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// geklontes Array mit Array aus Conditions vergleichen\r\n\t\t// wenn beide die gleiche länge haben, requiredFields zurückgeben.\r\n\t\t// Ansonsten staticRequiredFields zurückgeben.\r\n\t\tif (staticRequiredFields.length === requiredFields.length) {\r\n\t\t\treturn requiredFields;\r\n\t\t} else {\r\n\t\t\treturn staticRequiredFields;\r\n\t\t}\r\n\r\n\t\t// return requiredFields;\r\n\t}\r\n\r\n\tasync osSuperStructsToOsFields(orgaStructure): Promise {\r\n\r\n\t\tconst orgaStructs = await this.getConditions('orgaStructs');\r\n\t\tconst osSuperStructs = orgaStructs[orgaStructure].osSuperStructs;\r\n\t\tconst osFields = [];\r\n\r\n\t\t// Vorgangsverwaltung umbenennen zu VorgangsVerwaltung\r\n\t\tconst indexOfVorgangsverwaltung = osSuperStructs.indexOf('Vorgangsverwaltung');\r\n\t\tif (indexOfVorgangsverwaltung > -1) {\r\n\t\t\tosSuperStructs[indexOfVorgangsverwaltung] = 'VorgangsVerwaltung';\r\n\t\t}\r\n\r\n\t\tosSuperStructs.forEach((item) => {\r\n\t\t\tosFields.push(orgaStructs[item].osSignum);\r\n\t\t});\r\n\r\n\t\treturn osFields;\r\n\t}\r\n\r\n\tasync getSelectedDatastoreIds(selected: Array): Promise {\r\n\t\tconst dataStores = await this.getConditions('dataStores');\r\n\t\tconst dataStoreIds = [];\r\n\r\n\t\t// -- Prüfung welcher Key für die DataStore-ID verwendet wird. --\r\n\t\t//\r\n\t\t// Ursprünglich (in vorheriger App) wurde 'dataStoreID' als Schlüssel verwendet.\r\n\t\t// In der neuen IQAPI wurde der Schlüssel umbenannt zu 'dataStoreId', was in der\r\n\t\t// vorherigen App zu einem Fehler bei der Suche führte. Daher wurde die Umbenennung\r\n\t\t// wieder rückgängig gemacht.\r\n\t\t// Um in Zukunft Fehler bei einer erneuten Umbennung zu vermeiden (wenn kein Kunde mehr die alte App verwendet)\r\n\t\t// wird hier geprüft, welcher Schlüssel verwendet wird.\r\n\t\tlet dataStoreIdKey = '';\r\n\t\tif (dataStores.length > 0) {\r\n\t\t\tif (dataStores[0].hasOwnProperty('dataStoreId')) {\r\n\t\t\t\tdataStoreIdKey = 'dataStoreId';\r\n\t\t\t} else if (dataStores[0].hasOwnProperty('dataStoreID')) {\r\n\t\t\t\tdataStoreIdKey = 'dataStoreID';\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tselected.forEach((item, index) => {\r\n\t\t\tconst test = dataStores.filter(o => o.name === item);\r\n\t\t\tdataStoreIds.push(test[0][dataStoreIdKey]);\r\n\t\t});\r\n\r\n\t\treturn dataStoreIds;\r\n\r\n\t}\r\n\r\n\tsetRecivedIntend(intend: string) {\r\n\t\tlocalStorage.setItem(APP_STORAGE.recivedintend, intend);\r\n\t}\r\n\r\n\tgetRecivedIntend() {\r\n\t\treturn localStorage.getItem('recivedintend');\r\n\t}\r\n\r\n\tremoveRecivedIntend() {\r\n\t\treturn localStorage.removeItem('recivedintend');\r\n\t}\r\n\r\n\tsetRecivedIntendFromURLScheme(intend: string) {\r\n\t\tlocalStorage.setItem(APP_STORAGE.recivedintendfromcustomurlscheme, intend);\r\n\t}\r\n\r\n\tgetRecivedIntendFromURLScheme() {\r\n\t\treturn localStorage.getItem('recivedintendfromcustomurlscheme');\r\n\t}\r\n\r\n\tremoveRecivedIntendFromURLScheme() {\r\n\t\treturn localStorage.removeItem('recivedintendfromcustomurlscheme');\r\n\t}\r\n\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {AlertController, LoadingController, ModalController, Platform, ToastController} from '@ionic/angular';\r\nimport {APP_ROUTES, APP_STORAGE} from '../../../environments/environment';\r\nimport {StorageService} from '../storage/storage.service';\r\nimport {Router} from '@angular/router';\r\nimport {MessagesService} from '../messages/messages.service';\r\nimport {ALERT_TXT, TOAST_TXT} from '../../strings/language';\r\nimport {Md5} from 'ts-md5';\r\nimport {ErrorHandlingService} from '../error-handling/error-handling.service';\r\nimport * as CryptoJS from 'crypto-js';\r\nimport {DateiSystemService} from '../datei-system/datei-system.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class UserService {\r\n\r\n\tloader: any;\r\n\tresultCacheData = {\r\n\t\tresults: [],\r\n\t\ttotalResults: 0,\r\n\t\toutParams: {\r\n\t\t\tsearchLevel1: 0\r\n\t\t}\r\n\t};\r\n\r\n\tmodal: HTMLIonModalElement;\r\n\r\n\tmimeTypes = {\r\n\t\t'aac': 'audio/aac',\r\n\t\t'abw': 'application/x-abiword',\r\n\t\t'arc': 'application/x-freearc',\r\n\t\t'avif': 'image/avif',\r\n\t\t'avi': 'video/x-msvideo',\r\n\t\t'azw': 'application/vnd.amazon.ebook',\r\n\t\t'bin': 'application/octet-stream',\r\n\t\t'bmp': 'image/bmp',\r\n\t\t'bz': 'application/x-bzip',\r\n\t\t'bz2': 'application/x-bzip2',\r\n\t\t'cda': 'application/x-cdf',\r\n\t\t'csh': 'application/x-csh',\r\n\t\t'css': 'text/css',\r\n\t\t'csv': 'text/csv',\r\n\t\t'doc': 'application/msword',\r\n\t\t'docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\r\n\t\t'eot': 'application/vnd.ms-fontobject',\r\n\t\t'epub': 'application/epub+zip',\r\n\t\t'gz': 'application/gzip',\r\n\t\t'gif': 'image/gif',\r\n\t\t'htm': 'text/html',\r\n\t\t'html': 'text/html',\r\n\t\t'ico': 'image/vnd.microsoft.icon',\r\n\t\t'ics': 'text/calendar',\r\n\t\t'jar': 'application/java-archive',\r\n\t\t'jpeg': 'image/jpeg',\r\n\t\t'jpg': 'image/jpeg',\r\n\t\t'js': 'text/javascript',\r\n\t\t'json': 'application/json',\r\n\t\t'jsonld': 'application/ld+json',\r\n\t\t'mid': 'audio/midi',\r\n\t\t'midi': 'audio/x-midi',\r\n\t\t'mjs': 'text/javascript',\r\n\t\t'mp3': 'audio/mpeg',\r\n\t\t'mp4': 'video/mp4',\r\n\t\t'mpeg': 'video/mpeg',\r\n\t\t'mpkg': 'application/vnd.apple.installer+xml',\r\n\t\t'odp': 'application/vnd.oasis.opendocument.presentation',\r\n\t\t'ods': 'application/vnd.oasis.opendocument.spreadsheet',\r\n\t\t'odt': 'application/vnd.oasis.opendocument.text',\r\n\t\t'oga': 'audio/ogg',\r\n\t\t'ogv': 'video/ogg',\r\n\t\t'ogx': 'application/ogg',\r\n\t\t'opus': 'audio/opus',\r\n\t\t'otf': 'font/otf',\r\n\t\t'png': 'image/png',\r\n\t\t'pdf': 'application/pdf',\r\n\t\t'php': 'application/x-httpd-php',\r\n\t\t'ppt': 'application/vnd.ms-powerpoint',\r\n\t\t'pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\r\n\t\t'rar': 'application/vnd.rar',\r\n\t\t'rtf': 'application/rtf',\r\n\t\t'sh': 'application/x-sh',\r\n\t\t'svg': 'image/svg+xml',\r\n\t\t'tar': 'application/x-tar',\r\n\t\t'tif ': 'image/tiff',\r\n\t\t'tiff': 'image/tiff',\r\n\t\t'ts': 'video/mp2t',\r\n\t\t'ttf': 'font/ttf',\r\n\t\t'txt': 'text/plain',\r\n\t\t'vsd': 'application/vnd.visio',\r\n\t\t'wav': 'audio/wav',\r\n\t\t'weba': 'audio/webm',\r\n\t\t'webm': 'video/webm',\r\n\t\t'webp': 'image/webp',\r\n\t\t'woff': 'font/woff',\r\n\t\t'woff2': 'font/woff2',\r\n\t\t'xhtml': 'application/xhtml+xml',\r\n\t\t'xls': 'application/vnd.ms-excel',\r\n\t\t'xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n\t\t'xml': 'application/xml',\r\n\t\t'xul': 'application/vnd.mozilla.xul+xml',\r\n\t\t'zip': 'application/zip',\r\n\t\t'3gp': 'video/3gpp; audio/3gpp',\r\n\t\t'3g2': 'video/3gpp2; audio/3gpp2',\r\n\t\t'7z': 'application/x-7z-compressed',\r\n\t\t'iqo': 'text/plain',\r\n\t};\r\n\r\n\texistingOrgastructIcons = [\r\n\t\t'Adressverwaltung',\r\n\t\t'Aktenplanverwaltung',\r\n\t\t'Grundstücksverwaltung',\r\n\t\t'Schriftgutverwaltung',\r\n\t\t'Sitzungsverwaltung',\r\n\t\t'Verteilerverwaltung',\r\n\t\t'Verwaltung',\r\n\t\t'VorgangsVerwaltung'\r\n\t];\r\n\r\n\tconstructor(public toastCtrl: ToastController,\r\n\t\t\t\tpublic loadingCtrl: LoadingController,\r\n\t\t\t\tpublic modalCtrl: ModalController,\r\n\t\t\t\tpublic alertCtrl: AlertController,\r\n\t\t\t\tpublic platform: Platform,\r\n\t\t\t\tprivate storageService: StorageService,\r\n\t\t\t\tprivate router: Router,\r\n\t\t\t\tprivate errorHandling: ErrorHandlingService,\r\n\t\t\t\tprivate dateiService: DateiSystemService,\r\n\t\t\t\tprivate msgService: MessagesService) {\r\n\t}\r\n\r\n\tasync presentDefaultToast(msg: string, dur: number = 2500, pos: any = 'middle') {\r\n\r\n\t\tconst toast = await this.toastCtrl.create({\r\n\t\t\tmessage: msg,\r\n\t\t\tduration: dur,\r\n\t\t\tposition: pos\r\n\t\t});\r\n\r\n\t\ttoast.present();\r\n\t}\r\n\r\n\t/**\r\n\t *\r\n\t * @param needle\r\n\t * @param type (text, icon)\r\n\t */\r\n\tfindAndTranslateColor(needle: string, type: string): any {\r\n\r\n\t\tconst colorObject = {\r\n\t\t\t'Blau': '0,60,235',\r\n\t\t\t'Blau fett': '0,60,235',\r\n\t\t\t'Blaugrün': '0,128,128',\r\n\t\t\t'Blaugrün fett': '0,128,128',\r\n\t\t\t'Braun': '128,63,0',\r\n\t\t\t'Braun fett': '128,63,0',\r\n\t\t\t'Chamois': '255,235,140',\r\n\t\t\t'Chamois fett': '255,235,140',\r\n\t\t\t'Dunkelblau': '0,0,85',\r\n\t\t\t'Dunkelblau fett': '0,0,85',\r\n\t\t\t'Dunkelrot': '128,0,0',\r\n\t\t\t'Dunkelrot fett': '128,0,0',\r\n\t\t\t'Dunkelgrau': '63,63,63',\r\n\t\t\t'Dunkelgrau fett': '63,63,63',\r\n\t\t\t'Gelb': '255,255,0',\r\n\t\t\t'Gelb fett': '255,255,0',\r\n\t\t\t'Grau': '128,128,128',\r\n\t\t\t'Grau fett': '128,128,128',\r\n\t\t\t'Grün': '0,128,0',\r\n\t\t\t'Grün fett': '0,128,0',\r\n\t\t\t'Hellgrün': '0,255,0',\r\n\t\t\t'Hellgrün fett': '0,255,0',\r\n\t\t\t'Hellgrau': '192,192,192',\r\n\t\t\t'Hellgrau fett': '192,192,192',\r\n\t\t\t'Lila': '255,0,255',\r\n\t\t\t'Lila fett': '255,0,255',\r\n\t\t\t'Olivgrün': '128,128,0',\r\n\t\t\t'Olivgrün fett': '128,128,0',\r\n\t\t\t'Orange': '255,118,0',\r\n\t\t\t'Orange fett': '255,118,0',\r\n\t\t\t'Rosa': '255,128,128',\r\n\t\t\t'Rosa fett': '255,128,128',\r\n\t\t\t'Rot': '255,0,0',\r\n\t\t\t'Rot fett': '255,0,0',\r\n\t\t\t'Schwarz': '0,0,0',\r\n\t\t\t'Schwarz fett': '0,0,0',\r\n\t\t\t'Silber': '192,192,192',\r\n\t\t\t'Silber fett': '192,192,192',\r\n\t\t\t'Türkis': '0,255,255',\r\n\t\t\t'Türkis fett': '0,255,255',\r\n\t\t\t'Violett': '128,0,128',\r\n\t\t\t'Violett fett': '128,0,128',\r\n\t\t\t'Weiß': '255,255,255',\r\n\t\t\t'Weiß fett': '255,255,255'\r\n\t\t};\r\n\r\n\t\tconst styleObj = {\r\n\t\t\t'color': 'auto',\r\n\t\t\t'border-color': 'transparent',\r\n\t\t\t'font-weight': 'normal'\r\n\t\t};\r\n\r\n\t\tfor (const property in colorObject) {\r\n\r\n\t\t\tif (colorObject.hasOwnProperty(needle)) {\r\n\t\t\t\tif (!needle.includes('fett')) {\r\n\t\t\t\t\tif (type === 'text') {\r\n\t\t\t\t\t\tstyleObj['color'] = 'rgb(' + colorObject[needle] + ')';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (type === 'icon') {\r\n\t\t\t\t\t\tstyleObj['border-color'] = 'rgba(' + colorObject[needle] + ', 1)';\r\n\t\t\t\t\t\tstyleObj['font-weight'] = '900';\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn styleObj;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (type === 'text') {\r\n\t\t\t\t\t\tstyleObj['color'] = 'rgb(' + colorObject[needle] + ')';\r\n\t\t\t\t\t\tstyleObj['font-weight'] = 'bold';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (type === 'icon') {\r\n\t\t\t\t\t\tstyleObj['border-color'] = 'rgba(' + colorObject[needle] + ', 1)';\r\n\t\t\t\t\t\tstyleObj['font-weight'] = '900';\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn styleObj;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (type === 'icon') {\r\n\t\t\t\t\tstyleObj['font-weight'] = '900';\r\n\t\t\t\t}\r\n\t\t\t\treturn styleObj;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisNativeRun(): boolean {\r\n\t\tlet isNative = false;\r\n\t\tisNative = this.platform.is('ios') || this.platform.is('android');\r\n\t\treturn isNative;\r\n\t}\r\n\r\n\t/**\r\n\t * replaceString()\r\n\t *\r\n\t * @param str\r\n\t * @param search\r\n\t * @param replacement\r\n\t *\r\n\t * Replaces the first occurrence of search string with the specified new string.\r\n\t * If the \"all\" option is set to true, all occurrences of the search string are replaced\r\n\t */\r\n\treplaceString(str: string, search: string, replacement: string, all?: boolean) {\r\n\t\tlet flag: string;\r\n\r\n\t\tif (all) {\r\n\t\t\tflag = 'g';\r\n\t\t} else {\r\n\t\t\tflag = 'i';\r\n\t\t}\r\n\r\n\t\tconst regexp = new RegExp(search, flag);\r\n\t\tconst convertedString = str.replace(regexp, replacement);\r\n\t\treturn convertedString;\r\n\t}\r\n\r\n\tobjIdAsRouteParam(objId: string) {\r\n\t\tconsole.log('objIdAsRouteParam -->: ', this.replaceString(objId, ':', '--', true));\r\n\t\treturn this.replaceString(objId, ':', '--', true);\r\n\t}\r\n\r\n\tobjIdAsIQAPIParam(objId: string) {\r\n\t\treturn this.replaceString(objId, '--', ':', true);\r\n\t}\r\n\r\n\tasync presentLoader(msg: string = '') {\r\n\r\n\t\ttry {\r\n\t\t\tthis.loader.dimiss();\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log('presentLoader error dismiss', e);\r\n\t\t}\r\n\r\n\t\tthis.loader = await this.loadingCtrl.create({\r\n\t\t\tmessage: msg,\r\n\t\t\tduration: 10000\r\n\t\t});\r\n\t\tawait this.loader.present();\r\n\t}\r\n\r\n\tasync dismissLoader() {\r\n\t\tlet topLoader = await this.loadingCtrl.getTop();\r\n\t\twhile (topLoader) {\r\n\t\t\tif (!(await topLoader.dismiss())) {\r\n\t\t\t\t// error\r\n\t\t\t}\r\n\t\t\ttopLoader = await this.loadingCtrl.getTop();\r\n\t\t}\r\n\t}\r\n\r\n\tniceBytes(x: any): string {\r\n\r\n\t\tconst units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n\t\tlet l = 0;\r\n\t\tlet n = parseFloat(x) || 0;\r\n\r\n\t\twhile (n >= 1024 && ++l) {\r\n\t\t\tn = n / 1024;\r\n\t\t}\r\n\r\n\t\t// include a decimal point and a tenths-place digit if presenting\r\n\t\t// less than ten of KB or greater units\r\n\t\treturn (n.toFixed(n < 10 && l > 0 ? 2 : 0) + ' ' + units[l]);\r\n\t}\r\n\r\n\tcheckIsNative(): boolean {\r\n\t\tconst native = !(this.platform.is('desktop') || this.platform.is('mobileweb'));\r\n\t\treturn native;\r\n\t}\r\n\r\n\t/**\r\n\t * formatDate()\r\n\t *\r\n\t * formatiert das übergebene Datum\r\n\t *\r\n\t * @param date\r\n\t */\r\n\tpublic formatDate(date, regisafeDate: boolean = false, format?: string) {\r\n\r\n\t\tif (typeof date === 'string' && !regisafeDate) {\r\n\t\t\tdate = parseInt(date, 10);\r\n\t\t}\r\n\r\n\t\tconst d = new Date(date);\r\n\t\tlet month = '' + (d.getMonth() + 1);\r\n\t\tlet day = '' + d.getDate();\r\n\t\tconst year = d.getFullYear();\r\n\t\tif (month.length < 2) {\r\n\t\t\tmonth = '0' + month;\r\n\t\t}\r\n\t\tif (day.length < 2) {\r\n\t\t\tday = '0' + day;\r\n\t\t}\r\n\t\tif (!format) {\r\n\t\t\treturn [year, month, day].join('-');\r\n\t\t} else {\r\n\t\t\tif (format === 'DD.MM.YYYY') {\r\n\t\t\t\treturn [day, month, year].join('.');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\trandomChars(length: number): string {\r\n\t\tconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n\t\tlet str = '';\r\n\t\tfor (let i = 0; i < length; i++) {\r\n\t\t\tstr += chars.charAt(Math.floor((Math.random() * chars.length)));\r\n\t\t}\r\n\t\treturn str;\r\n\t}\r\n\r\n\tpublic base64toBlob(b64Data, contentType) {\r\n\t\tcontentType = contentType || '';\r\n\t\tconst sliceSize = 512;\r\n\t\tconst byteCharacters = atob(b64Data);\r\n\t\tconst byteArrays = [];\r\n\t\tfor (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\r\n\t\t\tconst slice = byteCharacters.slice(offset, offset + sliceSize);\r\n\t\t\tconst byteNumbers = new Array(slice.length);\r\n\t\t\tfor (let i = 0; i < slice.length; i++) {\r\n\t\t\t\tbyteNumbers[i] = slice.charCodeAt(i);\r\n\t\t\t}\r\n\t\t\tconst byteArray = new Uint8Array(byteNumbers);\r\n\t\t\tbyteArrays.push(byteArray);\r\n\t\t}\r\n\t\tconst blob = new Blob(byteArrays, {\r\n\t\t\ttype: contentType\r\n\t\t});\r\n\t\treturn blob;\r\n\t}\r\n\r\n\tasync getCurrentDate(): Promise {\r\n\r\n\t\tconst currentdate = new Date();\r\n\t\tconst datetime = currentdate.getDate() + '-'\r\n\t\t\t+ (currentdate.getMonth() + 1) + '-'\r\n\t\t\t+ currentdate.getFullYear() + '_'\r\n\t\t\t+ currentdate.getHours() + '-'\r\n\t\t\t+ currentdate.getMinutes() + '-'\r\n\t\t\t+ currentdate.getSeconds();\r\n\r\n\t\treturn datetime;\r\n\t}\r\n\r\n\tasync checkFilesInProcess(showAlert: boolean = true): Promise {\r\n\t\tconst user = await this.storageService.getConditions('user');\r\n\t\tconst filesInProcess = await this.storageService.getSchriftgut();\r\n\t\ttry {\r\n\t\t\tif (filesInProcess) {\r\n\t\t\t\tif (filesInProcess.hasOwnProperty(user.userId)) {\r\n\r\n\t\t\t\t\tif (showAlert) {\r\n\t\t\t\t\t\tif (Object.keys(filesInProcess[user.userId]).length > 0) {\r\n\r\n\t\t\t\t\t\t\t// Menüpunkt \"In Bearbeitung\" markieren, wenn Objekte in Bearbeitung sind\r\n\t\t\t\t\t\t\tthis.msgService.sendMessage({filesInProgress: true});\r\n\r\n\t\t\t\t\t\t\tconst alert = await this.alertCtrl.create({\r\n\t\t\t\t\t\t\t\theader: ALERT_TXT.header.str00010,\r\n\t\t\t\t\t\t\t\tsubHeader: ALERT_TXT.subHeader.str00030,\r\n\t\t\t\t\t\t\t\tbuttons: [{\r\n\t\t\t\t\t\t\t\t\ttext: ALERT_TXT.buttons.str00060,\r\n\t\t\t\t\t\t\t\t\trole: 'objects-in-process',\r\n\t\t\t\t\t\t\t\t\thandler: () => {\r\n\t\t\t\t\t\t\t\t\t\tthis.router.navigate([APP_ROUTES.inbearbeitung]);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\t\t\ttext: ALERT_TXT.buttons.str00230,\r\n\t\t\t\t\t\t\t\t\trole: 'cancel'\r\n\t\t\t\t\t\t\t\t}],\r\n\t\t\t\t\t\t\t\tbackdropDismiss: false\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tawait alert.present();\r\n\t\t\t\t\t\t\treturn alert.onDidDismiss();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn Object.keys(filesInProcess[user.userId]).length > 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log('checkFilesInProcess error: ', e);\r\n\t\t}\r\n\t}\r\n\r\n\tasync askForLogout(headerTxt, subheaderTxt, btnTxt) {\r\n\t\tconst alert = await this.alertCtrl.create({\r\n\t\t\theader: headerTxt,\r\n\t\t\tsubHeader: subheaderTxt,\r\n\t\t\tbuttons: [{\r\n\t\t\t\ttext: 'Abmelden',\r\n\t\t\t\trole: 'logout'\r\n\t\t\t}, {\r\n\t\t\t\ttext: btnTxt,\r\n\t\t\t\trole: 'cancel'\r\n\t\t\t}]\r\n\t\t});\r\n\r\n\t\tawait alert.present();\r\n\t\treturn alert.onDidDismiss();\r\n\t}\r\n\r\n\t/**\r\n\t * languageStringReplacer()\r\n\t *\r\n\t * Sucht in einem String nach den Vorkommen von 'needle' und ersetzt dieses durch den jeweils im Array\r\n\t * angegeben String. Die Anzahl der Ersetzungen ist Abhängig von der Länge des Arrays 'replacer' und der\r\n\t * Vorkommen von 'needle'.\r\n\t *\r\n\t * @param input\r\n\t * @param replacer\r\n\t * @param needle\r\n\t */\r\n\tlanguageStringReplacer(input: string, replacer: Array, needle: string): string {\r\n\t\tlet output;\r\n\t\tfor (const element of replacer) {\r\n\t\t\toutput = input.replace(needle, element);\r\n\t\t}\r\n\r\n\t\treturn output;\r\n\t}\r\n\r\n\t/**\r\n\t * setTitle()\r\n\t *\r\n\t * schneidet den übergebene Titel, je nach Auflösung nach eine vorgegeben Anzahl zeichen ab\r\n\t * und gibt das Ergebnis als String zurück.\r\n\t *\r\n\t * @param title\r\n\t */\r\n\tsetTitle(title: string): string {\r\n\t\tlet max = 240;\r\n\t\tlet cutted;\r\n\t\tconst stringEnd = '...';\r\n\t\tconst innerW = window.innerWidth;\r\n\t\tif (innerW < 768 && innerW > 500) {\r\n\t\t\tmax = 120;\r\n\t\t\tif (title.length > max) {\r\n\t\t\t\tcutted = title.substr(0, max) + stringEnd;\r\n\t\t\t} else {\r\n\t\t\t\tcutted = title;\r\n\t\t\t}\r\n\t\t\treturn cutted;\r\n\t\t} else if (innerW <= 500) {\r\n\t\t\tmax = 60;\r\n\t\t\tif (title.length > max) {\r\n\t\t\t\tcutted = title.substr(0, max) + stringEnd;\r\n\t\t\t} else {\r\n\t\t\t\tcutted = title;\r\n\t\t\t}\r\n\t\t\treturn cutted;\r\n\t\t} else if (title.length > max) {\r\n\t\t\treturn title.substr(0, max) + stringEnd;\r\n\t\t} else {\r\n\t\t\treturn title;\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * Hash\r\n\t */\r\n\r\n\tasync storePasswordForOfflineLogin(data) {\r\n\t\tconst makeHash = await this.makeHash(data.password, true);\r\n\t\tconsole.log('storePasswordForOfflineLogin makeHash: ', makeHash);\r\n\t\tif (makeHash) {\r\n\t\t\tawait this.storageService.setItem(APP_STORAGE.user.offlinelogin, 1);\r\n\t\t} else {\r\n\t\t\tthis.errorHandling.errorMessage(TOAST_TXT.message.str00040, 'toast', true);\r\n\t\t}\r\n\t}\r\n\r\n\tasync makeHash(input: string, store: boolean): Promise {\r\n\t\tconst reversed = this.reverseString(input.trim());\r\n\t\tconst md5Hash = Md5.hashStr(reversed);\r\n\t\tconst hash = CryptoJS.SHA3(md5Hash, {outputLength: 512});\r\n\t\tif (store) {\r\n\t\t\tconst stored = await this.storeHash(hash.toString());\r\n\t\t\treturn stored;\r\n\t\t} else {\r\n\t\t\treturn hash.toString();\r\n\t\t}\r\n\t}\r\n\r\n\treverseString(str: string): string {\r\n\t\tconst splitted = str.split('');\r\n\t\tconst reversedArray = splitted.reverse();\r\n\t\treturn reversedArray.join('');\r\n\t}\r\n\r\n\tasync storeHash(hash: string): Promise {\r\n\t\treturn this.dateiService.schreibeDateiHash(hash);\r\n\t}\r\n\r\n\tasync makeHashFromPassword(input: string): Promise {\r\n\t\tconst hash = await this.makeHash(input, false);\r\n\t\treturn hash.toString();\r\n\t}\r\n\r\n\tgetExistingOrgastructIconOrDefault(orgaStruct): string {\r\n\t\tif (this.existingOrgastructIcons.includes(orgaStruct)) {\r\n\t\t\treturn orgaStruct;\r\n\t\t} else {\r\n\t\t\treturn 'Default';\r\n\t\t}\r\n\t}\r\n\r\n}\r\n","// Alerts\r\nexport const ALERT_TXT = {\r\n\theader: {\r\n\t\tstr00010: 'Achtung',\r\n\t\tstr00020: 'Hinweis',\r\n\t\tstr00030: 'Fehlende Berechtigung',\r\n\t\tstr00040: 'Datei hinzufügen',\r\n\t\tstr00050: 'Ergebnisse sortieren',\r\n\t\tstr00060: 'Hinzufügen',\r\n\t\tstr00070: 'Schriftstück',\r\n\t\tstr00080: 'Datei',\r\n\t\tstr00090: 'Offline Modus aktivieren',\r\n\t\tstr00100: 'Eingabe',\r\n\t\tstr00110: 'Datei(en) hinzufügen',\r\n\t},\r\n\tsubHeader: {\r\n\t\tstr00010: 'Dieses Schriftstück ist noch zur Bearbeitung gesperrt.',\r\n\t\tstr00020: 'Sie haben diese Datei bearbeitet. Möchten sie Ihre Änderungen jetzt hochladen?',\r\n\t\tstr00030: 'Sie haben noch Objekte in Bearbeitung.',\r\n\t\tstr00040: 'Die Daten wurden gelesen und die Konfiguration muss aktualisiert werden. Danach können Sie sich mit Ihren Zugangsdaten anmelden.',\r\n\t\tstr00050: 'Möchten Sie Ihre Zugangsdaten speichern, damit Sie sich beim nächsten mal mit Ihrem Fingerabdruck bzw. Ihrer Face-Id einloggen können?',\r\n\t\tstr00060: 'Bitte wählen Sie aus, von wo sie eine Datei hinzufügen möchten.',\r\n\t\tstr00070: 'Möchten Sie die Datei \"$1\" zum Schriftstück hinzufügen?',\r\n\t\tstr00080: 'Es wurden keine Änderungen gefunden. Möchten Sie dieses Schriftstück aus der Bearbeitung entfernen?',\r\n\t\tstr00090: 'Das Schriftstück wurde zwischenzeitlich durch einen anderen Benutzer bearbeitet. Möchten Sie Ihre Änderungen als Kopie anlegen oder alles überschreiben?',\r\n\t\tstr00100: 'Das Dokument auf dem Server unterscheidet sich von Ihrer Version. Möchten Sie das Dokument überschreiben oder eine Kopie anlegen?',\r\n\t\tstr00110: 'Diese Aktion entfernt sämtliche Konfigurationen und Dateien der App. Möchten Sie diese Aktion wirklich ausführen? Die App wird im Anschluß neu geladen.',\r\n\t\tstr00120: 'Möchten Sie die ausgewählten Dateien ($1) zum Schriftstück hinzufügen?',\r\n\t\tstr00130: 'Möchten Sie sich wirklich abmelden?',\r\n\t\tstr00140: 'Sie haben noch Objekte in Bearbeitung. Möchten Sie sich wirklich abmelden?',\r\n\t\tstr00150: 'Möchten Sie die App wirklich verlassen und sich abmelden?',\r\n\t},\r\n\tmessage: {\r\n\t\tstr00010: 'aus Schriftstück',\r\n\t\tstr00020: 'Öffnen Sie bitte die Einstellungen auf Ihrem Gerät und erlauben Sie den Zugriff auf die Kamera.',\r\n\t\tstr00030: 'Möchten Sie zukünftig den Offline Modus verwenden? Sie können diese Option auch später in Ihren Einstellungen setzen.',\r\n\t\tstr00040: 'Möchten Sie Ihre Offline Login wirklich zurücksetzen? Die hinterlegten Daten werden gelöscht.',\r\n\t\tstr00050: 'Sie werden zum Login weitergeleitet. Bitte melden Sie sich erneut an und bestätigen Sie dann Ihren Offline Login.',\r\n\t\tstr00060: 'Möchten Sie Ihre Daten für den biometrischen Login wirklich zurücksetzen? Die hinterlegten Daten werden gelöscht.',\r\n\t\tstr00070: 'Sie werden zum Login weitergeleitet. Bitte melden Sie sich erneut an und bestätigen Sie dann Ihren biometrischen Login.',\r\n\t\tstr00080: '',\r\n\t\tstr00090: '',\r\n\t\tstr00100: ''\r\n\t},\r\n\tbuttons: {\r\n\t\tstr00010: 'Abbrechen',\r\n\t\tstr00020: 'Schriftstück entsperren',\r\n\t\tstr00030: 'Seite verlassen',\r\n\t\tstr00040: 'Einstellungen öffnen',\r\n\t\tstr00050: 'Hochladen',\r\n\t\tstr00060: 'Zur Bearbeitungsliste',\r\n\t\tstr00070: 'Jetzt aktualisieren',\r\n\t\tstr00080: 'Ja',\r\n\t\tstr00090: 'Nein',\r\n\t\tstr00100: 'Galerie',\r\n\t\tstr00110: 'Dateien',\r\n\t\tstr00120: 'Kamera',\r\n\t\tstr00130: 'Ok',\r\n\t\tstr00140: 'Entfernen',\r\n\t\tstr00150: 'Kopie anlegen',\r\n\t\tstr00160: 'Überschreiben',\r\n\t\tstr00170: 'Hinzufügen',\r\n\t\tstr00180: 'Anzeigen',\r\n\t\tstr00190: 'Änderungen Hochladen',\r\n\t\tstr00200: 'Aus Bearbeitung entfernen',\r\n\t\tstr00210: 'Zur Bearbeitung öffnen',\r\n\t\tstr00220: 'Später',\r\n\t\tstr00230: 'Ignorieren',\r\n\t\tstr00240: 'Deaktivieren',\r\n\t\tstr00250: 'Aktivieren',\r\n\t\tstr00260: 'Zurücksetzen',\r\n\t\tstr00270: 'Abmelden',\r\n\t}\r\n};\r\n// Toasts\r\nexport const TOAST_TXT = {\r\n\tmessage: {\r\n\t\tstr00010: 'Die Datei ist vom falschen Typ. Sie können nur *.IQO Dateien nach regisafe teilen.',\r\n\t\tstr00011: 'Datei erfolgreich in regisafe Client hochgeladen.',\r\n\t\tstr00012: 'Dateien erfolgreich in regisafe Client hochgeladen.',\r\n\t\tstr00020: 'Die Datei konnte nicht gelesen werden. Laden Sie die Datei bitte herunter und versuchen Sie diese dann von dort aus zu öffnen.',\r\n\t\tstr00030: 'Bitte prüfen Sie die Konfiguration!',\r\n\t\tstr00040: 'Ihre Zugangsdaten konnten nicht gespeichert werden',\r\n\t\tstr00050: 'Bitte prüfen Sie Ihre Eingabe. Ihre Eingabe stimmt nicht mit dem hinterlegten Passwort überein.',\r\n\t\tstr00060: 'Sie konnten nicht authentifiziert werden.',\r\n\t\tstr00070: 'Zugangsdaten konnten nicht gelesen werden..',\r\n\t\tstr00080: 'Es wurden keine Ergebnisse gefunden.',\r\n\t\tstr00090: 'Dateien erfolgreich in regisafe Client hochgeladen.',\r\n\t}\r\n};\r\n\r\n// Loader\r\nexport const LOADER_TXT = {\r\n\tmessage: {\r\n\t\tstr00010: 'Sie werden abgemeldet',\r\n\t}\r\n};\r\n\r\n// Views\r\n\r\n// Native\r\nexport const NATIVES_TXT = {\r\n\tbiometric: {\r\n\t\treason: 'regisafe Login',\r\n\t\ttitle: 'regisafe',\r\n\t\tsubtitle: 'Biometrischer Login',\r\n\t\tdescription: 'Bitte warten Sie, bis Ihre Daten erfasst sind'\r\n\t}\r\n};\r\n\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\nimport 'zone.js/dist/zone-error'; // Included with Angular CLI. api.regisafe-online.de\r\n\r\n// http://gws1.cctx.de:81/ - intern\r\n// https://regisafe.cctx.de/ - extern\r\n// \\\\gws1.cctx.de\\web - UNC Pfad - Webserver\r\n// \\\\w2022-regisafe.cctx.de\\regisafe - UNC Pfad - IQ Server\r\n\r\n// export const IQAPI_DOMAIN = 'https://regisafe-prod.cctx.de/';\r\n// export const IQAPI_ENDPOINT = 'https://regisafe-prod.cctx.de/iqAPI';\r\n\r\n// export const IQAPI_DOMAIN = 'https://regisafe.cctx.de/';\r\n// export const IQAPI_ENDPOINT = 'https://regisafe.cctx.de/iqAPI';\r\n\r\nexport const IQAPI_HTTP_REQUEST_TIMEOUT = 25000;\r\nexport const IQAPI_CONFIGURATION_FILE = 'configuration.develop.rsapp.json';\r\n\r\nexport const IQAPI_ROUTES = {\r\n login: '/Session.Login',\r\n logout: '/Session.Logout',\r\n conditions: '/OrgaManager.GetConditions',\r\n getList: '/OrgaManager.GetList'\r\n};\r\n\r\nexport const IQAPI_MIN_VERSION_MAJOR = 4;\r\nexport const IQAPI_MIN_VERSION_MINOR = 12;\r\n\r\nexport const APP_ROUTES = {\r\n anmeldung: '/regisafe/anmeldung',\r\n suche: '/regisafe/suche',\r\n suchergebnisse: '/regisafe/suchergebnisse',\r\n detail: '/regisafe/detail',\r\n barcode: '/regisafe/barcode',\r\n suchegespeichert: '/regisafe/suche-gespeichert',\r\n inbearbeitung: '/regisafe/in-bearbeitung',\r\n};\r\n\r\nexport const APP_STORAGE = {\r\n name: '__regisafe',\r\n tokenname: 'sessionToken',\r\n conditions: 'conditions',\r\n searchforms: 'searchforms',\r\n sortingdata: 'sortingdata',\r\n searchmodedata: 'searchmodedata',\r\n sortingdataselection: 'sortingdataselection',\r\n endpoint: 'endpoint',\r\n localfavorites: 'localfavorites',\r\n savedSearches: 'savedSearches',\r\n appConfig: 'appConfig',\r\n recivedintend: 'recivedintend',\r\n recivedintendfromcustomurlscheme: 'recivedintendfromcustomurlscheme',\r\n user: {\r\n username: 'userName',\r\n selectedstructure: 'selectedstructure',\r\n settings: 'settings',\r\n sortings: 'sortings',\r\n edit: 'schriftgut',\r\n locked: 'locked',\r\n offlinelogin: 'offlinelogin',\r\n biometriclogin: 'biometriclogin',\r\n opendocsindefaultviewer: 'opendocsindefaultviewer'\r\n }\r\n};\r\n\r\nexport const APP_MESSAGES = {\r\n globalDataChanged: 'globaldata:changed',\r\n};\r\n\r\nexport const APP_ERROR_MESSAGES = {\r\n noResults: 'Keine Suchergebnisse gefunden.',\r\n};\r\n\r\nexport const APP_CONDITION_ITEMS = {\r\n appStructs: 'appStructs',\r\n orgaStructs: 'orgaStructs',\r\n dataStores: 'dataStores'\r\n};\r\n\r\nexport const DIRECTORY_TREE = {\r\n root: 'regisafe',\r\n subfolders: {\r\n edit: 'edit',\r\n add: 'add'\r\n },\r\n imagefileext: '.jpg'\r\n};\r\n\r\nexport const CACHE_DOWNLOAD_DIRECTORY = 'regisafe_downloads';\r\nexport const APP_EDIT_FOLDER = 'regisafe/bearbeiten/';\r\nexport const APP_ASSIGN_FOLDER = 'regisafe/zuordnen/';\r\nexport const APP_CACHE_FOLDER = 'regisafe/cache/';\r\n\r\nexport const APP_ICON_PATH = 'assets/icons/regisafe/';\r\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.log(err));\n","var map = {\n\t\"./ion-accordion_2.entry.js\": [\n\t\t83477,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-accordion_2_entry_js\"\n\t],\n\t\"./ion-action-sheet.entry.js\": [\n\t\t67196,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-action-sheet_entry_js\"\n\t],\n\t\"./ion-alert.entry.js\": [\n\t\t38081,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-alert_entry_js\"\n\t],\n\t\"./ion-app_8.entry.js\": [\n\t\t75017,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-app_8_entry_js\"\n\t],\n\t\"./ion-avatar_3.entry.js\": [\n\t\t69721,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-avatar_3_entry_js\"\n\t],\n\t\"./ion-back-button.entry.js\": [\n\t\t99216,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-back-button_entry_js\"\n\t],\n\t\"./ion-backdrop.entry.js\": [\n\t\t96612,\n\t\t\"node_modules_ionic_core_dist_esm_ion-backdrop_entry_js\"\n\t],\n\t\"./ion-breadcrumb_2.entry.js\": [\n\t\t42694,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-breadcrumb_2_entry_js\"\n\t],\n\t\"./ion-button_2.entry.js\": [\n\t\t22938,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-button_2_entry_js\"\n\t],\n\t\"./ion-card_5.entry.js\": [\n\t\t51379,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-card_5_entry_js\"\n\t],\n\t\"./ion-checkbox.entry.js\": [\n\t\t97552,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-checkbox_entry_js\"\n\t],\n\t\"./ion-chip.entry.js\": [\n\t\t37218,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-chip_entry_js\"\n\t],\n\t\"./ion-col_3.entry.js\": [\n\t\t97479,\n\t\t\"node_modules_ionic_core_dist_esm_ion-col_3_entry_js\"\n\t],\n\t\"./ion-datetime_3.entry.js\": [\n\t\t64134,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js\"\n\t],\n\t\"./ion-fab_3.entry.js\": [\n\t\t71439,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-fab_3_entry_js\"\n\t],\n\t\"./ion-img.entry.js\": [\n\t\t76397,\n\t\t\"node_modules_ionic_core_dist_esm_ion-img_entry_js\"\n\t],\n\t\"./ion-infinite-scroll_2.entry.js\": [\n\t\t33296,\n\t\t\"node_modules_ionic_core_dist_esm_ion-infinite-scroll_2_entry_js\"\n\t],\n\t\"./ion-input.entry.js\": [\n\t\t12413,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-input_entry_js\"\n\t],\n\t\"./ion-item-option_3.entry.js\": [\n\t\t39411,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item-option_3_entry_js\"\n\t],\n\t\"./ion-item_8.entry.js\": [\n\t\t99133,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-item_8_entry_js\"\n\t],\n\t\"./ion-loading.entry.js\": [\n\t\t79003,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-loading_entry_js\"\n\t],\n\t\"./ion-menu_3.entry.js\": [\n\t\t96065,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-menu_3_entry_js\"\n\t],\n\t\"./ion-modal.entry.js\": [\n\t\t86991,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-modal_entry_js\"\n\t],\n\t\"./ion-nav_2.entry.js\": [\n\t\t82947,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-nav_2_entry_js\"\n\t],\n\t\"./ion-picker-column-internal.entry.js\": [\n\t\t25919,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-column-internal_entry_js\"\n\t],\n\t\"./ion-picker-internal.entry.js\": [\n\t\t93109,\n\t\t\"node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js\"\n\t],\n\t\"./ion-popover.entry.js\": [\n\t\t99459,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-popover_entry_js\"\n\t],\n\t\"./ion-progress-bar.entry.js\": [\n\t\t20301,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-progress-bar_entry_js\"\n\t],\n\t\"./ion-radio_2.entry.js\": [\n\t\t43799,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-radio_2_entry_js\"\n\t],\n\t\"./ion-range.entry.js\": [\n\t\t12140,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-range_entry_js\"\n\t],\n\t\"./ion-refresher_2.entry.js\": [\n\t\t86197,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js\"\n\t],\n\t\"./ion-reorder_2.entry.js\": [\n\t\t41975,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-reorder_2_entry_js\"\n\t],\n\t\"./ion-ripple-effect.entry.js\": [\n\t\t58387,\n\t\t\"node_modules_ionic_core_dist_esm_ion-ripple-effect_entry_js\"\n\t],\n\t\"./ion-route_4.entry.js\": [\n\t\t98659,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-route_4_entry_js\"\n\t],\n\t\"./ion-searchbar.entry.js\": [\n\t\t26404,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-searchbar_entry_js\"\n\t],\n\t\"./ion-segment_2.entry.js\": [\n\t\t85253,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-segment_2_entry_js\"\n\t],\n\t\"./ion-select_3.entry.js\": [\n\t\t92619,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-select_3_entry_js\"\n\t],\n\t\"./ion-slide_2.entry.js\": [\n\t\t82871,\n\t\t\"node_modules_ionic_core_dist_esm_ion-slide_2_entry_js\"\n\t],\n\t\"./ion-spinner.entry.js\": [\n\t\t17668,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-spinner_entry_js\"\n\t],\n\t\"./ion-split-pane.entry.js\": [\n\t\t55342,\n\t\t\"node_modules_ionic_core_dist_esm_ion-split-pane_entry_js\"\n\t],\n\t\"./ion-tab-bar_2.entry.js\": [\n\t\t174,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab-bar_2_entry_js\"\n\t],\n\t\"./ion-tab_2.entry.js\": [\n\t\t86185,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-tab_2_entry_js\"\n\t],\n\t\"./ion-text.entry.js\": [\n\t\t97337,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-text_entry_js\"\n\t],\n\t\"./ion-textarea.entry.js\": [\n\t\t4833,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-textarea_entry_js\"\n\t],\n\t\"./ion-toast.entry.js\": [\n\t\t9468,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toast_entry_js\"\n\t],\n\t\"./ion-toggle.entry.js\": [\n\t\t25705,\n\t\t\"common\",\n\t\t\"node_modules_ionic_core_dist_esm_ion-toggle_entry_js\"\n\t],\n\t\"./ion-virtual-scroll.entry.js\": [\n\t\t87463,\n\t\t\"node_modules_ionic_core_dist_esm_ion-virtual-scroll_entry_js\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 50863;\nmodule.exports = webpackAsyncContext;","export default \"\\r\\n \\r\\n\\r\\n\";","/* (ignored) */"],"names":[],"sourceRoot":"webpack:///"}