From ea2fee4dc150b978a6eb80da5865c8185e61f230 Mon Sep 17 00:00:00 2001 From: "venbatechnologies@gmail.com" Date: Wed, 13 Mar 2019 17:00:41 +0530 Subject: [PATCH] general validation : ps --- .sourcemaps/main.js.map | 2 +- package-lock.json | 2038 +++++----- package.json | 2 +- .../pd-question-general-info.ts | 20 + www/assets/fonts/roboto-bold.ttf | Bin 170760 -> 20040 bytes www/assets/fonts/roboto-light.ttf | Bin 170420 -> 19908 bytes www/assets/fonts/roboto-medium.ttf | Bin 172064 -> 19752 bytes www/assets/fonts/roboto-regular.ttf | Bin 171676 -> 19876 bytes www/build/main.js | 114 +- www/build/vendor.js | 3302 ++++++++--------- 10 files changed, 2758 insertions(+), 2720 deletions(-) diff --git a/.sourcemaps/main.js.map b/.sourcemaps/main.js.map index 0fd090be..b020ecfe 100755 --- a/.sourcemaps/main.js.map +++ b/.sourcemaps/main.js.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/providers/question-category/question-category.ts","../../src/pages/pd-question-category/pd-question-category.ts","../../src/pages/otp/otp.ts","../../src/providers/common-provider/camera.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts","../../src/providers/constants/constants.ts","../../node_modules/@angular/core/esm5 lazy","../../src lazy","../../src/pages/login/login.ts","../../src/pages/input/input.ts","../../src/pages/pd-question/pd-question.ts","../../src/pages/pd-question/pd-question-address/pd-question-address.ts","../../src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.ts","../../src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts","../../src/pages/pd-question/pd-question-loans/pd-question-loans.ts","../../src/pages/pd-question/pd-question-banking/pd-question-banking.ts","../../src/pages/pd-question/pd-question-family/pd-question-family.ts","../../src/pages/pd-question/pd-question-assests/pd-question-assests.ts","../../src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts","../../src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts","../../src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts","../../src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts","../../src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts","../../src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts","../../src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts","../../src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.ts","../../src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts","../../src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.ts","../../src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts","../../src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","../../src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts","../../src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.ts","../../src/pipes/pd/pd.ts","../../src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts","../../src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts","../../src/pages/pd-general-images/pd-general-images.ts","../../src/pages/input/bounced-reject/bounced-reject.ts","../../src/providers/database/database.ts","../../src/pages/password/password.ts","../../src/pages/auth/auth.ts","../../src/providers/common-provider/loading.ts","../../src/app/main.ts","../../src/app/app.module.ts","../../src/app/app.component.ts","../../src/providers/_guard/auth.guard.ts","../../src/providers/_guard/token.interceptor.ts","../../src/pages/googleplaytab/googleplaytab.ts","../../src/pages/pd-allocation/pd-allocation.ts","../../src/pages/pd-question/pd-question-business/pd-question-business.ts","../../src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.ts","../../src/providers/aws-service/cognito.service.ts","../../src/providers/aws-service/aws-service.ts","../../src/pages/pd-list/pd-list.ts","../../src/providers/pdtrigger/pdtrigger.ts","../../src/providers/common-provider/toast.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAAkD;AACP;AACgB;AAE3D;;;;;EAKE;AAEF;IAEE,kCAAmB,IAAgB,EAAQ,QAA0B;QAAlD,SAAI,GAAJ,IAAI,CAAY;QAAQ,aAAQ,GAAR,QAAQ,CAAkB;QACnE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;IAGD,kDAAe,GAAf,UAAgB,IAAI;QAElB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAC,yBAAyB,GAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IACD,+CAAY,GAAZ,UAAa,QAAQ;QAEjB,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,CAAC,QAAQ,CAAC,EAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,iBAAiB,EAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAGD,oDAAiB,GAAjB,UAAkB,WAAW;QAE3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,iBAAiB,EAAC,WAAW,CAAC,CAAC;IACnE,CAAC;IAED;;;OAGG;IACH,gDAAa,GAAb,UAAc,SAAS;QAEnB,IAAI,OAAO,GAAG,EAAC,aAAa,EAAC,SAAS,EAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,iBAAiB,EAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,2CAAQ,GAAR,UAAS,OAAO;QACd,IAAI,MAAM,GAAG,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,mBAAmB,EAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,8CAAW,GAAX,UAAY,OAAO;QAEjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,kBAAkB,EAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IAED,+BAA+B;IAC/B,oDAAiB,GAAjB,UAAkB,GAAG,EAAC,QAAQ;QAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,GAAG,EAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,sDAAmB,GAAnB,UAAoB,GAAG,EAAC,OAAO;QAE3B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,GAAG,EAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,oDAAiB,GAAjB,UAAkB,QAAa;QAC7B,iDAAiD;QACjD,oCAAoC;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAG,oBAAoB,EAAE,EAAC,sBAAsB,EAAE,QAAQ,EAAC,CAAC;IAGtG,CAAC;IAED,mDAAgB,GAAhB,UAAiB,IAAQ,EAAC,UAAU;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAE,iBAAiB,EAAC,EAAE,SAAS,EAAC,EAAE,OAAO,EAAG,IAAI,EAAC,gBAAgB,EAAC,UAAU,EAAC,EAAC,CAAC;IACvH,CAAC;IACD,+DAA4B,GAA5B,UAA6B,IAAQ;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAE,8BAA8B,EAAE,EAAE,SAAS,EAAC,EAAE,OAAO,EAAG,IAAI,EAAC,EAAC,CAAC;IACzG,CAAC;IACD,qDAAkB,GAAlB,UAAmB,OAAW;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAG,0BAA0B,EAAE,EAAE,SAAS,EAAC,EAAE,UAAU,EAAG,OAAO,EAAC,EAAC,CAAC;IAC5G,CAAC;IACD,oDAAiB,GAAjB,UAAkB,IAAQ;QACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAG,mBAAmB,EAAE,EAAC,OAAO,EAAG,IAAI,EAAC,CAAC;IAEjF,CAAC;IACD,sDAAmB,GAAnB;QACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAG,uBAAuB,EAAC,EAAE,CAAC;IACtE,CAAC;IACD,gEAA6B,GAA7B,UAA8B,IAAQ;QACpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAG,+BAA+B,EAAC,EAAE,OAAO,EAAG,IAAI,EAAC,CAAC;IAE7F,CAAC;IAGD,uEAAoC,GAApC,UAAqC,KAAU,EAAC,UAAc;QAC5D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAC,mCAAmC,EAAE,EAAC,SAAS,EAAE,EAAE,OAAO,EAAG,KAAK,EAAC,YAAY,EAAC,UAAU,EAAE,EAAC,CAAC,CAAC;IACxI,CAAC;IAED;;QAEI;IACJ,kDAAe,GAAf,UAAgB,IAAS,EAAC,SAAc;QACtC,uCAAuC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAG,yBAAyB,EAAE,EAAC,OAAO,EAAG,IAAI,EAAE,YAAY,EAAC,SAAS,EAAE,CAAC,CAAC;IACjH,CAAC;IAID,oBAAoB;IACpB,+CAAY,GAAZ,UAAa,aAAa;QAEtB,IAAI,MAAM,GAAG,EAAC,SAAS,EAAC,aAAa,EAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,cAAc,EAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IACD,mDAAgB,GAAhB,UAAiB,IAAQ;QACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAC,kBAAkB,EAAC,EAAC,OAAO,EAAC,IAAI,EAAC,CAAC;IAC3E,CAAC;IACD,oDAAiB,GAAjB,UAAkB,IAAQ;QACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,IAAI,CAAC,MAAM,GAAC,cAAc,EAAC,EAAC,OAAO,EAAC,IAAI,EAAC,CAAC;IACvE,CAAC;IA9GY,wBAAwB;QADpC,yEAAU,EAAE;yCAGc,wEAAU,EAAiB,+EAAiB;OAF1D,wBAAwB,CA+GpC;IAAD,+BAAC;CAAA;AA/GoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACXgB;AACI;AAEsC;AACV;AACzB;AAEU;AACO;AACL;AACxB;AAC+C;AACE;AACe;AACvB;AAEM;AACH;AACG;AACc;AAC8B;AAC3B;AACkB;AACY;AACT;AAC3B;AAEM;AACwB;AAC3B;AACM;AACN;AAEK;AAClH;;;;;GAKG;AACH,IAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;AAOrE;IAkBE,gCAAmB,OAAsB,EAAS,SAAoB,EAAQ,WAAoC,EAAQ,GAAsB,EAAS,MAA6B,EAAQ,KAAmB,EAAQ,eAAiC;QAAvO,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,gBAAW,GAAX,WAAW,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAS,WAAM,GAAN,MAAM,CAAuB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,oBAAe,GAAf,eAAe,CAAkB;QAb1P,oBAAe,GAAM,EAAE,CAAC;QACxB,mBAAc,GAAM,EAAE,CAAC;QAKzB,uBAAkB,GAAW,IAAI,CAAC;QAClC,yBAAoB,GAAM,EAAE,CAAC;QAE7B,8BAAyB,GAAW,IAAI,CAAC;QAKrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAGnD,CAAC;IAED,gDAAe,GAAf;QAEE,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IACD,kBAAkB;IAClB,IAAI;IACJ,wEAAwE;IAExE,wBAAwB;IACxB,cAAc;IACd,6EAA6E;IAC7E,uBAAuB;IACvB,mCAAmC;IACnC,0BAA0B;IAC1B,kCAAkC;IAClC,gDAAgD;IAChD,6CAA6C;IAC7C,gDAAgD;IAChD,gDAAgD;IAChD,iDAAiD;IACjD,+CAA+C;IAC/C,kBAAkB;IAClB,sCAAsC;IACtC,6BAA6B;IAC7B,6BAA6B;IAC7B,6BAA6B;IAC7B,6BAA6B;IAC7B,6BAA6B;IAC7B,4BAA4B;IAC5B,gBAAgB;IAChB,aAAa;IACb,QAAQ;IAER,MAAM;IACN,IAAI;IACJ,+CAAc,GAAd;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,uBAAuB;QACvB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IAED,gDAAe,GAAf;QAAA,iBAmDC;QAjDC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAEhE,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;YACxB,EAAE,EAAC,KAAI,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,CACxC,CAAC;gBAEC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC;gBAC9C,KAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,EAAE,EAAC,KAAI,CAAC,YAAY,CAAC,gBAAgB,IAAG,EAAE,IAAI,KAAI,CAAC,YAAY,CAAC,cAAc,IAAE,EAAE,CAAC,CACnF,CAAC;oBACC,KAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBACtC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;oBAE3D,EAAE,EAAC,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,sBAAsB,IAAG,CAAC,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,sBAAsB,IAAG,CAAC,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,sBAAsB,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,sBAAsB,CAAC,CACpN,CAAC;wBACC,KAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;oBACzC,CAAC;oBAAA,IAAI,CACL,CAAC;wBACC,KAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;oBACxC,CAAC;gBAMD,CAAC;gBAAA,IAAI,CAAC,EAAE,EAAC,KAAI,CAAC,YAAY,CAAC,cAAc,IAAE,EAAE,CAAC,CAC9C,CAAC;oBACC,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC;oBACtC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,YAAY,CAAC,cAAc;oBACxD,uNAAuN;oBACvN,IAAI;oBACJ,4CAA4C;oBAC5C,QAAQ;oBACR,IAAI;oBACJ,2CAA2C;oBAC3C,IAAI;gBACJ,CAAC;gBACD,IAAI,CACJ,CAAC;oBACC,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;oBAChC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;oBAC5B,KAAI,CAAC,YAAY,GAAG,uBAAuB,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IACD,+CAAc,GAAd;QAEI,GAAG,EAAW,UAAkC,EAAlC,SAAI,CAAC,YAAY,CAAC,gBAAgB,EAAlC,cAAkC,EAAlC,IAAkC;YAA5C,IAAI,EAAE;YACR,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;SAEhE;QACD,GAAG,EAAW,UAAgC,EAAhC,SAAI,CAAC,YAAY,CAAC,cAAc,EAAhC,cAAgC,EAAhC,IAAgC;YAA1C,IAAI,EAAE;YACR,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;SAEjE;IACH,CAAC;IACH,6CAAY,GAAZ,UAAa,UAAU;QAErB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAEzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,uBAAuB,IAAI,UAAU,EAA1C,CAA0C,CAAC,CAAC,CAAC,CAAC,CAAC;QACrH,iDAAiD;QACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gFAAc,EAAC,EAAC,iBAAiB,EAAC,IAAI,CAAC,YAAY,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAElG,QAAQ;QACR,IAAI;QACJ,4BAA4B;QAC5B,6DAA6D;QAC7D,IAAI;IACN,CAAC;IAED,+CAAc,GAAd,UAAe,UAAU;QAEvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,OAAO,IAAE,UAAU,EAAxB,CAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxF,EAAE,EAAC,UAAU,IAAG,CAAC,CAAC,CAClB,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mHAAqB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAErF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,EAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sHAAqB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QACzF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8GAAmB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QACrF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,CAAC,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qIAA0B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC5F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wIAA2B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAG7F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,CAAC,CAAC,CACvB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oHAAqB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAEvF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,CAAC,CAAC,CACvB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iHAAoB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAEtF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAG,CAAC,CAAC,EAAC;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oHAAqB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAEvF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,CAAC,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kIAAyB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC3F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,CAAC,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gKAA0B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC5F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,CAAC,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qIAA0B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAE5F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uJAAuB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAEzF,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mKAA2B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAE7F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAG,CAAC,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0JAAwB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC1F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAG,EAAE,CAAC,CACzB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+HAAwB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAE1F,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACvB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qIAA0B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAE5F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6JAAkC,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAEpG,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kIAAyB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC3F,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACxB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wIAA2B,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAE,EAAE,CAAC,CACvB,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kIAAyB,EAAC,EAAC,QAAQ,EAAC,QAAQ,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IACD,uCAAM,GAAN,UAAO,IAAI;QACT,EAAE,EAAC,CAAC,IAAI,CAAC,EAAC;YACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QAAA,IAAI,EAAC;YACJ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,yBAAyB;IAC3B,CAAC;IACD,6CAAY,GAAZ,UAAa,SAAS;QACpB,2CAA2C;QAC3C,0DAA0D;QAC1D,yCAAyC;QACzC,4CAA4C;QAC5C,sCAAsC;QACtC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;QAE/B,yDAAyD;QACvD,EAAE,EAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,EAAC;YACtC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAE;YACZ,CAAC;YAAA,IAAI,EAAC;gBACR,2EAA2E;gBAC3E,uEAAuE;gBACvE,uBAAuB;gBACvB,QAAQ;gBACR,KAAK;YACP,CAAC;QACD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAE;YACZ,CAAC;YAAA,IAAI,EAAC;gBACR,yEAAyE;gBACzE,mEAAmE;gBACnE,uBAAuB;gBACvB,QAAQ;gBACR,OAAO;YACL,CAAC;QACD,CAAC;IACH,CAAC;IACC,0CAAS,GAAT;QAAA,iBAcC;QAZC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAEjC,IAAI,IAAI,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,cAAc,EAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,CAAC;QAEjI,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,KAAI,CAAC,eAAe,GAAG,GAAG,CAAC;YAC3B,EAAE,EAAC,KAAI,CAAC,eAAe,CAAC,UAAU,IAAI,IAAI,CAAC,CAC3C,CAAC;gBACC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;YACnC,CAAC;QACL,CAAC,CAAC;IACR,CAAC;IACD,0CAAS,GAAT,UAAU,SAAS;QACjB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,UAAU,CAAC;YACT,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IA9RU,sBAAsB;QAJlC,wEAAS,CAAC;YACT,QAAQ,EAAE,2BAA2B;WACG;SACzC,CAAC;+BAmB0P;OAlB/O,sBAAsB,CA+RlC;IAAD,CAAC;AAAA;SA/RY,sBAAsB,iB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/CO;AACgD;AAClB;AACc;AAChB;AACE;AACK;AACkB;AAC3B;AACZ;AACe;AAEvE;;;;;GAKG;AAOH;IAgBE,iBAAmB,OAAsB,EAAS,SAAoB,EAAQ,SAA2B,EAAQ,KAAmB,EAAQ,IAAmB,EAAQ,cAAgC,EAAQ,GAAsB,EAAQ,SAAyB,EAAQ,OAAgC,EAAQ,EAAc,EAAQ,WAAuB,EAAQ,kBAAqC;QAA7X,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,cAAS,GAAT,SAAS,CAAkB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,SAAI,GAAJ,IAAI,CAAe;QAAQ,mBAAc,GAAd,cAAc,CAAkB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,cAAS,GAAT,SAAS,CAAgB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,gBAAW,GAAX,WAAW,CAAY;QAAQ,uBAAkB,GAAlB,kBAAkB,CAAmB;QAVhZ,YAAO,GAAY,IAAI,CAAC;QAIxB,oBAAe,GAAW,IAAI,CAAC;QAG/B,YAAO,GAAM,EAAE,CAAC;QAId,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,kBAAkB,GAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC7B;YACE,MAAM,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvD,aAAa,EAAC,CAAC,IAAI,CAAC;SACrB,CAAC;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,gCAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IACD,iCAAe,GAAf;QACE,0BAA0B;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElB,CAAC;IAED,+BAAa,GAAb;QAAA,iBAeC;QAbC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,IAAI,CACrG,gBAAM,IAAI,cAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAnD,CAAmD,EAC7D,aAAG,IAAI,YAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAApG,CAAoG,CAC5G,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QAEjK,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,IAAI,CACnG,gBAAM,IAAI,cAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAnD,CAAmD,EAC7D,aAAG,IAAI,YAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAlG,CAAkG,CAC1G,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IACzJ,CAAC;IACD,kCAAgB,GAAhB;QACE,yBAAyB;QACzB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IACD,6BAAW,GAAX;QAAA,iBAWC;QATC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YAEpD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC;YAEhC,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IACD,0BAAQ,GAAR,UAAS,GAAG;QAAZ,iBAeC;QAbG,IAAI,IAAI,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,KAAK,EAAC,GAAG,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,CAAC;QACvF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;YAEvC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC;YACtB,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,EAAE,EAAC,KAAI,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,CACrC,CAAC;gBACC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,0GAAsB,EAAC,EAAC,WAAW,EAAC,KAAI,CAAC,kBAAkB,EAAC,CAAC,CAAC;YACrF,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC;IACR,CAAC;IAED,uBAAK,GAAL,UAAM,SAAS;QAAf,iBA4DC;QA3DC,0BAA0B;QAC1B,IAAI,CAAC,GAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,GAAO,SAAS,GAAG,EAAE,CAAC;QAE3B,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,kCAAkC;QAClC,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QAChC,SAAS,IAAG,CAAC,CAAC;QACd,kCAAkC;QAClC,EAAE,EAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,SAAS,GAAK,UAAU,CAAC;gBAC1B,KAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC,EAAE,IAAI,CAAC,CAAC;YACP,MAAM,CAAC;QACT,CAAC;QAED,EAAE,EAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACjB,yBAAyB;YACzB,MAAM,CAAC;QACT,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,IAAQ,CAAC;QACb,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAChC,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE,6BAA6B;YACtC,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,mBAAmB;oBAEzB,OAAO,EAAE;wBAEP,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;oBAC/B,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE;wBAEP,KAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;4BAC9C,IAAI,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAC,GAAG,GAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;4BAC1E,IAAI,GAAG,EAAC,OAAO,EAAC,KAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAC,WAAW,EAAC,KAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC,cAAc,EAAC,KAAI,CAAC,KAAK,EAAC,MAAM,EAAC,mBAAmB,EAAC,CAAC;4BAC5L,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BAC3B,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gCAE7C,KAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BACjB,CAAC,CAAC;wBACJ,CAAC,CAAC,CAAC;wBACK,8BAA8B;oBAElC,CAAC;iBACA;aAEF;SAEF,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,+BAAa,GAAb;QAAA,iBAqBC;QAnBC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACnC,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CACzB,CAAC;YACG,IAAI,IAAI,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAC,cAAc,EAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,aAAa,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,CAAC;YACxK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAEvC,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC;gBACrB,EAAE,EAAC,KAAI,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,CACrC,CAAC;oBACC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,0GAAsB,EAAC,EAAC,WAAW,EAAC,KAAI,CAAC,kBAAkB,EAAC,CAAC,CAAC;gBACrF,CAAC;gBAAA,IAAI,CACL,CAAC;oBACC,2DAA2D;gBAC7D,CAAC;YACH,CAAC,CAAC;QACN,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAzKU,OAAO;QAJnB,wEAAS,CAAC;YACT,QAAQ,EAAE,UAAU;WACG;SACxB,CAAC;gBAiBgZ;OAhBrY,OAAO,CA2KnB;IAAD,CAAC;AAAA;SA3KY,OAAO,e;;;;;;;;;;;;;;;;;;;;;ACxB8B;AACP;AACG;AAC9C;;;;;EAKE;AAEF;IAEE,wBAAmB,IAAgB,EAAQ,MAAa;QAArC,SAAI,GAAJ,IAAI,CAAY;QAAQ,WAAM,GAAN,MAAM,CAAO;QACtD,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;IACD,mCAAU,GAAV;QAEE,IAAM,OAAO,GAAG;YACd,OAAO,EAAE,GAAG;YACZ,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ;YACrD,WAAW,EAAE,GAAG;YAChB,YAAY,EAAE,GAAG;YACjB,kBAAkB,EAAE,IAAI;SACzB,CAAC;QAEF,gEAAgE;QAGhE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBAAS;YACnD,IAAM,WAAW,GAAG,wBAAwB,GAAG,SAAS,CAAC;YACzD,4BAA4B;YAC5B,MAAM,CAAC,WAAW,CAAC;QACrB,CAAC,EAAE,eAAK;YACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IAEL,CAAC;IA1BU,cAAc;QAD1B,yEAAU,EAAE;yCAGc,wEAAU,EAAe,oEAAM;OAF7C,cAAc,CA2B1B;IAAD,qBAAC;CAAA;AA3B0B;;;;;;;;;;;;;;;;;;;;;;;;;ACVe;AACe;AACU;AACgB;AACkB;AACzB;AAE5E;;;;;GAKG;AAOH;IAmBE,oCAAmB,OAAsB,EAAS,SAAoB,EAAS,EAAe,EAAS,GAAuB,EAAS,OAAiC,EAAS,KAAoB;QAArM,iBAoDC;QApDkB,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,OAAE,GAAF,EAAE,CAAa;QAAS,QAAG,GAAH,GAAG,CAAoB;QAAS,YAAO,GAAP,OAAO,CAA0B;QAAS,UAAK,GAAL,KAAK,CAAe;QAVrM,mCAA8B,GAAQ,EAAE,CAAC;QACzC,6BAAwB,GAAQ,EAAE,CAAC;QACnC,gBAAW,GAAQ,EAAE,CAAC;QACtB,kBAAa,GAAQ,EAAE,CAAC;QACxB,8BAAyB,GAAQ,EAAE,CAAC;QAEpC,mBAAc,GAAY,KAAK,CAAC;QACzB,cAAS,GAAG,KAAK,CAAC;QACzB,iBAAY,GAAQ,EAAE,CAAC;QA8DvB,wBAAmB,GAAY,KAAK,CAAC;QAkHrC,sBAAiB,GAAY,KAAK,CAAC;QAenC,gBAAW,GAAY,KAAK,CAAC;QA+M7B,sBAAiB,GAAY,KAAK,CAAC;QACnC,sBAAiB,GAAY,KAAK,CAAC;QACnC,eAAU,GAAQ,EAAE,CAAC;QACrB,eAAU,GAAQ,EAAE,CAAC;QA7YnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAGlC,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,cAAI;YAErG,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAEpB,IAAI,OAAK,GAAG,IAAI,CAAC,OAAO,CAAC;gBACzB,KAAI,CAAC,mBAAmB,CAAC,OAAK,CAAC,gBAAgB,CAAC,CAAC;gBACjD,KAAI,CAAC,8BAA8B,GAAG,OAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI;gBAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAI,IAAI,OAAI,IAAI,CAAC,QAAQ,UAAjB,CAAkB,CAAC,CAAC;gBACpK,wJAAwJ;gBAExJ,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;oBAC7D,MAAM,CAAC,OAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,GAAG,CAAC,OAAO,CAAC,aAAG;wBACb,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACjB,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACnD,CAAC;wBACH,CAAC;wBAED,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACjB,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BACnD,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,KAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAI,CAAC,wBAAwB,CAAC,CAAC;YAErF,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC;YAC/B,CAAC;QACH,CAAC,EAAE,aAAG;YACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;YAC9D,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,YAAY,GAAG,0CAA0C,CAAC;QACjE,CAAC,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAGD,mDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IAID,wDAAmB,GAAnB,UAAoB,MAAM;QAA1B,iBA+GC;QA9GC,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC;QACjC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEpC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CACxC,cAAI;YACF,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC/B,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;oBAC3B,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBACpC,IAAI,EAAE,CAAC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC;wBAC5B,MAAM,EAAE,CAAC,KAAI,CAAC,OAAO,CAAC;wBACtB,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;wBAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC1B,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9E,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAChE,yBAAyB,EAAE,CAAC,QAAQ,CAAC,yBAAyB,IAAI,IAAI,CAAC;wBACvE,8EAA8E;qBAC/E,CAAC,CAAC;oBACH,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAC/D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACnB,6FAA6F;wBAC7F,6CAA6C;wBAC7C,MAAM;wBACN,EAAE,EAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAC;4BAC9C,IAAI,sBAAsB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;4BAElF,KAAI,CAAC,gCAAgC,CAAC,sBAAsB,CAAC,CAAC;4BAC9D,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,mDAAmD,IAAI,IAAI,CAAC,CAAC;wBACjP,CAAC;wBACD,IAAI,EAAC;4BACH,KAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;4BAC5C,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACvJ,CAAC;oBACH,CAAC;oBACC,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;oBACjG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,yFAAyF;wBACzF,2CAA2C;wBAC3C,MAAM;wBACN,EAAE,EAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAC;4BACtC,IAAI,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;4BACtE,KAAI,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;4BACtD,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,iDAAiD,IAAI,IAAI,CAAC,CAAC;wBAC3N,CAAC;wBACD,IAAI,EAAC;4BACH,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;4BACxC,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAC5I,CAAC;oBACH,CAAC;oBACD,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBACpC,IAAI,EAAE,CAAC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC;wBAC5B,MAAM,EAAE,CAAC,KAAI,CAAC,OAAO,CAAC;wBACtB,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;wBAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC1B,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9E,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAChE,yBAAyB,EAAE,CAAC,QAAQ,CAAC,yBAAyB,IAAI,IAAI,CAAC;wBACvE,8EAA8E;qBAC/E,CAAC,CAAC;oBACH,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAC/D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACnB,KAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;wBAC5C,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACxJ,CAAC;oBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;oBACjG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;wBACtC,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,iDAAiD,IAAI,IAAI,CAAC,CAAC;oBAC5M,CAAC;oBACD,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAChE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAClC,CAAC;YACH,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACpC,IAAI,EAAE,CAAC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBAC5B,MAAM,EAAE,CAAC,KAAI,CAAC,OAAO,CAAC;oBACtB,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;oBAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;oBAC1B,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9E,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChE,yBAAyB,EAAE,EAAE;oBAC7B,8EAA8E;iBAC/E,CAAC,CAAC;gBACH,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAC/D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,KAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;oBAC5C,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxJ,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;gBACjG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;oBACtC,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9I,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAChE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gBAClC,CAAC;gBACD,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC,EAAE,aAAG;QAEN,CAAC,CACF,CAAC;IACJ,CAAC;IAGD,8DAAyB,GAAzB,UAA0B,GAAG;QAC3B,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;QAC5D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,mDAAmD,EAAE,EAAE;aACxD,CAAC;YACF,IAAI;QACN,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IAGD,wDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;QAC7F,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,iDAAiD,EAAE,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IAED,qEAAgC,GAAhC,UAAiC,KAAK;QAAtC,iBAUC;QATC,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACjI,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8DAAyB,GAAzB,UAA0B,OAAO;QAC/B,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,+BAA+B,EAAE,CAAC,EAAE,CAAC;gBACrC,2BAA2B,EAAE,CAAC,EAAE,CAAC;gBACjC,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,wBAAwB,EAAE,CAAC,EAAE,CAAC;gBAC9B,iCAAiC,EAAE,CAAC,EAAE,CAAC;gBACvC,0CAA0C,EAAE,CAAC,EAAE,CAAC;gBAChD,0EAA0E;gBAC1E,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,8BAA8B,EAAE,CAAC,EAAE,CAAC;gBACpC,4BAA4B,EAAE,CAAC,EAAE,CAAC;gBAClC,mCAAmC,EAAE,CAAC,EAAE,CAAC;gBACzC,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,wGAAwG;gBACxG,eAAe,EAAE,CAAC,EAAE,CAAC;aAGtB,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,+BAA+B,EAAE,CAAC,OAAO,CAAC,+BAA+B,IAAI,IAAI,CAAC;gBAClF,2BAA2B,EAAE,CAAC,OAAO,CAAC,2BAA2B,IAAI,IAAI,CAAC;gBAC1E,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;gBACtD,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC;gBACxD,wBAAwB,EAAE,CAAC,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC;gBACpE,iCAAiC,EAAE,CAAC,OAAO,CAAC,iCAAiC,IAAI,IAAI,CAAC;gBACtF,0CAA0C,EAAE,CAAC,OAAO,CAAC,0CAA0C,IAAI,IAAI,CAAC;gBACxG,2EAA2E;gBAC3E,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,IAAI,IAAI,CAAC;gBACxE,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;gBAChE,8BAA8B,EAAE,CAAC,OAAO,CAAC,8BAA8B,IAAI,IAAI,CAAC;gBAChF,4BAA4B,EAAE,CAAC,OAAO,CAAC,4BAA4B,IAAI,IAAI,CAAC;gBAC5E,mCAAmC,EAAE,CAAC,OAAO,CAAC,mCAAmC,IAAI,IAAI,CAAC;gBAC1F,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;gBAChD,wGAAwG;gBACxG,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;aAEnD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,+DAA0B,GAA1B,UAA2B,KAAK;QAAhC,iBAWC;QAVC,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAEvH,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,wDAAmB,GAAnB,UAAoB,OAAO;QACzB,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,mBAAmB,EAAE,CAAC,EAAE,CAAC;gBACzB,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,wBAAwB,EAAE,CAAC,EAAE,CAAC;gBAC9B,iCAAiC,EAAE,CAAC,EAAE,CAAC;gBACvC,0CAA0C,EAAE,CAAC,EAAE,CAAC;gBAChD,0EAA0E;gBAC1E,cAAc,EAAE,CAAC,IAAI,CAAC;gBACtB,wGAAwG;gBACxG,eAAe,EAAE,CAAC,IAAI,CAAC;gBACvB,wGAAwG;gBACxG,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,mCAAmC,EAAE,CAAC,EAAE,CAAC;gBACzC,8BAA8B,EAAE,CAAC,EAAE,CAAC;gBACpC,4BAA4B,EAAE,CAAC,EAAE,CAAC;aACnC,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBAChD,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC9C,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBAChD,wBAAwB,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC;gBAC5D,mBAAmB,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBAClD,iCAAiC,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC;gBAC9E,0CAA0C,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC;gBAChG,2EAA2E;gBAC3E,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;gBACxC,wGAAwG;gBACxG,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC1C,wGAAwG;gBACxG,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;gBAChE,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;gBAChE,mCAAmC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC;gBAClF,8BAA8B,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC;gBACxE,4BAA4B,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC;aACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,wDAAmB,GAAnB,UAAoB,CAAC;QACnB,wBAAwB;QACxB,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAEjI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,uDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACjI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,wDAAmB,GAAnB,UAAoB,CAAC;QACnB,wBAAwB;QACxB,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAEvH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,yDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACvH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAGD,gDAAW,GAAX;QAAA,iBAgBC;QAdC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAC1D,cAAI;YACF,KAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CAC5C,cAAI;YACF,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CACjD,cAAI;YACF,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC;IAGD,qDAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBAkBC;QAhBC,IAAI,gBAAgB,GAAG,UAAU,CAAC;QAElC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,QAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,gBAAgB,CAAC,GAAG,CAAC,EAA/D,CAA+D,CAAC,CAAC;QAEhH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,mBAAS;YACzD,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAE/B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,8DAAyB,GAAzB,UAA0B,KAAK,EAAE,CAAC,EAAE,IAAI;QACtC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YACjB,0FAA0F;YAC1F,gIAAgI;YAChI,+EAA+E;QACjF,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;YACjB,wFAAwF;YACxF,8HAA8H;YAC9H,6EAA6E;QAC/E,CAAC;IACH,CAAC;IAMD,8CAAS,GAAT,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK;QACtB,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QAEhD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;IAClD,CAAC;IAED,yDAAoB,GAApB,UAAqB,KAAK,EAAE,CAAC,EAAE,IAAI;QACjC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACX,0FAA0F;gBAC1F,wFAAwF;YAC1F,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,eAAe,EAAE,CAAC;gBACnE,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC9D,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,eAAe,EAAE,CAAC;gBACjE,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1E,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACX,sFAAsF;YACxF,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,eAAe,EAAE,CAAC;gBACnE,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC9D,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,eAAe,EAAE,CAAC;gBACjE,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC1E,KAAK,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAC1E,CAAC;IACH,CAAC;IAndU,0BAA0B;QALtC,wEAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;WACG;SAC9C,CAAC;mCAqBqM;OAnB1L,0BAA0B,CAodtC;IAAD,CAAC;AAAA;SApdY,0BAA0B,kB;;;;;;;;;;;;;;;;;;;;;;;;;ACnBG;AACe;AAC4C;AAClB;AACP;AACT;AACW;AAE9E;;;;;GAKG;AAOH;IA2BE,iCAAmB,OAAsB,EAAS,SAAoB,EAAS,OAAiC,EAAS,GAAuB,EAAS,KAAoB,EAAS,EAAe,EAAQ,QAA0B;QAAvO,iBA6BC;QA7BkB,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,YAAO,GAAP,OAAO,CAA0B;QAAS,QAAG,GAAH,GAAG,CAAoB;QAAS,UAAK,GAAL,KAAK,CAAe;QAAS,OAAE,GAAF,EAAE,CAAa;QAAQ,aAAQ,GAAR,QAAQ,CAAkB;QAhBvO,iBAAY,GAAQ,EAAE,CAAC;QACvB,sBAAiB,GAAS,EAAE,CAAC;QAC7B,wBAAmB,GAAS,EAAE,CAAC;QAC/B,8BAAyB,GAAS,EAAE,CAAC;QACrC,8BAAyB,GAAS,EAAE,CAAC;QACrC,mBAAc,GAAK,EAAE,CAAC;QACtB,mBAAc,GAAK,EAAE,CAAC;QACtB,oBAAe,GAAK,EAAE,CAAC;QACvB,oBAAe,GAAK,EAAE,CAAC;QACvB,wBAAmB,GAAY,KAAK,CAAC;QACrC,4BAAuB,GAAS,EAAE,CAAC;QACnC,mCAA8B,GAAS,EAAE,CAAC;QAC1C,sCAAiC,GAAS,EAAE,CAAC;QAC7C,6BAAwB,GAAQ,EAAE,CAAC;QAyOnC,sBAAiB,GAAY,KAAK,CAAC;QAkBnC,eAAU,GAAY,KAAK,CAAC;QAuB5B,gBAAW,GAAY,KAAK,CAAC;QA9Q3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,cAAI;YACpE,EAAE,EAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAC;gBAC1B,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,CACjC,CAAC;gBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0DAA0D,GAAE,KAAI,CAAC,UAAU,CAAE,CAAC;gBAC7G,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,KAAI,CAAC,YAAY,GAAG,yDAAyD,GAAG,KAAI,CAAC,UAAU,GAAE,QAAQ,CAAC;gBAC1G,MAAM,CAAC;YACT,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0DAA0D,GAAE,KAAI,CAAC,UAAU,CAAE,CAAC;gBAC7G,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,KAAI,CAAC,YAAY,GAAG,yDAAyD,GAAG,KAAI,CAAC,UAAU,GAAE,QAAQ,CAAC;gBAC1G,MAAM,CAAC;YACT,CAAC;QACH,CAAC,EAAE,aAAG;YACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6EAA6E,CAAC,CAAC;YAC9G,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,YAAY,GAAG,0CAA0C,CAAC;QACjE,CAAC,CAAC;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;IACnB,CAAC;IAEM,+CAAa,GAApB,UAAqB,MAAM;QAA3B,iBAuLC;QAtLC,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;YAC3D,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;QAC/E,IAAI,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACrF,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;QAC/E,IAAI,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAGrF,IAAI,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;QAChC,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,UAAU,GAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,eAAK;YAC5C,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,UAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;gBAChC,EAAE,EAAC,UAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBAC3B,IAAI,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC;wBACjB,MAAM,EAAE,CAAC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;wBAClC,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;wBAC7B,YAAY,EAAC,CAAC,KAAI,CAAC,KAAK,CAAC;wBACzB,aAAa,EAAE,CAAC,UAAQ,CAAC,aAAa,CAAC;wBAEvC,kDAAkD;wBAClD,sDAAsD;wBACtD,uCAAuC,EAAC,CAAC,UAAQ,CAAC,uCAAuC,CAAC;wBAC1F,iCAAiC,EAAC,CAAC,UAAQ,CAAC,iCAAiC,CAAC;wBAE9E,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9E,cAAc,EAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;wBACtE,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;qBACxE,CAAC,CAAC;oBACH,EAAE,EAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;wBAChB,GAAG,CAAC,OAAO,CAAC,aAAG;4BACd,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;gCAC7B,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;oCACf,EAAE,EAAC,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,4BAA6B,CAAC,EAAC;wCAAA,KAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;oCAAA,CAAC;oCACnH,IAAI,qBAAqB,GAAG,EAAE,CAAC;oCAC/B,qBAAqB,CAAC,6BAA6B,CAAC,GAAG,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;oCACrH,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;wCAC3J,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;oCAChK,qBAAqB,CAAC,8BAA8B,CAAC,GAAG,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC;oCACvH,KAAI,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;gCACvD,CAAC;4BACP,CAAC;4BACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;gCAC7B,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;oCACf,KAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;oCAC9C,IAAI,cAAc,GAAG,EAAE,CAAC;oCACxB,cAAc,CAAC,qBAAqB,CAAC,GAAG,UAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;oCAEvF,KAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;gCACzC,CAAC;4BACP,CAAC;4BACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;gCAC7B,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;oCACf,KAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;oCAC9C,IAAI,eAAe,GAAG,EAAE,CAAC;oCACzB,eAAe,CAAC,sBAAsB,CAAC,GAAG,UAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;oCACzF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,eAAe,CAAC;oCACpC,KAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;gCAC3C,CAAC;4BACP,CAAC;4BACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;gCAC7B,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;oCACf,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gCAClC,CAAC;4BACP,CAAC;wBACH,CAAC,CAAC,CAAC;wBACP,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC5B,CAAC;gBACN,CAAC;gBACD,IAAI,EAAC;oBACH,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBAC7B,IAAI,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC;wBACjB,MAAM,EAAE,CAAC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;wBAClC,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;wBAC7B,YAAY,EAAC,CAAC,KAAI,CAAC,KAAK,CAAC;wBACzB,aAAa,EAAE,CAAC,EAAE,CAAC;wBACnB,0BAA0B;wBAC1B,4BAA4B;wBAC5B,uCAAuC,EAAC,CAAC,EAAE,CAAC;wBAC5C,iCAAiC,EAAC,CAAC,EAAE,CAAC;wBACtC,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9E,cAAc,EAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;wBACtE,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;qBACtE,CAAC,CAAC;oBACH,EAAE,EAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;wBACjB,GAAG,CAAC,OAAO,CAAC,aAAG;4BACb,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;gCACjC,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;oCACf,KAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;oCAC9C,KAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC,QAAQ,CAAC;oCAC7C,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;oCACpC,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,IAAI,IAAI,CAAC;wCACzK,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,mBAAmB,IAAI,IAAI,CAAC,CAAC;gCAC1K,CAAC;4BACH,CAAC;4BACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;gCACjC,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;oCACf,KAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;oCAC9C,KAAI,CAAC,8BAA8B,GAAG,GAAG,CAAC,QAAQ,CAAC;oCACrD,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gCAC7B,CAAC;4BACH,CAAC;4BACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;gCACjC,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;oCACf,KAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;oCAC9C,KAAI,CAAC,iCAAiC,GAAE,GAAG,CAAC,QAAQ,CAAC;oCACvD,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gCAC9B,CAAC;4BACH,CAAC;4BACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;gCACjC,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;oCACjB,iDAAiD;oCACjD,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;gCAChC,CAAC;4BACH,CAAC;wBACH,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACL,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,MAAM,CAAC;gBAC1B,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBAC3B,IAAI,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC;oBACjB,MAAM,EAAE,CAAC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;oBAClC,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;oBAC7B,YAAY,EAAC,CAAC,KAAI,CAAC,KAAK,CAAC;oBACzB,aAAa,EAAE,CAAC,EAAE,CAAC;oBAEnB,0BAA0B;oBAC1B,4BAA4B;oBAC5B,uCAAuC,EAAC,CAAC,EAAE,CAAC;oBAC5C,iCAAiC,EAAC,CAAC,EAAE,CAAC;oBAEtC,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9E,cAAc,EAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;oBAEtE,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC;iBACtE,CAAC,CAAC;gBACH,EAAE,EAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;oBACT,GAAG,CAAC,OAAO,CAAC,aAAG;wBACb,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;gCACf,KAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;gCAC9C,KAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC,QAAQ,CAAC;gCAC7C,KAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC;gCACtC,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;gCACpC,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gCAC7G,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACjH,CAAC;wBACH,CAAC;wBACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;gCACf,KAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;gCAC/C,KAAI,CAAC,8BAA8B,GAAE,GAAG,CAAC,QAAQ,CAAC;gCACnD,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;4BAC7B,CAAC;wBACH,CAAC;wBACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;gCACf,KAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC;gCAChD,KAAI,CAAC,iCAAiC,GAAG,GAAG,CAAC,QAAQ,CAAC;gCACtD,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;4BAC9B,CAAC;wBACH,CAAC;wBACD,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,EAAC;gCACjB,iDAAiD;gCACjD,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;4BAChC,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBACrC,CAAC;YACP,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IAED,gDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACxD,CAAC;IAGD,6CAAW,GAAX;QAAA,iBAOC;QALC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAI;YAC9C,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACrB,KAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACpE,CAAC;QACL,CAAC,CAAC,CAAC;IACH,CAAC;IAGD,2DAAyB,GAAzB,UAA0B,MAAM;QAC9B,IAAI,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;QAC7E,IAAI,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;QAClC,oCAAoC;QACpC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,iBAAiB,EAAE,EAAE;gBACrB,mBAAmB,EAAC,EAAE;gBACtB,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,4BAA4B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aAChD,CAAC;QACN,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IAGD,oDAAkB,GAAlB,UAAmB,GAAG;QACpB,8DAA8D;QAC9D,IAAI,GAAG,GAAC,GAAG;QACb,OAAO,CAAC,GAAG,CAAC,cAAc,EAAC,GAAG,CAAC,CAAC;QAC9B,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACZ,iCAAiC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aACvC,CAAC,CAAC;YACL,SAAS;YACT,6BAA6B;YAC7B,YAAY;YACZ,MAAM;QACR,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aACvC,CAAC,CAAC;YACJ,UAAU;QACX,CAAC;IACH,CAAC;IAGD,qDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,GAAG,GAAC,GAAG;QACX,8DAA8D;QAE9D,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAEZ,kCAAkC;YAElC,8BAA8B;YAC9B,YAAY;YACZ,IAAI;YACJ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACjB,oBAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,oBAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aAC1C,CAAC,CAAC;YACF,UAAU;QACX,CAAC;IACH,CAAC;IAED,0DAAwB,GAAxB,UAAyB,KAAK;QAA9B,iBAgEC;QA/DG,IAAM,WAAW,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;QACvI,IAAM,aAAa,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;QAC1I,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC1H,EAAE,EAAC,KAAK,KAAK,IAAI,CAAC,EAAC;YACjB,EAAE,EAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;gBAC1C,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,aAAG;oBACtC,IAAI,gBAAgB,GAAS,EAAC,UAAU,EAAE,GAAG;wBACP,gBAAgB,EAAC,EAAE;wBACnB,cAAc,EAAE,EAAE;wBAClB,SAAS,EAAE,EAAE;wBACb,WAAW,EAAE,EAAE;wBACf,WAAW,EAAE,EAAE;wBACf,mBAAmB,EAAE,EAAE;wBACvB,qBAAqB,EAAC,EAAE,EAAC,CAAC;oBAChE,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,EAAC;gBACH,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,EAAE,EAAC,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;gBACzC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,aAAG;oBACzC,IAAI,kBAAkB,GAAS,EAAC,YAAY,EAAE,GAAG;wBACnB,gBAAgB,EAAE,EAAE;wBACpB,gBAAgB,EAAE,EAAE;wBACpB,WAAW,EAAE,EAAE;wBACf,iBAAiB,EAAE,EAAE;wBACrB,aAAa,EAAE,EAAE;wBACjB,qBAAqB,EAAE,EAAE;wBACzB,uBAAuB,EAAC,EAAE,EAAC,CAAC;oBACxD,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAC7D,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,EAAC;gBACH,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,EAAC,KAAK,CAAC,2BAA2B,IAAI,SAAS,CAAC,EAAC;gBACjD,KAAK,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;oBACpD,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,EAAC;wBAChB,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,CAAC,EAAC,KAAK,CAAC,CAAC;oBACtC,CAAC;oBACD,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,iBAAiB,EAAC,CAAC,EAAC,KAAK,CAAC,CAAC;oBACjD,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,EAAC;gBACH,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,EAAE,EAAC,KAAK,CAAC,4BAA4B,IAAI,SAAS,CAAC,EAAC;gBAClD,KAAK,CAAC,4BAA4B,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;oBACnD,EAAE,EAAC,GAAG,CAAC,WAAW,CAAC,EAAC;wBAClB,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,CAAC,EAAC,KAAK,CAAC,CAAC;oBACxC,CAAC;oBACD,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,mBAAmB,EAAC,CAAC,EAAC,KAAK,CAAC,CAAC;oBACpD,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBAE3C,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,EAAC;gBACH,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC;IACL,CAAC;IAED,mDAAiB,GAAjB,UAAkB,OAAO;QACrB,EAAE,EAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACd,cAAc,EAAC,CAAC,EAAE,CAAC;gBACnB,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,SAAS,EAAG,CAAC,EAAE,CAAC;gBAChB,SAAS,EAAE,CAAC,EAAE,CAAC;gBACf,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,mBAAmB,EAAC,CAAC,EAAE,CAAC;aACzB,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACrB,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC5B,cAAc,EAAC,CAAC,OAAO,CAAC,cAAc,CAAC;gBACvC,YAAY,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;gBACpC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;gBAC1B,SAAS,EAAG,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC/B,SAAS,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC9B,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC9C,mBAAmB,EAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;aAClD,CAAC;QACJ,CAAC;IACL,CAAC;IAED,mDAAiB,GAAjB,UAAkB,KAAK;QAAvB,iBAmCC;QAlCC,IAAM,WAAW,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QACtH,EAAE,EAAC,KAAK,KAAK,IAAI,CAAC,EAAC;YACjB,EAAE,EAAC,IAAI,CAAC,8BAA8B,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;gBACjD,iCAAiC;gBACjC,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,aAAG;oBAC7C,IAAI,eAAe,GAAS;wBAC1B,mBAAmB,EAAE,GAAG;wBACxB,uBAAuB,EAAE,EAAE;wBAC3B,uBAAuB,EAAE,EAAE;wBAC3B,kBAAkB,EAAE,EAAE;wBACtB,wBAAwB,EAAE,EAAE;wBAC5B,8BAA8B,EAAE,EAAE;wBAClC,4BAA4B,EAAE,EAAE;wBAChC,sBAAsB,EAAC,EAAE;qBAAC,CAAC;oBAC7B,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,EAAC;gBACH,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;QACF,CAAC;QAAC,IAAI,CAAC,CAAC;YACP,EAAE,EAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS,CAAC,EAAC;gBAC1C,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;oBAC5C,EAAE,EAAC,GAAG,CAAC,4BAA4B,CAAC,EAAC;wBACnC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAC,CAAC,EAAC,KAAK,CAAC,CAAC;oBACzD,CAAC;oBACD,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,0BAA0B,EAAC,CAAC,EAAC,KAAK,CAAC,CAAC;oBAC1D,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,EAAC;gBACH,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;QACF,CAAC;IACN,CAAC;IAGD,6CAAW,GAAX,UAAY,OAAO;QACf,EAAE,EAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACrB,UAAU,EAAE,CAAC,EAAE,CAAC;gBAChB,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,SAAS,EAAE,CAAC,EAAE,CAAC;gBACf,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjB,mBAAmB,EAAE,CAAC,EAAE,CAAC;gBACzB,qBAAqB,EAAC,CAAC,EAAE,CAAC;aAC7B,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACjB,UAAU,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;gBAChC,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;gBACxC,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;gBACxC,SAAS,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC9B,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;gBAC1C,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBAClC,mBAAmB,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBAClD,qBAAqB,EAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC;aAC1D,CAAC;QACJ,CAAC;IACD,CAAC;IAED,oDAAkB,GAAlB,UAAmB,KAAK;QAAxB,iBAoCC;QAnCC,IAAM,WAAW,GAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QACvH,EAAE,EAAC,KAAK,KAAK,IAAI,CAAC,EAAC;YACjB,EAAE,EAAC,IAAI,CAAC,iCAAiC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;gBAClD,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,aAAG;oBAClD,IAAI,eAAe,GAAS;wBAC1B,mBAAmB,EAAE,GAAG;wBACxB,uBAAuB,EAAE,EAAE;wBAC3B,uBAAuB,EAAE,EAAE;wBAC3B,kBAAkB,EAAE,EAAE;wBACtB,wBAAwB,EAAE,EAAE;wBAC5B,8BAA8B,EAAE,EAAE;wBAClC,4BAA4B,EAAE,EAAE;wBAChC,sBAAsB,EAAC,EAAE;qBAAC,CAAC;oBAC7B,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,EAAC;gBACH,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;QAEF,CAAC;QAAC,IAAI,CAAC,CAAC;YACP,EAAE,EAAC,KAAK,CAAC,oBAAoB,KAAI,SAAS,CAAC,CAC3C,CAAC;gBACC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;oBAC7C,EAAE,EAAC,GAAG,CAAC,4BAA4B,CAAC,EAAC;wBACnC,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAC,CAAC,EAAC,KAAK,CAAC,CAAC;oBACzD,CAAC;oBACA,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,0BAA0B,EAAC,CAAC,EAAC,KAAK,CAAC,CAAC;oBAC3D,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,IAAI,EAAC;gBACH,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;QACF,CAAC;IACN,CAAC;IAED,mDAAiB,GAAjB,UAAkB,OAAO;QACrB,EAAE,EAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACjB,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,qBAAqB,EAAE,CAAC,EAAE,CAAC;gBAC3B,qBAAqB,EAAE,CAAC,EAAE,CAAC;gBAC3B,gBAAgB,EAAE,CAAC,EAAE,CAAC;gBACtB,sBAAsB,EAAE,CAAC,EAAE,CAAC;gBAC5B,4BAA4B,EAAE,CAAC,EAAE,CAAC;gBAClC,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,oBAAoB,EAAC,CAAC,EAAE,CAAC;aAChC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACb,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC9C,qBAAqB,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACtD,qBAAqB,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACtD,gBAAgB,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC5C,sBAAsB,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC;gBACxD,4BAA4B,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC;gBACpE,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;gBAChE,oBAAoB,EAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;aAC5D,CAAC;QACJ,CAAC;IACD,CAAC;IAED,wDAAwD;IACxD,iDAAe,GAAf,UAAgB,IAAI;QAClB,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACV,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACnI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,oDAAkB,GAAlB,UAAmB,KAAK,EAAC,IAAI;QAC7B,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACV,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACnI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACD,CAAC;IAED,kDAAkD;IAClD,0CAAQ,GAAR,UAAS,IAAI;QACX,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YACV,IAAM,OAAO,GAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;YACrI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,6CAAW,GAAX,UAAY,KAAK,EAAC,IAAI;QACtB,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YACZ,IAAM,OAAO,GAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAC;YACrI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACD,CAAC;IAED;;;OAGG;IACH,gDAAc,GAAd,UAAe,IAAI;QACjB,MAAM,EAAC,IAAI,CAAC,EAAC;YACT,KAAK,CAAC,EAAE,CAAC;gBACP,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBACpH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,KAAK,CAAC;YACR,CAAC;YACD,KAAK,CAAC,EAAE,CAAC;gBACP,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBACpH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,KAAK,CAAC;YACR,CAAC;YACD,SAAS,CAAC;gBACR,KAAK,CAAC;YACR,CAAC;QACH,CAAC;IACL,CAAC;IAED;;;MAGE;IACF,mDAAiB,GAAjB,UAAkB,KAAK,EAAC,IAAI;QAC5B,MAAM,EAAC,IAAI,CAAC,EAAC;YACX,KAAK,CAAC,EAAE,CAAC;gBACP,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBACpH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACxB,KAAK,CAAC;YACR,CAAC;YACD,KAAK,CAAC,EAAE,CAAC;gBACP,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBACpH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACxB,KAAK,CAAC;YACR,CAAC;YACD,SAAS,CAAC;gBACR,KAAK,CAAC;YACR,CAAC;QACH,CAAC;QAED,qEAAqE;IAErE,CAAC;IAED,+CAAa,GAAb,UAAc,CAAC,EAAC,IAAI,EAAC,KAAK;QACxB,EAAE,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAE,IAAI,CAAC,EAAC;YACvB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAE,IAAI,CAAC,EAAC;YAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACrC,CAAC;QACD,EAAE,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAE,IAAI,CAAC,EAAC;YACvB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAI,IAAI,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAE,IAAI,CAAC,EAAC;YAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAI,KAAK,CAAC;QACtC,CAAC;QACD,EAAE,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAE,IAAI,CAAC,EAAC;YACvB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAE,IAAI,CAAC,EAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACtC,CAAC;QACD,EAAE,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAE,IAAI,CAAC,EAAC;YACvB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAE,IAAI,CAAC,EAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACtC,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,+CAAa,GAAb,UAAc,gBAAgB;QAA9B,iBAcC;QAbC,oCAAoC;QACpC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,QAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,gBAAgB,CAAC,GAAG,CAAC,EAA/D,CAA+D,CAAC,CAAC;QAChH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,mBAAS;YACrD,EAAE,EAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAE9B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;YAAA,IAAI,EAAC;gBACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;YACtE,CAAC;QACN,CAAC,CAAC,CAAC;IACN,CAAC;IAED,yCAAO,GAAP,UAAQ,CAAC,EAAC,IAAW,EAAC,CAAC;QACrB,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAClE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACpE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC1E,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC1E,KAAK,CAAC;YACV;gBACI,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IA5qBY,uBAAuB;QAJnC,wEAAS,CAAC;YACT,QAAQ,EAAE,6BAA6B;WACG;SAC3C,CAAC;gCA4BuO;OA3B5N,uBAAuB,CA8qBnC;IAAD,CAAC;AAAA;SA9qBY,uBAAuB,kB;;;;;;;;;;;;;;;;;;;;;;;;;ACpBwB;AACH;AACuB;AACP;AACyB;AACtB;AACD;AAE3E;;;;;GAKG;AAQH;IAmCE,qCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EACzE,KAAmB,EAAS,OAAgC,EAAQ,EAAc,EAAQ,IAAsB;QADxH,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QACzE,UAAK,GAAL,KAAK,CAAc;QAAS,YAAO,GAAP,OAAO,CAAyB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QA1B3I,0BAAqB,GAAY,EAAE;QACnC,2BAAsB,GAAM,EAAE;QAC9B,yBAAoB,GAAM,EAAE;QAC5B,0BAAqB,GAAM,EAAE;QAC7B,2BAAsB,GAAM,EAAE;QAC9B,yBAAoB,GAAM,EAAE;QAC5B,8BAAyB,GAAM,EAAE;QACjC,6BAAwB,GAAM,EAAE;QAChC,4BAAuB,GAAM,EAAE;QAC/B,2BAAsB,GAAM,EAAE;QAC9B,uBAAkB,GAAM,EAAE;QAC1B,sBAAiB,GAAM,EAAE;QACzB,oBAAe,GAAM,EAAE,CAAC;QACxB,8BAAyB,GAAM,EAAE,CAAC;QAClC,4BAAuB,GAAM,EAAE,CAAC;QAG9B,OAAE,GAAQ,CAAC,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,kBAAkB,EAAC;YAC5C,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,gBAAgB,EAAC;YAC/B,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,mBAAmB,EAAC;YAClC,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,UAAU,EAAC;YACzB,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,WAAW,EAAC;YAC1B,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,YAAY,EAAC;YAC3B,EAAC,EAAE,EAAC,CAAC,EAAI,IAAI,EAAC,QAAQ,EAAC,CAAC;QAIxB,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACvC,4CAA4C;QAC5C,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,SAAS,CAAC,UAAU;QACzC,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAEhC,IAAI,CAAC,iBAAiB,EAAE;IAC1B,CAAC;IAED,oDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,EAAE;IACnB,CAAC;IAED,uDAAiB,GAAjB,UAAkB,CAAM;QAEtB,EAAE,EAAC,CAAC,IAAI,KAAK,CAAC,EAAC;YAEX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEtE,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,CAAC,IAAI,IAAI,CAAC,EAAC;YAEf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrE,wCAAwC;YAEvC,IAAM,gBAAgB,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAEtF,OAAO,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;YACD,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEjE,qCAAqC;YACrC,0CAA0C;YAC1C,6DAA6D;YAC7D,gCAAgC;QAEpC,CAAC;IAEL,CAAC;IACC,2CAA2C;IAC3C,+DAAyB,GAAzB,UAA0B,CAAM;QAC9B,EAAE,EAAC,CAAC,IAAI,KAAK,CAAC,EAAC;YACX,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAE1E,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACxB,CAAC;QACL,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAC;YAChB,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,8DAAwB,GAAxB,UAAyB,CAAC,EAAC,MAAM;QAE/B,EAAE,EAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAC;YACb,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChD,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAC;YAClB,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAGE,kCAAkC;IAClC,sDAAgB,GAAhB,UAAiB,MAAM;QAEtB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QAC5B,EAAE,EAAC,CAAC,IAAI,CAAC,CAAC,EAAC;YACP,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACtC,CAAC;QACD,IAAI,EAAC;YACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACrC,CAAC;QAED,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC;QAEhF,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAE7E,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,EAAE,EAAC,CAAC,GAAG,CAAE,CAAC,EAAC;YACP,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,IAAG,CAAC,EAAG,CAAC,EAAE,EAAE,CAAC;gBAC1B,IAAI,IAAI,GAAG,CAAC,CAAC,YAAY,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,GAAE,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;IACL,CAAC;IAGC,uDAAiB,GAAjB;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,KAAK;YACxB,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACvB,uBAAuB,EAAC,CAAC,EAAE,CAAC;YAC5B,qBAAqB,EAAC,CAAC,EAAE,CAAC;YAC1B,uBAAuB,EAAG,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpG,oBAAoB,EAAG,CAAC,EAAE,CAAC;YAC3B,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,kBAAkB,EAAC,CAAC,EAAE,CAAC;YACvB,yBAAyB,EAAC,CAAC,EAAE,CAAC;YAC9B,qBAAqB,EAAC,CAAC,EAAE,CAAC;YAC1B,yBAAyB,EAAC,CAAC,EAAE,CAAC;YAC9B,kCAAkC,EAAC,CAAC,EAAE,CAAC;YACvC,kCAAkC,EAAC,CAAC,EAAE,CAAC;YACvC,6CAA6C,EAAC,CAAC,EAAE,CAAC;YAClD,qCAAqC;YACrC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACrC,CAAC,CAAC;IACH,CAAC;IACD,gDAAU,GAAV,UAAW,IAAI;QACb,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,cAAc,EAAE,CAAC,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACvF,qBAAqB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACrF,wBAAwB,EAAC,CAAC,EAAE,CAAC;YAC7B,oBAAoB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACtF,kBAAkB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACpF,0BAA0B,EAAE,CAAC,EAAE,CAAC;YAChC,wBAAwB,EAAE,CAAC,EAAE,CAAC;YAC9B,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACzB,kCAAkC,EAAC,CAAC,EAAE,CAAC;YACvC,+BAA+B,EAAG,CAAC,EAAE,CAAC;SACvC,CAAC;IACJ,CAAC;IACA,kEAAkE;IAClE,iDAAW,GAAX,UAAY,IAAI;QACf,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAEjB,wFAAwF;YACxF,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACzB,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACvB,sBAAsB,EAAE,CAAC,EAAE,CAAC;YAC5B,uBAAuB,EAAC,CAAC,EAAE,CAAC;YAC5B,+BAA+B,EAAC,CAAC,EAAE,CAAC;YACpC,0BAA0B,EAAC,CAAC,EAAE,CAAC;YAC/B,wBAAwB,EAAC,CAAC,EAAE,CAAC;YAC7B,8BAA8B,EAAC,CAAC,EAAE,CAAC;YACnC,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,wBAAwB,EAAC,CAAC,EAAE,CAAC;YAC7B,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,2BAA2B,EAAC,CAAC,EAAE,CAAC;YAChC,mBAAmB,EAAC,CAAC,EAAE,CAAC;YACxB,wBAAwB,EAAC,CAAC,EAAE,CAAC;YAC7B,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,4BAA4B,EAAC,CAAC,EAAE,CAAC;YACjC,oBAAoB,EAAC,CAAC,EAAE,CAAC;YACzB,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,oBAAoB,EAAC,CAAC,EAAE,CAAC;YACzB,yBAAyB,EAAC,CAAC,EAAE,CAAC;YAC9B,iBAAiB,EAAC,CAAC,EAAE,CAAC;YACtB,wBAAwB,EAAC,CAAC,EAAE,CAAC;YAC7B,kCAAkC,EAAC,CAAC,EAAE,CAAC;YACvC,8BAA8B,EAAC,CAAC,EAAE,CAAC;YACnC,kCAAkC,EAAC,CAAC,EAAE,CAAC;YACvC,2CAA2C,EAAC,CAAC,EAAE,CAAC;YAChD,6CAA6C,EAAC,CAAC,EAAE,CAAC;YAClD,kCAAkC,EAAC,CAAC,EAAE,CAAC;SAE1C,CAAC,CAAC;IACP,CAAC;IACD,mDAAa,GAAb;QAAA,iBA8CC;QA3CO,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,EAAC;YAE/E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE3F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/G,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAEnG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,eAAe,EAAE,CAAC;YAC1F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAEnG,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEtF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC,eAAe,EAAE,CAAC;YACtF,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE3F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,eAAe,EAAE,CAAC;YAC5F,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,4BAA4B,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAEnG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7G,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,kBAAkB,CAAC,0BAA0B,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAE3G,CAAC;QACG,IAAI,OAAO,GAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YACxC,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,IAAG,GAAG,CAAC,EAAC;gBACpB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;gBAC5D,UAAU,CAAC;oBACP,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACd,CAAC;YACD,IAAI,EAAC;gBACD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;YACtE,CAAC;QACL,CAAC,EAAC,aAAG;YACD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;QAC/D,CAAC,CAAC;IACN,CAAC;IACC,gDAAU,GAAV;QAAA,iBAgEC;QA/DC,IAAM,WAAW,GAAY,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC9E,uCAAuC;QACvC,IAAM,QAAQ,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAC1E,qCAAqC;QACrC,IAAI,MAAM,GAAK,EAAE;QACjB,MAAM,CAAC,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK;QACjC,MAAM,CAAC,UAAU,GAAC,IAAI,CAAC,MAAM;QAC7B,MAAM,CAAC,UAAU,GAAC,IAAI,CAAC,UAAU;QACjC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,eAAK;YAC9C,EAAE,EAAC,KAAK,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,IAAI,YAAY,GAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAClC,EAAE,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,uBAAuB,IAAI,KAAK,CAAC,EAAC;oBACpD,IAAI,MAAM,GAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBACxE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;oBACnD,CAAC,CAAC;oBACF,EAAE,EAAC,MAAM,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wBAClB,KAAI,CAAC,oBAAoB,GAAC,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,GAAI,IAAI;wBAC5D,MAAM,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;4BACvB,KAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;4BAC5F,KAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;4BAC5F,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,kBAAkB,CAAC;4BACvF,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;wBACxC,CAAC,CAAC,CAAC;wBACH,YAAY,CAAC,kBAAkB,GAAC,MAAM,CAAC;oBACzC,CAAC;oBACD,IAAI,EAAC;wBACH,WAAW,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;gBACD,IAAI,UAAU,GAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBAC3E,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBACH,EAAE,EAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBACtB,UAAU,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;wBAC3B,KAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;wBACrG,KAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBACrG,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBAClG,KAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;wBAC/G,KAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;wBAC/G,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;wBAC9G,KAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBACzG,KAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;wBAC3G,KAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;wBAC7G,KAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;wBAC5G,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBACrG,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBACrC,CAAC,CAAC,CAAC;oBACH,YAAY,CAAC,eAAe,GAAC,UAAU;gBACzC,CAAC;gBACD,IAAI,EAAC;oBACH,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtC,CAAC;gBACD,YAAY,CAAC,IAAI,GAAC,KAAI,CAAC,SAAS,CAAC,KAAK;gBACtC,YAAY,CAAC,UAAU,GAAC,KAAI,CAAC,UAAU;gBACvC,YAAY,CAAC,YAAY,GAAC,KAAI,CAAC,KAAK;gBACpC,YAAY,CAAC,MAAM,GAAC,KAAI,CAAC,MAAM;gBAC/B,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,yCAAyC;gBACzC,2CAA2C;YAC/C,CAAC;QACD,CAAC,CAAC;IACJ,CAAC;IAEA;;aAES;IACJ,sEAAgC,GAAhC;QAAA,iBA8KD;QA5KG,IAAI,WAAW,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC/E,mCAAmC;QACnC,qCAAqC;QACrC,mCAAmC;QACnC,kCAAkC;QAClC,gCAAgC;QAChC,gCAAgC;QAChC,8BAA8B;QAC9B,8BAA8B;QAC9B,6BAA6B;QAC7B,2BAA2B;QAC3B,IAAI,gBAAgB,GAAS,EAAE,CAAC;QAChC,IAAI,kBAAkB,GAAS,EAAE,CAAC;QAClC,IAAI,gBAAgB,GAAS,EAAE,CAAC;QAChC,IAAI,eAAe,GAAS,EAAE,CAAC;QAC/B,IAAI,aAAa,GAAS,EAAE,CAAC;QAC7B,IAAI,aAAa,GAAS,EAAE,CAAC;QAC7B,IAAI,WAAW,GAAS,EAAE,CAAC;QAC3B,IAAI,WAAW,GAAS,EAAE,CAAC;QAC3B,IAAI,UAAU,GAAS,EAAE,CAAC;QAC1B,IAAI,QAAQ,GAAS,EAAE,CAAC;QAExB,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;YAEhC,IAAI,UAAU,GAAoB,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,WAAW,GAAG,GAAG,CAAC,qBAAqB,CAAC;YAEpC;;eAEG;YAEH,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;gBACT,EAAE,EAAC,WAAW,IAAI,EAAE,CAAC,EAAC;oBAClB,IAAI,qBAAqB,GAAI,CAAC,CAAE,WAAW,GAAG,gBAAgB,CAAC,GAAC,gBAAgB,CAAC,GAAG,GAAG,CAAE;oBACzF,IAAI,2BAA2B,GAAG,CAAC,qBAAqB,IAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAE,IAAI,GAAG,IAAI,CAAC;oBAC9J,UAAU,CAAC,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;gBAC9F,CAAC;YACT,CAAC;YACD,IAAI,EAAC;gBACG,UAAU,CAAC,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3E,CAAC;YAGD,gBAAgB,GAAG,WAAW,CAAC;YAC/B,0LAA0L;YAG1L,UAAU,GAAG,GAAG,CAAC,oBAAoB,CAAC;YACtC,QAAQ,GAAG,GAAG,CAAC,kBAAkB,CAAC;YAElC;;eAEG;YACH,EAAE,EAAC,CAAC,UAAU,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC5C,EAAE,EAAC,CAAC,UAAU,GAAG,CAAC,WAAW,CAAC,EAAC;oBAC3B,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAChE,CAAC;gBACD,IAAI,EAAC;oBACD,QAAQ,GAAG,GAAG,CAAC,kBAAkB,IAAI,CAAC,GAAG,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,kBAAkB,CAAC;oBAChG,aAAa,GAAG,aAAa,IAAI,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAE;oBAE3E,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,GAAG,UAAU,GAAG,QAAQ,CAAE,GAAG,CAAC,eAAe,IAAI,EAAE,GAAG,eAAe,GAAG,aAAa,CAAE,CAAC,GAAE,CAAC,eAAe,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBAClN,IAAI,eAAe,GAAG,SAAS,IAAG,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAE;oBAC9G,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAEtE,CAAC;YACb,CAAC;YACD,eAAe,GAAG,GAAG,CAAC,oBAAoB,IAAI,EAAE,GAAG,GAAG,CAAC,oBAAoB,GAAG,CAAC,CAAC;YAChF,aAAa,GAAG,GAAG,CAAC,kBAAkB,IAAG,EAAE,GAAG,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAE;YAC1E,6IAA6I;YAE7I;;gBAEI;YACJ,IAAI,oBAAoB,GAAG,GAAG,CAAC,wBAAwB,CAAC;YAExD,EAAE,EAAC,oBAAoB,IAAI,CAAC,CAAC,EAAC;gBAE3B,WAAW,GAAG,EAAE,CAAC;gBACjB,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAEzD,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,IAAI,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAC;oBACtD,EAAE,EAAC,CAAC,UAAU,GAAC,CAAC,WAAW,CAAC,EAAC;wBAC3B,iDAAiD;wBACjD,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qCAAqC,CAAC;wBACnE,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACrD,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC5D,UAAU,CAAC,QAAQ,CAAC,kCAAkC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACpE,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACzD,CAAC;oBACD,IAAI,EAAC;wBACD,aAAa,GAAG,CAAC,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC,qBAAqB,CAAC,GAAG,GAAG,CAAC;wBAC7E,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,aAAa,IAAG,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAEtJ,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,oBAAoB,IAAI,CAAC,CAAC,EAAC;gBAC/B,aAAa,GAAG,EAAE,CAAC;gBACnB,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAE5D,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE,IAAI,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC;oBACpD,EAAE,EAAC,CAAC,GAAG,CAAC,kBAAkB,GAAC,CAAC,WAAW,CAAC,EAAC;wBACtC,8CAA8C;wBAC9C,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC;wBAClE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACnD,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC1D,UAAU,CAAC,QAAQ,CAAC,kCAAkC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACpE,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACzD,CAAC;oBACD,EAAE,EAAC,CAAC,QAAQ,GAAC,CAAC,WAAW,CAAC,EAAC;wBACvB,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACnD,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC1D,UAAU,CAAC,QAAQ,CAAC,kCAAkC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACpE,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACzD,CAAC;oBACD,IAAI,EAAC;wBAGL,WAAW,GAAG,CAAC,GAAG,CAAC,kBAAkB,GAAC,GAAG,CAAC,qBAAqB,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAG9E,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE/I,CAAC;gBACL,CAAC;YACL,CAAC;YAEL,kBAAkB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,0BAA0B,IAAI,EAAE,GAAG,GAAG,CAAC,0BAA0B,GAAE,CAAC,CAAC;YACrG,gBAAgB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,wBAAwB,IAAG,EAAE,GAAG,GAAG,CAAC,wBAAwB,GAAG,CAAC,CAAE;YAEhG,mBAAmB;YAEnB,6PAA6P;YAE7P,yIAAyI;YAEzI,4FAA4F;YAE5F,IAAI;YAEJ,8IAA8I;YAE9I;;gBAEI;YAEJ,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,IAAI,WAAW,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;gBAG3D,WAAW,GAAG,WAAW,KAAK,SAAS,GAAI,WAAW,GAAG,CAAC,CAAC;gBAC3D,aAAa,GAAG,aAAa,KAAK,SAAS,GAAG,aAAa,GAAC,CAAC,CAAC;gBAC9D,IAAI,qBAAqB,GAAG,gBAAgB,CAAC,KAAK,GAAC,CAAC,CAAC,KAAK,SAAS,GAAG,gBAAgB,CAAC,KAAK,GAAC,CAAC,CAAC,GAAG,CAAC,CAAE;gBACrG,IAAI,uBAAuB,GAAG,kBAAkB,CAAC,KAAK,GAAC,CAAC,CAAC,KAAK,SAAS,GAAG,kBAAkB,CAAC,KAAK,GAAC,CAAC,CAAC,GAAI,CAAC,CAAE;gBAG5G,EAAE,EAAC,WAAW,IAAI,EAAE,CAAC,EAAC;oBAGlB,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,GAAG,aAAa,GAAI,WAAW,CAAE,GAAG,CAAC,uBAAuB,IAAI,CAAC,GAAG,uBAAuB,GAAI,qBAAqB,CAAC,CAAC;oBAClJ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;oBACjH,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;oBAEhB,IAAI,aAAa,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAE;oBAEpG,UAAU,CAAC,QAAQ,CAAC,kCAAkC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACnF,CAAC;YACL,CAAC;YACD,8IAA8I;QAGlJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kDAAY,GAAZ,UAAa,CAAC,EAAE,OAAO;QAErB,IAAI,mBAAmB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC7D,IAAI,iBAAiB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAEzD,EAAE,CAAC,CAAC,mBAAmB,IAAI,IAAI,IAAI,iBAAiB,IAAI,IAAI,CAAC,EAAC;YAE1D,EAAE,EAAC,CAAC,mBAAmB,GAAC,CAAC,iBAAiB,CAAC,EAAC;gBAC1C,qDAAqD;gBACrD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,yCAAyC,CAAC;gBACvE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACrD,MAAM,CAAC;YACX,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,iBAAiB,GAAG,mBAAmB,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,mBAAmB,CAAC,GAAG,GAAG,CAAC;YAExC,EAAE,EAAC,mBAAmB,IAAI,OAAO,CAAC,EAAC;gBAC/B,EAAE,EAAC,CAAC,GAAG,EAAE,CAAC,EAAC;oBACP,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;oBACpG,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChD,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;gBACpG,CAAC;YACL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,mBAAmB,GAAG,OAAO,IAAK,mBAAmB,IAAI,QAAQ,CAAC,EAAC;gBACvE,EAAE,EAAC,CAAC,GAAG,EAAE,CAAC,EAAC;oBACP,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;oBACpG,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChD,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;gBACpG,CAAC;YACL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,mBAAmB,GAAG,QAAQ,CAAC,EAAC;gBACpC,EAAE,EAAC,CAAC,GAAG,EAAE,CAAC,EAAC;oBACP,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;oBACpG,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChD,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;gBACpG,CAAC;YACL,CAAC;YACD,IAAI,EAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,IAAG,QAAQ,GAAG,iBAAiB,GAAC,CAAC,CAAC,CAAC;YACpG,CAAC;YAED,eAAe;YACf,gEAAgE;YAChE,uBAAuB;YACvB,4EAA4E;YAC5E,aAAa;YACb,2DAA2D;YAC3D,kBAAkB;YAClB,QAAQ;YACR,IAAI;YACJ,QAAQ;YACR,sEAAsE;YACtE,IAAI;QACR,CAAC;QACA,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAEC,2DAAqB,GAArB,UAAsB,CAAC,EAAE,OAAO;QAE9B,IAAI,mBAAmB,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC5D,IAAI,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAExD,EAAE,EAAC,mBAAmB,IAAI,EAAE,IAAK,iBAAiB,IAAI,EAAE,CAAC,EAAC;YAEtD,IAAI,MAAM,GAAG,CAAC,mBAAmB,GAAC,EAAE,CAAC;YAErC,IAAI,KAAK,GAAG,CAAC,CAAC,mBAAmB,CAAC,GAAC,MAAM,CAAC;YAC1C,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;YAE9D,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;gBACd,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;gBACxF,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,EAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;gBACxF,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,CAAC;QAEL,CAAC;QACD,IAAI,EAAC;YACD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;IAEL,CAAC;IACD,2DAAqB,GAArB,UAAuB,CAAC,EAAE,OAAO;QAE/B,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QACzD,EAAE,EAAC,aAAa,IAAI,EAAE,CAAC,EAAC;YACvB,gDAAgD;YAChD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7D,MAAM,CAAC;QACX,CAAC;QACD,IAAI,0BAA0B,GAAG,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC;QAC1E,EAAE,EAAC,CAAC,0BAA0B,GAAG,GAAG,CAAC,EAAC;YACnC,kDAAkD;YAClD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uCAAuC,CAAC;YACtE,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7D,MAAM,CAAC;QAEX,CAAC;QAED,IAAI,wBAAwB,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;QAEtE,EAAE,EAAC,CAAC,wBAAwB,GAAG,GAAG,CAAC,EAAC;YACjC,kDAAkD;YAClD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uCAAuC,CAAC;YACtE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7D,MAAM,CAAC;QAEX,CAAC;QAED,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE,IAAI,0BAA0B,IAAI,EAAE,IAAI,wBAAwB,IAAI,EAAE,CAAC,EAAC;YAC3F,EAAE,EAAC,CAAC,0BAA0B,GAAC,CAAC,wBAAwB,CAAC,EAAC;gBACvD,oDAAoD;gBACpD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,yCAAyC,CAAC;gBACxE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC7D,MAAM,CAAC;YACX,CAAC;YAGD,IAAI,cAAc,GAAG,CAAC,wBAAwB,GAAG,0BAA0B,CAAC,GAAC,CAAC,CAAC;YAC/E,IAAI,cAAc,GAAG,CAAC,cAAc,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;YACxD,IAAI,UAAU,GAAI,CAAC,wBAAwB,GAAG,0BAA0B,CAAC,CAAC;YAE1E,EAAE,EAAC,UAAU,GAAG,CAAC,CAAC,EAAC;gBACf,IAAI,CAAC,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;gBAC5D,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;oBACZ,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC3G,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAClH,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;gBACnG,CAAC;gBAAA,IAAI,EAAC;oBACF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACrD,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC7D,MAAM,CAAC;gBACX,CAAC;YACT,CAAC;YAED,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAC,CAAC,CAAC,CAAC;YAC3G,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;YAClH,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YAC/F,gFAAgF;YAChF,uFAAuF;QAI3F,CAAC;IAEL,CAAC;IAGD,2DAAqB,GAArB,UAAuB,CAAC,EAAE,OAAO;QAE/B,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QACzD,EAAE,EAAC,aAAa,IAAI,EAAE,CAAC,EAAC;YACpB,6CAA6C;YAC7C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC;YACnE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC;QACX,CAAC;QAED,IAAI,wBAAwB,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;QACtE,IAAI,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAElE,EAAE,EAAC,CAAC,sBAAsB,GAAC,CAAC,aAAa,CAAC,EAAC;YAEvC,8CAA8C;YAC9C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,oCAAoC,CAAC;YACpE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC;QACX,CAAC;QAGD,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE,IAAI,wBAAwB,IAAI,EAAE,IAAI,sBAAsB,IAAI,EAAE,CAAC,EAAC;YACvF,EAAE,EAAC,CAAC,wBAAwB,GAAC,CAAC,sBAAsB,CAAC,EAAC;gBACnD,oDAAoD;gBACpD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,yCAAyC,CAAC;gBACxE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC1D,MAAM,CAAC;YACX,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,sBAAsB,GAAG,wBAAwB,CAAC;YAC3D,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,wBAAwB,CAAC,GAAG,GAAG,CAAC;YAE7C,IAAI,MAAM,GAAG,CAAC,wBAAwB,GAAC,EAAE,CAAC;YAE1C,IAAI,KAAK,GAAG,CAAC,CAAC,wBAAwB,CAAC,GAAC,MAAM,CAAC;YAC/C,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,sBAAsB,GAAG,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;YAExE,EAAE,EAAC,wBAAwB,IAAI,OAAO,CAAC,EAAC;gBACpC,EAAE,EAAC,CAAC,IAAI,EAAE,CAAC,EAAC;oBACR,IAAI,CAAC,GAAG,OAAO,CAAC,wCAAwC,CAAC,CAAC;oBAC1D,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;oBACnH,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAClD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC1D,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;gBACnH,CAAC;gBAED,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;YACL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,wBAAwB,GAAG,OAAO,IAAK,wBAAwB,IAAI,QAAQ,CAAC,EAAC;gBACjF,EAAE,EAAC,CAAC,IAAI,EAAE,CAAC,EAAC;oBACR,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;oBAEnH,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAClD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC1D,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;gBACnH,CAAC;gBAED,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;YAEL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,wBAAwB,GAAG,QAAQ,CAAC,EAAC;gBACzC,EAAE,EAAC,CAAC,IAAI,EAAE,CAAC,EAAC;oBACR,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;oBACnH,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAClD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAC1D,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;gBACnH,CAAC;gBAED,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;YACL,CAAC;YACD,IAAI,EAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,sBAAsB,IAAG,QAAQ,GAAG,sBAAsB,GAAC,CAAC,CAAC,CAAC;gBAC/G,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrF,IAAI,cAAc,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,cAAc,IAAG,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC/G,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvF,CAAC;YACL,CAAC;QAEL,CAAC;IAEL,CAAC;IAED,yDAAmB,GAAnB,UAAqB,CAAC,EAAE,OAAO;QAE3B,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QACzD,EAAE,EAAC,aAAa,IAAI,EAAE,CAAC,EAAC;YACrB,8CAA8C;YAC9C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC;QACX,CAAC;QACD,QAAQ;QACR,IAAI,wBAAwB,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC;QACtE,EAAE,EAAC,CAAC,wBAAwB,GAAG,GAAG,CAAC,EAAC;YACjC,gDAAgD;YAChD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qCAAqC,CAAC;YACpE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC;QAEX,CAAC;QAED,IAAI,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAClE,EAAE,EAAC,CAAC,sBAAsB,GAAG,GAAG,CAAC,EAAC;YAC/B,gDAAgD;YAChD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uCAAuC,CAAC;YACtE,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC;QAEX,CAAC;QAGD,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE,IAAI,wBAAwB,IAAI,EAAE,IAAI,sBAAsB,IAAI,EAAE,CAAC,EAAC;YAEvF,EAAE,EAAC,CAAC,wBAAwB,GAAC,CAAC,sBAAsB,CAAC,EAAC;gBAClD,+CAA+C;gBAC/C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qCAAqC,CAAC;gBACrE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3D,MAAM,CAAC;YACX,CAAC;YAED,IAAI,YAAY,GAAG,CAAC,sBAAsB,GAAG,wBAAwB,CAAC,GAAC,CAAC,CAAC;YACzE,IAAI,YAAY,GAAG,CAAC,YAAY,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;YACpD,IAAI,UAAU,GAAI,CAAC,sBAAsB,GAAG,wBAAwB,CAAC;YAErE,4EAA4E;YAC5E,mFAAmF;YAEnF,kGAAkG;YAElG,EAAE,EAAC,UAAU,GAAG,CAAC,CAAC,EAAC;gBACf,IAAI,CAAC,GAAG,OAAO,CAAC,4CAA4C,CAAC,CAAC;gBAC1D,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;oBACZ,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAC,CAAC,CAAC,CAAC;oBACrG,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAE5G,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC/F,CAAC;gBAAA,IAAI,EAAC;oBACF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACnD,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC3D,MAAM,CAAC;gBACX,CAAC;YACT,CAAC;YAED,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAC,CAAC,CAAC,CAAC;YACrG,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;YAC5G,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC/F,CAAC;IAEL,CAAC;IAGD,yDAAmB,GAAnB,UAAqB,CAAC,EAAE,OAAO;QAE3B,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QACzD,EAAE,EAAC,aAAa,IAAI,EAAE,CAAC,EAAC;YACrB,8CAA8C;YAC9C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC;QACX,CAAC;QAED,IAAI,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC;QAClE,IAAI,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC;QAE9D,EAAE,EAAC,CAAC,oBAAoB,GAAG,CAAC,aAAa,CAAC,EAAC;YAExC,6CAA6C;YAC7C,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,kCAAkC,CAAC;YAC7D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC;QACX,CAAC;QAGL,EAAE,CAAC,CAAC,aAAa,IAAI,EAAE,IAAI,sBAAsB,IAAI,EAAE,IAAI,oBAAoB,IAAI,EAAE,CAAC,EAAC;YACnF,EAAE,EAAC,CAAC,sBAAsB,GAAG,CAAC,oBAAoB,CAAC,EAAC;gBAChD,mDAAmD;gBACnD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,yCAAyC,CAAC;gBACzE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxD,MAAM,CAAC;YACX,CAAC;YAID,uDAAuD;YACvD,2CAA2C;YAC3C,0DAA0D;YAC1D,uDAAuD;YACvD,+DAA+D;YAC/D,cAAc;YACd,IAAI;YAGJ,IAAI,CAAC,GAAG,CAAC,oBAAoB,GAAG,sBAAsB,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,sBAAsB,CAAC,GAAG,GAAG,CAAC;YAE3C,IAAI,MAAM,GAAG,CAAC,sBAAsB,GAAC,EAAE,CAAC;YAExC,IAAI,KAAK,GAAG,CAAC,CAAC,sBAAsB,CAAC,GAAC,MAAM,CAAC;YAC7C,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;YAEpE,EAAE,EAAC,sBAAsB,IAAI,OAAO,CAAC,EAAC;gBAClC,EAAE,EAAC,CAAC,IAAI,EAAE,CAAC,EAAC;oBACR,IAAI,CAAC,GAAG,OAAO,CAAC,wCAAwC,CAAC,CAAC;oBAC1D,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;oBAE7G,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACxD,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;gBAC7G,CAAC;gBAED,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;YAEL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,sBAAsB,GAAG,OAAO,IAAK,sBAAsB,IAAI,QAAQ,CAAC,EAAC;gBAC7E,EAAE,EAAC,CAAC,IAAI,EAAE,CAAC,EAAC;oBACR,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;oBAC7G,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACxD,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;gBAC7G,CAAC;gBAED,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBAC3G,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;YACL,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,sBAAsB,GAAG,QAAQ,CAAC,EAAC;gBACvC,EAAE,EAAC,CAAC,IAAI,EAAE,CAAC,EAAC;oBACR,IAAI,CAAC,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;oBACzD,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACZ,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;oBAC7G,CAAC;oBAAA,IAAI,EAAC;wBACF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACnD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBAChD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACxD,MAAM,CAAC;oBACX,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;gBAE7G,CAAC;gBACD,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;YAEL,CAAC;YACD,IAAI,EAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,oBAAoB,IAAG,QAAQ,GAAG,oBAAoB,GAAC,CAAC,CAAC,CAAC;gBACzG,EAAE,EAAC,KAAK,GAAG,KAAK,CAAC,EAAC;oBACd,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;gBACD,IAAI,EAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAG,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACnF,IAAI,YAAY,GAAG,CAAC,KAAK,GAAC,aAAa,CAAC,GAAC,GAAG,CAAC;oBAC7C,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,YAAY,IAAG,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;oBACzG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrF,CAAC;YACL,CAAC;QAEL,CAAC;IAEL,CAAC;IAOC,0CAA0C;IAC1C,8CAAQ,GAAR,UAAS,KAAU;QACjB,gCAAgC;QAChC,IAAM,OAAO,GAAG,SAAS,CAAC;QAE1B,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,6CAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAW;QAErB,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/E,gEAAgE;gBAChE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChF,yDAAyD;gBACzD,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9E,sDAAsD;gBACtD,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/E,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9E,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACnF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjF,KAAK,CAAC;YACV,KAAK,EAAE;gBACH,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChF,KAAK,CAAC;YACV,KAAK,EAAE;gBACH,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,KAAK,CAAC;YACV,KAAK,EAAE;gBACH,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3E,KAAK,CAAC;YACV;gBACI,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IApoCY,2BAA2B;QALvC,wEAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;YAC3C,WAAW,EAAE,kFAAiC;WACT;SACtC,CAAC;qNAoC4B,qEAAiC,CAAS,0FAAY,EAAkB;YACnE,aAAa,EAAiB,SAA4E;OApChI,2BAA2B,CAqoCvC;IAAD,CAAC;AAAA;SAroCY,2BAA2B,kB;;;;;;;;;;;;;;;;;;;;;;;;ACrBE;AACe;AAC4C;AAClB;AACP;AACT;AAEnE;;;;;GAKG;AAOH;IA2BE,kCAAmB,OAAsB,EAAS,SAAoB,EAAS,OAAiC,EAAS,GAAuB,EAAS,KAAoB,EAAS,EAAe;QAArM,iBAiDC;QAjDkB,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,YAAO,GAAP,OAAO,CAA0B;QAAS,QAAG,GAAH,GAAG,CAAoB;QAAS,UAAK,GAAL,KAAK,CAAe;QAAS,OAAE,GAAF,EAAE,CAAa;QAd9L,cAAS,GAAG,KAAK,CAAC;QAElB,kBAAa,GAAG,EAAE,CAAC;QAE1B,4BAAuB,GAAQ,EAAE,CAAC;QAElC,cAAS,GAAQ,EAAE,CAAC;QACpB,mBAAc,GAAY,KAAK,CAAC;QAChC,iBAAY,GAAQ,EAAE,CAAC;QACvB,4BAAuB,GAAQ,EAAE,CAAC;QAClC,sBAAiB,GAAQ,EAAE,CAAC;QAC5B,sBAAiB,GAAQ,EAAE,CAAC;QA2N5B,sBAAiB,GAAY,KAAK,CAAC;QAenC,gBAAW,GAAY,KAAK,CAAC;QAe7B,wBAAmB,GAAY,KAAK,CAAC;QAuSrC,sBAAiB,GAAY,KAAK,CAAC;QACnC,sBAAiB,GAAY,KAAK,CAAC;QACnC,qBAAgB,GAAY,KAAK,CAAC;QAClC,eAAU,GAAQ,EAAE,CAAC;QACrB,eAAU,GAAQ,EAAE,CAAC;QACrB,cAAS,GAAQ,EAAE,CAAC;QAjiBlB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAE5C,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,cAAI;YAE1F,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAEpB,IAAI,OAAK,GAAG,IAAI,CAAC,OAAO,CAAC;gBACzB,KAAI,CAAC,uBAAuB,GAAG,OAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI;gBAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAI,IAAI,OAAI,IAAI,CAAC,QAAQ,UAAjB,CAAkB,CAAC,CAAC;gBAC7J,iJAAiJ;gBACjJ,KAAI,CAAC,iBAAiB,GAAG,OAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oBAAC,MAAM,CAAC,IAAI;gBAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAI,IAAI,OAAI,IAAI,CAAC,QAAQ,UAAjB,CAAkB,CAAC,CAAC;gBACvJ,IAAI,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;oBAC7D,MAAM,CAAC,OAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,GAAG,CAAC,OAAO,CAAC,aAAG;wBACb,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACjB,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAC5C,CAAC;wBACH,CAAC;wBAED,EAAE,CAAC,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACjB,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAC5C,CAAC;wBACH,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,KAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAI,CAAC,iBAAiB,CAAC,CAAC;gBAErE,KAAI,CAAC,mBAAmB,CAAC,OAAK,CAAC,gBAAgB,CAAC,CAAC;YAEnD,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC5B,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC;YAC/B,CAAC;QACH,CAAC,EAAE,aAAG;YACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;YAC9D,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,KAAI,CAAC,YAAY,GAAG,0CAA0C,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,iDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IAED,sDAAmB,GAAnB,UAAoB,MAAM;QAA1B,iBA+JC;QA9JC,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAC7C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CACxC,cAAI;YACF,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,UAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC/B,EAAE,CAAC,CAAC,UAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;oBAC3B,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBAClC,IAAI,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC;wBACjB,MAAM,EAAE,CAAC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;wBAClC,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;wBAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC1B,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9E,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAChE,wBAAwB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;wBACnF,yBAAyB,EAAE,CAAC,UAAQ,CAAC,yBAAyB,IAAI,IAAI,CAAC;wBACvE,8EAA8E;qBAC/E,CAAC,CAAC;oBACH,sCAAsC;oBACtC,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAClE,8DAA8D;oBAC3D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACnB,6FAA6F;wBAC7F,6CAA6C;wBAC7C,MAAM;wBACN,EAAE,EAAC,UAAQ,CAAC,qBAAqB,CAAC,EAAC;4BACjC,OAAO,CAAC,GAAG,CAAC,UAAQ,CAAC;4BAEvB,IAAI,sBAAsB,GAAG,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;4BAElF,KAAI,CAAC,gCAAgC,CAAC,sBAAsB,CAAC,CAAC;4BAC9D,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,mDAAmD,IAAI,IAAI,CAAC,CAAC;wBAC/O,CAAC;wBACD,IAAI,EAAC;4BACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,UAAQ,CAAC;4BAC/B,KAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC;4BAC3C,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAE,IAAI,CAAC,CAAC;wBACvJ,CAAC;oBACH,CAAC;oBACJ,MAAM;oBAED,uDAAuD;oBACvD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;oBACjG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,yFAAyF;wBACzF,2CAA2C;wBAC3C,MAAM;wBACN,EAAE,EAAC,UAAQ,CAAC,aAAa,CAAC,EAAC;4BAC3B,IAAI,oBAAoB,GAAG,UAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;4BAEtE,KAAI,CAAC,0BAA0B,CAAC,oBAAoB,CAAC,CAAC;4BACtD,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,iDAAiD,IAAI,IAAI,CAAC,CAAC;wBACzN,CAAC;wBACD,IAAI,EAAC;4BACH,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;4BACtC,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAE,IAAI,CAAC,CAAC;wBAC7I,CAAC;oBACH,CAAC;oBAED,6DAA6D;oBAC7D,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAChE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,kGAAkG;wBAClG,2CAA2C;wBAC3C,MAAM;wBACN,EAAE,EAAC,UAAQ,CAAC,wBAAwB,CAAC,EAAC;4BACtC,IAAI,6BAA6B,GAAG,UAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;4BAC1F,KAAI,CAAC,kCAAkC,CAAC,6BAA6B,CAAC,CAAC;4BACvE,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,UAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,iDAAiD,IAAI,IAAI,CAAC,CAAC;wBAC/O,CAAC;wBACD,IAAI,EAAC;4BACH,KAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC;4BAC7C,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACvJ,CAAC;oBACH,CAAC;oBACD,mDAAmD;oBACnD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAChE,yBAAyB;oBACzB,oCAAoC;oBACpC,IAAI;oBACJ,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;wBAClC,IAAI,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC;wBACjB,MAAM,EAAE,CAAC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;wBAClC,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;wBAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;wBAC1B,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC9E,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;wBAChE,wBAAwB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;wBACnF,yBAAyB,EAAE,CAAC,UAAQ,CAAC,yBAAyB,IAAI,IAAI,CAAC;wBACvE,8EAA8E;qBAC/E,CAAC,CAAC;oBACH,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAC/D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACnB,KAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;wBAC5C,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACtJ,CAAC;oBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;oBACjG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;wBACtC,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAC5I,CAAC;oBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAChE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBACpB,IAAI,6BAA6B,GAAG,MAAM,CAAC,IAAI,CAAC,UAAQ,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;4BAC1F,MAAM,CAAC,UAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;wBACxC,CAAC,CAAC,CAAC;wBACH,KAAI,CAAC,kCAAkC,CAAC,6BAA6B,CAAC,CAAC;wBACvE,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACvJ,CAAC;oBACD,mDAAmD;oBACnD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;oBAChE,yBAAyB;oBACzB,oCAAoC;oBACpC,IAAI;oBACJ,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBAClC,IAAI,EAAE,CAAC,KAAI,CAAC,IAAI,CAAC;oBACjB,MAAM,EAAE,CAAC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;oBAClC,UAAU,EAAE,CAAC,KAAI,CAAC,UAAU,CAAC;oBAC7B,YAAY,EAAE,CAAC,KAAI,CAAC,KAAK,CAAC;oBAC1B,qBAAqB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC9E,aAAa,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAChE,wBAAwB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnF,yBAAyB,EAAE,EAAE;oBAC7B,8EAA8E;iBAC/E,CAAC,CAAC;gBACH,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAC/D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnB,KAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,CAAC;oBAC5C,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtJ,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;gBACjG,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;oBACtC,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC5I,CAAC;gBACD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAChE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC;oBAC9C,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvJ,CAAC;gBACD,mDAAmD;gBACnD,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;gBAChE,yBAAyB;gBACzB,oCAAoC;gBACpC,IAAI;gBACJ,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC7B,CAAC;QACH,CAAC,EAAE,aAAG;QAEN,CAAC,CACF,CAAC;IACJ,CAAC;IAGD,4DAAyB,GAAzB,UAA0B,GAAG;QAC3B,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;QAC5D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,mDAAmD,EAAE,EAAE;aACxD,CAAC;YACF,IAAI;QACN,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IAGD,sDAAmB,GAAnB,UAAoB,GAAG;QACrB,+DAA+D;QAC/D,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,EAA9D,CAA8D,CAAC,CAAC;QAC7F,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,iDAAiD,EAAE,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IAGD,8DAA2B,GAA3B,UAA4B,GAAG;QAC7B,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,IAAI,CAAC,EAA7B,CAA6B,CAAC,CAAC;QAC5D,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,iDAAiD,EAAE,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC;QACT,CAAC;IACH,CAAC;IAED,mEAAgC,GAAhC,UAAiC,KAAK;QAAtC,iBAaC;QAZC,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC/H,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,2BAA2B;YAC3B,uDAAuD;YACvD,IAAI;QACN,CAAC;IACH,CAAC;IAED,4DAAyB,GAAzB,UAA0B,OAAO;QAC/B,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,yBAAyB,EAAE,CAAC,EAAE,CAAC;gBAC/B,iCAAiC,EAAE,CAAC,EAAE,CAAC;gBACvC,0CAA0C,EAAE,CAAC,EAAE,CAAC;gBAChD,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,mCAAmC;gBACnC,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,wBAAwB,EAAE,CAAC,EAAE,CAAC;gBAC9B,8BAA8B,EAAE,CAAC,EAAE,CAAC;gBACpC,4BAA4B,EAAE,CAAC,EAAE,CAAC;aACnC,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,IAAI,IAAI,CAAC;gBACxE,yBAAyB,EAAE,CAAC,OAAO,CAAC,yBAAyB,IAAI,IAAI,CAAC;gBACtE,iCAAiC,EAAE,CAAC,OAAO,CAAC,iCAAiC,IAAI,IAAI,CAAC;gBACtF,0CAA0C,EAAE,CAAC,OAAO,CAAC,0CAA0C,IAAI,IAAI,CAAC;gBACxG,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,IAAI,IAAI,CAAC;gBACxE,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,IAAI,IAAI,CAAC;gBACxE,yBAAyB,EAAE,CAAC,OAAO,CAAC,yBAAyB,IAAI,IAAI,CAAC;gBACtE,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;gBACtD,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC;gBACxD,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;gBAChD,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;gBAClD,wBAAwB,EAAE,CAAC,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC;gBACpE,8BAA8B,EAAE,CAAC,OAAO,CAAC,8BAA8B,IAAI,IAAI,CAAC;gBAChF,4BAA4B,EAAE,CAAC,OAAO,CAAC,4BAA4B,IAAI,IAAI,CAAC;aAC7E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,6DAA0B,GAA1B,UAA2B,KAAK;QAAhC,iBAaC;QAZC,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACrH,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YACH,2BAA2B;YAC3B,iDAAiD;YACjD,IAAI;QACN,CAAC;IACH,CAAC;IAED,sDAAmB,GAAnB,UAAoB,OAAO;QACzB,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,iCAAiC,EAAE,CAAC,EAAE,CAAC;gBACvC,0CAA0C,EAAE,CAAC,EAAE,CAAC;gBAChD,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,0BAA0B,EAAE,CAAC,EAAE,CAAC;gBAChC,mCAAmC,EAAE,CAAC,EAAE,CAAC;gBACzC,8BAA8B,EAAE,CAAC,EAAE,CAAC;gBACpC,4BAA4B,EAAE,CAAC,EAAE,CAAC;gBAClC,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,wBAAwB,EAAE,CAAC,EAAE,CAAC;aAC/B,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBAChD,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC9C,iCAAiC,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC;gBAC9E,0CAA0C,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC;gBAChG,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;gBAChE,0BAA0B,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC;gBAChE,mCAAmC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC;gBAClF,8BAA8B,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC;gBACxE,4BAA4B,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC;gBACpE,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;gBACtD,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC;gBACxD,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;gBAChD,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;gBAClD,wBAAwB,EAAE,CAAC,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC;aACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,qEAAkC,GAAlC,UAAmC,KAAK;QAAxC,iBAaC;QAZC,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAChI,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,GAAG;gBACrB,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,qCAAqC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAClE,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YACH,2BAA2B;YAC3B,yDAAyD;YACzD,IAAI;QACN,CAAC;IACH,CAAC;IAED,8DAA2B,GAA3B,UAA4B,OAAO;QACjC,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,6BAA6B,EAAE,CAAC,EAAE,CAAC;gBACnC,4BAA4B,EAAE,CAAC,EAAE,CAAC;gBAClC,4CAA4C,EAAE,CAAC,EAAE,CAAC;gBAClD,qDAAqD,EAAE,CAAC,EAAE,CAAC;gBAC3D,qCAAqC,EAAE,CAAC,EAAE,CAAC;gBAC3C,qCAAqC,EAAE,CAAC,EAAE,CAAC;gBAC3C,8CAA8C,EAAE,CAAC,EAAE,CAAC;gBACpD,yCAAyC,EAAE,CAAC,EAAE,CAAC;gBAC/C,uCAAuC,EAAE,CAAC,EAAE,CAAC;gBAC7C,iBAAiB,EAAE,CAAC,EAAE,CAAC;gBACvB,kBAAkB,EAAE,CAAC,EAAE,CAAC;gBACxB,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,wBAAwB,EAAE,CAAC,EAAE,CAAC;aAC/B,CAAC;QACJ,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,6BAA6B,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;gBACtE,4BAA4B,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC;gBACpE,4CAA4C,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC;gBACpG,qDAAqD,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC;gBACtH,qCAAqC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC;gBACtF,qCAAqC,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC;gBACtF,8CAA8C,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC;gBACxG,yCAAyC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC;gBAC9F,uCAAuC,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC;gBAC1F,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,IAAI,IAAI,CAAC;gBACtD,kBAAkB,EAAE,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC;gBACxD,cAAc,EAAE,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC;gBAChD,eAAe,EAAE,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;gBAClD,wBAAwB,EAAE,CAAC,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC;aACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sDAAmB,GAAnB,UAAoB,CAAC;QACnB,wBAAwB;QACxB,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAE/H,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,qDAAkB,GAAlB,UAAmB,GAAG;QACpB,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC/H,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,sDAAmB,GAAnB,UAAoB,CAAC;QACnB,wBAAwB;QACxB,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAErH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,uDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QACrH,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,wDAAqB,GAArB,UAAsB,CAAC;QACrB,wBAAwB;QACxB,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAEhI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,uDAAoB,GAApB,UAAqB,GAAG;QACtB,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;QAChI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,8CAAW,GAAX;QAAA,iBAgBC;QAdC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAC1D,cAAI;YACF,KAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CAC5C,cAAI;YACF,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CACjD,cAAI;YACF,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC;IACD,kCAAkC;IAClC,IAAI;IACJ,yBAAyB;IAEzB,+CAA+C;IAC/C,gDAAgD;IAChD,6CAA6C;IAE7C,2DAA2D;IAE3D,uDAAuD;IACvD,YAAY;IACZ,wCAAwC;IACxC,UAAU;IACV,yEAAyE;IACzE,8BAA8B;IAC9B,UAAU;IACV,cAAc;IAGd,IAAI;IACJ,gCAAgC;IAChC,iDAAc,GAAd,UAAe,gBAAgB;QAA/B,iBA2BC;QAzBC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,QAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,gBAAgB,CAAC,GAAG,CAAC,EAA/D,CAA+D,CAAC,CAAC;QAChH,EAAE,CAAC,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACtD,OAAO,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACnD,CAAC;QACD,EAAE,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YAC9C,OAAO,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAC3C,CAAC;QACD,EAAE,CAAC,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACzD,OAAO,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;QACtD,CAAC;QAED,oCAAoC;QACpC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAO,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAAC,OAAO,gBAAgB,CAAC,GAAG,CAAC;QAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;QACjM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,mBAAS;YACzD,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAE/B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,4DAAyB,GAAzB,UAA0B,KAAK,EAAE,CAAC,EAAE,IAAI;QACtC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,0FAA0F;YAC1F,gIAAgI;YAChI,+EAA+E;QACjF,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,wFAAwF;YACxF,8HAA8H;YAC9H,6EAA6E;QAC/E,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,wFAAwF;YACxF,8HAA8H;YAC9H,6EAA6E;QAC/E,CAAC;IACH,CAAC;IAQD,4CAAS,GAAT,UAAU,CAAC,EAAE,IAAI,EAAE,KAAK;QAEtB,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QAE9C,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QAEhD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;IAElD,CAAC;IA3lBU,wBAAwB;QAJpC,wEAAS,CAAC;YACT,QAAQ,EAAE,8BAA8B;WACG;SAC5C,CAAC;iCA4BqM;OA3B1L,wBAAwB,CA6lBpC;IAAD,CAAC;AAAA;SA7lBY,wBAAwB,kB;;;;;;;;;;;;;;;;;;;;ACnBa;AACP;AAE3C;;;;;EAKE;AAEF;IAEE,2BAAmB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAD9B,gBAAW,GAAG,kDAAkD,CAAC;QAEpE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAED,kCAAM,GAAN;QAEE,IAAI,UAAU,GAAG,wCAAwC,CAAC;QAC1D,IAAI,SAAS,GAAG,uCAAuC,CAAC;QACxD,IAAI,WAAW,GAAG,kCAAkC,CAAC;QACrD,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IAED,0CAAc,GAAd;QAEE,IAAI,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAClF,IAAI,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,GAAC,GAAG,GAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAC,CAAC,CAAC,GAAC,GAAG,GAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC5E,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACvD,IAAI,WAAW,GAAG,IAAI,GAAC,QAAQ,CAAC;QAChC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,gDAAoB,GAApB,UAAqB,MAAM;QACzB,IAAI,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACd,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACjB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACjB,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACnB,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAClB,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAClB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACjB,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACnB,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QACnB,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;QAClB,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;QACvB,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;QACvB,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;QACtB,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;QACtB,KAAK,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC;QACxB,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;QACvB,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;QACvB,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;QACpB,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;QACtB,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,KAAK,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QACrB,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3B,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,IAAI,KAAK,GAAO,EAAE,CAAC;QACnB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,OAAO,GAAO,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,IAAI,gBAAgB,GAAG,IAAI,KAAK,EAAE,CAAC;YACnC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChC,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;YACD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAClB,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACnB,CAAC;gBACL,CAAC;YACL,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;YACX,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC5B,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvB,CAAC;gBACD,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;oBACb,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;gBACvC,CAAC;gBACD,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,YAAY,IAAI,SAAS,CAAC;gBAC9B,CAAC;gBACD,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,YAAY,IAAI,QAAQ,CAAC;gBAC7B,CAAC;gBACD,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,YAAY,IAAI,WAAW,CAAC;gBAChC,CAAC;gBACD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACvE,YAAY,IAAI,cAAc,CAAC;gBACnC,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC9B,YAAY,IAAI,UAAU,CAAC;gBAC/B,CAAC;YACL,CAAC;YACD,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,YAAY,CAAC;IACxB,CAAC;IAzGY,iBAAiB;QAD7B,yEAAU,EAAE;yCAGc,wEAAU;OAFxB,iBAAiB,CA0G7B;IAAD,wBAAC;CAAA;AA1G6B;;;;;;;;ACV9B;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,kC;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,kC;;;;;;;;;;;;;;;;;;;;;;;;;;ACVoE;AACK;AAQzE,wEAAwE;AAEK;AAE7E,qDAAqD;AAEwB;AACQ;AACrC;AACI;AACkB;AAOtE;IAoBA,mBAAoB,GAAuB,EAAS,MAAiB,EAC9D,MAA6B,EAAQ,OAAqB,EAAQ,IAAmB,EACpF,KAAmB;QAFP,QAAG,GAAH,GAAG,CAAoB;QAAS,WAAM,GAAN,MAAM,CAAW;QAC9D,WAAM,GAAN,MAAM,CAAuB;QAAQ,YAAO,GAAP,OAAO,CAAc;QAAQ,SAAI,GAAJ,IAAI,CAAe;QACpF,UAAK,GAAL,KAAK,CAAc;QAd3B,WAAM,GAAY,KAAK,CAAC;QACxB,WAAM,GAAoB;YACxB,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE;gBACR,GAAG,EAAE,EAAE;gBACP,MAAM,EAAE,EAAE;gBACV,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE,EAAE;aACV;SACF,CAAC;IAKF,CAAC;IACD,4BAAQ,GAAR;QACE,uBAAuB;IAEzB,CAAC;IACD,mCAAe,GAAf;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,oCAAgB,GAAhB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD;;;;MAIE;IACF,yBAAK,GAAL;QAAA,iBA0CC;QAzCC,2BAA2B;QAC3B,EAAE,EAAC,IAAI,CAAC,KAAK,KAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAI,SAAS,IAAI,IAAI,CAAC,KAAK,IAAG,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAG,EAAE,IAAI,IAAI,CAAC,KAAK,IAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAG,IAAK,CAAC,EAAC;YACjJ,IAAI,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,gBAAM;gBACrC,IAAI,MAAM,GAAG,KAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBAEhC,KAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,kBAAQ;oBAE9C,KAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;oBAE5B,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;wBAElC,EAAE,EAAC,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,YAAY,IAAI,KAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,cAAc,CAAC,EAAC;4BACzG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;wBAEjC,CAAC;wBAAA,IAAI,CACL,CAAC;4BAEC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;4BAC/D,YAAY,CAAC,KAAK,EAAE,CAAC;wBACxB,CAAC;oBAGH,CAAC;gBACH,CAAC,CAAC,CAAC;YACH,CAAC,EAAE,aAAG;gBACJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzC,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,2BAA2B,CAAC,CAAC,CAAC;oBAC/C,oBAAoB;oBACpB,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,wEAAY,EAAC,EAAC,UAAU,EAAC,KAAI,CAAC,KAAK,EAAC,UAAU,EAAC,KAAI,CAAC,QAAQ,EAAC,CAAC,CAAC;gBACtF,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE9D,CAAC;gBACD,qBAAqB;YACvB,CAAC,CAAC;QACF,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IACD;;;;OAIG;IACH,kBAAkB;IAClB,sEAAsE;IACtE,kDAAkD;IAClD,kCAAkC;IAClC,iGAAiG;IACjG,2BAA2B;IAC3B,kDAAkD;IAClD,4BAA4B;IAC5B,8CAA8C;IAC9C,oBAAoB;IACpB,iCAAiC;IAEjC,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,IAAI;IAEJ,8BAAU,GAAV;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAGD,kCAAc,GAAd;QAEE,IAAI,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,mDAAmD;QACnD,sBAAsB;QAEtB,KAAK;IACP,CAAC;IACD,iCAAa,GAAb;QACE,gCAAgC;QAC9B,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAC;YACzB,KAAK,CAAC,IAAI,CAAC,CAAC;YACZ,mCAAmC;YACnC,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;QAAA,IAAI,EAAC;YACJ,KAAK,CAAC,MAAM,CAAC,CAAC;YAEd,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;IACL,CAAC;IAlIY,SAAS;QAJrB,wEAAS,CAAC;YACT,QAAQ,EAAE,YAAY;WACG;SAC1B,CAAC;wLAqBuB,uEAAmC,CAAS;YACvD,yFAA8E;YAC9E,MAAa;OAtBd,SAAS,CAoIrB;IAAD,CAAC;AAAA;SApIY,SAAS;AAsItB,GAA6D;AAC7D;;EAEE;AAEF,+CAAgE;AAChE,eAA+C;AAE/C,eAAe;AACf,cAA+B;AAC/B,cAAc;AACd,mBAA6C;AAE7C,mBAAmB;AACnB,oBAAkG;AAElG,QAAoB;AAGpB,QAAQ;AACR,oBAAoB;AACpB,oBAAwG;AACxG,oBAAoB;AAEpB,OAA+I;AAE/I,OAAO;AAEP,QAAmI;AAGnI,KAAQ;AACR,KAAK;AACL,kCAAmC;AAEnC,kCAAkC;AAClC,mCAA0C;AAC1C,mCAAmC;AAEnC,IAAmE;AAEnE,IAAI;AAGJ,IAAI;AAIJ,eAAe;AACf,cAA+B;AAC/B,cAAc;AACd,mBAAwC;AAExC,mBAAmB;AACnB,oBAA2F;AAE3F,OAAoB;AAIpB,OAAO;AAEP,QAAmI;AAGnI,KAAQ;AACR,KAAK;AACL,4BAA4B;AAE5B,kCAAkC;AAClC,mCAA0C;AAC1C,mCAAmC;AAEnC,IAA4D;AAE5D,IAAI;AAEJ,KAAK,4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7O2D;AACmB;AACL;AAIzB;AACJ;AACsC;AAGf;AACK;AAExC;AAE+C;AAC1C;AACyB;AACG;AAGE;AACK;AACN;AACU;AAGjF;;;;;GAKG;AACH,IAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC;AASpD;IAuBE,mBAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EACnF,SAAmB,EAAQ,QAAkB,EAAQ,eAA+B,EACpF,GAAsB,EAAQ,SAA2B,EAAQ,WAAuB,EACxF,SAAyB,EAAQ,gBAAiC,EAAQ,KAAmB,EAC7F,QAA0B,EAAQ,kBAAqC;QAJ7D,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QACnF,cAAS,GAAT,SAAS,CAAU;QAAQ,aAAQ,GAAR,QAAQ,CAAU;QAAQ,oBAAe,GAAf,eAAe,CAAgB;QACpF,QAAG,GAAH,GAAG,CAAmB;QAAQ,cAAS,GAAT,SAAS,CAAkB;QAAQ,gBAAW,GAAX,WAAW,CAAY;QACxF,cAAS,GAAT,SAAS,CAAgB;QAAQ,qBAAgB,GAAhB,gBAAgB,CAAiB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAC7F,aAAQ,GAAR,QAAQ,CAAkB;QAAQ,uBAAkB,GAAlB,kBAAkB,CAAmB;QApBhF,oBAAe,GAAY,KAAK,CAAC;QACjC,mBAAc,GAAY,KAAK,CAAC;QAGlC,SAAI,GAAG,IAAI,kEAAQ,CAAC,OAAO,CAAC,CAAC;QAI7B,mBAAc,GAAW,KAAK,CAAC;QAC/B,kBAAa,GAAW,KAAK,CAAC;QAC9B,YAAO,GAAO,EAAE,GAAC,IAAI,CAAC;QAYlB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE3E,wBAAwB;QACxB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;QAE5B,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,SAAS,GAAU,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAC,oBAAoB,CAAC,CAAC;QAG/E,IAAI,CAAC,kBAAkB,GAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE5D,IAAI,CAAC,SAAS,EAAE,CAAC;QAGhB,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,WAAW,CAAC,CACpD,CAAC;YACC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,UAAU,CAAC,CACnD,CAAC;YACC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,WAAW,CAAC,CACpD,CAAC;YAEC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,oCAAoC;QACpC,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,WAAW,CAAC,CACpD,CAAC;YACC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3B,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IACrC,CAAC;IAGD,kCAAc,GAAd;QACE,IAAI,CAAC,aAAa,EAAE,CAAC;IAEvB,CAAC;IACD,mCAAe,GAAf;QAEE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IACD,oCAAgB,GAAhB,UAAiB,OAAO;QAEtB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,iCAAa,GAAb;QAAA,iBAeC;QAbC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,IAAI,CACrG,gBAAM,IAAI,cAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAnD,CAAmD,EAC7D,aAAG,IAAI,YAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAApG,CAAoG,CAC5G,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QAEjK,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,IAAI,CACnG,gBAAM,IAAI,cAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAnD,CAAmD,EAC7D,aAAG,IAAI,YAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAlG,CAAkG,CAC1G,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IACzJ,CAAC;IAED,6BAAS,GAAT;QAAA,iBAuBC;QArBC,IAAI,OAAO,GAAG,EAAC,MAAM,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAElD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,KAAI,CAAC,eAAe,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB;gBACtD,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC;gBACpC,IAAI,gBAAgB,GAAW,KAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;gBACtF,IAAI,iBAAiB,GAAU,GAAG,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;gBAC/F,IAAI,QAAQ,GAAW,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACpF,IAAI,WAAW,GAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBAEhE,EAAE,EAAC,WAAW,IAAG,CAAC,CAAC,CAAC,EAAC;oBACpB,KAAI,CAAC,aAAa,GAAC,IAAI,CAAC;gBAC1B,CAAC;gBACD,IAAI,CACJ,CAAC;oBACC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC7B,CAAC;YACD,CAAC;QACD,CAAC,CAAC;IAEJ,CAAC;IACD,4BAAQ,GAAR,UAAS,MAAM,EAAC,UAAU;QAA1B,iBAkCC;QAhCC,IAAI,IAAS,CAAC;QAEd,EAAE,EAAC,MAAM,IAAI,SAAS,CAAC,CACvB,CAAC;YACC,IAAI,GAAG,EAAC,OAAO,EAAC,UAAU,CAAC,KAAK,EAAC,WAAW,EAAC,MAAM,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,CAAC;YACvG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,sGAAiB,EAAC,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC;YACrD,sDAAsD;YACtD,MAAM;YACN,+BAA+B;YAC/B,+CAA+C;YAC/C,QAAQ;YACR,6CAA6C;YAC7C,QAAQ;YACR,OAAO;QACT,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,MAAM,IAAI,UAAU,CAAC,CAC9B,CAAC;YACG,IAAI,GAAG,EAAC,OAAO,EAAC,UAAU,CAAC,KAAK,EAAC,WAAW,EAAC,MAAM,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,CAAC;YACvG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAE7C,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC;gBACxB,EAAE,EAAC,KAAI,CAAC,YAAY,CAAC,UAAU,IAAI,IAAI,CAAC,CACxC,CAAC;oBACC,KAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAE7B,CAAC;gBAAA,IAAI,CACL,CAAC;oBACC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC;QACR,CAAC;IAEH,CAAC;IAED,8BAAU,GAAV,UAAW,YAAY,EAAC,UAAU;QAAlC,iBAyBD;QAtBG,IAAI,IAAS,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,EAAE,EAAC,YAAY,IAAI,SAAS,CAAC,EAAC;YAC5B,IAAI,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,IAAI,GAAG,EAAC,OAAO,EAAC,UAAU,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,cAAc,EAAC,OAAO,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,CAAC;YACnI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAE3C,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC;gBAC1B,EAAE,EAAC,KAAI,CAAC,cAAc,CAAC,UAAU,IAAI,IAAI,CAAC,CAC1C,CAAC;oBACC,KAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC9B,CAAC;YACL,CAAC,CAAC,CAAC;QACT,CAAC;QACD,IAAI,EAAC;YACH,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iCAAiC,CAAC,CAAC;YAClE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC5B,iCAAiC;YACjC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QAC3B,CAAC;IACH,CAAC;IAEC,qCAAiB,GAAjB;QAAA,iBAeC;QAbC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,UAAC,UAAmB;YAE1D,EAAE,EAAC,UAAU,CAAC,CAAC,CAAC;gBAChB,6CAA6C;gBAC7C,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC,IAAI,CACxF;oBACE,KAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC5B,CAAC,EACD,eAAK,IAAI,YAAK,CAAC,uCAAuC,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAApE,CAAoE,CAC5E,CAAC;YACF,CAAC;QAED,CAAC,CAAC,CAAC;IACP,CAAC;IACD,sCAAkB,GAAlB;QAAA,iBAuCC;QArCC,IAAI,IAAQ,CAAC;QACb,IAAI,OAAO,GAAG;YACZ,SAAS,EAAE,IAAI;YACf,kBAAkB,EAAE,IAAI;YACxB,OAAO,EAAC,IAAI;SACb,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAC9B,KAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAChC,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI;gBACrD,uBAAuB;gBACvB,wBAAwB;gBACxB,EAAE,EAAE,IAAoB,CAAC,MAAM,IAAG,SAAS,CAAC,EAAC;oBAC3C,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAC,GAAG,GAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;oBAC1E,4DAA4D;oBAC5D,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,mBAAmB,CAAC,CAAC;oBAC1C,IAAI,GAAG,EAAC,OAAO,EAAC,KAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,MAAM,EAAC,KAAI,CAAC,mBAAmB,EAAC,CAAC;oBAG/E,KAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;wBAEhD,8BAA8B;wBAC9B,8CAA8C;wBAC9C,KAAK;wBACL,8BAA8B;wBAC9B,kCAAkC;wBAClC,QAAQ;wBACR,IAAI;wBACJ,gCAAgC;wBAChC,IAAI;oBACR,CAAC,CAAC;gBACJ,CAAC;YACD,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;gBACX,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC,CAAC;QAEJ,CAAC,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChB,CAAC;IACD,gCAAY,GAAZ;QAEE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,+BAAW,GAAX,UAAY,UAAU;QAAtB,iBAsCC;QArCC,IAAI,IAAQ,CAAC;QAEb,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,UAAC,UAAmB;YAE1D,EAAE,EAAC,UAAU,CAAC,CAAC,CAAC;gBAChB,6CAA6C;gBAC7C,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,CAAC,IAAI,CACxF;oBACF,KAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;wBAC9C,uBAAuB;wBACvB,wBAAwB;wBAEtB,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAC,GAAG,GAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;wBAC9E,IAAI,GAAG,EAAC,OAAO,EAAC,UAAU,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,WAAW,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC,aAAa,EAAC,UAAU,CAAC,eAAe,EAAC,WAAW,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,EAAC,cAAc,EAAC,KAAI,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,MAAM,EAAC,KAAI,CAAC,mBAAmB,EAAC,CAAC;wBAGpS,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;4BAE3C,KAAI,CAAC,eAAe,GAAG,GAAG,CAAC;4BAC3B,EAAE,EAAC,KAAI,CAAC,eAAe,CAAC,UAAU,IAAI,IAAI,CAAC,CAC3C,CAAC;gCACC,KAAI,CAAC,cAAc,EAAE,CAAC;gCACtB,KAAI,CAAC,kBAAkB,EAAE,CAAC;gCAC1B,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;4BAC5B,CAAC;4BAAA,IAAI,CACL,CAAC;gCACC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;4BAC7B,CAAC;wBACL,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC,KAAK,CAAC,UAAC,KAAK;wBACb,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;oBAC/C,CAAC,CAAC,CAAC;gBACH,CAAC,EAAC,eAAK,IAAI,YAAK,CAAC,uCAAuC,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAApE,CAAoE,CAChF,CAAC;YACF,CAAC;QAED,CAAC,CAAC,CAAC;IACH,CAAC;IAED,qCAAiB,GAAjB,UAAkB,UAAU;QAA5B,iBAwCC;QAtCC,IAAI,IAAQ,CAAC;QACb,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAChC,KAAK,EAAE,qBAAqB;YAC5B,OAAO,EAAE,kCAAkC;YAC3C,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE;wBAEP,iCAAiC;wBACjC,qCAAqC;oBACvC,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE;wBACf,KAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;4BAC5C,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAC,GAAG,GAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;4BAErE,IAAI,GAAG,EAAC,OAAO,EAAC,UAAU,CAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAC,WAAW,EAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAC,cAAc,EAAC,KAAI,CAAC,KAAK,EAAC,WAAW,EAAC,WAAW,EAAC,MAAM,EAAC,KAAI,CAAC,mBAAmB,EAAC,CAAC;4BAC/L,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BAC3B,KAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gCAC9C,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC;gCACxB,EAAE,EAAC,KAAI,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,CACzC,CAAC;oCACC,aAAa,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;oCACjC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,yDAAO,EAAC,EAAC,WAAW,EAAC,UAAU,EAAC,CAAC,CAAC;gCACzD,CAAC;4BAEH,CAAC,CAAC;4BACI,8BAA8B;wBAChC,CAAC,CAAC;oBACJ,CAAC;iBACA;aACF;SACF,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IACD,kCAAc,GAAd;QAAA,iBAmCC;QAjCG,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,KAAI,CAAC,OAAO,GAAG,GAAG,CAAC;YACnB,EAAE,EAAC,KAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,CACnC,CAAC;gBACC,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,KAAK,IAAI,KAAI,CAAC,kBAAkB,CAAC,KAAK,EAA1C,CAA0C,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1G,EAAE,EAAC,KAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,WAAW,CAAC,CACzD,CAAC;oBACC,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBACD,EAAE,EAAC,KAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,UAAU,CAAC,CACnD,CAAC;oBACC,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uBAAuB,CAAC;gBACzD,CAAC;gBACD,EAAE,EAAC,KAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,WAAW,CAAC,CACpD,CAAC;oBACC,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,KAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,wBAAwB,CAAC;gBAC1D,CAAC;gBAED,EAAE,EAAC,KAAI,CAAC,kBAAkB,CAAC,SAAS,IAAI,WAAW,CAAC,CACpD,CAAC;oBACC,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAC1B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,wBAAwB,CAAC;gBAC1D,CAAC;YACE,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IAED,+BAAW,GAAX;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,kGAAmB,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,kBAAkB,EAAC,CAAC,CAAC;IAC/E,CAAC;IA1VoB;QAAtB,yEAAS,CAAC,UAAU,CAAC;;kDAAc;IACf;QAApB,yEAAS,CAAC,QAAQ,CAAC;kCAAa,8DAAO;gDAAC;IAtB5B,SAAS;QANrB,wEAAS,CAAC;YACT,QAAQ,EAAE,YAAY;WACG;SAC1B,CAAC;yPA0B4B,CAAgE;YACzE,8FAA2B,CAAQ,0FAAuC;YAChF,kKAAoC,0FAAqC,CAAW;YAC9E,0FAAwC,gGAA8B,EAAa;YACpF,MAA8D;OA3BrE,SAAS,CAgXrB;IAAD,CAAC;AAAA;SAhXY,SAAS,e;;;;;;;;;;;;;;;;;;;;;;;;;;AC3C+B;AAC+B;AACR;AACC;AACkB;AACT;AAEd;AACF;AACtE;;;;;GAKG;AACH,IAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;AAOrE;IA2BE,wBAAmB,OAAsB,EAAS,SAAoB,EAAE,QAAkB,EAAQ,EAAc,EAAQ,UAAmC,EAAQ,GAAsB,EAAQ,MAAqB,EAAQ,KAAmB;QAA9N,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAA4B,OAAE,GAAF,EAAE,CAAY;QAAQ,eAAU,GAAV,UAAU,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,WAAM,GAAN,MAAM,CAAe;QAAQ,UAAK,GAAL,KAAK,CAAc;QAxBjP,YAAO,GAAQ,EAAE,CAAC;QAClB,aAAQ,GAAQ,EAAE,CAAC;QACnB,eAAU,GAAO,EAAE,CAAC;QAQpB,wBAAmB,GAAO,IAAI,CAAC;QAC/B,uBAAkB,GAAO,EAAE,CAAC;QAC5B,uBAAkB,GAAU,EAAE,CAAC;QAC/B,mBAAc,GAAU,CAAC,CAAC;QAC1B,YAAO,GAAW,KAAK,CAAC;QACxB,WAAM,GAAU,KAAK,CAAC;QACtB,SAAI,GAAK,EAAE,CAAC;QAUV,IAAI,CAAC,cAAc,GAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAGrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACjC;YACE,aAAa,EAAC,CAAC,IAAI,CAAC;YACpB,KAAK,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACxB,CAAC;QACJ,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACtC;YACE,eAAe,EAAC,CAAC,IAAI,CAAC;SACvB,CAAC;QACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;IACzC,CAAC;IAEC,uCAAc,GAAd;IACA,CAAC;IACD,wCAAe,GAAf;QACE,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAChE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAElF,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,yCAAgB,GAAhB;QACA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,0GAAsB,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,MAAM,EAAC,CAAC,CAAC;IACvE,CAAC;IAED,4CAAmB,GAAnB;QAEE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,GAAC,IAAI,CAAC,cAAc,GAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACxH,iDAAiD;QACjD,iDAAiD;QACjD,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAC;YACC,wDAAwD;QAC1D,CAAC;QACD,EAAE,EAAC,IAAI,CAAC,OAAO,CAAC,CAChB,CAAC;YACC,uEAAuE;QACzE,CAAC;IACH,CAAC;IAED,kCAAS,GAAT,UAAU,KAAK;QAEb,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe,GAAG,cAAc,GAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,GAAC,SAAS,CAAC;QAChH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAEvC,CAAC;IAED,gDAAuB,GAAvB,UAAwB,KAAK;QAE3B,IAAI,MAAM,GAAC,CAAC,CAAC;QACb,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;YAClC,MAAM,GAAC,MAAM,GAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,gDAAuB,GAAvB;QACE,IAAI,KAAK,GAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;QACjD,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAE,KAAK,CAAC;YACxC,KAAK,GAAC,KAAK,GAAC,CAAC,CAAC;QAEhB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe,GAAG,cAAc,GAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,GAAC,SAAS,CAAC;IAElH,CAAC;IAED,0DAAiC,GAAjC;QAAA,iBAGC;QADC,UAAU,CAAE,cAAQ,KAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED,yCAAgB,GAAhB,UAAiB,MAAM;QAGrB,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;QAClB,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;QAEnB,IAAI,2BAA2B,GAAE,CAAC,CAAC,GAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAC,CAAC,CAAC,CAAE,GAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;QAChH,EAAE,EAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,CACjD,CAAC;YACC,IAAI,CAAC,MAAM,GAAC,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;QAErB,CAAC;QAAC,EAAE,EAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,CACnD,CAAC;YACC,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;YAClB,IAAI,CAAC,OAAO,GAAC,IAAI,CAAC;QACpB,CAAC;QAED,EAAE,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;QAErB,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;QAEpB,EAAE,EAAC,IAAI,CAAC,OAAO,CAAC;YACd,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe;gBAC9C,cAAc,GAAC,CAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;sBAClF,CAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,GAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAC,CAAC,CAAC,GAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAC,CAAC,CAAC,CAAC;sBACxJ,SAAS,CAAC;QAEb,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC;YACb,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe;gBAC9C,cAAc,GAAC,CAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;sBAClF,CAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,GAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAC,CAAC,CAAC,GAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAC,CAAC,CAAC,CAAC;sBACxJ,SAAS,CAAC;QAEb,EAAE,EAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,GAAC,IAAI,CAAC;IAGhH,CAAC;IACF;;OAEG;IACF,6CAAoB,GAApB;QAEE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9C,GAAG,EAAkB,UAA8B,EAA9B,SAAI,CAAC,eAAe,CAAC,SAAS,EAA9B,cAA8B,EAA9B,IAA8B;YAA/C,IAAI,SAAS;YAEf,EAAE,EAAC,SAAS,CAAC,MAAM,KAAI,SAAS,CAAC,EAAC;gBAClC,GAAG,EAAc,UAAgB,EAAhB,cAAS,CAAC,MAAM,EAAhB,cAAgB,EAAhB,IAAgB;oBAA7B,IAAI,KAAK;oBAET,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC,cAAc,CAAC;oBAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC5B;gBACD,GAAG,EAAgB,UAAiB,EAAjB,cAAS,CAAC,OAAO,EAAjB,cAAiB,EAAjB,IAAiB;oBAAhC,IAAI,OAAO;oBAEb,EAAE,EAAC,SAAS,CAAC,sBAAsB,IAAI,CAAC,CAAC,CACzC,CAAC;wBACC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;wBAE3D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;oBAGnD,CAAC;iBACF;YACH,CAAC;SACA;QACC,GAAG,EAAC,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,IAAE,IAAI,CAAC,eAAe,CAAC,eAAe,EAAC,CAAC,EAAE,EAAC,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAEH,0CAAiB,GAAjB,UAAkB,OAAO;QAEvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,qBAAqB,EAAC,OAAO,CAAC,mBAAmB;YACjD,cAAc,EAAC,OAAO,CAAC,kBAAkB;YACzC,WAAW,EAAE,OAAO,CAAC,MAAM;YAC3B,qBAAqB,EAAE,OAAO,CAAC,yBAAyB;YACxD,UAAU,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK;YAC5B,iBAAiB,EAAC,OAAO,CAAC,eAAe;YACzC,UAAU,EAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,GAAC,KAAK,GAAC,IAAI,CAAC;SAGjD,CAAC;IACN,CAAC;IACC,aAAa;IACb,qCAAY,GAAZ,UAAa,MAAM;QAAnB,iBAUC;QARG,2BAA2B;QAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,aAAG;YAE7B,EAAE,EAAC,GAAG,KAAK,SAAS,CAAC,EAAC;gBACpB,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,kBAAkB,EAAC,GAAG,EAAC,mBAAmB,EAAC,EAAE,EAAC,YAAY,EAAC,MAAM,EAAC,CAAC,CAAC;YAC1F,CAAC;QACF,CAAC,CAAC,CAAC;QACJ,iBAAiB;IACrB,CAAC;IACD,iCAAQ,GAAR,UAAS,IAAI,EAAC,EAAE,EAAC,KAAK,EAAC,MAAM;QAEzB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAC,kBAAkB,EAAC,KAAK,EAAC,mBAAmB,EAAC,IAAI,EAAC,YAAY,EAAC,MAAM,EAAC,CAAC;IAChG,CAAC;IACD,oCAAW,GAAX,UAAY,KAAK;QACf,2CAA2C;QACzC,8CAA8C;QAC5C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;QAChC,GAAG;QACL,GAAG;IACL,CAAC;IACD,4CAAmB,GAAnB,UAAoB,aAAa,EAAC,eAAe,EAAC,eAAe;QAG7D,GAAG,EAAa,UAAa,EAAb,SAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa;YAAzB,IAAI,IAAI;YAGR,EAAE,EAAC,IAAI,CAAC,iBAAiB,IAAG,EAAE,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,EAAC;gBACxG,UAAU;gBACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,kBAAkB,EAAC,IAAI,CAAC,gBAAgB,EAAC,mBAAmB,EAAC,IAAI,CAAC,iBAAiB,EAAC,CAAC,CAAC;gBAC5G,eAAe;YACjB,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,UAAU;gBACV,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,kBAAkB,EAAC,IAAI,CAAC,gBAAgB,EAAC,mBAAmB,EAAC,UAAU,EAAC,CAAC,CAAC;YAElG,CAAC;SACA;QACF,EAAE,EAAC,aAAa,CAAC,aAAa,IAAG,IAAI,CAAC,EAAC;YACtC,mBAAmB;YACrB,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9B,IAAI,KAAK,GAAG,eAAe,CAAC,uBAAuB,CAAC;YACpD,IAAI,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,oBAAoB,IAAI,aAAa,CAAC,aAAa,CAAC,uBAAuB,EAA/E,CAA+E,CAAC,CAAC,CAAC,CAAC,CAAC;YACtI,IAAI,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC;YAClC,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC9B,IAAI,aAAa,GAAG,KAAK,CAAC,kBAAkB,CAAC;YAC7C,IAAI,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,qBAAqB,CAAC;YAC/D,IAAI,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC;YACnD,IAAI,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,yBAAyB,CAAC;YAC1E,IAAI,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC;YACjD,IAAI,SAAS,GAAK,EAAE,CAAC;YACrB,IAAI,QAAQ,GAAK,EAAE,CAAC;YACpB,IAAI,SAAS,GAAK,EAAE,CAAC;YACrB,IAAI,QAAQ,GAAK,EAAE,CAAC;YACpB,IAAI,aAAa,GAAK,EAAE,CAAC;YACzB,IAAI,mBAAmB,GAAO,EAAE,CAAC;YACjC,EAAE,EAAC,KAAK,CAAC,YAAY,IAAG,IAAI,CAAC,CAC7B,CAAC;gBACC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,QAAQ,GAAG,WAAW,CAAC;gBACvB,aAAa,GAAG,EAAE,CAAC;YACrB,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;gBACnC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,QAAQ,GAAG,WAAW,CAAC;gBACvB,mBAAmB,GAAI,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC;YACzE,CAAC;YACD,IAAI,WAAW,GACb;gBACE,cAAc,EAAE,aAAa;gBACrC,UAAU,EAAE,KAAK;gBACjB,gBAAgB,EAAE,KAAK;gBACvB,gBAAgB,EAAE,MAAM;gBACxB,aAAa,EAAE,QAAQ;gBACrB,uBAAuB,EAAE,aAAa;gBACtC,iBAAiB,EAAE,UAAU;gBAC7B,SAAS,EAAC,CAAC,EAAC,qBAAqB,EAAE,mBAAmB;wBACtD,cAAc,EAAC,MAAM;wBACvB,WAAW,EAAE,SAAS;wBACtB,qBAAqB,EAAE,aAAa;wBAClC,UAAU,EAAC,KAAK;wBAChB,iBAAiB,EAAC,aAAa;qBAEhC,CAAC;gBAEF,cAAc,EAAE,QAAQ;gBACxB,WAAW,EAAE,SAAS;gBACtB,cAAc,EAAE,QAAQ;gBACtB,WAAW,EAAE,SAAS;gBACtB,QAAQ,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;aAG1B,CAAC;YAEN,6DAA6D;YAC7D,MAAM;YACN,2BAA2B;YAC3B,4CAA4C;YAC5C,2CAA2C;YAC3C,gCAAgC;YAChC,2CAA2C;YAC3C,QAAQ;YACR,QAAQ;YACR,QAAQ;YACR,IAAI;YAEF,sCAAsC;QACvC,CAAC;IACJ,CAAC;IAED,wCAAe,GAAf,UAAgB,QAAQ,EAAC,IAAI;QAA7B,iBAwBG;QAtBD,IAAI,WAAW,GAAG,EAAC,aAAa,EAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAC,IAAI,EAAE,aAAa,EAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,EAAC,QAAQ,CAAC,gCAAgC;SACrK,CAAC;QACF,IAAI,UAAc,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAExD,UAAU,GAAG,GAAG,CAAC;YACjB,EAAE,EAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,CACjC,CAAC;gBAEG,mCAAmC;gBACnC,iHAAiH;gBACjH,iDAAiD;gBAEjD,yBAAyB;gBACzB,wCAAwC;gBACxC,oCAAoC;gBACpC,KAAK;gBACL,+HAA+H;gBAC/H,KAAK;gBACJ,KAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6BAAI,GAAJ,UAAK,aAAa,EAAC,eAAe,EAAC,eAAe;QAAlD,iBAsFD;QArFI,GAAG,EAAa,UAAa,EAAb,SAAI,CAAC,QAAQ,EAAb,cAAa,EAAb,IAAa;YAAzB,IAAI,IAAI;YAGV,EAAE,EAAC,IAAI,CAAC,iBAAiB,IAAG,EAAE,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,EAAC;gBACxG,UAAU;gBACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,kBAAkB,EAAC,IAAI,CAAC,gBAAgB,EAAC,mBAAmB,EAAC,IAAI,CAAC,iBAAiB,EAAC,CAAC,CAAC;gBAC5G,eAAe;YACjB,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,UAAU;gBACV,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,kBAAkB,EAAC,IAAI,CAAC,gBAAgB,EAAC,mBAAmB,EAAC,UAAU,EAAC,CAAC,CAAC;YAElG,CAAC;SACA;QACF,EAAE,EAAC,aAAa,CAAC,aAAa,IAAG,IAAI,CAAC,EAAC;YACtC,mBAAmB;YACrB,IAAI,OAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9B,IAAI,KAAK,GAAG,eAAe,CAAC,uBAAuB,CAAC;YACpD,IAAI,OAAK,GAAG,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,oBAAoB,IAAI,aAAa,CAAC,aAAa,CAAC,uBAAuB,EAA/E,CAA+E,CAAC,CAAC,CAAC,CAAC,CAAC;YACtI,IAAI,MAAM,GAAG,OAAK,CAAC,cAAc,CAAC;YAClC,IAAI,QAAQ,GAAG,OAAK,CAAC,QAAQ,CAAC;YAC9B,IAAI,aAAa,GAAG,OAAK,CAAC,kBAAkB,CAAC;YAC7C,IAAI,MAAM,GAAG,aAAa,CAAC,aAAa,CAAC,qBAAqB,CAAC;YAC/D,IAAI,SAAS,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC;YACnD,IAAI,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,yBAAyB,CAAC;YAC1E,IAAI,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC;YACjD,IAAI,SAAS,GAAK,EAAE,CAAC;YACrB,IAAI,QAAQ,GAAK,EAAE,CAAC;YACpB,IAAI,SAAS,GAAK,EAAE,CAAC;YACrB,IAAI,QAAQ,GAAK,EAAE,CAAC;YACpB,IAAI,aAAa,GAAK,EAAE,CAAC;YACzB,IAAI,mBAAmB,GAAO,EAAE,CAAC;YACjC,EAAE,EAAC,OAAK,CAAC,YAAY,IAAG,IAAI,CAAC,CAC7B,CAAC;gBACC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,QAAQ,GAAG,WAAW,CAAC;gBACvB,aAAa,GAAG,EAAE,CAAC;YACrB,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,aAAa,GAAG,OAAK,CAAC,YAAY,CAAC;gBACnC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,QAAQ,GAAG,WAAW,CAAC;gBACvB,mBAAmB,GAAI,aAAa,CAAC,aAAa,CAAC,mBAAmB,CAAC;YACzE,CAAC;YACD,IAAI,WAAW,GACb;gBACE,cAAc,EAAE,aAAa;gBACnC,UAAU,EAAE,OAAK;gBACjB,gBAAgB,EAAE,KAAK;gBACvB,gBAAgB,EAAE,MAAM;gBACxB,aAAa,EAAE,QAAQ;gBACvB,uBAAuB,EAAE,aAAa;gBACtC,iBAAiB,EAAE,UAAU;gBAC7B,SAAS,EAAC,CAAC,EAAC,qBAAqB,EAAE,mBAAmB;wBACtD,cAAc,EAAC,MAAM;wBACrB,WAAW,EAAE,SAAS;wBACtB,qBAAqB,EAAE,aAAa;wBACpC,UAAU,EAAC,OAAK;wBAChB,iBAAiB,EAAC,aAAa;qBAEhC,CAAC;gBAEA,cAAc,EAAE,QAAQ;gBACxB,WAAW,EAAE,SAAS;gBACtB,cAAc,EAAE,QAAQ;gBACxB,WAAW,EAAE,SAAS;gBACtB,QAAQ,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;aAG1B,CAAC;YAEL,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;gBAEpD,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACpB,EAAE,EAAC,KAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,EAAC;oBACpC,KAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;oBAC7B,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;oBACvB,KAAI,CAAC,eAAe,CAAC,OAAK,EAAC,OAAK,CAAC,CAAC;gBACpC,CAAC;YACF,CAAC,CAAC;QACL,CAAC;QAAA,IAAI,EAAC;YACH,EAAE,EAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAE,CAAC,CAAC,EAAC;gBAC9C,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;YACpC,CAAC;QACD,CAAC;IACH,CAAC;IA1Z8B;QAA9B,yEAAS,CAAC,kBAAkB,CAAC;kCAAmB,6DAAM;4DAAE;IACnB;QAArC,yEAAS,CAAC,yBAAyB,CAAC;kCAAe,8DAAO;uDAAC;IAXjD,cAAc;QAJ1B,wEAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;WACG;SAChC,CAAC;uBA4BiP;OA3BtO,cAAc,CAqa1B;IAAD,CAAC;AAAA;SAraY,cAAc,gB;;;;;;;;;;;;;;;;;;;;;;;;;ACtBe;AACgC;AACa;AACW;AAClB;AAEP;AACE;AAE3E;;;;;GAKG;AAMH;IA2CE,qBAAqB;IAErB,+BAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,OAAgC,EAAQ,GAAsB,EAAQ,KAAmB,EAAQ,QAAwB,EAAQ,QAA0B;QAA5O,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,aAAQ,GAAR,QAAQ,CAAgB;QAAQ,aAAQ,GAAR,QAAQ,CAAkB;QAxB/P,kEAAkE;QAClE,oBAAe,GAAK,EAAE,CAAC;QACvB,2BAAsB,GAAK,EAAE,CAAC;QAG9B,aAAQ,GAAQ,EAAE,CAAC;QACnB,eAAU,GAAQ,EAAE,CAAC;QAIrB,iBAAY,GAAK,EAAE,CAAC;QACpB,yBAAoB,GAAW,KAAK,CAAC;QAMrC,aAAQ,GAAM,EAAE,CAAC;QACjB,gBAAW,GAAM,EAAE,CAAC;QACpB,cAAS,GAAM,EAAE,CAAC;QAClB,YAAO,GAAM,EAAE,CAAC;QAMd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAElC,iFAAiF;QACjF,gHAAgH;QAChH,SAAS;QACT,oEAAoE;QACpE,IAAI;QACJ,0CAA0C;QAC1C,+CAA+C;QAC/C,wCAAwC;QACxC,8CAA8C;QAE9C,iFAAiF;QAEjF,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACtC;YACG,SAAS,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,mBAAmB,EAAC,CAAC,EAAE,CAAC;YACvB,4BAA4B;YAC5B,0BAA0B;YAC1B,mBAAmB;YACnB,8CAA8C;YAC9C,oCAAoC;YACpC,6BAA6B;YAC7B,iCAAiC;YACjC,yCAAyC;YACzC,yBAAyB;YACzB,yBAAyB;YAC1B,+CAA+C;SAE/C,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,EAAE,CAAC;QACvB,eAAe;IAClB,CAAC;IAED,8CAAc,GAAd;QACE,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC;IAErD,CAAC;IAED,gDAAgB,GAAhB;QAIE,2CAA2C;QAC3C,mCAAmC;QACnC,iBAAiB;QACjB,UAAU;QACV,wBAAwB;QACxB,oCAAoC;QACpC,2BAA2B;QAC3B,WAAW;QACX,YAAY;QACZ,WAAW;QACX,UAAU;QACV,0BAA0B;QAC1B,oCAAoC;QACpC,2BAA2B;QAC3B,aAAa;QACb,8CAA8C;QAC9C,YAAY;QACZ,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,qBAAqB;IAIvB,CAAC;IAEG;;KAEC;IACH,wDAAwB,GAAxB,UAAyB,OAAe,EAAC,CAAC;QAA1C,iBAOD;QANG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YACnD,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;gBACrB,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBACvC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC/C,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAID,+CAAe,GAAf;QAEE,wBAAwB;QAF1B,iBA8EC;QA1EC,qCAAqC;QACrC,qCAAqC;QACrC,uCAAuC;QACvC,2CAA2C;QAC3C,iCAAiC;QACjC,6DAA6D;QAC7D,2CAA2C;QAC3C,mCAAmC;QACnC,KAAK;QAGL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,aAAG;YAEnD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAClE,CAAC;QAED,CAAC,CAAC;QAEJ,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,aAAG;YAE1D,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YACtB,EAAE,EAAC,KAAI,CAAC,UAAU,CAAC,UAAU,IAAI,IAAI,CAAC,CACtC,CAAC;gBACC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,QAAQ,IAAG,CAAC,EAAjB,CAAiB,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,aAAG;YAEtD,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,EAAE,EAAC,KAAI,CAAC,WAAW,CAAC,UAAU,IAAG,IAAI,CAAC,CACtC,CAAC;gBACC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;YAC5E,CAAC;QACT,CAAC,CAAC,CAAC;QAGJ,kEAAkE;QAC7D,MAAM;QACN,gCAAgC;QAChC,gDAAgD;QAChD,QAAQ;QACR,yFAAyF;QACzF,QAAQ;QACR,OAAO;QACP,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,aAAG;YAEhD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC;QAEN,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,aAAG;YAE1D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAG;YAE5C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC/C,KAAI,CAAC,SAAS,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC;QAC/D,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAC7C,KAAI,CAAC,OAAO,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,EAAzC,CAAyC,CAAC;QACpF,CAAC,CAAC;IAEV,CAAC;IAED,sBAAsB;IACtB,IAAI;IACJ,IAAI;IACJ,wBAAwB;IACxB,MAAM;IACN,wCAAwC;IACxC,UAAU;IACV,MAAM;IACN,yCAAyC;IACzC,MAAM;IACN,IAAI;IAEJ,4BAA4B;IAC5B,2BAA2B;IAC3B,oBAAoB;IACpB,2BAA2B;IAC3B,wBAAwB;IACxB,wBAAwB;IACxB,MAAM;IACN,KAAK;IAEL,2CAAW,GAAX,UAAY,GAAG;QACb,EAAE,EAAC,GAAG,IAAE,IAAI,CAAC,EAAC;YACd,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACjB,sBAAsB,EAAE,CAAC,EAAE,CAAC;gBAC5B,aAAa,EAAE,CAAC,EAAE,CAAC;gBACnB,oBAAoB,EAAE,CAAC,EAAE,CAAC;gBAC1B,aAAa,EAAE,CAAC,EAAE,CAAC;gBACpB,4BAA4B;gBAC3B,kCAAkC;gBAClC,yBAAyB;gBACzB,gBAAgB,EAAE,CAAC,EAAE,CAAC;aACzB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAC;YAED,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACrB,sBAAsB,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC;gBACpD,aAAa,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;gBAClC,oBAAoB,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBAChD,aAAa,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC;gBACnC,gDAAgD;gBAChD,oDAAoD;gBACpD,oCAAoC;gBACnC,gBAAgB,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC;aACvC,CAAC,CAAC;QAEP,CAAC;IACD,CAAC;IAED,wCAAQ,GAAR;QACI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,0BAA0B,CAAc,CAAC;QACjF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IAGC,2CAAW,GAAX,UAAY,CAAC;QACT,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAEC,oDAAoB,GAApB,UAAqB,CAAC;QAEpB,IAAI,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;QAEzE,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;QACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;QAEnC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAEzF,CAAC;IACD,2CAAW,GAAX,UAAY,cAAc;QACxB,EAAE,EAAC,cAAc,IAAI,IAAI,CAAC,EAAC;YACzB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACrB,OAAO,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5E,YAAY,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtF,mBAAmB,EAAE,CAAC,cAAc,CAAC,mBAAmB,CAAC;gBACzD,KAAK,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;gBAC7B,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC;gBAC3B,OAAO,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC;gBACjC,cAAc,EAAE,CAAC,cAAc,CAAC,cAAc,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvH,QAAQ,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9E,eAAe,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC;gBACjD,eAAe,EAAE,CAAC,cAAc,CAAC,eAAe,CAAC;gBACjD,WAAW,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACpF,gBAAgB,EAAE,CAAC,cAAc,CAAC,gBAAgB,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9F,cAAc,EAAE,CAAC,cAAc,CAAC,cAAc,CAAC;gBAC/C,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC;gBACzB,UAAU,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;aACxC,CAAC;QACF,CAAC;QACD,IAAI,EAAC;YACH,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnB,OAAO,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxD,YAAY,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7D,mBAAmB,EAAE,CAAC,EAAE,CAAC;gBACzB,KAAK,EAAE,CAAC,EAAE,CAAC;gBACX,IAAI,EAAE,CAAC,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC,EAAE,CAAC;gBACb,cAAc,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5F,QAAQ,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACzD,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,eAAe,EAAE,CAAC,EAAE,CAAC;gBACrB,WAAW,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5D,gBAAgB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjE,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,GAAG,EAAE,CAAC,EAAE,CAAC;gBACT,UAAU,EAAE,CAAC,EAAE,CAAC;aACnB,CAAC,CAAC;QACH,CAAC;IAEH,CAAC;IACA,sCAAsC;IACtC,wCAAQ,GAAR,UAAS,KAAU;QAChB,IAAM,OAAO,GAAG,OAAO,CAAC;QAExB,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,uCAAO,GAAP,UAAQ,CAAC,EAAC,CAAC;QAEL,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3F,CAAC;IAED,8CAAc,GAAd,UAAe,CAAC;QAEd,IAAI,CAAC,cAAc,GAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;IAED,mDAAmB,GAAnB,UAAoB,CAAM,EAAC,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,wBAAwB,GAAG,CAAC,CAAC;IACzD,CAAC;IAGD,8CAAc,GAAd,UAAe,UAAU;QAAzB,iBAuEC;QArEC,IAAI,OAAO,GAAQ,EAAE,CAAC;QACvB,wCAAwC;QAC3C,kDAAkD;QAClD,sEAAsE;QACtE,QAAQ;QACR,yCAAyC;QACzC,qCAAqC;QAErC,2CAA2C;QAC3C,wDAAwD;QACxD,qEAAqE;QAErE,sDAAsD;QACtD,8CAA8C;QAE9C,2DAA2D;QAC3D,kEAAkE;QAElE,uDAAuD;QACvD,kEAAkE;QAElE,oDAAoD;QACpD,8DAA8D;QAC9D,0EAA0E;QAC1E,2DAA2D;QAE3D,sCAAsC;QACtC,mDAAmD;QACnD,mEAAmE;QAC/D,8DAA8D;QAC9D,oDAAoD;QACpD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,UAAU,CAAC;QACrC,OAAO,CAAC,SAAS,GAAC,UAAU,CAAC,SAAS;QACtC,OAAO,CAAC,mBAAmB,GAAC,UAAU,CAAC,mBAAmB;QAC1D,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAC7D,4DAA4D;QAC5D,wDAAwD;QACxD,0CAA0C;QAC1C,4FAA4F;QAC5F,8DAA8D;QAC9D,4EAA4E;QAC5E,sDAAsD;QACtD,sDAAsD;QAEtD,6EAA6E;QAI7E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAErC,wBAAwB;YACxB,wBAAwB;YACxB,6BAA6B;YAE7B,yBAAyB;YACzB,mEAAmE;YACnE,UAAU;YACV,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC3B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;gBACpE,UAAU,CAAC;oBACL,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;QACL,CAAC,EAAC,aAAG;YACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAAc,GAAd;QAAA,iBA4JC;QAzJC,IAAI,GAAO,CAAC;QAEZ,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC;QAE3E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,IAAM,OAAO,GAAY,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC;YACrE,KAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;YAE7B,EAAE,EAAC,KAAI,CAAC,iBAAiB,CAAC,UAAU,IAAG,IAAI,CAAC,EAAC;gBAC3C,EAAE,EAAC,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAU,CAAC,EAAC;oBAE9C,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC;oBAElE,EAAE,EAAC,KAAI,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAE,CAAC,EAAC;wBACtC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrC,CAAC;oBACD,IAAI,EAAC;wBACH,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;4BAEzC,IAAI,GAAG,GAAC;gCACN,SAAS,EAAE,KAAK,CAAC,OAAO;gCACxB,cAAc,EAAE,KAAK,CAAC,YAAY;gCAClC,qBAAqB,EAAE,KAAK,CAAC,mBAAmB;gCAChD,OAAO,EAAE,KAAK,CAAC,KAAK;gCACpB,MAAM,EAAE,KAAK,CAAC,IAAI;gCAClB,SAAS,EAAE,KAAK,CAAC,OAAO;gCACxB,gBAAgB,EAAE,KAAK,CAAC,cAAc;gCACtC,UAAU,EAAE,KAAK,CAAC,QAAQ;gCAC1B,iBAAiB,EAAE,KAAK,CAAC,eAAe;gCACxC,iBAAiB,EAAE,KAAK,CAAC,eAAe;gCACxC,aAAa,EAAE,KAAK,CAAC,WAAW;gCAChC,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;gCAC1C,gBAAgB,EAAE,KAAK,CAAC,cAAc;gCACtC,KAAK,EAAE,KAAK,CAAC,GAAG;gCAChB,YAAY,EAAE,KAAK,CAAC,UAAU;6BAC/B;4BACD,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,KAAK,EAAC,KAAK,CAAC;4BAChD,IAAI,mBAAmB,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,iBAAO,IAAI,cAAO,CAAC,eAAe,IAAI,KAAK,CAAC,YAAY,EAA7C,CAA6C,CAAC,CAAC,CAAC,CAAC,CAAC;4BAChH,KAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,YAAY,EAAC,KAAK,CAAC,CAAC;4BACjE,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC;gCAC1B,KAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,EAAC,KAAK,CAAC,CAAC;4BAC9D,CAAC;4BACD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;wBACrC,CAAC,CAAC;wBACF,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;oBACnG,CAAC;oBACH,+DAA+D;oBAC/D,0FAA0F;oBAC1F,6DAA6D;oBAC7D,4CAA4C;oBAE5C,QAAQ;oBACR,2BAA2B;oBAC3B,IAAI;oBAEL,sFAAsF;oBAEvF,yFAAyF;oBACzF,oFAAoF;oBAEpF,8CAA8C;oBAC9C,mEAAmE;oBACnE,kFAAkF;oBAClF,wFAAwF;oBACxF,iDAAiD;oBACjD,0GAA0G;oBAC1G,+FAA+F;oBAC/F,mFAAmF;oBACnF,QAAQ;oBACR,IAAI;oBACJ,oGAAoG;oBACpG,sGAAsG;oBACtG,qIAAqI;oBACrI,sDAAsD;oBAEtD,yDAAyD;oBACzD,qHAAqH;oBACrH,8EAA8E;oBAC9E,SAAS;oBAET,8GAA8G;oBAE9G,4DAA4D;oBAC5D,2HAA2H;oBAC3H,SAAS;oBACT,+GAA+G;oBAC/G,8FAA8F;oBAC9F,kDAAkD;oBAClD,6GAA6G;oBAC7G,SAAS;oBACT,iDAAiD;oBACjD,6GAA6G;oBAC7G,SAAS;oBAET,wGAAwG;oBACxG,kFAAkF;oBAClF,+CAA+C;oBAC/C,oGAAoG;oBACpG,4FAA4F;oBAC5F,iFAAiF;oBACjF,UAAU;oBACV,oHAAoH;oBACpH,mHAAmH;oBAC/G,wGAAwG;oBACxG,0FAA0F;oBAC1F,gDAAgD;oBAChD,+FAA+F;oBAC/F,KAAK;oBACL,4IAA4I;oBAC5I,4EAA4E;oBAC5E,uIAAuI;oBACvI,QAAQ;oBACR,SAAS;oBACT,+EAA+E;oBAC/E,KAAK;oBACL,8GAA8G;oBAE9G,sGAAsG;oBACtG,sGAAsG;oBAKzG;;;;;6CAKyB;oBAER,kEAAkE;oBAClE,sCAAsC;oBACtC,GAAG;oBACD,mCAAmC;oBAE/B,mGAAmG;oBACnG,8EAA8E;oBAElF,KAAK;oBAET,GAAG;oBAEjB,IAAI;gBAER,CAAC;gBACD,IAAI,EAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACC,IAAI;gBACH,KAAI,CAAC,MAAM,EAAE,CAAC;QACb,CAAC,CAAC,CAAC;IACT,CAAC;IACD,sCAAM,GAAN;QAAA,iBAqCC;QApCC,IAAM,OAAO,GAAY,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAChE,EAAE,EAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,EAAC;gBACzB,KAAI,CAAC,aAAa,GAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAC,KAAI,CAAC,aAAa,CAAC,CAAC;gBACrD,EAAE,EAAC,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;oBAChC,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;wBACrC,IAAI,GAAG,GAAE;4BACP,SAAS,EAAE,KAAK,CAAC,YAAY;4BAC7B,cAAc,EAAE,EAAE;4BAClB,qBAAqB,EAAE,EAAE;4BACzB,OAAO,EAAE,KAAK,CAAC,QAAQ;4BACvB,MAAM,EAAE,KAAK,CAAC,OAAO;4BACrB,SAAS,EAAE,KAAK,CAAC,UAAU;4BAC3B,gBAAgB,EAAE,KAAK,CAAC,aAAa;4BACrC,UAAU,EAAE,EAAE;4BACd,iBAAiB,EAAE,EAAE;4BACrB,iBAAiB,EAAC,EAAE;4BACpB,aAAa,EAAE,EAAE;4BACjB,kBAAkB,EAAE,EAAE;4BACtB,gBAAgB,EAAE,EAAE;4BACpB,KAAK,EAAE,EAAE;4BACT,YAAY,EAAE,EAAE;yBACjB;wBACD,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,QAAQ,EAAC,KAAK,CAAC;wBACnD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBACrC,CAAC,CAAC;gBACJ,CAAC;gBACD,IAAI,EAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,IAAI,EAAC;gBACJ,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAjnBQ,qBAAqB;QAJjC,wEAAS,CAAC;YACT,QAAQ,EAAE,0BAA0B;WACG;SACxC,CAAC;8BA8C+P;OA7CpP,qBAAqB,CAknBjC;IAAD,CAAC;AAAA;SAlnBY,qBAAqB,iB;;;;;;;;;;;;;;;;;;;;;ACpBQ;AACe;AACmB;AAE5E;;;;;GAKG;AAOH;IAIE,+BAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc;QAAzE,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAE1F,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC1B;YACE,SAAS,EAAC,CAAC,IAAI,CAAC;YAChB,WAAW,EAAC,CAAC,IAAI,CAAC;YAClB,MAAM,EAAC,CAAC,IAAI,CAAC;YACb,gBAAgB,EAAC,CAAC,IAAI,CAAC;YACvB,aAAa,EAAC,CAAC,IAAI,CAAC;YACpB,YAAY,EAAC,CAAC,IAAI,CAAC;YACnB,eAAe,EAAC,CAAC,IAAI,CAAC;YACtB,kBAAkB,EAAC,CAAC,IAAI,CAAC;SAC1B,CAAC;IACN,CAAC;IAED,8CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IAxBU,qBAAqB;QAJjC,wEAAS,CAAC;YACT,QAAQ,EAAE,2BAA2B;WACG;SACzC,CAAC;8BAK4F;OAJjF,qBAAqB,CA4BjC;IAAD,CAAC;AAAA;SA5BY,qBAAqB,kB;;;;;;;;;;;;;;;;;;;;;;;;;AChB+B;AACR;AACmB;AACsB;AAClB;AACP;AACD;AACxE;;;;;GAKG;AAOH;IAsBE,oCAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,OAAgC,EAAQ,KAAmB,EAAS,GAAsB,EAAQ,QAA0B;QAA7M,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAS,QAAG,GAAH,GAAG,CAAmB;QAAQ,aAAQ,GAAR,QAAQ,CAAkB;QApBhO,oBAAe,GAAQ,EAAE,CAAC;QAS1B,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAE9B,eAAU,GAAM,EAAE,CAAC;QACnB,kBAAa,GAAM,EAAE,CAAC;QACtB,mBAAc,GAAS,EAAE,CAAC;QAC1B,aAAQ,GAAS,EAAE,CAAC;QACpB,uBAAkB,GAAM,EAAE,CAAC;QAM3B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,kBAAkB,IAAI,CAAC,EAA3B,CAA2B,CAAC,CAAC;QAE3F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAC,GAAG,EAAC,gBAAgB,EAAC,QAAQ,EAAC,CAAC,CAAC;QAE3E,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,IAAI,CAAC,UAAU,CAAC;QAExC,IAAI,CAAC,WAAW,EAAE,CAAC;QACpB,uBAAuB;QAEtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC/B;YACE,aAAa,EAAE,CAAC,IAAI,CAAC;YACrB,mBAAmB,EAAC,CAAC,IAAI,CAAC;YAC1B,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAChC,CAAC,CAAC;IAGP,CAAC;IACD,mDAAc,GAAd;QACG,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,EAAE;IACxB,CAAC;IAED,gDAAW,GAAX;QAAA,iBAsDC;QApDC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YAEpD,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,aAAG;YAC3D,KAAI,CAAC,YAAY,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAE,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YACjE,4DAA4D;YAC5D,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACzB,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,SAAS,KAAG,IAAI,IAAI,GAAG,CAAC,oBAAoB,KAAG,IAAI,EAAvD,CAAuD,CAAC;gBAC1G,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,iBAAiB,GAAO,EAAE,CAAC;YAC/B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAChC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACnD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,iEAAiE;gBACjE,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,iBAAiB,EAAC,CAAC;gBACtF,4DAA4D;YAC/D,CAAC;QACH,CAAC,CAAC;QACA,IAAI,mBAAmB,GAAM,EAAE,CAAC;QAChC,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAC9B,8EAA8E;YAC7E,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;gBAC/C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACL,6BAA6B;YAC3B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAExF,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YAC3D,6EAA6E;QAC9E,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,cAAI;YACjD,KAAI,CAAC,kBAAkB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC;QAGnF,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,cAAI;YACtD,KAAI,CAAC,eAAe,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,EAAhB,CAAgB,CAAE,CAAC;QACtE,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,cAAI;YACrD,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;QACtE,CAAC,CAAC;IACN,CAAC;IAED,+CAAU,GAAV,UAAW,GAAG;QAEX,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC1D,EAAE,EAAC,GAAG,IAAG,KAAK,CAAC,CACf,CAAC;YAEC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IAEH,CAAC;IACD,qDAAgB,GAAhB,UAAiB,IAAI;QACnB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,KAAK,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YACzC,eAAe,EAAC,CAAC,EAAE,CAAC;YACpB,WAAW,EAAE,CAAC,EAAE,CAAC;YACjB,SAAS,EAAC,CAAC,EAAE,CAAC;YACd,GAAG,EAAE,CAAC,EAAE,CAAC;YACT,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,gBAAgB,EAAC,CAAC,EAAE,CAAC;YACrB,aAAa,EAAC,CAAC,EAAE,CAAC;YAClB,iBAAiB,EAAC,CAAC,EAAE,CAAC;YACtB,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,aAAa,EAAC,CAAC,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC,EAAE,CAAC;YACrB,sBAAsB,EAAE,CAAC,EAAE,CAAC;YAC5B,cAAc,EAAC,EAAE;SAClB,CAAC,CAAC;IACP,CAAC;IACD,mDAAc,GAAd;QACI,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,sDAAiB,GAAjB,UAAkB,KAAK;QACnB,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACtE,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,CACrB,CAAC;YACC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;QACrD,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,mDAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IACD,gDAAW,GAAX,UAAY,MAAM;QAChB,EAAE,EAAC,MAAM,IAAE,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;IAEH,CAAC;IACD,gDAAW,GAAX,UAAY,OAAO;QACjB,IAAI,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;QACnD,yBAAyB;QACzB,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,EAAE,kEAAU,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAC9G,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,CAAC;QACjE,4FAA4F;QAC5F,uEAAuE;QACvE,4DAA4D;QAC5D,uCAAuC;QACvC,qBAAqB;QACjB,wDAAwD;QACxD,kCAAkC;QAClC,4FAA4F;QAC5F,uEAAuE;QAG3E,IAAI;IACN,CAAC;IACD,oDAAe,GAAf,UAAgB,OAAO;QAErB,IAAI,aAAa,CAAC;QAElB,EAAE,EAAC,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,IAAI,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,EAAC;YAC7K,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAE;YACtF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC7D,CAAC;IAEH,CAAC;IACD,6CAAQ,GAAR,UAAS,KAAU;QACjB,IAAM,OAAO,GAAG,OAAO,CAAC;QAExB,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IACD,4CAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3E,KAAK,CAAC;YACV;gBACI,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IAGD,sDAAiB,GAAjB,UAAkB,CAAC,EAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAE1D,wBAAwB;QAGxB,MAAM,EAAC,CAAC,CAAC,CAAC,EAAC;YACT,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC;gBAAC,KAAK,CAAC;YAC7D,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC;gBAAE,KAAK,CAAC;YACrE,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC;gBAAC,KAAK,CAAC;YACxE,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC;gBAAC,KAAK,CAAC;YACzE,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,yBAAyB,CAAC;gBAAE,KAAK,CAAC;YACpE,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,6BAA6B,CAAC;gBAAC,KAAK,CAAC;YACvE,KAAK,CAAC;gBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAAC;gBAAC,KAAK,CAAC;YACrE;gBAAS,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC;gBAAC,KAAK,CAAC;QAClE,CAAC;QACA,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC1D,CAAC;IAED,sDAAiB,GAAjB,UAAkB,UAAU;QAA5B,iBAsBC;QArBE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC1D,IAAI,OAAO,GAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QACjD,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC/C,OAAO,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAC1C,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YAGxD,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC5B,CAAC;gBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACC,oDAAe,GAAf;QAAA,iBA2RC;QAzRC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,IAAM,OAAO,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACtE,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAK,CAAC,CAC5B,CAAC;gBACC,IAAI,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;gBAC1D,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,KAAK,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,IAAG,IAAI,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,IAAG,EAAE,CAAC,EAAC;oBACxH,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBACnE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;wBAC1D,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;oBAE5C,CAAC,CAAC,CAAC;oBAEH,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;oBACvF,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;oBACnG,IAAM,SAAO,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;oBACtE,EAAE,EAAC,kBAAkB,CAAC,aAAa,IAAI,IAAI,CAAC,CAC5C,CAAC;wBACC,EAAE,EAAC,MAAM,CAAC,MAAM,IAAG,CAAC,CAAC,CACrB,CAAC;4BACC,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC5C,CAAC;wBAAA,IAAI,CACL,CAAC;4BACC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;gCAEzB,kBAAkB;gCAClB,4BAA4B;gCAC5B,wCAAwC;gCACxC,mCAAmC;gCACnC,+CAA+C;gCAC/C,wBAAwB;gCACxB,oCAAoC;gCACpC,kDAAkD;gCAClD,2CAA2C;gCAC3C,mDAAmD;gCACnD,8BAA8B;gCAC9B,2CAA2C;gCAC3C,gDAAgD;gCAChD,8DAA8D;gCAC9D,4CAA4C;gCAC5C,IAAI;gCACF,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;gCAC1C,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC;gCAC9C,EAAE,EAAC,KAAK,CAAC,WAAW,IAAE,EAAE,CAAC,EAAC;oCACxB,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gCAC/E,CAAC;gCACD,EAAE,EAAC,KAAK,CAAC,GAAG,IAAE,EAAE,CAAC,EAAC;oCAChB,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gCAC1E,CAAC;4BACH,CAAC,CAAC;4BAEJ,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAE9D,CAAC;oBACH,CAAC;gBACD,CAAC;gBACD,IAAI,CACJ,CAAC;oBACC,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;oBACvF,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;gBACrG,CAAC;YAEH,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,4DAA4D;gBAC5D,KAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;oBACpE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAEjB,EAAE,EAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAC;wBAEzB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAEzC,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;wBAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;wBAEvB,6DAA6D;wBAC7D,EAAE,EAAC,SAAS,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;4BAC9C,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC,iBAAO;gCAC1C,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,CAAC;oCAC/B,SAAS,EAAC,OAAO,CAAC,aAAa;oCAC/B,OAAO,EAAC,EAAE;oCACV,UAAU,EAAC,OAAO,CAAC,0BAA0B;oCAC7C,SAAS,EAAC,6BAA6B,EAAC,CAAC;4BAC5C,CAAC,CAAC;wBACJ,CAAC;wBAEA,EAAE,EAAC,SAAS,CAAC,eAAe,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;4BACnC,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAO;gCACjC,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,OAAO,CAAC,oBAAoB;oCACvD,SAAS,EAAC,OAAO,CAAC,yBAAyB;oCAC3C,OAAO,EAAC,OAAO,CAAC,gBAAgB;oCAChC,UAAU,EAAC,OAAO,CAAC,0BAA0B;oCAC7C,SAAS,EAAC,2BAA2B,EAAC,CAAC;4BAC/C,CAAC,CAAC,CAAC;wBACN,CAAC;wBAED,EAAE,EAAC,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;4BACpC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,iBAAO;gCAC/B,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,IAAI,EAAC,OAAO,CAAC,WAAW;oCAC9C,SAAS,EAAC,OAAO,CAAC,gBAAgB;oCAClC,OAAO,EAAC,OAAO,CAAC,OAAO;oCACvB,UAAU,EAAC,OAAO,CAAC,iBAAiB;oCACpC,SAAS,EAAC,uBAAuB;iCACpC,CAAC;4BACP,CAAC,CAAC;wBACH,CAAC;wBAEA,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,KAAI,CAAC,cAAc,CAAC,CAAC;wBAC3C,yFAAyF;wBACzF,0EAA0E;wBAC1E,oFAAoF;wBACpF,uEAAuE;wBACvE,uEAAuE;wBACvE,sEAAsE;wBAE3E,EAAE,EAAC,KAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;4BAC5B,IAAI,YAAU,GAAS,EAAE,CAAC;4BAE1B,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gCACpC,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oCAChB,IAAI,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;wCACzB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;oCAC1B,CAAC,CAAC,CAAC,CAAC;oCACV,qHAAqH;oCAClH,YAAU,CAAC,KAAK,CAAC,GAAI,KAAK,GAAC,KAAK,GAAE,KAAK,GAAE,GAAG,CAAC,SAAS,CAAC;gCAC9D,CAAC;gCACC,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oCACd,IAAI,MAAI,CAAC;oCACT,IAAI,KAAK,GAAQ,qBAAqB,CAAC;oCACvC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,EAAC,KAAK;wCACxB,MAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC;oCAC9B,CAAC,CAAC,CAAC;oCACH,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAC,CAAE,CAAC,EAAC;wCAC3B,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;4CACzB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;wCAC1B,CAAC,CAAC,CAAC,CAAC;oCACP,CAAC;oCAEF,IAAI,WAAW,GAAG,MAAI,IAAI,EAAE,GAAG,IAAI,GAAE,MAAI,GAAE,IAAI,GAAG,EAAE,CAAC;oCACrD,YAAU,CAAC,KAAK,CAAC,GAAI,KAAK,GAAC,KAAK,GAAE,KAAK,GAAE,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;gCACzE,CAAC;gCACD,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oCAChB,IAAI,OAAK,GAAQ,qBAAqB,CAAC;oCACrC,IAAI,MAAI,CAAC;oCACT,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,EAAC,KAAK;wCACzB,MAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC;wCAC5B,EAAE,EAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,EAAC;4CACxB,EAAE,EAAC,GAAG,CAAC,SAAS,IAAI,2BAA2B,CAAC,EAAC;gDAC7C,MAAI,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,eAAe,IAAI,CAAC,CAAC,aAAa,EAAvC,CAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;4CACxG,CAAC;4CACD,IAAI,CAAC,EAAE,EAAC,GAAG,CAAC,SAAS,IAAI,uBAAuB,CAAC,EAAC;gDAC9C,MAAI,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,EAAE,IAAI,CAAC,CAAC,aAAa,EAA1B,CAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;4CACpF,CAAC;4CACD,IAAI,EAAC;gDACD,MAAI,GAAG,EAAE,CAAC;4CACd,CAAC;wCACV,CAAC;wCAAA,IAAI,EAAC;4CACL,MAAI,GAAC,CAAC,CAAC,mBAAmB,CAAC;wCAC/B,CAAC;wCACD,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;4CAC1B,OAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;gDACzB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;4CAC1B,CAAC,CAAC,CAAC,CAAC;wCACP,CAAC;oCAEM,CAAC,CAAC,CAAC;oCACH,IAAI,WAAW,GAAG,MAAI,IAAI,EAAE,GAAG,IAAI,GAAE,MAAI,GAAE,IAAI,GAAG,EAAE,CAAC;oCACrD,YAAU,CAAC,KAAK,CAAC,GAAK,KAAK,GAAC,OAAK,GAAE,KAAK,GAAE,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;gCAC1E,CAAC;gCACD,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oCACd,IAAI,MAAI,CAAC;oCACT,IAAI,KAAK,GAAQ,qBAAqB,CAAC;oCACvC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,EAAC,KAAK;wCACxB,MAAI,GAAG,CAAC,CAAC,0BAA0B,CAAC;oCACvC,CAAC,CAAC,CAAC;oCACH,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wCAC3B,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;4CACzB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;wCAC1B,CAAC,CAAC,CAAC,CAAC;oCACP,CAAC;oCAED,IAAI,WAAW,GAAG,MAAI,IAAI,EAAE,GAAG,IAAI,GAAE,MAAI,GAAE,IAAI,GAAG,EAAE,CAAC;oCACtD,YAAU,CAAC,KAAK,CAAC,GAAK,KAAK,GAAC,KAAK,GAAE,KAAK,GAAE,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;gCAC1E,CAAC;gCACD,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oCACd,IAAI,MAAI,CAAC;oCACT,IAAI,KAAK,GAAQ,qBAAqB,CAAC;oCACvC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,EAAC,KAAK;wCACxB,MAAI,GAAG,CAAC,CAAC,mCAAmC,CAAC;oCAChD,CAAC,CAAC,CAAC;oCACH,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAC,CAAE,CAAC,EAAC;wCAC5B,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;4CACzB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;wCAC1B,CAAC,CAAC,CAAC,CAAC;oCACP,CAAC;oCAED,IAAI,WAAW,GAAG,MAAI,IAAI,EAAE,GAAG,IAAI,GAAE,MAAI,GAAE,IAAI,GAAG,EAAE,CAAC;oCACtD,YAAU,CAAC,KAAK,CAAC,GAAK,KAAK,GAAC,KAAK,GAAE,KAAK,GAAE,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;gCAC1E,CAAC;gCACD,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oCAChB,IAAI,KAAK,GAAK,qBAAqB,CAAC;oCACtC,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,CAC3B,CAAC;wCACG,KAAK,GAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;4CACzB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;wCAC1B,CAAC,CAAC,CAAC,CAAC;oCACR,CAAC;oCACC,UAAU;oCACV,4BAA4B;oCAC5B,KAAK;oCACH,YAAU,CAAC,KAAK,CAAC,GAAK,KAAK,GAAC,KAAK,GAAC,KAAK,GAAE,GAAG,CAAC,SAAS,CAAC;gCAC3D,CAAC;gCACD,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAC;oCAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oCACd,IAAI,MAAI,CAAC;oCACT,IAAI,KAAK,GAAQ,qBAAqB,CAAC;oCACvC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,EAAC,KAAK;wCACxB,MAAI,GAAG,CAAC,CAAC,gBAAgB,IAAI,CAAC;8CACD,KAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,EAAE,IAAI,CAAC,CAAC,gBAAgB,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;8CAC7E,CAAC,CAAC,sBAAsB,CAAE;oCAE1D,CAAC,CAAC,CAAC;oCACH,EAAE,EAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wCAC3B,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,WAAC;4CACzB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;wCAC1B,CAAC,CAAC,CAAC,CAAC;oCACP,CAAC;oCACD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,KAAK,CAAC;oCACzB,IAAI,WAAW,GAAG,MAAI,IAAI,EAAE,GAAG,IAAI,GAAE,MAAI,GAAE,IAAI,GAAG,EAAE,CAAC;oCACtD,YAAU,CAAC,KAAK,CAAC,GAAI,KAAK,GAAG,KAAK,GAAG,KAAK,GAAE,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;oCACxE,IAAI,IAAI,GAAG,KAAK,GAAG,KAAK,GAAE,GAAG,CAAC,SAAS;oCACvC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,YAAU,CAAC,KAAK,CAAC,CAAC;oCACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gCACrB,CAAC;4BACH,CAAC,CAAC,CAAC;4BACH,IAAM,SAAO,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;4BACtE,KAAI,CAAC,QAAQ,GAAG,YAAU,CAAC;4BAC3B,IAAI,KAAG,GAAS,EAAE,CAAC;4BACrB,EAAE,EAAC,KAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;gCACzB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gCAC5D,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,CAAC,EAAC,KAAK;oCAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,CAAC,CAAC,CAAC;oCACrB,KAAG,GAAG;wCACN,OAAO,EAAE,CAAC;wCACV,aAAa,EAAE,EAAE;wCACjB,WAAW,EAAC,EAAE;wCACd,iBAAiB,EAAC,EAAE;wCACpB,KAAK,EAAE,EAAE;wCACT,WAAW,EAAE,EAAE;wCACf,kBAAkB,EAAE,EAAE;wCACtB,eAAe,EAAC,EAAE;wCAClB,mBAAmB,EAAC,EAAE;wCACtB,QAAQ,EAAE,EAAE;wCACZ,eAAe,EAAC,EAAE;wCAClB,iBAAiB,EAAE,EAAE;wCACrB,wBAAwB,EAAE,EAAE;wCAC5B,gBAAgB,EAAC,EAAE;qCACtB;oCACD,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,KAAG,CAAC,CAAC,CAAC;gCACzC,CAAC,CAAC,CAAC;gCACH,gEAAgE;4BACpE,CAAC;wBACL,CAAC;wBACD,IAAI,EAAC;4BACF,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;4BACxD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC9C,CAAC;oBAEL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QACC,CAAC,CAAC;IAEN,CAAC;IA3hBU,0BAA0B;QAJtC,wEAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;WACG;SAC9C,CAAC;mCAuBgO;OAtBrN,0BAA0B,CA4hBtC;IAAD,CAAC;AAAA;SA5hBY,0BAA0B,kB;;;;;;;;;;;;;;;;;;;;;;;;;ACnBG;AACe;AACsB;AACmB;AAClB;AACP;AACE;AAE3E;;;;;GAKG;AAOH;IA4CE,6BAAmB,OAAsB,EAAS,SAAoB,EAAS,EAAe,EAAS,OAAiC,EAAS,GAAuB,EAAS,KAAoB,EAAQ,QAA0B;QAApN,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,OAAE,GAAF,EAAE,CAAa;QAAS,YAAO,GAAP,OAAO,CAA0B;QAAS,QAAG,GAAH,GAAG,CAAoB;QAAS,UAAK,GAAL,KAAK,CAAe;QAAQ,aAAQ,GAAR,QAAQ,CAAkB;QA3CvO,WAAM,GAAQ,EAAE,CAAC;QAGjB,kBAAa,GAAY,KAAK,CAAC;QAiB/B,eAAU,GAAM,EAAE,CAAC;QACnB,mBAAc,GAAU,KAAK,CAAC;QAC9B,gBAAW,GAAM,EAAE,CAAC;QAMpB,0BAAqB,GAAK,EAAE,CAAC;QAE7B,wBAAmB,GAAK,EAAE;QAC1B,mBAAc,GAAY,KAAK,CAAC;QAG9B,kBAAa,GAAY,KAAK,CAAC;QAC/B,eAAU,GAAY,KAAK,CAAC;QAE5B,eAAU,GAAK,EAAE,CAAC;QAGpB,mBAAc,GAAM,EAAE,CAAC;QAIrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB;QACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnC,WAAW,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YACzC,WAAW,EAAC,CAAC,EAAE,CAAC;YAChB,WAAW,EAAC,CAAC,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,aAAa,EAAE,CAAC,EAAE,CAAC;YACnB,WAAW,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,4DAA4D;YAC7D,kBAAkB;YACjB,uBAAuB,EAAE,CAAC,EAAE,CAAC;YAC7B,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,aAAa,EAAC,CAAC,EAAE,CAAC;YAClB,mBAAmB,EAAC,CAAC,EAAE,CAAC;YACxB,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,eAAe,EAAG,CAAC,EAAE,CAAC;YACtB,gBAAgB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,4BAA4B;YAC5B,YAAY,EAAC,CAAC,EAAE,CAAC;YACjB,yBAAyB;YACzB,SAAS,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,oBAAoB,EAAC,CAAC,EAAE,CAAC;YACzB,UAAU,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3D,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,oCAAoC;YACpC,gBAAgB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,uEAAuE;YACvE,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACrE,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QACtC,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAG,IAAI,CAAC,EAAC;YACtD,IAAI,CAAC,cAAc,GAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACrF,CAAC;QAED,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,YAAY,IAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,IAAG,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,IAAG,IAAI,CAAC,CAClH,CAAC;YACC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC;QAGD,EAAE,EAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,EAAC;YACpF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC9B,CAAC;IAEF,CAAC;IAGD,4CAAc,GAAd;QACC,OAAO,CAAE,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAGD,yCAAW,GAAX;QAAA,iBA2FC;QA1FC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAClD,cAAI;YACF,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QAC3E,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,cAAI;YAErF,KAAI,CAAC,eAAe,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,QAAQ,IAAE,CAAC,EAAhB,CAAgB,CAAC,CAAC;QAEtE,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAC1D,cAAI;YACF,KAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,SAAS,CACvD,cAAI;YACF,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC3B,IAAI,MAAI,GAAG,KAAI,CAAC;gBAClB,KAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CACjD,UAAS,IAAI;oBAEX,EAAE,EAAC,MAAI,CAAC,SAAS,CAAC,YAAY,IAAG,KAAK,IAAI,IAAI,CAAC,UAAU,IAAE,MAAI,CAAC,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAE,CAAE,CAAC,CAC5G,CAAC;wBACC,MAAM,CAAC,IAAI,CAAC;oBAEd,CAAC;oBAAA,IAAI,CAAC,EAAE,EAAC,MAAI,CAAC,SAAS,CAAC,YAAY,IAAG,KAAK,IAAI,IAAI,CAAC,cAAc,IAAE,MAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CACpG,CAAC;wBACC,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;oBAAA,IAAI,CACL,CAAC;wBACC,MAAM,CAAE;oBACV,CAAC;gBACH,CAAC,CAAC,CAAC;gBACJ,wCAAwC;YACzC,CAAC;QACH,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAC7D,cAAI;YACF,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CACjD,iBAAO;YACL,EAAE,EAAC,OAAO,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC9B,IAAI,MAAI,GAAG,KAAI,CAAC;gBAClB,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAC7C,UAAS,IAAI;oBAEX,EAAE,EAAC,MAAI,CAAC,SAAS,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,IAAE,CAAC,CAAC,CAC1E,CAAC;wBACC,MAAM,CAAC,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC,CAAC,CAAC;gBACJ,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YACjE,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACzB,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,SAAS,KAAG,IAAI,IAAI,GAAG,CAAC,oBAAoB,KAAG,IAAI,EAAvD,CAAuD,CAAC;YAC/G,CAAC;YACD,IAAI,iBAAiB,GAAO,EAAE,CAAC;YAC/B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAChC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACnD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,iBAAiB,EAAC,CAAC;YACvF,CAAC;QACD,CAAC,CAAC;QAEJ,IAAI,mBAAmB,GAAM,EAAE,CAAC;QAChC,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAC7B,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;gBAC/C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAC1F,6EAA6E;YAC7E,EAAE,EAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,EAAC;gBAC7B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAC,CAAC,EAAC,EAAE,EAAC,CAAC,EAAC,IAAI,EAAC,mBAAmB,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC,EAAC,CAAC;YAClH,CAAC;QACC,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,cAAI;YACxD,KAAI,CAAC,mBAAmB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,SAAS,IAAI,CAAC,EAAlB,CAAkB,CAAC;QAC1E,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,cAAI;YACtD,KAAI,CAAC,cAAc,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC,CAAC;IAIJ,CAAC;IAED,6DAA+B,GAA/B,UAAgC,KAAU;QAC1C,gCAAgC;QAC3B,+DAA+D;QAC9D,qEAAqE;QACtE,0DAA0D;QAC7D,GAAG;QACH,gCAAgC;QAC7B,kFAAkF;QACjF,qEAAqE;QACzE,IAAI;QACJ,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAEjE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE3E,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClE,IAAI,CAAC,eAAe,GAAC,EAAE;QAE3B,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,eAAe,EAAE,CAAC;YAC1D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAEjE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE3E,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE/D,CAAC;IAEH,CAAC;IAEC,0CAAY,GAAZ,UAAa,aAAa;QAGtB,IAAI,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,mBAAmB,IAAE,aAAa,EAAtC,CAAsC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,IAAI,aAAa,GAAC,YAAY,CAAC,aAAa;QAC5C,EAAE,EAAC,aAAa,IAAE,yBAAyB,CAAC,CAC5C,CAAC;YACC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;IAGL,CAAC;IACD,4CAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IAEnB,CAAC;IAGD,sCAAQ,GAAR;QAEC,IAAI,QAAQ,GAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,uBAAuB,CAAC;QACnE,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC;QACxD,IAAI,QAAQ,CAAE;QACX,EAAE,EAAC,QAAQ,IAAG,IAAI,IAAI,QAAQ,IAAG,EAAE,IAAK,UAAU,IAAG,IAAI,IAAI,UAAU,IAAE,EAAE,CAAC,CAC5E,CAAC;YAAA,EAAE,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAC5B,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;gBACjC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAEjE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YACxE,CAAC;YAAI,IAAI,CAAC,CAAC;gBACT,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gFAAgF,CAAC,CAAC;gBACjH,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACtE,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3D,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC9B,CAAC;QAAI,CAAC;QACF,mEAAmE;IACvE,CAAC;IACD,8CAAgB,GAAhB,UAAiB,KAAK;QAAtB,iBAIC;QAHC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAC1D,KAAI,CAAC,eAAe,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,QAAQ,IAAE,CAAC,EAAhB,CAAgB,CAAC,CAAC;QACrE,CAAC,CAAC;IACJ,CAAC;IACD,2CAAa,GAAb,UAAc,KAAK;QAAnB,iBAgBC;QAfC,wBAAwB;QACxB,KAAK,CAAC,OAAO,CAAC,gBAAM;YAClB,IAAI,UAAU,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,iBAAiB,IAAE,MAAM,EAA7B,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;YACpF,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACjE,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3C,EAAE,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAE3B,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,MAAM,CAAE;YACV,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAE9B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,6CAAe,GAAf,UAAgB,KAAK;QAArB,iBAKC;QAJC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAM;YACxB,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IACD,0CAAY,GAAZ,UAAa,GAAG;QAEd,wEAAwE;QACxE,qEAAqE;QAHvE,iBAaD;QARG,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,IAAI,CAAC,EAAN,CAAM,CAAC,EAAC,kCAAkC;QAC7E,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,IAAI,CAAC,EAAN,CAAM,CAAC,EAAC,kCAAkC;QAE1E,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,GAAG,CAAC,OAAO,CAAC,gBAAM;YACjB,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACN,CAAC;IACC,qCAAO,GAAP,UAAQ,CAAC,EAAC,IAAW;QACnB,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9E,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACjF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1E,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,aAAa,GAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,aAAa,GAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1E;gBACI,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IACC,+CAAiB,GAAjB;QAAA,iBAoHC;QAnHC,kCAAkC;QAClC,IAAI,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;QACzE,OAAO,CAAC,WAAW,GAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;QACzE,OAAO,CAAC,WAAW,GAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;QACrE,gCAAgC;QAChC,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAO;YACtD,iBAAiB,CAAC,IAAI,CAAC,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACX,OAAO,CAAC,aAAa,GAAG,iBAAiB,CAAC;QAE1C,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACtB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC;QACjF,CAAC;QACD,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC;QAC1E,sEAAsE;QACrE,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC;QACrG,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,EAAC;YAClE,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;YAEnF,IAAI,iBAAe,GAAC,EAAE,CAAC;YAC1B,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CACvD,CAAC;gBAEE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAO;oBAC3D,iBAAe,CAAC,IAAI,CAAC,EAAC,OAAO,EAAG,OAAO,EAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;YACL,CAAC;YACC,OAAO,CAAC,YAAY,GAAC,iBAAe,CAAC;QAEvC,CAAC;QACD,iEAAiE;QAC7D,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;QAC/E,GAAG;QACH,EAAE,EAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,EAAC;YAC3B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC;YAC7E,EAAE,EAAC,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC,EAAC;gBAC3B,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC;YAC7F,CAAC;QACL,CAAC;QAEC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACnE,CAAC;QACD,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAC;YACnD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,KAAK,CAAC;QACrF,CAAC;QAKF;;;YAGI;QACH,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,EAAC;YACrB,OAAO,CAAC,YAAY,GAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;QAC3E,CAAC;QACD,IAAI,EAAC;YACH,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;QAC5B,CAAC;QAED,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;QACrE,EAAE,EAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAC;YACnC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC;YAC7E,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,IAAG,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,oBAAoB,IAAG,IAAI,CAAC,EAAC;gBACnH,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC;YAC7F,CAAC;YAAA,CAAC;YACA,8CAA8C;YAC9C,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,EAAC;gBAC5D,IAAI,gBAAc,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAO;oBACzD,gBAAc,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,OAAO,EAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,gBAAgB,GAAG,gBAAc,CAAC;YAC5C,CAAC;YACD,IAAI,EAAC;gBACX,OAAO,CAAC,gBAAgB,GAAC,EAAE,CAAC;YACtB,CAAC;YAEP,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC;YAC1F,0GAA0G;QAEnG,CAAC;QAAA,IAAI,EAAC;YACJ,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAC7B,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACpC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAChC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;YACnC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC;QACvF,2FAA2F;QAC3F,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC;QAC7F,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAC3C,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAG,IAAI,CAAC,EAAC;gBAC9B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;YACC,0DAA0D;QAC5D,CAAC,CAAC;QACJ,QAAQ;QACR,IAAI;QACJ,2DAA2D;QAC3D,IAAI;IACJ,CAAC;IAED,4CAAc,GAAd;QAAA,iBAqIC;QApIC,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAEnF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,eAAK;YAC/C,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAChC,IAAI,aAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,aAAW,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;oBACnE,MAAM,CAAC,aAAW,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;gBAGH,aAAa;gBACb,MAAM,CAAC,OAAO,CAAC,aAAG;oBAChB,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC9B,iDAAiD;gBACnD,CAAC,CAAC,CAAC;gBACH,IAAI,WAAS,GAAQ,EAAE,CAAC;gBACxB,EAAE,EAAC,aAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC,EAAC;oBACzC,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,aAAW,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACrE,MAAM,CAAC,aAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBAC3C,CAAC,CAAC,CAAC;oBACH,KAAK,CAAC,OAAO,CAAC,aAAG;wBACf,WAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wBAC/B,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,GAAG,CAAC,OAAO,EAAC,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;gBACL,CAAC;gBACC,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,WAAW,CAAC,CAAC;gBAC/E,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,WAAW,CAAC,CAAC;gBAC/E,EAAE,EAAC,aAAW,CAAC,WAAW,CAAC,EAAC;oBAAC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAW,CAAC,WAAW,CAAC,CAAC;gBAAC,CAAC;gBACjH,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,WAAW,CAAC;gBAC9E,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;gBAC/D,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC;gBAEhC,EAAE,CAAC,CAAC,aAAW,CAAC,aAAa,IAAE,EAAE,CAAC,CAAC,CAAC;oBAClC,kCAAkC;oBACpC,6BAA6B;oBAC3B,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,aAAa,CAAC,CAAC;gBACrF,CAAC;gBAED,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,WAAW,CAAC,CAAC;gBAC/E,EAAE,CAAC,CAAC,aAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC;oBACxC,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,uBAAuB,CAAC,CAAC;oBACvG,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAW,CAAC,uBAAuB,CAAC,CAAC;gBACrG,CAAC;gBACD,EAAE,CAAC,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC7B,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC;oBACjF,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC;oBACpF,EAAE,EAAC,aAAW,CAAC,YAAY,GAAG,CAAC,CAAC,EAAC;wBAC/B,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,aAAa,CAAC,CAAC;wBACnF,EAAE,CAAC,CAAC,aAAW,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC;4BACjC,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,mBAAmB,CAAC,CAAC;wBACnG,CAAC;oBACL,CAAC;gBACH,CAAC;gBACE,4EAA4E;gBAC3E,EAAE,CAAC,CAAC,aAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC;oBACxC,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,uBAAuB,CAAC,CAAC;gBACzG,CAAC;gBACD,EAAE,CAAC,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC7B,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC;gBACnF,CAAC;gBACD,EAAE,CAAC,CAAC,aAAW,CAAC,MAAM,CAAC,CAAC,CAAC;oBACvB,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,MAAM,CAAC,CAAC;gBACvE,CAAC;gBACD,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,gBAAgB,CAAC,CAAC;gBACzF,EAAE,EAAC,aAAW,CAAC,gBAAgB,CAAC,CAChC,CAAC;oBACC,KAAI,CAAC,sBAAsB,GAAG,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAW,CAAC,gBAAgB,CAAC,CAAC;gBACjG,CAAC;gBACD,uEAAuE;gBACvE,EAAE,EAAC,aAAW,CAAC,WAAW,IAAE,KAAK,CAAC,CAClC,CAAC;oBACC,IAAI,MAAM,GAAC,MAAM,CAAC,IAAI,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBAC/D,MAAM,CAAC,aAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;oBACvC,CAAC,CAAC,CAAC;oBACH,IAAI,cAAY,GAAK,EAAE,CAAC;oBACxB,MAAM,CAAC,OAAO,CAAC,aAAG;wBAChB,cAAY,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAY,CAAC,CAAC;oBAC/D,KAAI,CAAC,YAAY,CAAC,cAAY,CAAC,CAAC;oBAChC,EAAE,EAAC,aAAW,CAAC,YAAY,CAAC,CAAC,CAAC;wBAC5B,6BAA6B;wBAC7B,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,YAAY,CAAC,CAAC;oBACrF,CAAC;gBAGD,CAAC;gBAET;;2BAEW;gBAEH,EAAE,EAAC,aAAW,CAAC,SAAS,CAAC,EAAC;oBACxB,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,SAAS,CAAC,CAAC;oBAC3E,KAAI,CAAC,aAAa,GAAC,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAW,CAAC,SAAS,CAAC,CAAC;gBAC/E,CAAC;gBACD,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,eAAe,CAAC,CAAC;gBACvF,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,aAAa,CAAC,CAAC;gBACnF,KAAI,CAAC,YAAY,GAAE,aAAW,CAAC,aAAa,CAAC;gBAC7C,EAAE,EAAC,aAAW,CAAC,aAAa,IAAG,IAAI,CAAC,EAAC;oBACnC,KAAI,CAAC,YAAY,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;oBACrC,EAAE,EAAC,KAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,EAAC;wBACrC,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,oBAAoB,CAAC,CAAC;wBACnG,wDAAwD;oBAEtD,CAAC;oBACD,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,WAAS,CAAC,CAAC;oBAChE,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,mBAAmB,CAAC,CAAC;oBAC/F,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,gBAAgB,CAAC,CAAC;oBACzF,EAAE,EAAC,aAAW,CAAC,gBAAgB,CAAC,CAChC,CAAC;wBACC,KAAI,CAAC,aAAa,GAAC,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,aAAW,CAAC,gBAAgB,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;gBACC,kGAAkG;gBAClG,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,aAAW,CAAC,mBAAmB,CAAC,CAAC;YACjG,CAAC;YAAC,IAAI,CAAC,CAAC;YAER,CAAC;QACH,CAAC,CAAC;QACF,EAAE,EAAC,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAC;YACnF,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,eAAe,EAAE,CAAC;YAC9D,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAEzE,CAAC;QAAA,IAAI,EAAC;YACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,sBAAsB,EAAE,CAAC;QAEzE,CAAC;IACD,CAAC;IA/lBU,mBAAmB;QAJ/B,wEAAS,CAAC;YACT,QAAQ,EAAE,wBAAwB;WACG;SACtC,CAAC;4BA6CuO;OA5C5N,mBAAmB,CAimB/B;IAAD,CAAC;AAAA;SAjmBY,mBAAmB,iB;;;;;;;;;;;;;;;;;;;;;;;;;ACpBU;AACe;AACU;AACa;AACkB;AACzB;AAEC;AAE1E;;;;;GAKG;AAQH;IAkBE,+BAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,IAAuB;QAAzM,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,SAAI,GAAJ,IAAI,CAAmB;QAL5N,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAC9B,kBAAa,GAAM,EAAE,CAAC;QACtB,eAAU,GAAM,EAAE,CAAC;QAGjB,wBAAwB;QACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,cAAc,IAAE,CAAC,IAAI,GAAG,CAAC,cAAc,IAAE,CAAC,EAA9C,CAA8C,CAAC;QAC7F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAC,GAAG,EAAC,gBAAgB,EAAC,QAAQ,EAAC,CAAC,CAAC;QAG3E,WAAW;QACX,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC9B;YACA,SAAS,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,mBAAmB,EAAC,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;QAIH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;QAG9F,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAE7B,CAAC;IAED,8CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IAED,2CAAW,GAAX;QAAA,iBAuCC;QArCC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,aAAG;YAEnD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,WAAW,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAClD,cAAI;YACF,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC7B,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;YAC3E,CAAC;QACD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YAEjE,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACzB,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,SAAS,KAAG,IAAI,IAAI,GAAG,CAAC,oBAAoB,KAAG,IAAI,EAAvD,CAAuD,CAAC;YAE/G,CAAC;YACF,kCAAkC;YAClC,sCAAsC;YACtC,gEAAgE;YAChE,6FAA6F;YAC7F,SAAS;YACT,4FAA4F;YAE5F,GAAG;QACJ,CAAC,CAAC;QACA,IAAI,mBAAmB,GAAM,EAAE,CAAC;QAChC,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAC7B,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;gBAC/C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAE1F,6EAA6E;QAC9E,CAAC;IACT,CAAC;IACD,sDAAsB,GAAtB,UAAuB,KAAU,EAAC,CAAC;QAEjC,EAAE,EAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YAE9B,oEAAoE;YAEpE,sDAAsD;YACtD,6DAA6D;QAEjE,CAAC;QACD,IAAI,EAAC;YACD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACjC,CAAC;IAEL,CAAC;IAED,qBAAqB;IACrB,uCAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpE,KAAK,CAAC;YACV;gBACI,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IAEC,kCAAkC;IAClC,oDAAoB,GAApB,UAAqB,OAAO,EAAC,CAAC;QAG5B,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC;QAE/C,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;QACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;QAEnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAEzE,CAAC;IACC,8CAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IACD,2CAAW,GAAX,UAAY,MAAM;QAChB,EAAE,EAAC,MAAM,IAAE,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;IAEH,CAAC;IACD,8CAAc,GAAd,UAAe,IAAI;QAEjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,cAAc,EAAE,CAAC,EAAE,CAAC;YACpB,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,MAAM,EAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAClF,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,UAAU,EAAC,CAAC,EAAE,CAAC;YACf,eAAe,EAAC,CAAC,EAAE,CAAC;YACpB,gBAAgB;YAChB,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,aAAa,EAAE,CAAC,EAAE,CAAC;SAEtB,CAAC,CAAC;IAEH,CAAC;IAED,8CAAc,GAAd;QACE,qBAAqB;QAEnB,4BAA4B;QAC5B,IAAI;QACJ,iCAAiC;QACjC,IAAI;QAGJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAc,CAAC;QAEhE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAI/C,CAAC;IAED,iDAAiB,GAAjB;QAGE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAc,CAAC;QAEhE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,0CAAU,GAAV,UAAW,CAAC;QAEX,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QACD,IAAI;YACH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,0CAAU,GAAV,UAAW,UAAU;QAArB,iBAoBC;QAlBC,IAAI,OAAO,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC;QAC/C,OAAO,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAE7D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAEzC,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAClC,CAAC;gBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACX,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACR,CAAC;QACC,CAAC,CAAC;IAEN,CAAC;IAED,iDAAiB,GAAjB;QAAA,iBAyCC;QAvCC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC;QAC7E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBACvE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;gBAC1F,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAc,CAAC;gBAE/D,EAAE,EAAC,MAAM,CAAC,MAAM,IAAG,CAAC,CAAC,EAAC;oBAEpB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBAC9C,CAAC;gBAAA,IAAI,CACL,CAAC;oBAKC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;wBAEvB,KAAI,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,YAAY,EAAC,KAAK,CAAC;wBACtD,EAAE,EAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAC;4BACtB,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACtE,CAAC;wBACD,qDAAqD;wBACrD,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC/C,CAAC,CAAC;oBACF,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC1D,CAAC;YAGH,CAAC;YAAA,IAAI,CACL,CAAC;gBAEC,KAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IAEP,CAAC;IApQQ,qBAAqB;QALjC,wEAAS,CAAC;YACT,QAAQ,EAAE,0BAA0B;WACG;SAExC,CAAC;8BAmB4N;OAlBjN,qBAAqB,CAqQjC;IAAD,CAAC;AAAA;SArQY,qBAAqB,iB;;;;;;;;;;;;;;;;;;;;;;;;;ACtBQ;AACe;AACsB;AACmB;AAClB;AACP;AAEC;AAE1E;;;;;GAKG;AAOH;IAqCC,aAAa;IAEZ,8BAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EACnF,OAAgC,EAAQ,GAAsB,EAAQ,KAAmB,EAAQ,IAAsB;QAD7G,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QACnF,YAAO,GAAP,OAAO,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QArChI,kBAAa,GAAG,CAAC;gBACf,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,CAAC;aACR,EAAE;gBACC,IAAI,EAAE,aAAa;gBACnB,EAAE,EAAE,CAAC;aACR,CAAC;QAoBA,aAAQ,GAAO,EAAE,CAAC;QAClB,gBAAW,GAAK,EAAE,CAAC;QACnB,wBAAmB,GAAM,EAAE,CAAC;QAC5B,iBAAY,GAAM,EAAE,CAAC;QACrB,qBAAgB,GAAM,EAAE,CAAC;QACzB,qBAAqB;QACrB,eAAU,GAAM,EAAE,CAAC;QACnB,mBAAc,GAAM,EAAE,CAAC;QAmezB,gCAA2B,GAAW,CAAC,CAAC;QACxC,gCAA2B,GAAW,CAAC,CAAC;QA/dpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAGlC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC9B,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAG7B,CAAC;YACF,0BAA0B,EAAC,CAAC,EAAE,CAAC;SAGlC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;IAIrB,CAAC;IAED,6CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC;QAClD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,gDAAiB,GAAjB,UAAkB,OAAO;QAAzB,iBAuFC;QArFC,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC;YACrB,IAAI,QAAQ,GAAc,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACpC,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChE,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7C,cAAc,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5C,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7C,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3C,uBAAuB,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACnD,qBAAqB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACnD,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACjD,cAAc,EAAE,CAAC,EAAE,CAAC;gBACpB,IAAI,EAAE,CAAC,EAAE,CAAC;gBACV,8BAA8B,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kEAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjG,sBAAsB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aAC5C,CAAC,CAAC;YACH,IAAM,OAAO,GAAc,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzB,CAAC;QACD,IAAI,EAAC;YACL,OAAO,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBACxB,EAAE,EAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,EAAC;oBAEnB,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtE,CAAC;gBACD,KAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC,eAAe,EAA9C,CAA8C,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBACnI,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,QAAQ,GAAW,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACpC,eAAe,EAAC,CAAC,GAAG,CAAC,eAAe,CAAC;oBACtC,eAAe,EAAC,CAAC,GAAG,CAAC,eAAe,CAAC;oBACpC,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACpC,eAAe,EAAC,CAAC,GAAG,CAAC,eAAe,CAAC;oBACrC,aAAa,EAAC,CAAC,GAAG,CAAC,aAAa,CAAC;oBACjC,uBAAuB,EAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC;oBACrD,qBAAqB,EAAE,CAAC,GAAG,CAAC,qBAAqB,EAAC,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACzE,mBAAmB,EAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC;oBAC7C,IAAI,EAAC,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;oBACvB,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC;oBAC3C,8BAA8B,EAAC,CAAC,GAAG,CAAC,8BAA8B,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,kEAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC/H,sBAAsB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;iBAEvC,CAAC,CAAC;gBAEH,IAAM,OAAO,GAAc,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAEvB,IAAI,GAAG,GAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC;gBACzB,2CAA2C;gBAC5C,KAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBAG9D,+BAA+B;YAEnC,CAAC,CAAC;QACF,CAAC;QACC;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA4BK;IAEP,CAAC;IACD,uDAAwB,GAAxB,UAAyB,GAAG,EAAC,GAAG;QAAhC,iBA0BG;QAzBD,IAAM,OAAO,GAAc,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACpH,GAAG,CAAC,OAAO,CAAC,UAAC,IAAI,EAAC,KAAK;YAGpB,EAAE,EAAC,IAAI,CAAC,8BAA8B,IAAI,IAAI,CAAC,EAAC;gBAC9C,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACrG,CAAC;YACG,IAAI,KAAK,GAAG,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACtB,kBAAkB,EAAE,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7E,0BAA0B,EAAE,CAAC,IAAI,CAAC,0BAA0B,IAAI,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC7F,iBAAiB,EAAE,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3E,4BAA4B,EAAE,CAAC,IAAI,CAAC,4BAA4B,IAAI,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACjG,eAAe,EAAE,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACvE,yBAAyB,EAAC,CAAC,IAAI,CAAC,yBAAyB,IAAI,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC1F,8BAA8B,EAAE,CAAC,IAAI,CAAC,8BAA8B,IAAI,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACrG,wCAAwC,EAAE,CAAC,IAAI,CAAC,wCAAwC,IAAI,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACzH,iDAAiD,EAAE,CAAC,IAAI,CAAC,iDAAiD,IAAI,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC3I,sBAAsB,EAAE,CAAC,IAAI,CAAC,sBAAsB,IAAI,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACrF,qBAAqB,EAAE,CAAC,IAAI,CAAC,qBAAqB,IAAI,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACnF,8BAA8B,EAAC,CAAC,IAAI,CAAC,8BAA8B,IAAI,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACpG,2BAA2B,EAAE,CAAC,IAAI,CAAC,2BAA2B,IAAI,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aAClG,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACT,CAAC;IAED;;;;;;;;;;;;;;SAcK;IAIP,kCAAG,GAAH;QACC,uEAAuE;QACtE,+CAA+C;QAC/C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;IACzD,CAAC;IACD,oDAAqB,GAArB,UAAsB,CAAQ;QAC5B,IAAM,OAAO,GAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACpE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,2CAAY,GAAZ,UAAa,IAAQ;QACnB,IAAM,OAAO,GAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACvH,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC;IACrD,CAAC;IACD,8CAAe,GAAf,UAAgB,KAAS,EAAC,OAAW;QACnC,IAAM,OAAO,GAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACzH,EAAE,EAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,EAAC;YACH,OAAO,CAAC,KAAK,EAAE;QACjB,CAAC;QACF,yCAAyC;IAExC,CAAC;IACD,6DAA8B,GAA9B,UAA+B,IAAI;QAGjC,IAAI,SAAS,GAAC,IAAI,CAAC;QACnB,IAAI,QAAQ,GAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;QACnG,EAAE,EAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,KAAK,CAAC,CACpD,CAAC;YACC,IAAI,MAAM,GAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC,KAAK,CAAC;YAC5D,IAAM,OAAO,GAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACtH,EAAE,EAAC,MAAM,IAAE,OAAO,CAAC,MAAM,CAAC,EAAC;gBACzB,IAAI,GAAG,GAAC,MAAM,GAAC,OAAO,CAAC,MAAM,CAAC;gBAC9B,GAAG,EAAG,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,GAAG,EAAC,CAAC,EAAE,EAAC,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC;gBACtD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChC,+BAA+B;gBAC/B,IAAI,KAAK,GAAC,OAAO,CAAC,MAAM,GAAC,MAAM,CAAC;gBAChC,GAAG,EAAC,IAAI,CAAC,GAAC,OAAO,CAAC,MAAM,EAAC,CAAC,IAAE,MAAM,EAAC,CAAC,EAAE,EACtC,CAAC;oBACD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;gBAEH,iCAAiC;gBACjC,yBAAyB;gBACxB;;;mBAGG;gBACJ,mEAAmE;gBACnE,0FAA0F;YAC7F,CAAC;QAGH,CAAC;QACD,IAAI,EAAC;YACH,IAAM,OAAO,GAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACtH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACjC,OAAO,CAAC,QAAQ,GAAC,EAAE,CAAC;QACtB,CAAC;QACF;;YAEI;IACH,CAAC;IACD,8DAA+B,GAA/B;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,kBAAkB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChD,0BAA0B,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxD,iBAAiB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/C,4BAA4B,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1D,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7C,yBAAyB,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrD,8BAA8B,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5D,wCAAwC,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtE,iDAAiD,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/E,sBAAsB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpD,qBAAqB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnD,8BAA8B,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1D,2BAA2B,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SAC5D,CAAC;IACN,CAAC;IAEC,0CAAW,GAAX;QAAA,iBA0CD;QAzCG,IAAI,WAAW,GAAG,eAAe,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,cAAI;YAE1C,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,EAAC;gBAC/B,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;YAClE,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,aAAG;YAElD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,gEAAgE;QAChE,MAAM;QACN,kCAAkC;QAClC,QAAQ;QACR,mEAAmE;QACnE,QAAQ;QACR,QAAQ;QACN,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,KAAI,CAAC,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,aAAG;YAE1D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE7C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,SAAS,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,QAAQ,IAAE,CAAC,EAAhB,CAAgB,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC;IAEd,CAAC;IACD,sCAAO,GAAP,UAAQ,CAAC,EAAC,CAAC;QAAX,iBASC;QARC,8EAA8E;QAC9E,mDAAmD;QAC/C,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAI;YAC7C,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC7B,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBACvC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAC/C,CAAC;QACL,CAAC,CAAC,CAAC;IACT,CAAC;IACD,4CAAa,GAAb;QAAA,iBAQC;QANC,IAAI,WAAW,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,cAAI;YAC9C,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACzB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;YACxE,CAAC;QACT,CAAC,CAAC,CAAC;IACX,CAAC;IACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8EE;IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IAEH,2CAAY,GAAZ,UAAa,UAAU;QAAvB,iBAoDC;QAjDC,IAAI,OAAO,GAAK,EAAE,CAAC;QAEnB,OAAO,GAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAE9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAG,QAAC,OAAO,CAAC,GAAG,CAAC,IAAE,IAAI,CAAC,IAAG,OAAO,OAAO,CAAC,GAAG,CAAC,EAA1C,CAA0C,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,MAAM,GAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACnC,OAAO,CAAC,YAAY,GAAC,IAAI,CAAC,KAAK,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAExC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;YAC5D,UAAU,CAAC;gBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACrB,CAAC,EAAC,IAAI,CAAC,CAAC;QAEZ,CAAC,EAAC,aAAG;YACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6CAA6C,CAAC,CAAC;QAChF,CAAC,CAAC;QAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA6BY;IACd,CAAC;IAGD,6CAAc,GAAd,UAAe,CAAC,EAAC,GAAG;QAApB,iBA0EC;QAxEC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,kBAAkB,IAAI,CAAC,EAA5B,CAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QAEjH,IAAM,OAAO,GAAc,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAEvH,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAC,MAAM,CAAC;QAE5C,IAAI,CAAC,GAAY,CAAC,CAAE;QACpB,GAAG,EAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,2BAA2B,EAAC,CAAC,EAAE,EAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QACD,kDAAkD;QAClD,KAAK;QACL,IAAI;QACJ,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,2BAA2B,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAC,IAAI,CAAE,2BAA2B,EAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAEnH,EAAE,EAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAEhC,IAAI,WAAe,CAAC;YACnB,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,WAAW,IAAI,CAAC,EAArB,CAAqB,CAAC,CAAC;YAGvE,+BAA+B;YAC/B,gCAAgC;YAEhC,EAAE,EAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;gBAGlB,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC/C,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAC,IAAI,CAAE,2BAA2B,EAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAG3G,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,GAAG;oBAEjB,kCAAkC;oBAClC,eAAe;oBACf,mCAAmC;oBACnC,SAAS;oBACT,oCAAoC;oBACpC,IAAI;oBACJ,WAAS,GAAG;wBACA,oBAAoB,EAAG,GAAG,CAAC,IAAI;wBAC/B,4BAA4B,EAAG,GAAG,CAAC,YAAY;wBAC/C,mBAAmB,EAAG,GAAG,CAAC,GAAG;wBAC7B,8BAA8B,EAAE,GAAG,CAAC,cAAc,IAAI,cAAc,GAAG,GAAG,GAAE,EAAE;wBAC9E,iBAAiB,EAAE,EAAE;wBACrB,gCAAgC,EAAE,EAAE;wBACpC,0CAA0C,EAAC,EAAE;wBAC7C,mDAAmD,EAAE,EAAE;wBACvD,2BAA2B,EAAC,EAAE;wBAC9B,wBAAwB,EAAE,EAAE;wBAC5B,uBAAuB,EAAE,EAAE;wBAC3B,6BAA6B,EAAE,EAAE;wBACjC,gCAAgC,EAAE,EAAE;qBAClC;oBAClB,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mCAAmC,CAAC,WAAS,CAAC,CAAC,CAAC;gBAElE,CAAC,CAAC,CAAC;YACP,CAAC;YACD,IAAI,EAAC;gBACH,IAAI,CAAC,2BAA2B,GAAG,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAC,IAAI,CAAE,2BAA2B,EAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;gBAG3G,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;QACD,IAAI,EAAC;YAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,kEAAmC,GAAnC,UAAoC,IAAI;QACtC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;YAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,GAAG,CAAC,CAAY,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;gBAAjB,IAAI,GAAG;gBACR,IAAM,OAAO,GAAc,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;gBAC9E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/D;QACL,CAAC;IACD,CAAC;IACD,kEAAmC,GAAnC,UAAoC,GAAG;QACrC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,kBAAkB,EAAE,CAAC,GAAG,CAAC,kBAAkB,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpE,0BAA0B,EAAE,CAAC,GAAG,CAAC,0BAA0B,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACpF,iBAAiB,EAAE,CAAC,GAAG,CAAC,iBAAiB,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClE,4BAA4B,EAAE,CAAC,GAAG,CAAC,4BAA4B,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxF,eAAe,EAAE,CAAC,GAAG,CAAC,eAAe,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9D,yBAAyB,EAAC,CAAC,GAAG,CAAC,yBAAyB,EAAC,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChF,8BAA8B,EAAE,CAAC,GAAG,CAAC,8BAA8B,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5F,wCAAwC,EAAE,CAAC,GAAG,CAAC,wCAAwC,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChH,iDAAiD,EAAE,CAAC,GAAG,CAAC,iDAAiD,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClI,sBAAsB,EAAE,CAAC,GAAG,CAAC,sBAAsB,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC5E,qBAAqB,EAAE,CAAC,GAAG,CAAC,qBAAqB,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1E,8BAA8B,EAAC,CAAC,GAAG,CAAC,8BAA8B,EAAC,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1F,2BAA2B,EAAE,CAAC,GAAG,CAAC,2BAA2B,EAAE,kEAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACzF,CAAC;IACF,CAAC;IAGG,4CAAa,GAAb;QAAA,iBAuIC;QArIC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAC/D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,IAAI,OAAO,GAAS,EAAE,CAAC;gBAEvB,EAAE,EAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBACxC,IAAI,wBAAwB,GAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBACrF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBACH,IAAI,KAAK,GAAC,wBAAwB,CAAC,GAAG,CAAC,iBAAO;wBAC5C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE;4BAC9C,IAAI,EAAC,OAAO,CAAC,cAAc;4BAC3B,YAAY,EAAC,OAAO,CAAC,YAAY;4BACjC,WAAW,EAAC,OAAO,CAAC,WAAW;4BAC/B,GAAG,EAAC,OAAO,CAAC,GAAG;4BACf,cAAc,EAAC,aAAa,EAAC,CAAC;oBAElC,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;gBACD,IAAI,EAAC;oBACH,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;gBACxC,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,GAAE,CAAC,CAAC,EAAC;oBAC1C,IAAI,yBAAyB,GAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBACvF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC;oBAC3C,CAAC,CAAC,CAAC;oBACH,IAAI,KAAK,GAAC,yBAAyB,CAAC,GAAG,CAAC,iBAAO;wBAC7C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,4BAA4B;4BAC7C,IAAI,EAAC,OAAO,CAAC,kBAAkB;4BAC/B,YAAY,EAAC,OAAO,CAAC,4BAA4B;4BACjD,WAAW,EAAC,OAAO,CAAC,cAAc;4BAClC,GAAG,EAAC,EAAE;4BACN,cAAc,EAAC,cAAc,EAAC,CAAC;oBACnC,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;gBACD,IAAI,EAAC;oBACH,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;gBACzC,CAAC;gBACD,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAC,OAAO,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC;QACF,IAAI,OAAO,GAAC,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC;QAE5E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC9C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAEhC,EAAE,EAAC,GAAG,CAAC,QAAQ,CAAC,IAAE,GAAG,CAAC,EAAC;gBACrB,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;oBAC7C,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;oBACxG,KAAI,CAAC,QAAQ,GAAC,GAAG,CAAC;oBAClB,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;gBAExD,CAAC;YAEH,CAAC;YACC,IAAI,EAAC;gBACH,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBAC7B,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAE/B,CAAC;YACD,kFAAkF;QAEpF,CAAC,EAAC,aAAG;YACH,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,GAAG,CAAC;QAC1B,CAAC,CAAC;QACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkES;IACX,CAAC;IACA,oCAAoC;IACpC,sCAAO,GAAP,UAAQ,CAAC,EAAC,IAAW,EAAC,CAAC;QACtB,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpE,KAAK,CAAC;YACV,KAAK,CAAC;gBACN,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxE,KAAK,CAAC;YAEN;gBACI,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IACC,2CAAY,GAAZ,UAAa,OAAO;QAClB,GAAG,EAAY,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO;YAAlB,IAAI,GAAG;YACT,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnC,eAAe,EAAC,CAAC,GAAG,CAAC,eAAe,CAAC;gBACrC,eAAe,EAAC,CAAC,GAAG,CAAC,eAAe,CAAC;aACtC,CAAC;SACH;IACH,CAAC;IAhxBQ,oBAAoB;QAJhC,wEAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;WACG;SACvC,CAAC;4NAwC6D,yFAAoB,2FAAW;YAC3E,iBAA+G;OAxCrH,oBAAoB,CAixBhC;IAAD,CAAC;AAAA;SAjxBY,oBAAoB,iB;;;;;;;;;;;;;;;;;;;;;;;;;ACrBS;AACe;AACkB;AACK;AACkB;AAC1B;AACC;AAEzE;;;;;GAKG;AAOH;IAwCE,+BAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,aAA+B;QAAjN,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,kBAAa,GAAb,aAAa,CAAkB;QAvC7N,0BAAqB,GAAI,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,WAAW,EAAE,KAAK,EAAC;YACnC,EAAC,OAAO,EAAE,IAAI,EAAC,WAAW,EAAE,IAAI,EAAC;YACjC,EAAC,OAAO,EAAE,KAAK,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;QAepE,aAAQ,GAAW,KAAK,CAAC;QACzB,gBAAW,GAAW,IAAI,CAAC;QAG3B,yBAAoB,GAAM,EAAE,CAAC;QAC7B,8BAAyB,GAAM,EAAE,CAAC;QAClC,kBAAa,GAAM,EAAE,CAAC;QACtB,uBAAkB,GAAM,EAAE,CAAC;QAC3B,uBAAkB,GAAM,EAAE,CAAC;QAC3B,4BAAuB,GAAM,EAAE,CAAC;QAChC,sBAAiB,GAAM,EAAE,CAAC;QAC1B,2BAAsB,GAAM,EAAE,CAAC;QAC/B,qBAAgB,GAAM,EAAE,CAAC;QAEzB,sBAAiB,GAAM,EAAE,CAAC;QAC1B,2BAAsB,GAAM,EAAE,CAAC;QAC/B,oBAAe,GAAM,EAAE,CAAC;QACxB,oBAAe,GAAM,EAAE,CAAC;QAExB,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAia9B,kBAAa,GAAW,KAAK,CAAC;QA7Z5B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,cAAc,IAAE,CAAC,IAAI,GAAG,CAAC,cAAc,IAAE,CAAC,EAA9C,CAA8C,CAAC;QACzF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAC,GAAG,EAAC,gBAAgB,EAAC,QAAQ,EAAC,CAAC,CAAC;QAEzE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACpC;YACE,cAAc,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,6CAA6C;YAC7C,kBAAkB,EAAC,CAAC,EAAE,CAAC;SAEvB,CAAC;QAEF,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QACpB,oBAAoB;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAChC,CAAC;IACD,8CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IAED,2CAAW,GAAX;QAAA,iBA4EC;QAzEC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,QAAQ,IAAE,CAAC,IAAI,IAAI,CAAC,EAAE,IAAE,CAAC,EAA9B,CAA8B,CAAC,CAAC;YACnF,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,aAAG;YAElD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,aAAG;YAEtD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,aAAG;YAErD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,eAAe,GAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;QACD,CAAC,CAAC;QAGV,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CACnD,cAAI;YACF,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC7B,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;YACvE,CAAC;QACG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YAEjE,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACzB,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,SAAS,KAAG,IAAI,IAAI,GAAG,CAAC,oBAAoB,KAAG,IAAI,EAAvD,CAAuD,CAAC;YAE/G,CAAC;YACD,IAAI,iBAAiB,GAAO,EAAE,CAAC;YAC/B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAChC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACnD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,iBAAiB,EAAC,CAAC;YAEzF,CAAC;YAED,IAAI,mBAAmB,GAAM,EAAE,CAAC;YAChC,EAAE,EAAC,KAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;gBAC7B,mBAAmB,GAAG,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;oBAC/C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;gBAE1F,6EAA6E;YAC9E,CAAC;QACH,CAAC,CAAC;IAKZ,CAAC;IACD,2CAAW,GAAX;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACA,WAAW,EAAE,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,wBAAwB,EAAE,CAAC,IAAI,CAAC;YAChC,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACvB,WAAW,EAAC,CAAC,EAAE,CAAC;YAChB,yBAAyB;YACzB,aAAa,EAAE,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,gBAAgB,EAAG,CAAC,EAAE,CAAC;YACvB,0BAA0B;YAC1B,GAAG,EAAE,CAAC,IAAI,CAAC;SAKV,CAAC,CAAC;IACP,CAAC;IAED,wCAAQ,GAAR,UAAS,IAAI;QAEX,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAc,CAAC;YAC3E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,2CAAW,GAAX,UAAY,CAAC,EAAC,IAAI;QAEhB,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAc,CAAC;YAC3E,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAE,CAAC,CAAC,CAC5B,CAAC;gBACC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;YAC5D,CAAC;YAAA,IAAI,EAAC;gBACN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;QACD,CAAC;IACD,CAAC;IAED,8CAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IAGD,wCAAQ,GAAR,UAAS,OAAO,EAAE,IAAI;QAEpB,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YAEd,IAAI,aAAa,UAAC;YAElB,EAAE,EAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,EAAC;gBACvK,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAE;gBACnF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IAGD,CAAC;IAGD,kDAAkB,GAAlB,UAAmB,CAAM,EAAE,CAAM,EAAC,IAAU;QAE1C,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YACZ,IAAM,GAAG,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;YAC/G,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAGD,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAChB,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAE;gBACrH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;gBAC1C,KAAK,CAAC;YACR,CAAC;YACH,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc;gBAEnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBAClC,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc;gBAEnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACtC,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBAEpH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC;gBAE3D,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc;gBAEnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;gBACpD,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc;gBAEnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;gBAC9C,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc;gBAElH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;gBAC3C,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAgB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc;gBAEnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;gBAC5C,KAAK,CAAC;YACR,CAAC;YACD,SAAS,CAAC;gBACR,KAAK,CAAC;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAGD,4CAAY,GAAZ;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,aAAa,EAAE,CAAC,EAAE,CAAC;YACnB,mBAAmB,EAAE,CAAC,EAAE,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,oDAAoB,GAApB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAEpB,CAAC,CAAC;IACL,CAAC;IAED,8DAA8B,GAA9B;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,4BAA4B,EAAE,CAAC,IAAI,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,8DAA8B,GAA9B;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,qBAAqB,EAAG,CAAC,EAAE,CAAC;YAC5B,oBAAoB,EAAG,CAAC,EAAE,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,sDAAsB,GAAtB;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,EAAE,CAAC;SAGvB,CAAC,CAAC;IACL,CAAC;IAED,wDAAwB,GAAxB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,cAAc,EAAE,CAAC,IAAI,CAAC;YACtB,YAAY,EAAE,CAAC,IAAI,CAAC;YACpB,cAAc,EAAE,CAAC,IAAI,CAAC;YACtB,oBAAoB,EAAC,CAAC,IAAI,CAAC;YAC3B,WAAW,EAAE,CAAC,IAAI,CAAC;YACnB,cAAc,EAAE,CAAC,IAAI,CAAC;SACvB,CAAC,CAAC;IACL,CAAC;IAED,qDAAqB,GAArB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,qBAAqB,EAAC,CAAC,EAAE,CAAC;YAC1B,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,SAAS,EAAE,CAAC,EAAE,CAAC;SAChB,CAAC,CAAC;IACL,CAAC;IAED,gDAAgB,GAAhB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACpB,2BAA2B;YAC3B,0BAA0B,EAAE,CAAC,EAAE,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,qEAAqC,GAArC;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,mCAAmC,EAAE,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IAEC,+CAAe,GAAf;QACA,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,6BAA6B,EAAE,CAAC,EAAE,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAID,oDAAoB,GAApB,UAAqB,IAAI;QACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YACnC,mBAAmB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;SAChD,CAAC,CAAC;IACL,CAAC;IAED,4DAA4B,GAA5B,UAA6B,IAAI;QAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAEpB,CAAC,CAAC;IACL,CAAC;IAED,sEAAsC,GAAtC,UAAuC,IAAI;QACzC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,4BAA4B,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC;SAClE,CAAC,CAAC;IACL,CAAC;IAED,8DAA8B,GAA9B,UAA+B,IAAI;QACjC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;SAG1C,CAAC,CAAC;IACL,CAAC;IACD,sEAAsC,GAAtC,UAAuC,IAAI;QACzC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACzC,qBAAqB,EAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;YACpD,oBAAoB,EAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;IAED,gEAAgC,GAAhC,UAAiC,IAAI;QACnC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,wCAAwC;YACxC,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YACjC,cAAc,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;YACrC,oBAAoB,EAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAChD,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;YAC/B,cAAc,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IAED,6DAA6B,GAA7B,UAA8B,IAAI;QAChC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACzC,sBAAsB,EAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACpD,qBAAqB,EAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAClD,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACzC,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IAID,wDAAwB,GAAxB,UAAyB,IAAI;QAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxB,+FAA+F;YAC5F,0BAA0B,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IACD,6EAA6C,GAA7C,UAA8C,IAAI;QAChD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,mCAAmC,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAC;SAChF,CAAC,CAAC;IACL,CAAC;IAEA,uDAAuB,GAAvB,UAAwB,IAAI;QAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,0BAA0B,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;IACD,gDAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBA2BC;QAxBC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,QAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,EAAnD,CAAmD,CAAC,CAAC;QAC9F,yCAAyC;QACzC,6BAA6B;QAC7B,2BAA2B;QAC3B,iCAAiC;QACjC,iCAAiC;QACjC,sCAAsC;QACtC,QAAQ;QACR,QAAQ;QAEN,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACvC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACxC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAErC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACX,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACR,CAAC;QACH,CAAC,CAAC;IACR,CAAC;IAED,+CAAe,GAAf;QAAA,iBAoEC;QAlEC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC;QAE7E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBAC3E,oGAAoG;oBACnG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC;gBACjG,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC1B,GAAG,CAAC,CAAY,UAAU,EAAV,yBAAU,EAAV,wBAAU,EAAV,IAAU;wBAArB,IAAI,GAAG;wBACV,IAAI,IAAI,GAAG;4BACT,WAAW,EAAE,GAAG,CAAC,WAAW;4BAC5B,wBAAwB,EAAE,GAAG,CAAC,wBAAwB;4BACtD,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;4BACxC,WAAW,EAAC,GAAG,CAAC,WAAW;4BAC3B,aAAa,EAAE,GAAG,CAAC,aAAa;4BAChC,gBAAgB,EAAC,GAAG,CAAC,gBAAgB;4BACrC,sCAAsC;4BACtC,GAAG,EAAE,GAAG,CAAC,GAAG;yBAMb,CAAC;wBACF,IAAM,OAAO,GAAc,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;wBAC7E,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;wBAE7C,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC;qBAC/E;gBAEH,CAAC;gBACD,6BAA6B;gBAC7B,gCAAgC;gBAChC,mBAAmB;gBACnB,sCAAsC;gBACtC,gEAAgE;gBAChE,kDAAkD;gBAClD,0CAA0C;gBAC1C,4CAA4C;gBAC5C,sBAAsB;gBACtB,gCAAgC;gBAChC,4CAA4C;gBAC5C,4CAA4C;gBAC5C,uDAAuD;gBACvD,SAAS;gBACT,oFAAoF;gBACpF,4DAA4D;gBAE5D,uFAAuF;gBACvF,MAAM;gBAEN,IAAI;gBACJ,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAE1B,yEAAyE;YACzE,CAAC;YAAA,IAAI,EAAC;gBACJ,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClB,oBAAoB;YACrB,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IAOD,mDAAmB,GAAnB,UAAoB,IAAI;QACtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;YAC/B,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,wBAAwB,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACzD,iBAAiB,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC3C,WAAW,EAAC,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;YACpC,gBAAgB,EAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACxC,uCAAuC;YACvC,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,kEAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzG,yCAAyC;YACzC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;SAMrB,CAAC,CAAC;IACL,CAAC;IACD,wDAAwB,GAAxB,UAAyB,mBAAwB,EAAE,KAAU,EAAE,CAAM;QAArE,iBAsGC;QArGC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,qDAAqD;QACrD,uBAAuB;QACvB,MAAM;QACN,gCAAgC;QAChC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAM,GAAG,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;QAC/G,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC5B,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,YAAgB,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,YAAU,GAAG,EAAK,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;wBAC1C,mBAAmB,EAAC,KAAK,CAAC,iBAAiB;wBAC3C,aAAa,EAAC,KAAK,CAAC,WAAW;qBAIlC,CAAC;oBAChB,yGAAyG;gBAC3G,CAAC,CAAC,CAAC;gBACH,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,YAAU,CAAC,CAAC,CAAC;gBAC9D,KAAK,CAAC;YACR,CAAC;YAED,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,YAAgB,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,YAAU,GAAG,EAAE,eAAe,EAAC,KAAK,CAAC,aAAa,EAAC,qBAAqB,EAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;gBACvG,CAAC,CAAC,CAAC;gBACH,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAU,CAAC,CAAC,CAAC;gBACpD,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACV,IAAI,YAAgB,CAAC;gBACpB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,YAAU,GAAG,EAAG,4BAA4B,EAAE,KAAK,CAAC,0BAA0B,EAAE,CAAC;gBACnF,CAAC,CAAC,CAAC;gBACH,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAU,CAAC,CAAC,CAAC;gBACxD,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,YAAc;gBACjB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,YAAU,GAAC,EAAC,qCAAqC,EAAE,KAAK,CAAC,mCAAmC,EAAE;gBAChG,CAAC,CAAC;gBACF,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,YAAU,CAAC,CAAC,CAAC;gBAC7E,KAAK,CAAC;YACR,CAAC;YACF,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACpH,mEAAmE;gBAClE,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,YAAgB,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,YAAU,GAAG;wBACX,cAAc,EAAE,KAAK,CAAC,YAAY;wBAClC,gBAAgB,EAAE,KAAK,CAAC,cAAc;wBACtC,sBAAsB,EAAC,KAAK,CAAC,oBAAoB;wBACjD,aAAa,EAAE,KAAK,CAAC,WAAW;wBAChC,gBAAgB,EAAE,KAAK,CAAC,cAAc;qBACvC,CAAC;oBACF,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC1F,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAE1F,CAAC,CAAC,CAAC;gBACH,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,YAAU,CAAC,CAAC,CAAC;gBAChE,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,YAAgB,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBAClB,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;oBAC5F,YAAU,GAAG,EAAG,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;wBACzD,wBAAwB,EAAG,KAAK,CAAC,sBAAsB;wBACvD,uBAAuB,EAAC,KAAK,CAAC,qBAAqB;wBACnD,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;wBAC1C,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;gBACnC,CAAC,CAAC,CAAC;gBACH,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,YAAU,CAAC,CAAC,CAAC;gBAC7D,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAM,OAAO,GAAe,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,gBAAgB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAc,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxD,KAAK,CAAC;YACR,CAAC;YACD,SAAS,CAAC;gBACR,KAAK,CAAC;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,wCAAQ,GAAR,UAAS,KAAU;QACjB,IAAM,OAAO,GAAG,aAAa,CAAC;QAE9B,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IACD,uCAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5F,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrF,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1F,KAAK,CAAC;YACV,KAAK,CAAC;gBACN,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChF,KAAK,CAAC;YACV,KAAK,CAAC;gBACN,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrF,KAAK,CAAC;YACV,KAAK,CAAC;gBACN,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/E,KAAK,CAAC;YACV,KAAK,EAAE;gBACP,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpF,KAAK,CAAC;YACV,KAAK,EAAE;gBACP,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChF,KAAK,CAAC;YACV,KAAK,EAAE;gBACF,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAE,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7F,KAAK,CAAC;YACN,KAAK,EAAE;gBACP,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClF,KAAK,CAAC;YACN,KAAK,EAAE;gBACP,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClF,KAAK,CAAC;YACN;gBACI,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IACC,eAAe;IACf,2CAAW,GAAX,UAAY,MAAM;QAChB,EAAE,EAAC,MAAM,IAAE,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;IAEH,CAAC;IAhtBQ,qBAAqB;QAJjC,wEAAS,CAAC;YACT,QAAQ,EAAE,0BAA0B;WACG;SACxC,CAAC;8BAyCoO;OAxCzN,qBAAqB,CAktBjC;IAAD,CAAC;AAAA;SAltBY,qBAAqB,iB;;;;;;;;;;;;;;;;;;;;;;;;;ACpBQ;AACe;AACqB;AACoB;AAClB;AACP;AACC;AAE1E;;;;;GAKG;AAOH;IAmBE,mCAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,OAAgC,EAAQ,GAAsB,EAAQ,KAAmB,EAAS,QAA0B;QAA7M,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAS,aAAQ,GAAR,QAAQ,CAAkB;QAVhO,mBAAc,GAAK,EAAE,CAAC;QACtB,eAAU,GAAK,EAAE,CAAC;QAKlB,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAC9B,eAAU,GAAM,EAAE,CAAC;QACnB,wBAAmB,GAAM,EAAE,CAAC;QAG1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB;QAC/C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAE,CAAC,EAAC,gBAAgB,EAAE,QAAQ,EAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAElC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnC,YAAY,EAAE,CAAC,IAAI,CAAC;YACpB,mBAAmB,EAAC,CAAC,IAAI,CAAC;YAC1B,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACpC,CAAC,CAAC;QAIH,2EAA2E;QACzE,8CAA8C;IAChD,CAAC;IAED,kDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,gDAAY,GAAZ;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,OAAO,EAAC,CAAC,EAAE,CAAC;YACZ,aAAa,EAAG,CAAC,EAAE,CAAC;YACpB,gBAAgB,EAAC,CAAC,EAAE,CAAC;YACrB,uBAAuB,EAAC,CAAC,EAAE,CAAC;YAC5B,MAAM,EAAE,CAAC,EAAE,CAAC;YACZ,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,gBAAgB,EAAG,CAAC,EAAE,CAAC;SACxB,CAAC,CAAC;IACP,CAAC;IACD,oDAAgB,GAAhB;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAc,CAAC;QAE7E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,uDAAmB,GAAnB,UAAoB,KAAK;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAc,CAAC;QAC3E,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YAChC,2DAA2D;YAC3D,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAC,EAAE;QAC1B,CAAC;QAAA,IAAI,EAAC;YACR,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IACD,qDAAiB,GAAjB,UAAkB,GAAG;QAEnB,EAAE,EAAC,GAAG,IAAE,KAAK,CAAC,CACd,CAAC;YACC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QACD,EAAE,EAAC,GAAG,IAAE,IAAI,CAAC,EAAC;YACZ,gEAAgE;YACjE,IAAM,OAAO,GAAa,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC1E,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpB,2BAA2B;YAC3B,4BAA4B;YAC5B,2BAA2B;YAC3B,MAAM;YACN,kCAAkC;QACjC,CAAC;IACJ,CAAC;IACD,gDAAY,GAAZ;QAAA,iBA+CC;QA9CC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;YACpD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,cAAc,GAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAC5E,EAAE,EAAC,GAAG,CAAC,UAAU,IAAE,IAAI,CAAC,EAAC;gBACvB,KAAI,CAAC,gBAAgB,GAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,SAAS,IAAI,IAAI,EAArB,CAAqB,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC;YACpC,CAAC;YACD,IAAI,iBAAiB,GAAK,EAAE;YAC5B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBACjC,iBAAiB,GAAC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACjD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;YAE5F,CAAC;YACD,IAAI,mBAAmB,GAAK,EAAE;YAC9B,EAAE,EAAC,KAAI,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAC3B,mBAAmB,GAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;oBAC7C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBAChF,CAAC,CAAC;gBACF,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAE3F,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,KAAI,CAAC,qBAAqB,CAAC;QAC7D,CAAC,CAAC;QAEF,IAAI,WAAW,GAAG,WAAW,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,cAAI;YAClD,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC5B,CAAC;gBACC,KAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACpE,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC,CAAC;IAGP,CAAC;IACD,kDAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IAED,6DAAyB,GAAzB,UAA0B,KAAK,EAAC,CAAC;QAC/B,mCAAmC;QACrC,IAAI,KAAK,GAAc,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,KAAK,CAAC,CAAC;QAChC,IAAI,QAAQ,GAAkB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/C,oCAAoC;QACnC,UAAU;QAGZ,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,CAAC,CAAC;QACzB,EAAE,EAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YACjB,KAAK,CAAC,OAAO,CAAC,gBAAM;gBAClB,EAAE,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAC;oBACzC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,EAAE,EAAC,WAAW,IAAI,CAAC,CAAC,EAAC;YACrB,gDAAgD;YAChD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,QAAQ,CAAC;YACxB,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACvC,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAI,CAAC,CAAC,EAAC;YAC3B,kDAAkD;YAClD,uFAAuF;YACrF,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,eAAe,EAAE,CAAC;YAC1D,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACxC,oFAAoF;QACpF,CAAC;QAED,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,CAAC;IACnE,CAAC;IACD,2CAAO,GAAP,UAAQ,GAAG,EAAC,CAAC;QACX,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;IACzE,CAAC;IACD,qDAAiB,GAAjB,UAAkB,UAAU;QAA5B,iBAkBC;QAhBC,IAAI,OAAO,GAAQ,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC/C,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QACnD,OAAO,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAC7D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAEzC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;YAC9D,UAAU,CAAC;gBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACrB,CAAC,EAAC,IAAI,CAAC,CAAC;QACZ,CAAC,EAAE,eAAK;QAER,CAAC,CAAC;IACV,CAAC;IAED,kDAAc,GAAd;QAAA,iBA+CC;QA7CC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC;QAE9E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,gBAAgB,CAAc,CAAC;YAC7E,KAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC;YAC9B,EAAE,EAAC,KAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI,IAAI,CAAC,CAC5C,CAAC;gBACC,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;gBAC1D,EAAE,EAAC,KAAI,CAAC,kBAAkB,CAAC,YAAY,IAAE,KAAK,CAAC,EAAC;oBAChD,IAAI,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBAC3E,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBAE9C,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;oBAC7F,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;oBAK3G,EAAE,EAAC,WAAW,CAAC,MAAM,IAAE,CAAC,CAAC,CACzB,CAAC;wBACE,gDAAgD;oBACnD,CAAC;oBAAA,IAAI,CACL,CAAC;wBACC,WAAW,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;4BAG5B,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC,CAAC;4BAC9C,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC;4BACvE,KAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,gBAAgB,EAAC,KAAK,CAAC;wBAC7D,CAAC,CAAC;oBACN,CAAC;oBACD,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAE1E,CAAC;gBAAA,IAAI,CACL,CAAC;oBACC,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;oBACzF,KAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;gBACjH,CAAC;YACH,CAAC;YACD,IAAI,EAAC;gBACJ,+CAA+C;YAChD,CAAC;QACC,CAAC,CAAC;IACN,CAAC;IAxPY,yBAAyB;QAJrC,wEAAS,CAAC;YACT,QAAQ,EAAE,+BAA+B;WACG;SAC7C,CAAC;kCAoBgO;OAnBrN,yBAAyB,CAyPrC;IAAD,CAAC;AAAA;SAzPY,yBAAyB,kB;;;;;;;;;;;;;;;;;;;;;;;;ACpBY;AACO;AACuB;AACkB;AACzB;AACmB;AAE5F;;;;;GAKG;AAOH;IAyBE,oCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,GAAe;QAA3K,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,QAAG,GAAH,GAAG,CAAY;QAnB9L,mBAAc,GAAK,CAAC,UAAU,EAAC,gBAAgB,EAAC,eAAe,EAAC,cAAc,CAAC,CAAC;QAChF,kBAAa,GAAK,CAAC,gBAAgB,EAAC,YAAY,EAAC,SAAS,EAAC,SAAS,EAAC,WAAW,EAAC,0BAA0B,CAAC,CAAC;QAC7G,qBAAgB,GAAK,EAAE,CAAC;QAKjB,2BAAsB,GAAS,CAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,EAAC,2BAA2B,EAAC,gBAAgB,CAAC,CAAC;QACpG,yBAAoB,GAAS,CAAC,MAAM,EAAC,KAAK,EAAC,QAAQ,EAAC,2BAA2B,EAAC,gBAAgB,EAAC,cAAc,CAAC,CAAC;QAEjH,yBAAoB,GAAM,EAAE,CAAC;QAC7B,uBAAkB,GAAM,EAAE,CAAC;QAGlC,aAAa;QACb,eAAe;QAEf,WAAM,GAAQ,CAAC,CAAC;QAkElB,mBAAc,GAAa,KAAK,CAAC;QA9D7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAGlC,4BAA4B;IAI9B,CAAC;IACD,6CAAQ,GAAR;QAEE,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB;aAC1D,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,cAAc,IAAI,CAAC,EAAxB,CAAwB,CAAC,CAAC;QAC1C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB;aACxD,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,cAAc,IAAI,CAAC,EAAxB,CAAwB,CAAC,CAAC;IACzC,CAAC;IAEJ,uBAAuB;IACvB,kDAAa,GAAb;QAAA,iBAuCD;QAtCC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,KAAK,EAAC,CAAC;QAE9D,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CACzC,cAAI;YACF,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC1B,KAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAE3C,CAAC;YACD,IAAI,EAAC;gBACH,IAAI,cAAc,GAAC,EAAE,CAAC;gBACtB,IAAI,YAAY,GAAC,EAAE,CAAC;gBACpB,gDAAgD;gBAChD,EAAE,EAAC,KAAI,CAAC,oBAAoB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBACrC,GAAG,EAAC,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,KAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EACvD,CAAC;wBACC,EAAE,EAAC,CAAC,IAAE,CAAC,CAAC,EAAC;4BACP,IAAI,WAAW,GAAG;gCAChB,aAAa,EAAC,EAAE;gCAChB,WAAW,EAAE,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,cAAc;6BACzD;4BACD,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBACnC,CAAC;wBACD,IAAI,EAAC;4BACH,IAAI,WAAW,GAAG;gCAChB,aAAa,EAAC,EAAE;gCAChB,WAAW,EAAE,EAAE;6BAChB;4BACD,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;wBACnC,CAAC;oBAGH,CAAC;gBACD,CAAC;gBACD,KAAI,CAAC,YAAY,CAAC,cAAc,EAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC;YAG5D,CAAC;QACP,CAAC,EAAE,eAAK,IAAI,YAAI,CAAC,YAAY,GAAS,KAAK,EAA/B,CAA+B,CAAC,CAAC;IAC/C,CAAC;IAID,uDAAkB,GAAlB,UAAmB,IAAI;QACrB,IAAI,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;YAC3E,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;YACrE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAED,iBAAiB;QACf,IAAI,kBAAkB,GAAG,IAAI,iEAAS,CAAC,WAAW,CAAC,GAAG,CAAC,UAAC,IAAI,EAAC,GAAG,IAAK,WAAI,iEAAS,CAAC;YACjF,QAAQ,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC5D,OAAO,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,OAAO,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC1D,UAAU,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,UAAU,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAChE,iBAAiB,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC9E,WAAW,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,WAAW,EAAE,kEAAU,CAAC,QAAQ,CAAC;SACnE,CAAC,EANmE,CAMnE,CAAC,CAAC,CAAC;QACL,eAAe;QACf,IAAI,YAAY,GAAC,EAAE,CAAC;QAElB,IAAI,gBAAgB,GAAG,IAAI,iEAAS,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,IAAI,EAAC,GAAG,IAAK,WAAI,iEAAS,CAAC;YAC7E,QAAQ,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC5D,OAAO,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,OAAO,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC1D,UAAU,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,UAAU,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAChE,iBAAiB,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC9E,WAAW,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,WAAW,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAClE,YAAY,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,YAAY,EAAE,kEAAU,CAAC,QAAQ,CAAC;SAErE,CAAC,EAR+D,CAQ/D,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAClC,IAAI,EAAC,IAAI;YACT,OAAO,EAAC,IAAI;YACZ,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,gBAAgB;YACxB,yBAAyB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC;SAC5D,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAEC,iDAAY,GAAZ,UAAa,OAAO,EAAC,KAAK;QAA1B,iBAqDC;QApDC,iBAAiB;QACjB,IAAI,kBAAkB,GAAG,IAAI,iEAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAC,IAAI,EAAC,GAAG,IAAK,WAAI,iEAAS,CAAC;YAC/F,SAAS,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACzD,QAAQ,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,cAAc,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAClE,OAAO,EAAC,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC1B,QAAQ,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,EAAC,IAAI,mEAAW,CAAC,CAAC,CAAC;YACzB,OAAO,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAClD,WAAW,EAAE,IAAI,mEAAW,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC5D,SAAS,EAAE,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC7B,UAAU,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YACrD,kBAAkB,EAAE,IAAI,mEAAW,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACnE,gBAAgB,EAAE,IAAI,mEAAW,CAAC,CAAC,CAAC;YACpC,iBAAiB,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC5D,kBAAkB,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAClE,UAAU,EAAE,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC9B,WAAW,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;SAEvD,CAAC,EAjBiF,CAiBjF,CAAC,CAAC,CAAC;QACL,eAAe;QACf,IAAI,YAAY,GAAC,EAAE,CAAC;QAElB,IAAI,gBAAgB,GAAG,IAAI,iEAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAC,IAAI,EAAC,GAAG,IAAK,WAAI,iEAAS,CAAC;YAC3F,SAAS,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACvD,QAAQ,EAAC,IAAI,mEAAW,CAAC,IAAI,CAAC,cAAc,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAClE,OAAO,EAAC,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC1B,QAAQ,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,EAAC,IAAI,mEAAW,CAAC,CAAC,CAAC;YACzB,OAAO,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAClD,WAAW,EAAE,IAAI,mEAAW,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAC1D,SAAS,EAAE,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC7B,UAAU,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YACrD,kBAAkB,EAAE,IAAI,mEAAW,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACjE,gBAAgB,EAAE,IAAI,mEAAW,CAAC,CAAC,CAAC;YACpC,iBAAiB,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAC5D,kBAAkB,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAChE,UAAU,EAAE,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC9B,WAAW,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;YACtD,iBAAiB,EAAC,IAAI,mEAAW,CAAC,KAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAC/D,WAAW,EAAC,IAAI,mEAAW,CAAC,CAAC,CAAC;YAC9B,YAAY,EAAC,IAAI,mEAAW,CAAC,IAAI,EAAE,kEAAU,CAAC,QAAQ,CAAC;SAExD,CAAC,EApB6E,CAoB7E,CAAC,CAAC,CAAC;QAEP,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAClC,IAAI,EAAC,IAAI;YACT,OAAO,EAAC,IAAI;YACZ,QAAQ,EAAE,kBAAkB;YAC5B,MAAM,EAAE,gBAAgB;YACxB,yBAAyB,EAAC,IAAI;SAC/B,CAAC,CAAC;QACP,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IACzB,CAAC;IAGD,sBAAI,uDAAe;QADnB,qCAAqC;aACrC,cAAwB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAc,CAAC,CAAC,CAAC;;;OAAA;IAGjF,sBAAI,qDAAa;QADjB,mCAAmC;aACnC,cAAqB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAc,CAAC,EAAC;;;OAAA;IAE5E,8BAA8B;IAC9B,sDAAiB,GAAjB;QAAA,iBASA;QARC,IAAI,QAAQ,GAAE,eAAe,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CAC5C,cAAI;YACF,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAC3B,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEvC,CAAC;QACP,CAAC,EAAE,eAAK,IAAI,YAAI,CAAC,YAAY,GAAS,KAAK,EAA/B,CAA+B,CAAC,CAAC;IAC7C,CAAC;IAED,uBAAuB;IACvB,uDAAkB,GAAlB,UAAmB,QAAY;QAA/B,iBAsDC;QArDC,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAC;YACzB,IAAI,uBAAqB,GAAK,EAAE,CAAC;YAChC,IAAI,qBAAmB,GAAK,EAAE,CAAC;YAEhC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,GAAG;gBACpC,EAAE,EAAC,GAAG,IAAE,CAAC,CAAC,EAAC;oBACT,uBAAqB,CAAC,IAAI,CAAC;wBACzB,UAAU,EAAC,OAAO,CAAC,QAAQ;wBAC3B,SAAS,EAAC,OAAO,CAAC,OAAO;wBACzB,YAAY,EAAC,OAAO,CAAC,UAAU;wBAC/B,mBAAmB,EAAC,OAAO,CAAC,iBAAiB;wBAC7C,aAAa,EAAC,OAAO,CAAC,WAAW;qBAClC,CAAC;gBACJ,CAAC;YAEH,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,UAAC,SAAS,EAAC,KAAK;gBACtC,qBAAmB,CAAC,IAAI,CAAC;oBAEvB,UAAU,EAAC,SAAS,CAAC,QAAQ;oBAC7B,SAAS,EAAC,SAAS,CAAC,OAAO;oBAC3B,mBAAmB,EAAC,SAAS,CAAC,iBAAiB;oBAC/C,YAAY,EAAC,SAAS,CAAC,UAAU;oBACjC,aAAa,EAAC,SAAS,CAAC,WAAW;oBACnC,cAAc,EAAC,SAAS,CAAC,YAAY;iBACtC,CAAC;YAEJ,CAAC,CAAC,CAAC;YAEN,IAAI,YAAY,GAAK;gBACpB,MAAM,EAAG,IAAI,CAAC,SAAS,CAAC,KAAK;gBAC7B,QAAQ,EAAG,KAAK;gBAChB,cAAc,EAAC,IAAI,CAAC,KAAK;gBAC3B,wBAAwB,EAAC,uBAAqB;gBAC9C,sBAAsB,EAAC,qBAAmB;gBAC1C,2BAA2B,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,KAAK;aACpF,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,gBAAM;gBACnD,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAAC,CAAC;oBAE/B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;oBAC9D,UAAU,CAAC;wBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;oBACR,+CAA+C;gBACjD,CAAC;gBACD,IAAI,CAAC,CAAC;oBACJ,wEAAwE;gBAC1E,CAAC;YACH,CAAC,EAAE,eAAK;gBACP,wEAAwE;YACzE,CAAC,CAAC,CAAC;QACH,CAAC;IACH,CAAC;IAlQY,0BAA0B;QAJtC,wEAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;WACG;SAC9C,CAAC;mCA0B8L;OAzBnL,0BAA0B,CAoQtC;IAAD,CAAC;AAAA;SApQY,0BAA0B,kB;;;;;;;;;;;;;;;;;;;;;;;;ACnBG;AACe;AACuB;AACP;AACyB;AACN;AAE5F;;;;;GAKG;AAOH;IAME,kCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,KAAmB,EAAQ,OAAgC,EAAQ,EAAc;QAA1K,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAC3L,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC9B;YACE,UAAU,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3D,YAAY,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,eAAe,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,aAAa,EAAC,CAAC,IAAI,CAAC;YACpB,WAAW,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC9B,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAG5B,CAAC;IAED,iDAAc,GAAd;QACC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACxD,CAAC;IAED,mDAAgB,GAAhB;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,YAAY,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,gBAAgB,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,kBAAkB,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnE,UAAU,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3D,OAAO,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,cAAc,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,aAAa,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,cAAc,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,WAAW,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,eAAe,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,oBAAoB,EAAC,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrD,IAAI,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrD,eAAe,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,UAAU,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3D,iBAAiB,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,eAAe,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,iBAAiB,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACnE,CAAC;IACN,CAAC;IAED,uDAAoB,GAApB;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,IAAI,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrD,SAAS,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,YAAY,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,iBAAiB,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,SAAS,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,aAAa,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SAE/D,CAAC,CAAC;IACP,CAAC;IAED,gDAAa,GAAb;QAEG,IAAM,OAAO,GAAc,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAc,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,oDAAiB,GAAjB,UAAkB,CAAC;QAEjB,IAAM,OAAO,GAAe,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAc,CAAC;QAEhH,8BAA8B;QAC7B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAE7C,CAAC;IAED,uDAAoB,GAApB,UAAqB,SAAS,EAAC,YAAY;QAEvC,IAAM,OAAO,GAAe,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAc,CAAC;QAExH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,mDAAgB,GAAhB,UAAiB,CAAC;QAEhB,IAAM,OAAO,GAAe,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAe,CAAC;QACnF,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,CACrB,CAAC;YACC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACnD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,oDAAiB,GAAjB,UAAkB,UAAU;QAA5B,iBAiCC;QA/BC,IAAI,OAAO,GAAK,EAAE;QAGtB,8BAA8B;QAC1B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QAC3C,OAAO,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC/C,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;QACrD,EAAE,EAAC,UAAU,CAAC,eAAe,IAAE,QAAQ,CAAC,CACxC,CAAC;YACC,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa;QAClD,CAAC;QACD,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,QAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAE,IAAI,CAAC,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,EAA1D,CAA0D,CAAC,CAAC;QAE9G,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAExC,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CACzB,CAAC;gBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;QACL,CAAC,CAAC;QACJ,QAAQ;QACR,IAAI;QACJ,uDAAuD;QACvD,IAAI;IACN,CAAC;IAED,mDAAgB,GAAhB;QAAA,iBA6DC;QA3DC,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,IAAI,aAAa,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBACnC,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,CACxD,CAAC,GAAG,CAAC,UAAS,GAAG;oBACd,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,CAChC,GAAG,CAAC,CAAC;gBAEV,CAAC,CAAC,CAAC;gBACH,IAAI,WAAW,GAAG,EAAE,CAAC;gBACrB,IAAI,OAAO,GAAe,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAe,CAAC;gBACjF,IAAI,cAAc,CAAC;gBACjB,UAAU,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;oBAGzB,wBAAwB;oBACxB,sEAAsE;oBACtE,IAAI;oBAGJ,qCAAqC;oBACrC,OAAO;oBACP,UAAU,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBAInF,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;oBACrC,cAAc,GAAe,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAc,CAAC;oBAErH,UAAU,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,GAAG;wBAE/C,0CAA0C;wBAE1C,6CAA6C;wBAC7C,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;oBACnD,CAAC,CAAC,CAAC;oBAEH,oDAAoD;gBACxD,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC3E,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAC/E,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;gBACrF,EAAE,EAAC,aAAa,CAAC,eAAe,IAAE,QAAQ,CAAC,EAAC;oBAC5C,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC;wBAC1C,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gBACxC,CAAC;gBAEF,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC/D,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,KAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,8BAA8B;YAC5B,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IACD,+DAA4B,GAA5B,UAA6B,KAAK,EAAC,IAAI;QAErC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,IAAI,EAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAChB,SAAS,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YAC1B,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YAChC,iBAAiB,EAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC1C,SAAS,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YAC1B,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;SACnC,CAAC,CAAC;IACP,CAAC;IAED,wDAAqB,GAArB,UAAsB,SAAc;QAApC,iBAYC;QAXC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,eAAK;YACzC,IAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAErC,EAAE,CAAC,CAAC,OAAO,YAAY,mEAAW,CAAC,CAAC,CAAC;gBACjC,OAAO,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,YAAY,iEAAS,CAAC,CAAC,CAAC;gBACtC,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,YAAY,iEAAS,CAAC,CAAC,CAAC;gBACtC,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IA9NU,wBAAwB;QAJpC,wEAAS,CAAC;YACT,QAAQ,EAAE,8BAA8B;WACG;SAC5C,CAAC;iCAO6L;OANlL,wBAAwB,CA+NpC;IAAD,CAAC;AAAA;SA/NY,wBAAwB,kB;;;;;;;;;;;;;;;;;;;;;;;;;ACnBK;AACe;AACuB;AACZ;AAC8B;AACzB;AAC2B;AAEpG;;;;;GAKG;AAOH;IAkBE,oCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,EAAc,EAAQ,OAAgC,EAAQ,KAAmB;QAA1K,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAC3L,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC/B;YACE,YAAY,EAAC,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,IAAI,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrD,MAAM,EAAC,CAAC,IAAI,CAAC;YACb,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,YAAY,EAAC,CAAC,IAAI,CAAC;SACpB,CAAC;IACR,CAAC;IAED,mDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IACD,oDAAe,GAAf;QAEE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IACD,gDAAW,GAAX,UAAY,MAAM;QAGhB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wHAA0B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,QAAQ,EAAC,MAAM,EAAC,CAAC,CAAC;IAC7F,CAAC;IAED,qDAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBAsBC;QAnBG,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAC3B,CAAC;YAIC,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAC,CAAC;YAElD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,iCAAiC,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBAEjF,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;oBACC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,CAAC;gBAAA,IAAI,CACL,CAAC;gBAED,CAAC;YACL,CAAC,CAAC;QAEN,CAAC;IACL,CAAC;IAED,sDAAiB,GAAjB;QAAA,iBAkDC;QAhDC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAErE,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACG,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;gBACnE,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,MAAM,IAAG,CAAC,CAAC,CAC9C,CAAC;oBACK,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC/B,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,MAAM,IAAG,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,MAAM,IAAG,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,4BAA4B,CAAC,MAAM,IAAG,CAAC,CAAC,CACxK,CAAC;oBACG,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC1B,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,MAAM,IAAG,CAAC,CAAC,CAC/C,CAAC;oBACG,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,MAAM,IAAG,CAAC,CAAC,CACjD,CAAC;oBACG,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBACjC,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,MAAM,IAAG,CAAC,CAAC,CACnD,CAAC;oBACC,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;gBAED,EAAE,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,IAAG,CAAC,CAAC,EAAC;oBACvC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC9C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC;oBACzC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC7C,CAAC;gBAED,EAAE,EAAC,KAAI,CAAC,WAAW,KAAI,SAAS,CAAC,CACjC,CAAC;oBACC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACtB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBACnE,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBACvE,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACvF,CAAC;YAEL,CAAC;YAAA,IAAI,CACL,CAAC;gBACG,KAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YACjC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAxHU,0BAA0B;QAJtC,wEAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;WACG;SAC9C,CAAC;mCAmB6L;OAlBlL,0BAA0B,CA4HtC;IAAD,CAAC;AAAA;SA5HY,0BAA0B,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBc;AACY;AACe;AACkB;AACzB;AACK;AACyB;AACiB;AAER;AACA;AACG;AACiB;AAGpI;;;;;GAKG;AAOH;IA6BE,oCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,EAAc;QAA1K,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,OAAE,GAAF,EAAE,CAAY;QAtB7L,gBAAW,GAAM,EAAE,CAAC;QAGpB,kBAAa,GAAM,EAAE,CAAC;QAGtB,2BAAsB,GAAM,EAAE,CAAC;QAC/B,6BAAwB,GAAO,EAAE,CAAC;QAClC,0BAAqB,GAAO,EAAE,CAAC;QAE/B,uBAAkB,GAAM,IAAI,CAAC;QAQ7B,WAAM,GAAO,EAAE,CAAC;QAKd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE3C,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CACnB,CAAC;YACC,KAAK,CAAC;gBACN,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;gBAC7B,KAAK,CAAC;YACN,KAAK,CAAC;gBACN,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;gBAChC,KAAK,CAAC;YACN,KAAK,CAAC;gBACN,IAAI,CAAC,QAAQ,GAAG,uBAAuB,CAAC;gBACxC,KAAK,CAAC;YACN,KAAK,CAAC;gBACN,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC;gBAClC,KAAK,CAAC;YACN;gBACA,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;gBAChC,KAAK,CAAC;QACR,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC/B;YACE,MAAM,EAAC,CAAC,IAAI,CAAC;YACb,0BAA0B,EAAC,CAAC,IAAI,CAAC;YACjC,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,UAAU,EAAC,CAAC,IAAI,CAAC;YACjB,YAAY,EAAC,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAE1B,CAAC,CAAC;QAKD,sBAAsB;IAI5B,CAAC;IAED,mDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IAMC,oDAAe,GAAf;IAEA,CAAC;IACD,oDAAe,GAAf;QAEA,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC1B,CAAC;IAQD,kDAAa,GAAb;QAEE,IAAI,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC;QAChE,IAAI,0BAA0B,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,KAAK,CAAC;QAChG,EAAE,EAAC,UAAU,IAAG,IAAI,IAAI,0BAA0B,IAAG,IAAI,CAAC,CAC1D,CAAC;YACC,IAAI,KAAK,GAAG,0BAA0B,GAAG,CAAC,UAAU,GAAC,GAAG,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEH,6CAAQ,GAAR,UAAS,UAAU;QAAnB,iBAeC;QAbG,IAAI,OAAO,GAAO,EAAE,CAAC;QAErB,OAAO,GAAE,EAAC,SAAS,EAAC,UAAU,EAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,2CAA2C,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE7F,oBAAoB;YACpB,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,KAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;IACR,CAAC;IAED,uDAAkB,GAAlB;QAAA,iBAuEC;QArEC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAE,EAAE,CAAC;QAC1B,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAEvE,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,IAAI,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;gBAC/D,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,4BAA4B,CAAC;gBACpE,KAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC;gBACtE,KAAI,CAAC,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC;gBACvD,KAAI,CAAC,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;gBACvE,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC;gBAClC,IAAI,MAAM,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAS,CAAC,EAAE,CAAC;oBAEtD,MAAM,CAAC,CAAC,CAAC;gBACX,CAAC,EAAC,EAAE,CAAC,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAGlB,KAAI,CAAC,wBAAwB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC;gBACjE,KAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC;gBAC5D,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC;gBAC7D,4CAA4C;gBAC1C,iDAAiD;gBAU/C,KAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,UAAC,WAAW,EAAE,SAAS;oBACzD,IAAI,iBAAiB,GAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,aAAG,IAAI,QAAC,EAAE,MAAM,EAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAA/C,CAA+C,CAAC,CAAC;oBAClH,IAAI,SAAS,GAAM,EAAE,CAAC;oBACtB,iBAAiB,CAAC,OAAO,CAAC,UAAC,aAAa,EAAE,WAAW;wBACpD,IAAI,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,SAAS,IAAK,UAAG,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAnC,CAAmC,EAAE,CAAC,CAAC,CAAC;wBAC5G,SAAS,CAAC,IAAI,CAAC,EAAC,KAAK,EAAC,aAAa,EAAE,UAAU,EAAC,cAAc,EAAC,CAAC;oBACjE,CAAC,CAAC;oBACF,IAAI,sBAAsB,GAAQ,SAAS,CAAC,MAAM,CAAC,UAAC,IAAI,EAAE,UAAU,IAAK,WAAI,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAApC,CAAoC,EAAE,CAAC,CAAC,CAAC;oBAE/G,IAAI,WAAW,GAAa,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC;oBAClD,IAAI,aAAa,GAAM,EAAE,CAAC;oBAC1B,aAAa,CAAC,IAAI,CAAC;wBACjB,aAAa,EAAE,SAAS,CAAC,MAAM,GAAG,iBAAiB,GAAE,sBAAsB;wBAC3E,WAAW,EAAC,sBAAsB;wBAClC,YAAY,EAAE,0BAA0B,GAAE,sBAAsB,GAAG,WAAW;wBAC9E,UAAU,EAAE,sBAAsB,GAAG,WAAW;qBACjD,CAAC;oBACF,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,WAAW,CAAC,UAAU,EAAE,cAAc,EAAC,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAC,KAAK,EAAC,WAAW,CAAC,MAAM,EAAC,CAAC,CAAC;gBAC9J,CAAC,CAAC,CAAC;gBAGH,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,qBAAqB,CAAC,CAAC;gBAChD,EAAE,EAAC,WAAW,KAAG,SAAS,CAAC,EAAC;oBAC5B,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBAClE,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;oBAC1G,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;oBAC9E,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAE1E,CAAC;YAEH,CAAC;QACH,CAAC,CAAC;IAEN,CAAC;IAED;;OAEG;IAEH,oDAAe,GAAf;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2HAA2B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,OAAO,EAAC,IAAI,EAAC,aAAa,EAAC,IAAI,CAAC,eAAe,EAAC,CAAC,CAAC;IAE9H,CAAC;IAED,gDAAW,GAAX,UAAY,QAAQ;QAElB,IAAI,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,MAAM,IAAE,QAAQ,EAApB,CAAoB,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2HAA2B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,OAAO,EAAC,SAAS,EAAC,aAAa,EAAC,IAAI,CAAC,eAAe,EAAC,CAAC,CAAC;IAEnI,CAAC;IACD,mDAAc,GAAd,UAAe,YAAY;QAEzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2HAA2B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,OAAO,EAAC,YAAY,EAAC,aAAa,EAAC,IAAI,CAAC,eAAe,EAAC,CAAC,CAAC;IACtI,CAAC;IAED,iCAAiC;IAEjC,yDAAoB,GAApB;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4IAAgC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,aAAa,EAAC,IAAI,CAAC,eAAe,EAAC,CAAC;IACvI,CAAC;IACD,0DAAqB,GAArB,UAAsB,KAAK;QAEzB,IAAI,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,MAAM,IAAE,KAAK,EAAjB,CAAiB,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4IAAgC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,YAAY,EAAC,gBAAgB,EAAC,aAAa,EAAC,IAAI,CAAC,eAAe,EAAC,CAAC;IAEnJ,CAAC;IAED,4BAA4B;IAC5B,oDAAe,GAAf;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oIAA8B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,UAAU,EAAC,IAAI,EAAC,CAAC,CAAC;IAEjG,CAAC;IAED,wDAAmB,GAAnB,UAAoB,WAAW;QAE7B,IAAI,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,WAAW,IAAE,WAAW,EAA5B,CAA4B,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oIAA8B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,CAAC,CAAC;IAEtG,CAAC;IACD,2DAAsB,GAAtB,UAAuB,eAAe;QAEpC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,eAAe,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oIAA8B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,UAAU,EAAC,eAAe,EAAC,CAAC,CAAC;IAC5G,CAAC;IAGD,sBAAsB;IACtB,mDAAc,GAAd;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oIAA8B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;IAEhG,CAAC;IAED,uDAAkB,GAAlB,UAAmB,UAAU;QAE3B,IAAI,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,aAAa,IAAE,UAAU,EAA7B,CAA6B,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oIAA8B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,CAAC;IAErG,CAAC;IACD,0DAAqB,GAArB,UAAsB,cAAc;QAElC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oIAA8B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,SAAS,EAAC,cAAc,EAAC,CAAC,CAAC;IAC1G,CAAC;IAGD,iCAAiC;IACjC,wDAAmB,GAAnB;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wIAA+B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;IAEjG,CAAC;IAED,4DAAuB,GAAvB,UAAwB,UAAU;QAEhC,IAAI,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,oBAAoB,IAAE,UAAU,EAApC,CAAoC,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wIAA+B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,CAAC;IAEtG,CAAC;IACD,+DAA0B,GAA1B,UAA2B,cAAc;QAEvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wIAA+B,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,SAAS,EAAC,cAAc,EAAC,CAAC,CAAC;IAC3G,CAAC;IAED;;OAEG;IACH,kDAAa,GAAb;QAEE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yJAAoC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,QAAQ,EAAC,IAAI,EAAC,CAAC,CAAC;IAErG,CAAC;IAED,sDAAiB,GAAjB,UAAkB,UAAU;QAE1B,IAAI,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,qBAAqB,IAAE,UAAU,EAArC,CAAqC,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yJAAoC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,CAAC,CAAC;IAE1G,CAAC;IACD,yDAAoB,GAApB,UAAqB,cAAc;QAEjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yJAAoC,EAAC,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,QAAQ,EAAC,cAAc,EAAC,CAAC,CAAC;IAC/G,CAAC;IAvTU,0BAA0B;QAJtC,wEAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;WACG;SAC9C,CAAC;mCA8B6L;OA7BlL,0BAA0B,CAyTtC;IAAD,CAAC;AAAA;SAzTY,0BAA0B,kB;;;;;;;;;;;;;;;;;;;;;;;;AC3BG;AACe;AACuB;AACD;AACmB;AACzB;AAEzE;;;;;GAKG;AAOH;IAYE,qCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,EAAc,EAAQ,OAAgC,EAAQ,KAAmB;QAA1K,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAT7L,cAAS,GAAO,EAAE,CAAC;QACnB,WAAM,GAAM,EAAE,CAAC;QASb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC/B;YAEE,gBAAgB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACnC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,EAAE,EAAC,IAAI,CAAC,SAAS,IAAE,IAAI,CAAC,CACxB,CAAC;YACG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QACH,sBAAsB;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,oDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IAED,iDAAW,GAAX;QAAA,iBAeC;QAbC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACzD,CAAC;QACD,CAAC,CAAC,CAAC;IACT,CAAC;IAED,oDAAc,GAAd;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,MAAM,EAAC,CAAC,IAAI,CAAC;YACb,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAE/B,UAAU,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3D,SAAS,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,SAAS,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,aAAa,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,eAAe,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,iBAAiB,EAAC,CAAC,IAAI,CAAC;YACxB,UAAU,EAAC,CAAC,IAAI,CAAC;YACjB,cAAc,EAAC,CAAC,IAAI,CAAC;YACrB,kBAAkB,EAAC,CAAC,IAAI,CAAC;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,iDAAW,GAAX;QAEE,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAC;YAC5B,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACpC,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,oDAAc,GAAd,UAAe,CAAC;QAEd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAExB,qBAAqB;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,GAAC,CAAC,EAAH,CAAG,EAAC,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAC;QAChF,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,CACrB,CAAC;YACC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QAAE,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IACF;;;;;;;;;;YAUQ;IACP,kDAAY,GAAZ,UAAa,KAAK,EAAC,OAAO;QAExB,8BAA8B;QAC5B,IAAI,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;QAChD,IAAI,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QACvC,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QACtC,+CAA+C;QAC/C,4BAA4B;QAC5B,IAAI,MAAM;QACV,EAAE,EAAC,QAAQ,IAAE,IAAI,IAAI,GAAG,IAAE,IAAI,CAAC,EAAC;YAChC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CAClB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACG,MAAM,GAAG,CAAC,QAAQ,GAAC,GAAG,GAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBAC9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,QAAQ,GAAC,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,QAAQ,GAAC,GAAG,GAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CACL,CAAC;YAED,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,GAAC,CAAC,EAAH,CAAG,EAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,sEAAsE;QACxE,CAAC;QAKC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,kDAAY,GAAZ,UAAa,OAAO;QAElB,wBAAwB;QACvB,IAAI,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QAC3C,IAAI,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;QACjD,IAAI,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACxD,IAAI,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QACxC,wCAAwC;QACxC,IAAI,KAAK,GAAO,EAAE,CAAC;QACnB,EAAE,EAAC,UAAU,IAAG,IAAI,IAAI,aAAa,IAAG,IAAI,CAAC,EAAC;YAC9C,EAAE,EAAC,UAAU,IAAG,IAAI,CAAC,CACrB,CAAC;gBACC,KAAK,GAAG,CAAC,iBAAiB,GAAG,CAAC,CAAC,UAAU,GAAC,GAAG,CAAC,CAAC;YACjD,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACpB,KAAK,GAAG,CAAC,SAAS,GAAE,CAAC,aAAa,CAAC;YACrC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IACD,8CAAQ,GAAR,UAAS,UAAU;QAAnB,iBAYC;QAVC,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,UAAU,CAAC,gBAAgB,EAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,6CAA6C,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE/F,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACnB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;YAChE,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IAED,sDAAgB,GAAhB,UAAiB,SAAS;QAA1B,iBAaC;QAXC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAC;QAEjF,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI,EAAC,KAAK;YAE3B,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,iBAAiB;YAC3C,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;QACJ,uEAAuE;QACvE,0BAA0B;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,GAAC,CAAC,EAAH,CAAG,EAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,yDAAmB,GAAnB,UAAoB,IAAI;QAEtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,MAAM,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,UAAU,EAAC,CAAC,IAAI,CAAC,UAAU,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,SAAS,EAAC,CAAC,IAAI,CAAC,SAAS,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,SAAS,EAAC,CAAC,IAAI,CAAC,SAAS,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5E,eAAe,EAAC,CAAC,IAAI,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,iBAAiB,EAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC1C,UAAU,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5B,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACpC,kBAAkB,EAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;SAC7C,CAAC,CAAC;IACP,CAAC;IA3OU,2BAA2B;QAJvC,wEAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;WACG;SAC/C,CAAC;oCAa6L;OAZlL,2BAA2B,CA4OvC;IAAD,CAAC;AAAA;SA5OY,2BAA2B,kB;;;;;;;;;;;;;;;;;;;;;;;;;ACnBE;AACe;AACuB;AACD;AACmB;AACzB;AACE;AAE3E;;;;;GAKG;AAOH;IASE,0CAAmB,OAAsB,EAAS,SAAoB,EAAS,GAAuB,EAAS,OAAiC,EAAS,KAAoB,EAAS,EAAe,EAAQ,QAA0B;QAApN,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,QAAG,GAAH,GAAG,CAAoB;QAAS,YAAO,GAAP,OAAO,CAA0B;QAAS,UAAK,GAAL,KAAK,CAAe;QAAS,OAAE,GAAF,EAAE,CAAa;QAAQ,aAAQ,GAAR,QAAQ,CAAkB;QA8CvO,YAAO,GAAG,EAAE,CAAC;QACb,aAAQ,GAAG,EAAE,CAAC;QA9CZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAC,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACjC;YACE,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACjC,CAAC;QACJ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE/B,CAAC;IACH,CAAC;IAED,yDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;IAED,kEAAuB,GAAvB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,MAAM,EAAE,CAAC,IAAI,CAAC;YACd,UAAU,EAAE,CAAC,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAChC,UAAU,EAAE,CAAC,IAAI,CAAC;YAClB,YAAY,EAAE,CAAC,IAAI,CAAC;YACpB,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1B,QAAQ,EAAE,CAAC,GAAG,CAAC;SAChB,CAAC,CAAC;IACP,CAAC;IACD,sEAA2B,GAA3B;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,OAAO,EAAE,CAAC,IAAI,CAAC;YACf,SAAS,EAAE,CAAC,IAAI,CAAC;YACjB,UAAU,EAAE,CAAC,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,WAAW,EAAE,CAAC,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,QAAQ,EAAE,CAAC,GAAG,CAAC;SAChB,CAAC;IACJ,CAAC;IAGD,uDAAY,GAAZ,UAAa,QAAQ,EAAC,KAAK,EAAC,GAAG;QAE7B,IAAI,QAAQ,GAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACvE,IAAI,eAAe,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;QAE7C,EAAE,CAAC,CAAC,eAAe,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,IAAG,IAAI,CAAC,CAAC,CAAC;YACjE,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC9B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAE9C,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC;wBACvC,UAAU,GAAG,IAAI,CAAC;wBAClB,SAAS,GAAG,CAAC,CAAC;oBAChB,CAAC;gBACH,CAAC;gBAED,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBAGf,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;oBAC7F,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBAC9C,UAAU,GAAG,KAAK,CAAC;oBACnB,SAAS,GAAG,CAAC,CAAC;gBAEhB,CAAC;gBAAC,IAAI,CAAC,CAAC;oBAEN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;oBAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAChI,CAAC;YAGH,CAAC;YAAC,IAAI,CAAC,CAAC;gBAEN,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC/E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAE3C,IAAI,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,QAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAf,CAAe,EAAE,CAAC,CAAC,CAAC;YAExE,wDAAwD;YACxD,IAAI,KAAK,GAAG,cAAc,GAAC,UAAU,CAAE;YAEvC,IAAI,UAAU,GAAG,KAAK,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;YACjD,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEtD,CAAC;IAEH,CAAC;IACD,gEAAqB,GAArB;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAc,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;YAE7C,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,mEAAwB,GAAxB,UAAyB,KAAK;QAC5B,iCAAiC;QACjC,IAAM,OAAO,GAAe,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;QAE1G,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,CAAC;QACjD,IAAI;IACN,CAAC;IAED,kEAAuB,GAAvB,UAAwB,KAAK;QAE3B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC;QAC7B,IAAM,OAAO,GAAe,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAe,CAAC;QACxF,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;QACxD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,sEAA2B,GAA3B,UAA4B,SAAS,EAAE,cAAc;QACnD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAM,OAAO,GAAe,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;QACnH,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,CACrB,CAAC;YACD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YACjC,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,mDAAQ,GAAR,UAAS,UAAU;QAAnB,iBAYC;QAXC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,IAAI,OAAO,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,kCAAkC,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBACvF,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;oBAC9B,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACnB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IAGH,CAAC;IACD,4DAAiB,GAAjB,UAAkB,cAAc;QAAhC,iBAyBC;QAvBC,IAAM,OAAO,GAAc,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,CAAc,CAAC;QACjF,IAAI,iBAAiB,CAAC;QACtB,IAAI,oBAAoB,GAAG,EAAE,CAAC;QAC9B,cAAc,CAAC,OAAO,CAAC,UAAC,GAAG,EAAE,KAAK;YAEhC,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,iBAAiB,GAAe,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAc,CAAC;YAEnH,oBAAoB,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,aAAG,IAAI,UAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAjB,CAAiB,CAAC,CAAC;YAEtF,oBAAoB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,UAAC,IAAI,EAAE,GAAG;oBACrB,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAEzC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/I,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;gBACzE,CAAC,CAAC;YAIJ,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6DAAkB,GAAlB,UAAmB,IAAI;QAErB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,QAAQ,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAChC,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAC1B,QAAQ,EAAE,CAAC,GAAG,CAAC;YACf,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YAC7B,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;SAClC,CAAC;IACN,CAAC;IACD,kEAAuB,GAAvB,UAAwB,IAAI,EAAE,KAAK;QAGjC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YACvB,SAAS,EAAE,CAAC,KAAK,CAAC;YAClB,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxE,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1E,QAAQ,EAAE,CAAC,GAAG,CAAC;SAChB,CAAC;IAEN,CAAC;IApNU,gCAAgC;QAJ5C,wEAAS,CAAC;YACT,QAAQ,EAAE,uCAAuC;WACG;SACrD,CAAC;yCAUuO;OAT5N,gCAAgC,CAqN5C;IAAD,CAAC;AAAA;SArNY,gCAAgC,mB;;;;;;;;;;;;;;;;;;;;;;;;ACpBH;AACe;AACsB;AACmB;AACzB;AACO;AAEhF;;;;;GAKG;AAOH;IAUE,wCAAmB,OAAsB,EAAS,EAAc,EAAQ,SAAoB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,GAAsB;QAA1K,YAAO,GAAP,OAAO,CAAe;QAAS,OAAE,GAAF,EAAE,CAAY;QAAQ,cAAS,GAAT,SAAS,CAAW;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAH7L,WAAM,GAAQ,EAAE,CAAC;QAIf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAClC;YACE,QAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC3B,CAAC,CAAC;QACH,EAAE,EAAC,IAAI,CAAC,eAAe,IAAE,IAAI,CAAC,CAC9B,CAAC;YACC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,uDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAGD,8DAAqB,GAArB;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,WAAW,EAAC,CAAC,IAAI,CAAC;YAClB,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,aAAa,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,YAAY,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,SAAS,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,aAAa,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,eAAe,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,qBAAqB,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,QAAQ,EAAC,CAAC,GAAG,CAAC;YACd,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC;IACN,CAAC;IAED,oDAAW,GAAX;QAAA,iBAsBC;QApBC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACzD,CAAC;QACD,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,aAAG;YAExD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC;IACR,CAAC;IACD,2DAAkB,GAAlB;QAEE,IAAM,OAAO,GAAc,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAc;QACjF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,8DAAqB,GAArB,UAAsB,CAAC;QAErB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAExB,qBAAqB;QACrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QAChE,IAAM,OAAO,GAAc,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAc;QACjF,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAGD,qDAAY,GAAZ,UAAa,KAAK,EAAC,OAAO;QAExB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;QACzB,IAAI,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;QAChD,IAAI,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;QAC7C,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,WAAW,EAAC,GAAG,EAAC,KAAK,CAAC,CAAC;QAC/C,4BAA4B;QAC5B,IAAI,MAAM;QACV,EAAE,EAAC,WAAW,IAAE,IAAI,IAAI,GAAG,IAAE,IAAI,CAAC,EAAC;YACnC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CAClB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACG,MAAM,GAAG,CAAC,WAAW,GAAC,GAAG,GAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBAC9B,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,WAAW,GAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBAC5B,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,WAAW,GAAC,GAAG,GAAC,EAAE,CAAC,CAAC;gBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBAC5B,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CACL,CAAC;YAED,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QAClE,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qCAAqC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IACD,yDAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBAmBC;QAjBC,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAC;YAC/B,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,UAAU,CAAC,QAAQ,EAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,OAAO,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,mCAAmC,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBAErF,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;oBACE,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACnB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;oBAC/D,6BAA6B;gBAE/B,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,2DAAkB,GAAlB,UAAmB,eAAe;QAAlC,iBAsBC;QApBC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAC,eAAe,CAAC,CAAC;QAEzC,IAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAc,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,EAAE,EAAC,eAAe,CAAC,MAAM,IAAG,CAAC,CAAC,CAC9B,CAAC;YACC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC;QAAA,IAAI,EAAC;YACJ,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,eAAe,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBAE5B,sBAAsB;gBACtB,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9C,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,qBAAqB,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAG,QAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAT,CAAS,EAAC,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,4BAA4B;IAE9B,CAAC;IAED,+DAAsB,GAAtB,UAAuB,IAAI;QAEzB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,WAAW,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9B,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5E,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1E,SAAS,EAAC,CAAC,IAAI,CAAC,SAAS,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5E,eAAe,EAAC,CAAC,IAAI,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,qBAAqB,EAAC,CAAC,IAAI,CAAC,qBAAqB,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5F,QAAQ,EAAC,CAAC,GAAG,CAAC;YACd,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC;IACN,CAAC;IAzMU,8BAA8B;QAJ1C,wEAAS,CAAC;YACT,QAAQ,EAAE,oCAAoC;WACG;SAClD,CAAC;uCAW6L;OAVlL,8BAA8B,CA0M1C;IAAD,CAAC;AAAA;SA1MY,8BAA8B,kB;;;;;;;;;;;;;;;;;;;;;;;;ACnBD;AACe;AACsB;AACC;AACkB;AACzB;AAEzE;;;;;GAKG;AAOH;IAYE,wCAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB;QAA1K,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAN7L,sBAAiB,GAAM,EAAE,CAAC;QAC1B,kBAAa,GAAM,EAAE,CAAC;QAMpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAChC;YACE,UAAU,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC7B,CAAC,CAAC;QAEH,EAAE,EAAC,IAAI,CAAC,cAAc,IAAE,IAAI,CAAC,CAC7B,CAAC;YACC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IA1BD,2DAAkB,GAAlB,UAAmB,IAAS;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IA0BD,oDAAW,GAAX;QAAA,iBAeC;QAbC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,aAAG;YAExD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAE5B,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,EAAC;gBAC/B,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACrE,CAAC;QACD,CAAC,CAAC;IACR,CAAC;IACD,uDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IAGD,8DAAqB,GAArB;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,aAAa,EAAC,CAAC,IAAI,CAAC;YACpB,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,eAAe,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,aAAa,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,eAAe,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,qBAAqB,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,QAAQ,EAAC,CAAC,GAAG,CAAC;YACd,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC;IACN,CAAC;IAED,2DAAkB,GAAlB;QAEE,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAc,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,8DAAqB,GAArB,UAAsB,CAAC;QAErB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QAEtE,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAc,CAAC;QAClF,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,2DAAkB,GAAlB,UAAmB,KAAK,EAAC,OAAO;QAI5B,IAAI,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;QAChD,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAC/C,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAEtC,IAAI,MAAM;QACV,EAAE,EAAC,YAAY,IAAE,IAAI,CAAC,EAAC;YACvB,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CAClB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACG,MAAM,GAAG,CAAC,YAAY,GAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBACrC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBACnC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,YAAY,GAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBACnC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CACL,CAAC;YAED,CAAC;YACD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gCAAgC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,yDAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBAmBC;QAhBC,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAC;YAC7B,IAAI,OAAO,GAAI,EAAC,SAAS,EAAC,UAAU,CAAC,UAAU,EAAC,CAAC;YAEjD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,oCAAoC,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBAEpF,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;oBACC,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACpB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC/D,CAAC;YACL,CAAC,CAAC;QACJ,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QACxD,CAAC;IAEH,CAAC;IAED,4DAAmB,GAAnB,UAAoB,cAAc;QAAlC,iBAeC;QAbG,EAAE,EAAC,cAAc,CAAC,MAAM,IAAE,CAAC,CAAC,CAC5B,CAAC;YACC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QAAA,IAAI,CACL,CAAC;YACH,IAAM,SAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAc,CAAC;YAC9E,cAAc,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBAE3B,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,qBAAqB,CAAC;gBACtD,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC;YACN,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAED,sEAA6B,GAA7B,UAA8B,IAAI;QAEhC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAClC,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,eAAe,EAAC,CAAC,IAAI,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5E,eAAe,EAAC,CAAC,IAAI,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,qBAAqB,EAAC,CAAC,IAAI,CAAC,qBAAqB,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5F,QAAQ,EAAC,CAAC,GAAG,CAAC;YACd,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1B,CAAC;IACN,CAAC;IAxLU,8BAA8B;QAJ1C,wEAAS,CAAC;YACT,QAAQ,EAAE,oCAAoC;WACG;SAClD,CAAC;uCAa6L;OAZlL,8BAA8B,CAyL1C;IAAD,CAAC;AAAA;SAzLY,8BAA8B,kB;;;;;;;;;;;;;;;;;;;;;;;;ACnBD;AACe;AACsB;AACC;AACP;AACyB;AAElG;;;;;GAKG;AAOH;IAUE,yCAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,GAAsB,EAAQ,KAAmB,EAAQ,OAAgC;QAA1K,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAH7L,gBAAW,GAAO,EAAE,CAAC;QACrB,2BAAsB,GAAM,EAAE,CAAC;QAG7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAChC;YACE,YAAY,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC/B,CAAC,CAAC;QACH,EAAE,EAAC,IAAI,CAAC,cAAc,IAAG,IAAI,CAAC,CAC9B,CAAC;YACC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,wDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;IAED,qDAAW,GAAX;QAAA,iBAQC;QANC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,EAAC;gBAC/B,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACrE,CAAC;QACD,CAAC,CAAC;IACN,CAAC;IACD,4DAAkB,GAAlB;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,oBAAoB,EAAC,CAAC,IAAI,CAAC;YAC7B,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,YAAY,EAAE,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,aAAa,EAAE,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,eAAe,EAAE,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,oBAAoB,EAAE,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,QAAQ,EAAE,CAAC,GAAG,CAAC;YACf,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;SACzB,CAAC;IACN,CAAC;IAED,0DAAgB,GAAhB;QAGE,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAc,CAAC;QAEpF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,4DAAkB,GAAlB,UAAmB,CAAC;QAElB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QACzE,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAc,CAAC;QACpF,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,8DAAoB,GAApB,UAAqB,KAAK,EAAC,OAAO;QAG9B,IAAI,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;QAChD,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAC/C,yCAAyC;QACzC,kDAAkD;QAClD,wBAAwB;QACxB,IAAI,MAAM;QACV,EAAE,EAAC,YAAY,IAAE,IAAI,CAAC,EAAC;YACvB,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CAClB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACG,MAAM,GAAG,CAAC,YAAY,GAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBACnC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBACjC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,YAAY,GAAC,EAAE,CAAC,CAAC;gBAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBACjC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;YAED,CAAC;YAAA,IAAI,CACL,CAAC;YAED,CAAC;YACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC3C,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gCAAgC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,8DAAoB,GAApB,UAAqB,UAAU;QAA/B,iBAiBC;QAfG,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAC5B,CAAC;YACC,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,UAAU,CAAC,YAAY,EAAC,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,qCAAqC,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBAEvF,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC7B,CAAC;oBACC,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACpB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC/D,CAAC;YACD,CAAC,CAAC;QACN,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAED,6DAAmB,GAAnB,UAAoB,mBAAmB;QAAvC,iBAgBC;QAdG,EAAE,EAAC,mBAAmB,CAAC,MAAM,IAAE,CAAC,CAAC,CACjC,CAAC;YACC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QAAA,IAAI,CACL,CAAC;YACH,IAAM,SAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAc,CAAC;YAChF,mBAAmB,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBAElC,KAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,oBAAoB,CAAC;gBACnD,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;YAEpD,CAAC,CAAC,CAAC;YACL,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QACzE,CAAC;IACL,CAAC;IAED,iEAAuB,GAAvB,UAAwB,IAAI;QAE1B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,oBAAoB,EAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAClD,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3E,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7E,eAAe,EAAE,CAAC,IAAI,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjF,oBAAoB,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3F,QAAQ,EAAE,CAAC,GAAG,CAAC;YACf,YAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;SACzB,CAAC;IACN,CAAC;IA7KU,+BAA+B;QAJ3C,wEAAS,CAAC;YACT,QAAQ,EAAE,qCAAqC;WACG;SACnD,CAAC;wCAW6L;OAVlL,+BAA+B,CA8K3C;IAAD,CAAC;AAAA;SA9KY,+BAA+B,kB;;;;;;;;;;;;;;;;;;;;;;;;ACnBF;AACe;AACsB;AACC;AACkB;AACzB;AAEzE;;;;;GAKG;AAOH;IAUE,8CAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB;QAA1K,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAT7L,qBAAgB,GAAQ,EAAE,CAAC;QAG3B,qBAAgB,GAAM,EAAE,CAAC;QACzB,iBAAY,GAAM,EAAE,CAAC;QAMnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAChC;YACE,SAAS,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC5B,CAAC,CAAC;QAEH,EAAE,EAAC,IAAI,CAAC,cAAc,IAAE,IAAI,CAAC,CAC7B,CAAC;YACC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,0DAAW,GAAX;QAAA,iBAeC;QAbC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,aAAG;YAEtD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAE5B,KAAI,CAAC,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,EAAC;gBAC/B,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACrE,CAAC;QACD,CAAC,CAAC;IACR,CAAC;IACD,6DAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;IACD,oEAAqB,GAArB;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,qBAAqB,EAAC,CAAC,IAAI,CAAC;YAC5B,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,kBAAkB,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnE,YAAY,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,eAAe,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,mBAAmB,EAAC,CAAC,IAAI,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,QAAQ,EAAC,CAAC,GAAG,CAAC;YACd,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,iBAAiB,EAAC,CAAC,IAAI,CAAC;YACxB,mBAAmB,EAAC,CAAC,IAAI,CAAC;SAC3B,CAAC;IACN,CAAC;IAED,iEAAkB,GAAlB;QAEE,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAc,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,oEAAqB,GAArB,UAAsB,CAAC;QAErB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QAEpE,IAAM,OAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAc,CAAC;QACjF,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,iEAAkB,GAAlB,UAAmB,KAAK,EAAC,OAAO;QAI5B,IAAI,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;QAChD,IAAI,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;QAC7C,yCAAyC;QAEzC,IAAI,MAAU,CAAC;QACf,EAAE,EAAC,WAAW,IAAE,IAAI,IAAI,WAAW,IAAG,IAAI,CAAC,EAAC;YAC1C,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,YAAY,IAAI,WAAW,EAA/B,CAA+B,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACpB,CAAC;gBAEC,MAAM,GAAG,CAAC,WAAW,GAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBACrD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBACpC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACG,MAAM,GAAG,CAAC,WAAW,GAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBACvD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBACpC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,WAAW,GAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBACvD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,WAAW,GAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBACvD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,WAAW,GAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBACvD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,WAAW,GAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBACrD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBACpC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,WAAW,GAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBACrD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBACpC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;YAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAE,CAAC,CAAC,CACxB,CAAC;gBACC,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC;gBACvB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;gBAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAE3D,CAAC;YAAA,IAAI,CACL,CAAC;YAED,CAAC;YACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gCAAgC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,+DAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBAmBC;QAhBC,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAC;YAC7B,IAAI,OAAO,GAAI,EAAC,SAAS,EAAC,UAAU,CAAC,SAAS,EAAC,CAAC;YAEhD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,yBAAyB,EAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBAEzE,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;oBACC,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACpB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC/D,CAAC;YACL,CAAC,CAAC;QACJ,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QACxD,CAAC;IAEH,CAAC;IAED,kEAAmB,GAAnB,UAAoB,cAAc;QAAlC,iBAeC;QAbG,EAAE,EAAC,cAAc,CAAC,MAAM,IAAE,CAAC,CAAC,CAC5B,CAAC;YACC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QAAA,IAAI,CACL,CAAC;YACH,IAAM,SAAO,GAAc,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAc,CAAC;YAC7E,cAAc,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBAE3B,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,mBAAmB,CAAC;gBACnD,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC;YACN,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAC,CAAC,EAAC,CAAC,IAAI,QAAC,CAAC,GAAG,CAAC,CAAC,EAAP,CAAO,EAAC,CAAC,CAAC,CAAC;QACpE,CAAC;IACL,CAAC;IAED,4EAA6B,GAA7B,UAA8B,IAAI;QAEhC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,qBAAqB,EAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAClD,QAAQ,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,kBAAkB,EAAC,CAAC,IAAI,CAAC,kBAAkB,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtF,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1E,eAAe,EAAC,CAAC,IAAI,CAAC,eAAe,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,mBAAmB,EAAC,CAAC,IAAI,CAAC,mBAAmB,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxF,QAAQ,EAAC,CAAC,GAAG,CAAC;YACd,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,iBAAiB,EAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC1C,mBAAmB,EAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;SAC/C,CAAC;IACN,CAAC;IAtMU,oCAAoC;QAJhD,wEAAS,CAAC;YACT,QAAQ,EAAE,2CAA2C;WACG;SACzD,CAAC;yCAW4B,IAAiK;OAVlL,oCAAoC,CAuMhD;IAAD,CAAC;AAAA;SAvMY,oCAAoC,mB;;;;;;;;;;;;;;;;;;;;;;;;ACnBP;AACe;AACuB;AACkB;AACzB;AACK;AAE9E;;;;;GAKG;AAOH;IAME,4CAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,EAAc;QAA1K,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,OAAE,GAAF,EAAE,CAAY;QAC3L,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACtC,IAAI,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;YAC3B,MAAM,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5B,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,+BAA+B,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,sBAAsB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvE,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SACjD,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,2DAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;IACnE,CAAC;IAED,+DAAkB,GAAlB;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,qCAAqC,EAAG,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvF,sCAAsC,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACxF,CAAC,CAAC;IACL,CAAC;IAED,gEAAmB,GAAnB,UAAoB,CAAC;QACnB,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;YACnB,IAAM,OAAO,GAAc,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;YAC7F,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;YACzB,IAAM,GAAG,GAAc,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACtF,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,uDAAU,GAAV,UAAW,UAAU;QAArB,iBAqBC;QAnBG,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CACjC,CAAC;YACC,IAAI,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;YAE5C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;gBAExC,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;oBAEC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;oBAC9D,UAAU,CAAC;wBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;gBACV,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAED,+DAAkB,GAAlB;QAAA,iBAoCC;QAlCC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC;QAE7E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAEzC,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,IAAI,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBACnC,EAAE,EAAC,eAAe,CAAC,+BAA+B,IAAE,KAAK,CAAC,EAAC;oBAEzD,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;oBAE9H,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;oBAGhH,IAAI,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBAErG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;oBAC3D,CAAC,CAAC,CAAC;oBAEb,IAAM,SAAO,GAAc,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,+BAA+B,CAAc,CAAC;oBAChG,wBAAwB,CAAC,OAAO,CAAC,aAAG;wBAEhC,SAAO,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;oBAC1C,CAAC,CAAC;oBACF,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;gBAEzG,CAAC;gBAAA,IAAI,CACL,CAAC;oBACC,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;oBAE9H,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;gBAC9G,CAAC;YACH,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IAvGU,kCAAkC;QAJ9C,wEAAS,CAAC;YACT,QAAQ,EAAE,wCAAwC;WACG;SACtD,CAAC;yCAO4B,EAAiK;OANlL,kCAAkC,CAwG9C;IAAD,CAAC;AAAA;SAxGY,kCAAkC,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBgB;AAC+B;AACd;AACkB;AACzB;AACe;AACwC;AACtF;AACI;AAI9C;;;;;GAKG;AAQH;IAgDE,mCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,EAAc,EAAQ,KAAqB;QAA1N,iBAkEC;QAlEkB,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,UAAK,GAAL,KAAK,CAAgB;QA/C1N,SAAI,GAAC,IAAI,iEAAQ,CAAC,OAAO,CAAC,CAAC;QAc3B,0BAAqB,GAAQ,EAAE,CAAC;QAEhC,0BAAqB,GAAQ,EAAE,CAAC;QAsB/B,YAAO,GAAK,EAAE,CAAC;QACf,iBAAY,GAAK,EAAE,CAAC;QA4XvB,SAAI,GAAC,EAAE,CAAC;QAnXH,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QAC3B,qFAAqF;QACrF,qCAAqC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;QAClE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC/B,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YACzB,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC1B,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,UAAU,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,aAAa,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,WAAW,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,SAAS,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,0BAA0B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,0BAA0B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,0BAA0B,EAAC,CAAC,EAAE,CAAC;YAC/B,0BAA0B,EAAC,CAAC,EAAE,CAAC;YAE/B,cAAc,EAAC,EAAE;SACpB,CAAC,CAAC;QAEH,yBAAyB;QACzB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAI7D,gCAAgC;QAChC,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;QACvB,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;QACvB,IAAI,CAAC,OAAO,GAAC,KAAK;QAClB,IAAI,CAAC,OAAO,GAAC,KAAK;QACnB,uBAAuB;QACtB,IAAI,CAAC,KAAK,GAAC,CAAC;gBACV,IAAI,EAAC,QAAQ;gBACb,EAAE,EAAC,CAAC;aACL;YACC;gBACC,IAAI,EAAC,IAAI;gBACT,EAAE,EAAC,CAAC;aACJ;SAEF;QACD,sCAAsC;QACtC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YAChE,IAAI,OAAO,GAAY,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC/D,KAAI,CAAC,eAAe,GAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAO,IAAE,cAAO,CAAC,YAAY,IAAI,IAAI,EAA5B,CAA4B,CAAC,CAAC;YACjF,KAAI,CAAC,uBAAuB,GAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAO,IAAE,cAAO,CAAC,YAAY,IAAE,IAAI,IAAI,OAAO,CAAC,aAAa,IAAE,IAAI,EAAzD,CAAyD,CAAC;YACrH,KAAI,CAAC,QAAQ,GAAC,OAAO,CAAC,KAAK,CAAC;YAC5B,yBAAyB;YACzB,gBAAgB;QAClB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YACnE,IAAI,OAAO,GAAY,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAClE,KAAI,CAAC,WAAW,GAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAO,IAAE,cAAO,CAAC,YAAY,EAApB,CAAoB,CAAE;QACvE,CAAC,CAAC;QACF,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC;IAET,CAAC;IAED,kDAAc,GAAd;QACC,oCAAoC;QACnC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,EAAE;IAEvB,CAAC;IACD,iDAAa,GAAb;QAEE,qBAAqB;QACrB,wEAAwE;QACxE,UAAU;IACZ,CAAC;IAED,6CAAS,GAAT,UAAU,IAAI,EAAC,OAAO;QAEpB,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAC,OAAO,CAAC,MAAM,CAAC;QACrC,EAAE,EAAC,OAAO,IAAE,KAAK,CAAC,CAClB,CAAC;YACA,GAAG,EAAY,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;gBAAf,IAAI,GAAG;gBAEV,IAAI,oBAAoB,GAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAC,iCAAiC;gBACnG,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBAClC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAChD,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,aAAa,EAAC,GAAG,CAAC,aAAa;oBAC/B,YAAY,EAAC,GAAG,CAAC,YAAY;oBAC7B,GAAG,EAAC,CAAC,GAAG,CAAC,GAAG,CAAC;oBACb,aAAa,EAAC,CAAC,GAAG,CAAC,aAAa,CAAC;oBACjC,WAAW,EAAC,CAAC,GAAG,CAAC,WAAW,CAAC;oBAE7B,oBAAoB,EAAC,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC;oBACxC,MAAM,EAAC,IAAI;oBACX,SAAS,EAAC,IAAI;oBACd,kBAAkB,EAAC,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC;oBAErC,kBAAkB,EAAC,CAAC,oBAAoB,CAAC;iBAGzC,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;gBAC1B,8CAA8C;aAC9C;QACH,CAAC;QACD,EAAE,EAAC,OAAO,IAAE,KAAK,CAAC,EAAC;YACjB,GAAG,EAAY,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;gBAAf,IAAI,GAAG;gBAER,IAAI,oBAAoB,GAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAC,iCAAiC;gBACpG,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACpC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC9C,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,aAAa,EAAC,GAAG,CAAC,aAAa;oBAC/B,YAAY,EAAC,GAAG,CAAC,YAAY;oBAC7B,GAAG,EAAC,CAAC,GAAG,CAAC,GAAG,CAAC;oBACb,aAAa,EAAC,CAAC,GAAG,CAAC,aAAa,CAAC;oBACjC,WAAW,EAAC,CAAC,GAAG,CAAC,WAAW,CAAC;oBAE7B,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAChD,MAAM,EAAC,CAAC,GAAG,CAAC,MAAM,CAAC;oBACnB,SAAS,EAAC,CAAC,GAAG,CAAC,SAAS,CAAC;oBACzB,kBAAkB,EAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC;oBAM3C,kBAAkB,EAAC,CAAC,oBAAoB,CAAC;iBAGzC,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;gBAC1B,8CAA8C;aAC9C;QACH,CAAC;IACH,CAAC;IAEC,qDAAiB,GAAjB,UAAkB,IAAI;QACpB,GAAG,EAAU,UAAsB,EAAtB,SAAI,CAAC,iBAAiB,EAAtB,cAAsB,EAAtB,IAAsB;YAA/B,IAAI,CAAC;YACP,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,gBAAgB,CAAC,EAAC;gBAC3B,IAAI,CAAC,SAAS,GAAC,CAAC,CAAC,kBAAkB;gBACnC,MAAM,CAAC,IAAI,CAAC,SAAS;YACvB,CAAC;SACF;IAEH,CAAC;IACD,oDAAgB,GAAhB,UAAiB,IAAI,EAAC,OAAO;QAC3B,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACpE,EAAE,EAAC,OAAO,IAAE,KAAK,CAAC,CAClB,CAAC;YACD,GAAG,EAAY,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;gBAAf,IAAI,GAAG;gBAET,IAAI,eAAe,GAAC,EAAE;gBACtB,EAAE,EAAC,GAAG,CAAC,oBAAoB,IAAE,CAAC,CAAC,EAAC;oBAC9B,eAAe,GAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACnE,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,oBAAoB,IAAE,CAAC,CAAC,EAAC;oBAC7B,eAAe,GAAC,GAAG,CAAC,0BAA0B;gBACjD,CAAC;gBAED,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACnC,YAAY,EAAC,CAAC,GAAG,CAAC,YAAY,CAAC;oBAChC,iCAAiC;oBAClC,uDAAuD;oBACpD,gBAAgB,EAAC,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC;oBACpC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC/C,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC/C,0BAA0B,EAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC;oBAC3D,MAAM,EAAC,IAAI;oBACX,SAAS,EAAC,IAAI;oBACd,mBAAmB,EAAC,CAAC,KAAK,CAAC;oBAE3B,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAEhD,yBAAyB,EAAC,CAAC,eAAe,CAAC;iBAC3C,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;aACxB;QACH,CAAC;QACD,EAAE,EAAC,OAAO,IAAE,KAAK,CAAC,CAClB,CAAC;YACC,GAAG,EAAY,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI;gBAAf,IAAI,GAAG;gBAGT,IAAI,eAAe,GAAC,EAAE;gBACtB,EAAE,EAAC,GAAG,CAAC,oBAAoB,IAAE,CAAC,CAAC,EAAC;oBAC9B,eAAe,GAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACnE,CAAC;gBACD,EAAE,EAAC,GAAG,CAAC,oBAAoB,IAAE,CAAC,CAAC,EAAC;oBAC7B,eAAe,GAAC,GAAG,CAAC,0BAA0B;gBACjD,CAAC;gBAED,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACnC,YAAY,EAAC,CAAC,GAAG,CAAC,YAAY,CAAC;oBAChC,iCAAiC;oBACjC,gBAAgB,EAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;oBACtC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC/C,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC/C,0BAA0B,EAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC;oBAC3D,MAAM,EAAC,CAAC,GAAG,CAAC,MAAM,CAAC;oBACnB,SAAS,EAAC,CAAC,GAAG,CAAC,SAAS,CAAC;oBACzB,mBAAmB,EAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC;oBAE7C,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAE/C,yBAAyB,EAAC,CAAC,eAAe,CAAC;iBAC5C,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;aACxB;QACH,CAAC;IACD,CAAC;IACD,sDAAkB,GAAlB,UAAmB,GAAG;QACpB,GAAG,EAAU,UAA2B,EAA3B,SAAI,CAAC,sBAAsB,EAA3B,cAA2B,EAA3B,IAA2B;YAApC,IAAI,CAAC;YACP,EAAE,EAAC,GAAG,IAAE,CAAC,CAAC,uBAAuB,CAAC,EAAC;gBACjC,IAAI,IAAI,GAAC,CAAC,CAAC,yBAAyB;gBACrC,MAAM,CAAC,IAAI;YACZ,CAAC;SACF;IAEH,CAAC;IAGC,mDAAe,GAAf,UAAgB,IAAI;QAElB,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAClE,OAAO,CAAC,QAAQ,GAAC,EAAE;QACnB,EAAE,EAAC,IAAI,IAAE,IAAI,CAAC,EAAC;YACf,IAAI,QAAQ,GAAa,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACrC,cAAc,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;gBACvC,aAAa,EAAC,KAAK;gBACnB,YAAY,EAAC,KAAK;gBAClB,GAAG,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;gBAC5B,aAAa,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,QAAQ,CAAC;gBACtC,WAAW,EAAC,CAAC,EAAE,CAAC;gBAChB,oBAAoB,EAAC,CAAC,EAAE,CAAC;aAE1B,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,EAAC;YACH,IAAI,QAAQ,GAAa,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBAGrC,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,EAAC,kEAAU,CAAC,QAAQ,CAAC;gBACxD,aAAa,EAAC,IAAI,CAAC,aAAa;gBAChC,YAAY,EAAC,IAAI,CAAC,YAAY;gBAC9B,GAAG,EAAC,CAAC,IAAI,CAAC,GAAG,EAAC,kEAAU,CAAC,QAAQ,CAAC;gBAClC,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,EAAC,kEAAU,CAAC,QAAQ,CAAC;gBACtD,WAAW,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC9B,oBAAoB,EAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;aAGjD,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,GAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEzB,CAAC;IAKH,CAAC;IACD,iDAAa,GAAb,UAAc,IAAI;QAChB,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,OAAO,CAAC,QAAQ,GAAC,EAAE;QACnB,EAAE,EAAC,IAAI,IAAI,IAAI,CAAC,EAAC;YACjB,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnC,YAAY,EAAC,CAAC,EAAE,CAAC;gBACjB,oBAAoB,EAAC,KAAK;gBAC1B,oBAAoB,EAAC,CAAC,EAAE,CAAC;gBACzB,0BAA0B,EAAC,CAAC,EAAE,CAAC;gBAC/B,cAAc,EAAC,CAAC,EAAE,CAAC;gBACnB,cAAc,EAAC,CAAC,EAAE,CAAC;gBACnB,oBAAoB,EAAC,CAAC,EAAE,CAAC;aAC1B,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,GAAC,EAAE;YACnB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QAExB,CAAC;QACD,IAAI,EAAC;YACH,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACrC,YAAY,EAAC,CAAC,IAAI,CAAC,YAAY,CAAC;gBAChC,oBAAoB,EAAC,IAAI,CAAC,oBAAoB;gBAC9C,oBAAoB,EAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;gBAChD,0BAA0B,EAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;gBAC5D,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC;gBACpC,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC;gBACpC,oBAAoB,EAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;aACjD,CAAC;YACF,IAAI,CAAC,WAAW,GAAC,CAAC,IAAI,CAAC,WAAW;YAElC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QACtB,CAAC;IACA,CAAC;IACF,0DAAsB,GAAtB,UAAuB,KAAK;QAC1B,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QACjF,EAAE,EAAC,KAAK,IAAE,EAAE,CAAC,CACb,CAAC;YAEC,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnC,kBAAkB,EAAC,CAAC,EAAE,CAAC;gBACvB,cAAc,EAAC,CAAC,EAAE,CAAC;gBACnB,YAAY,EAAC,CAAC,EAAE,CAAC;gBACjB,WAAW,EAAC,CAAC,EAAE,CAAC;gBAChB,oBAAoB,EAAC,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC;aAExC,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QACF,IAAI,EAAC;YACH,GAAG,EAAY,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK;gBAAhB,IAAI,GAAG;gBAEZ,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACnC,kBAAkB,EAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC;oBAC3C,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,YAAY,EAAC,CAAC,GAAG,CAAC,YAAY,CAAC;oBAC/B,WAAW,EAAC,CAAC,GAAG,CAAC,WAAW,CAAC;iBAC9B,CAAC,CAAC;gBAEH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACvB;QACF,CAAC;IAED,CAAC;IACD,2DAAuB,GAAvB,UAAwB,KAAK;QAC3B,EAAE,EAAC,KAAK,IAAE,EAAE,CAAC,CACb,CAAC;YACD,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACnC,cAAc,EAAC,CAAC,EAAE,CAAC;gBACnB,oBAAoB,EAAC,CAAC,EAAE,CAAC;gBACzB,mBAAmB,EAAC,CAAC,EAAE,CAAC;aACzB,CAAC,CAAC;YACH,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;QACD,IAAI,EAAC;YACH,GAAG,EAAY,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK;gBAAhB,IAAI,GAAG;gBACT,IAAI,QAAQ,GAAW,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACnC,cAAc,EAAC,CAAC,GAAG,CAAC,cAAc,CAAC;oBACnC,oBAAoB,EAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC/C,mBAAmB,EAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC;iBAC9C,CAAC,CAAC;gBACH,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;gBACjF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACxB;QACH,CAAC;IAED,CAAC;IAID,uCAAG,GAAH;QAEE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAMD,0CAAM,GAAN,UAAO,CAAC;QACN,EAAE,EAAC,CAAC,IAAE,GAAG,CAAC,CACV,CAAC;YACF,IAAI,CAAC,OAAO,GAAC,IAAI,CAAC;YAClB,IAAI,CAAC,WAAW,GAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,EAAE,EAAC,CAAC,IAAE,GAAG,CAAC,CACV,CAAC;YACC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,GAAC,IAAI;YACpB,2BAA2B;YACzB,IAAI,CAAC,WAAW,GAAC,CAAC,IAAI,CAAC,WAAW,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,mDAAe,GAAf,UAAgB,KAAK;QACpB,IAAI,MAAM,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QACnB,IAAI,CAAC,OAAO,GAAC,KAAK;QAClB,IAAI,CAAC,gBAAgB,GAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC9B,wCAAwC;IAExC,CAAC;IACD,iDAAa,GAAb,UAAc,KAAK;QACjB,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,MAAM,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAC,KAAK;QAC3B,IAAI,CAAC,OAAO,GAAC,KAAK;QAClB,OAAO;QACP,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,0CAAM,GAAN,UAAO,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,OAAO,EAAC,CAAC,CAAC;QACtB,EAAE,EAAC,CAAC,IAAE,GAAG,CAAC,EAAC;YACV,EAAE,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,EAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,kDAAkD,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,EAAC;gBACH,IAAI,GAAG,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtD,IAAI,GAAG,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBAC1E,0FAA0F;gBAC3F,gCAAgC;gBAC9B,IAAI,oBAAoB,GAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC;gBAClE,IAAM,OAAO,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBACzF,OAAO,CAAC,UAAU,CAAC;oBAEZ,oBAAoB,EAAC,GAAG,CAAC,oBAAoB;oBAC7C,cAAc,EAAC,GAAG,CAAC,cAAc;oBACjC,aAAa,EAAC,GAAG,CAAC,aAAa;oBAC/B,YAAY,EAAC,GAAG,CAAC,YAAY;oBAC7B,GAAG,EAAC,GAAG,CAAC,GAAG;oBACX,aAAa,EAAC,GAAG,CAAC,aAAa;oBAC/B,WAAW,EAAC,GAAG,CAAC,WAAW;oBAE3B,oBAAoB,EAAC,GAAG,CAAC,oBAAoB;oBAC9C,MAAM,EAAC,GAAG,CAAC,MAAM;oBACjB,SAAS,EAAC,GAAG,CAAC,SAAS;oBACvB,kBAAkB,EAAC,GAAG,CAAC,kBAAkB;oBAEzC,kBAAkB,EAAC,oBAAoB;iBAC5C,CAAC,CAAC;gBACH,IAAI,CAAC,WAAW,GAAC,KAAK,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC9D,4DAA4D;gBAC7D,0DAA0D;gBACzD,gCAAgC;gBAG9B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,GAAG,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEzB,CAAC;QACF,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,CAAC,IAAE,GAAG,CAAC,EAAC;YACb,EAAE,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CACjD,CAAC;gBACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iDAAiD,CAAC;YACnF,CAAC;YACD,IAAI,EAAC;gBACH,IAAI,GAAG,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpD,IAAI,eAAe,GAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACrE,IAAM,OAAO,GAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;gBAC3F,OAAO,CAAC,UAAU,CAAC;oBAClB,YAAY,EAAC,GAAG,CAAC,YAAY;oBAC9B,uCAAuC;oBACtC,oBAAoB,EAAC,GAAG,CAAC,oBAAoB;oBAC7C,oBAAoB,EAAC,GAAG,CAAC,oBAAoB;oBAC7C,0BAA0B,EAAC,GAAG,CAAC,0BAA0B;oBAC1D,eAAe;oBACf,kBAAkB;oBACjB,8BAA8B;oBAE9B,cAAc,EAAC,GAAG,CAAC,cAAc;oBACjC,cAAc,EAAC,GAAG,CAAC,cAAc;oBACjC,oBAAoB,EAAC,GAAG,CAAC,oBAAoB;oBAE9C,yBAAyB,EAAC,eAAe;iBACxC,CAAC;gBACF,IAAI,CAAC,WAAW,GAAC,KAAK;gBACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;IAGH,CAAC;IAEA,0CAAM,GAAN,UAAO,CAAC;QACP,qEAAqE;QACpE,sBAAsB;QACtB,+CAA+C;QAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,GAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,8DAA8D;QAC7D,IAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QACvC,EAAE,EAAC,CAAC,IAAE,GAAG,CAAC,CACV,CAAC;YACC,EAAE,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,EAAC;gBACnD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iDAAiD,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,EAAC;gBACR,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAC,KAAK,CAAC;gBACxD,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC;QACA,IAAI,CAAC,EAAE,EAAC,CAAC,IAAE,GAAG,CAAC,CACf,CAAC;YACA,EAAE,EAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,EAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iDAAiD,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,EAAC;gBACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAC,KAAK,CAAC;YAC/D,CAAC;QACF,CAAC;IAEH,CAAC;IACD,8CAAU,GAAV,UAAW,CAAC,EAAC,KAAK;QAChB,EAAE,EAAC,KAAK,IAAE,GAAG,CAAC,CACd,CAAC;YACC,kCAAkC;YACtC,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACjE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,GAAC,KAAK,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpB,qCAAqC;YACrC,IAAM,QAAQ,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YAClF,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEnB,CAAC;QACD,EAAE,EAAC,KAAK,IAAE,CAAC,CAAC,EAAC;YACX,+BAA+B;YACjC,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC;YACnE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,GAAC,KAAK;YAChC,IAAI,GAAG,GAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAGrB,qEAAqE;YACrE,wCAAwC;YACxC,gDAAgD;YAChD,wCAAwC;YACxC,+CAA+C;YAC/C,eAAe;YACd,kDAAkD;YACjD;;;;;0FAK8E;QACjF,CAAC;QACD,EAAE,EAAC,KAAK,IAAE,YAAY,CAAC,CACvB,CAAC;YACC,0BAA0B;YAC1B,IAAM,OAAO,GAAY,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YACjF,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAGD,+CAAW,GAAX;QAAA,iBAiCC;QA/BC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,aAAG;YAC1D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,iBAAiB,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACrE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,aAAG;YAC5D,KAAI,CAAC,sBAAsB,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,aAAG;YAErD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,aAAG;YAE5D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,aAAG;YAChD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,KAAI,CAAC,SAAS,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,yDAAqB,GAArB,UAAsB,mBAAmB,EAAC,wBAAwB;QAAlE,iBAoBC;QAlBC,IAAI,gBAAgB,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAC9E,IAAI,eAAe,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAG/E,EAAE,EAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAClC,CAAC;YACC,mBAAmB,CAAC,OAAO,CAAC,aAAG;gBAC7B,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QAEL,CAAC;QACD,EAAE,EAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YACtC,wBAAwB,CAAC,OAAO,CAAC,aAAG;gBAChC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvD,yBAAyB;gBAC9B,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC;IACL,CAAC;IAED,mDAAe,GAAf,UAAgB,YAAgB;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,kBAAkB,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC;YACrD,cAAc,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC;YAC7C,YAAY,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC;YACzC,YAAY,EAAC,CAAC,YAAY,CAAC,YAAY,IAAE,CAAC,IAAI,YAAY,CAAC,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;SACpG,CAAC,CAAC;IACH,CAAC;IAED,qDAAiB,GAAjB,UAAkB,KAAK,EAAC,KAAK,EAAC,IAAI;QAAlC,iBAuDC;QApDC,IAAI,eAAe,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACjF,IAAI,gBAAgB,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAE9E,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CACzB,CAAC;YACC,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,IAAE,CAAC,CAAC,EAAC;gBACjC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,qJAAmC,CAAC,CAAC;gBACnE,KAAK,CAAC,YAAY,CAAC,cAAI;oBACrB,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;wBACZ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAG;4BAGtB,IAAI,iBAAiB,GAAO,EAAC,oBAAoB,EAAC,GAAG,CAAC,kBAAkB,EAAC,gBAAgB,EAAC,GAAG,CAAC,cAAc,EAAC,uBAAuB,EAAC,EAAE,EAAC,UAAU,EAAC,EAAE,EAAC,cAAc,EAAC,EAAE,EAAC,kBAAkB,EAAC,EAAE,EAAC,CAAC;4BAC/L,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC;4BACvE,0BAA0B;4BACzB,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;wBACtD,CAAC,CAAC,CAAC;oBACP,CAAC;oBAAA,IAAI,CACL,CAAC;wBACC,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAGjE,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACA,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC;YAAA,IAAI,CACL,CAAC;gBAEC,IAAI,iBAAiB,GAAO,EAAC,oBAAoB,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,gBAAgB,EAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAC,uBAAuB,EAAC,EAAE,EAAC,UAAU,EAAC,EAAE,EAAC,cAAc,EAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAC,kBAAkB,EAAC,EAAE,EAAC,CAAC;gBAClO,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACvE,0BAA0B;gBACzB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,IAAI,CACJ,CAAC;YACC,IAAI,iBAAe,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAC/E,IAAI,MAAM,GAAG,iBAAe,CAAC,KAAK,CAAC,GAAG,CAAC,WAAC;gBACtC,QAAC,CAAC,kBAAkB;YAApB,CAAoB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC/D,EAAE,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,IAAG,CAAC,CAAC,EAAC;gBACtC,iBAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,QAAQ,GAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC3E,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,gBAAgB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEjE,CAAC;YACD,4BAA4B;QAEhC,CAAC;IAEL,CAAC;IAED,2DAAuB,GAAvB,UAAwB,YAAiB;QACvC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAEnB,kBAAkB,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC;YACrD,cAAc,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC;YAC7C,YAAY,EAAE,CAAC,YAAY,CAAC,YAAY,EAAC,YAAY,CAAC,YAAY,GAAG,kEAAU,CAAC,QAAQ,GAAG,kEAAU,CAAC,aAAa,CAAC;YACpH,oBAAoB,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC;YACzD,qBAAqB,EAAE,CAAC,YAAY,CAAC,qBAAqB,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAChF,YAAY,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC;SAC5C,CAAC,CAAC;IACH,CAAC;IACD,cAAc;IACd,mDAAe,GAAf,UAAgB,KAAK;QAGnB,IAAI,eAAe,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAK3E,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,qBAAqB;IAE7B,CAAC;IACD,0BAA0B;IAC1B,IAAI;IACJ,0BAA0B;IAC1B,QAAQ;IACR,cAAc;IACd,SAAS;IACT,IAAI;IACJ,mEAA+B,GAA/B,UAAgC,CAAC,EAAC,YAAY,EAAC,IAAI;QAGjD,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;QACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;QACvC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACP,IAAI,OAAO,GAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAc,CAAC;YAClE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACzC,IAAI,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;YAC3D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACvF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACf,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,0BAA0B,CAAC,KAAK,CAAC;YACzE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACzG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAChG,CAAC;IACL,CAAC;IACD,kDAAc,GAAd,UAAe,MAAW,EAAE,YAAY;QACtC,IAAI,OAAO,GAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAc,CAAC;QAClE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAC,EAAE;QACrC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAC,EAAE;QACrC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,kBAAkB,GAAU,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpG,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAAC,CAAC;QAChE,IAAI,QAAQ,GAAW,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClF,IAAI,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5B,IAAI,GAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE/C,EAAE,EAAC,IAAI,CAAC,EAAC;YACP,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC;IAEH,CAAC;IACC,8CAAU,GAAV,UAAW,UAAU;QAArB,iBAqGC;QAlGC,IAAI,WAAW,GAAK,EAAE;QACtB,IAAI,eAAe,GAAK,EAAE;QAE1B,IAAI,UAAU,GAAK,EAAE;QACvB,IAAI,cAAc,GAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;YACpE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC;QACnC,CAAC,CAAC;QACF,cAAc,CAAC,OAAO,CAAC,UAAC,OAAO;YAC7B,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC,CAAC;QACF,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,OAAO;gBAClC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/B,CAAC,CAAC;QACF,CAAC;QAEC,IAAI,SAAS,GAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;YAClE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC;QACtC,CAAC,CAAC;QACF,SAAS,CAAC,OAAO,CAAC,UAAC,OAAO;YACxB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;QAC1B,CAAC,CAAC;QACF,EAAE,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,OAAO;gBAC3B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAC1B,CAAC,CAAC;QACJ,CAAC;QAED,WAAW,CAAC,WAAW,GAAC,eAAe,CAAC;QACxC,WAAW,CAAC,SAAS,GAAC,UAAU;QAC9B,WAAW,CAAC,IAAI,GAAC,UAAU,CAAC,IAAI,CAAC;QACjC,WAAW,CAAC,MAAM,GAAC,UAAU,CAAC,MAAM,CAAC;QACrC,WAAW,CAAC,YAAY,GAAC,IAAI,CAAC,KAAK,CAAC;QAGpC,WAAW,CAAC,0BAA0B,GAAC,UAAU,CAAC,0BAA0B,CAAC;QAC7E,WAAW,CAAC,0BAA0B,GAAC,UAAU,CAAC,0BAA0B;QAC5E,WAAW,CAAC,cAAc,GAAC,UAAU,CAAC,cAAc,CAAC;QAKrD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,oBAAU;YACrD,EAAE,EAAC,UAAU,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACjC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YAGV,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC;QAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyCM;IACP,CAAC;IAED,kDAAc,GAAd;QAAA,iBA8KC;QA5KC,IAAI,OAAO,GAAC,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAC7C,KAAI,CAAC,QAAQ,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,eAAmB,CAAC;YACxB,IAAI,+BAAmC,CAAC;YACxC,IAAI,cAAc,GAAG,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAc,CAAC;YACxE,cAAc,CAAC,QAAQ,GAAC,EAAE;YAC1B,KAAI,CAAC,OAAO,GAAC,KAAI,CAAC,QAAQ,CAAC;YAC3B,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBAGC,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBACpF,EAAE;gBAEF,IAAI,YAAY,GAAK,EAAE;gBACtB,IAAI,iBAAiB,GAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBAC5E,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC,CAAC;gBACF,EAAE,EAAC,iBAAiB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC7B,iBAAiB,CAAC,OAAO,CAAC,UAAC,OAAO;wBAChC,EAAE,EAAC,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC,EAAC;4BAC7B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC7B,CAAC;wBACD,IAAI,EAAC;4BACH,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;wBACjC,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC;gBACD,KAAI,CAAC,SAAS,CAAC,YAAY,EAAC,KAAK,CAAC;gBAGlC,EAAE,EAAC,KAAI,CAAC,QAAQ,CAAC,0BAA0B,IAAI,EAAE,CAAC,EAAC;oBACjD,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;gBACrE,CAAC;gBACF,kCAAkC;gBACjC,+BAA+B,GAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBACtG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;gBACvD,CAAC,CAAC;gBAEF,EAAE,EAAC,KAAI,CAAC,qBAAqB,IAAG,OAAO,CAAC,CACxC,CAAC;oBACC,EAAE,EAAC,+BAA+B,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wBAC5C,+BAA+B,CAAC,OAAO,CAAC,aAAG;4BACzC,KAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC;wBACnC,CAAC,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,EAAE,EAAC,+BAA+B,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;wBACjD,KAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;oBACnC,CAAC;oBACD,kBAAkB;oBAClB,eAAe,GAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBACrE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACvC,CAAC,CAAC;oBACF,IAAI,QAAQ,GAAK,EAAE;oBAChB,EAAE,EAAC,eAAe,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wBAC9B,eAAe,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,MAAM;4BACrC,EAAE,EAAC,OAAO,CAAC,SAAS,IAAE,KAAK,CAAC,EAAC;gCAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BACzB,CAAC;4BACD,IAAI,EAAC;gCACH,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;4BAC7B,CAAC;wBACH,CAAC,CAAC;oBAEJ,CAAC;oBACD,KAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAC,KAAK,CAAC,CAAC;oBACtC,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACvE,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACxE,CAAC;gBACD,IAAI,CAAC,EAAE,EAAC,KAAI,CAAC,qBAAqB,IAAI,OAAO,CAAC,EAAC;oBAC9C,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,GAAC,EAAE,CAAC,CAAC;oBAC3J,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,0BAA0B,GAAC,EAAE,CAAC,CAAC;gBAE5J,CAAC;gBAER,sBAAsB;gBAGtB,gCAAgC;gBAChC,gDAAgD;gBAChD,oCAAoC;gBACpC,gCAAgC;gBAChC,QAAQ;gBACR,YAAY;gBACZ,oCAAoC;gBACpC,QAAQ;gBACR,OAAO;gBAEP,IAAI;gBACF,yCAAyC;gBAIzC,uDAAuD;gBACvD,2EAA2E;gBAC3E,KAAK;YAEL,CAAC;YACD,IAAI,EAAC;gBACH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,qBAAqB,CAAC;gBACnD,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;oBAC7C,KAAK,CAAC,YAAY,GAAC,IAAI;wBACvB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC5B,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;oBACrB,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,cAAc,IAAI,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC;oBACrE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;oBACvB,KAAK,CAAC,oBAAoB,GAAG,KAAK,GAAG,CAAC,CAAC;oBACxC,8BAA8B;oBAC7B,KAAK,CAAC,GAAG,GAAG,EAAE;wBACd,KAAK,CAAC,aAAa,GAAG,EAAE;wBACxB,KAAK,CAAC,WAAW,GAAG,EAAE;oBACrB,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC;wBAC3D,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBACvB,IAAI,gBAAgB,GAAQ,EAAE,gBAAgB,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAE,0BAA0B,EAAE,KAAK,CAAC,0BAA0B,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;wBAC7b,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,mCAAmC;gBACnC,iCAAiC;gBACjC,kDAAkD;gBAClD,uBAAuB;gBACvB,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,KAAI,CAAC,OAAO,CAAC;gBACrC,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,qBAAqB,EAAC,KAAK,CAAC,CAAC;gBACjD,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,qBAAqB,CAAC;gBACxD,2DAA2D;gBAC3D,KAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAEjC,CAAC;QACH,CAAC,CAAC;QACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwCM;IACR,CAAC;IACD,mDAAe,GAAf,UAAgB,YAAgB;QAC9B,IAAI,IAAI,GAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,oBAAoB,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC;YACjD,YAAY,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE;YAC1C,mBAAmB,EAAE,CAAC,KAAK,CAAC;YAC5B,oBAAoB,EAAC,CAAC,YAAY,CAAC,oBAAoB,CAAC;YACxD,oBAAoB,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAC,kEAAU,CAAC,QAAQ,CAAC;YAC7E,cAAc,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,kEAAU,CAAC,QAAQ,CAAC;YAClE,cAAc,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC;YAC7C,oBAAoB,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC;YACzD,SAAS,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;YACnC,MAAM,EAAC,CAAC,YAAY,CAAC,MAAM,CAAC;YAC5B,yBAAyB,EAAC,CAAC,IAAI,CAAC;SAEnC,CAAC,CAAC;IACH,CAAC;IA1hCkB;QAApB,yEAAS,CAAC,QAAQ,CAAC;kCAAY,iEAAU;gEAAC;IA7C9B,yBAAyB;QALrC,wEAAS,CAAC;YACT,QAAQ,EAAE,+BAA+B;YACzC,WAAW,6DAAE,EAA+B;WAC1B;SACnB,CAAC;kCAiD0N;OAhD/M,yBAAyB,CA0kCrC;IAAD,CAAC;AAAA;SA1kCY,yBAAyB,kB;;;;;;;;;;;;;;;;;;;;;ACzBI;AAC+B;AACK;AAE9E;;;;;GAKG;AAOH;IAGE,6CAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc,EAAQ,QAAuB;QAAxG,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,aAAQ,GAAR,QAAQ,CAAe;QAD7H,kBAAa,GAAK,EAAC,oBAAoB,EAAC,GAAG,EAAC,gBAAgB,EAAC,EAAE,EAAC,cAAc,EAAC,EAAE,EAAC,CAAC;QAE7E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC5B;YACE,SAAS,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC5B,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,4DAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAED,wDAAU,GAAV,UAAW,YAAgB;QAEzB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAClB;YACE,kBAAkB,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC;YACrD,cAAc,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,kEAAU,CAAC,QAAQ,CAAC;SACnE,CAAC;IACN,CAAC;IAED,qDAAO,GAAP;QAEE,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CACxB,CAAC;YACC,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAChE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,2DAAa,GAAb,UAAc,KAAK;QAEjB,IAAM,OAAO,GAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAChE,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YACpB,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACD,CAAC;IAED,wDAAU,GAAV;QACE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,wDAAU,GAAV,UAAW,UAAU;QAEnB,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAnDU,mCAAmC;QAJ/C,wEAAS,CAAC;YACT,QAAQ,EAAE,0CAA0C;WACG;SACxD,CAAC;yCAI4B,GAA+F;OAHhH,mCAAmC,CAsD/C;IAAD,CAAC;AAAA;SAtDY,mCAAmC,mB;;;;;;;;;;;;;;;;AChBI;AAEpD;;;;GAIG;AAIH;IAAA;IAmBA,CAAC;IAlBC;;OAEG;IACH,0BAAS,GAAT,UAAU,KAAU,EAAE,UAAc;QAClC,IAAI,cAAc,GAAG,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,WAAW,IAAE,UAAU,CAAC,kBAAkB,EAA/C,CAA+C,CAAC,CAAC;QAChH,EAAE,EAAC,cAAc,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAC1B,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAS,IAAI;gBACpC,MAAM,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,UAAS,IAAI;oBACvC,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAE,UAAU,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,CAAC;gBACxH,CAAC,CAAC,CAAC;YACH,CAAC,CAAC;YACF,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,kBAAkB,IAAE,UAAU,CAAC,kBAAkB,EAAtD,CAAsD,CAAC,CAAC;QACpF,CAAC;IAEH,CAAC;IAlBU,MAAM;QAHlB,mEAAI,CAAC;YACJ,IAAI,EAAE,QAAQ;SACf,CAAC;OACW,MAAM,CAmBlB;IAAD,aAAC;CAAA;AAnBkB;;;;;;;;;;;;;;;;;;;;;;;;;;ACVuB;AACe;AACuB;AACkB;AACzB;AACe;AACb;AAE3E;;;;;GAKG;AAOH;IAqBE,qCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,OAAgC,EAAQ,KAAmB,EAAQ,EAAc,EAAS,QAA2B;QAA9M,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAS,aAAQ,GAAR,QAAQ,CAAmB;QAbjO,eAAU,GAAK,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,WAAW,EAAC,eAAe,EAAC,EAAC,EAAC,IAAI,EAAC,CAAC,EAAC,WAAW,EAAC,iBAAiB,EAAC,CAAC;QAC5F,qBAAgB,GAAU,CAAC,EAAC,IAAI,EAAE,CAAC,EAAC,MAAM,EAAE,UAAU,EAAC;YACvD,EAAC,IAAI,EAAE,CAAC,EAAC,MAAM,EAAE,UAAU,EAAC;YAC5B,EAAC,IAAI,EAAE,CAAC,EAAC,MAAM,EAAE,mCAAmC,EAAC,CAAC,CAAC;QAEvD,eAAU,GAAK,EAAE,CAAC;QAElB,cAAS,GAAO,EAAE,CAAC;QACnB,eAAU,GAAO,EAAE,CAAC;QACpB,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAC9B,wBAAmB,GAAM,EAAE,CAAC;QAG1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,cAAc,IAAI,CAAC,EAAxB,CAAwB,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAE,CAAC,EAAC,gBAAgB,EAAE,QAAQ,EAAC,CAAC;QAC1E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CACpC;YACE,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK;YAC3B,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO;YAC1B,UAAU,EAAC,CAAC;YACZ,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,oBAAoB,EAAC,CAAC,EAAE,CAAC;YACzB,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,0BAA0B,EAAC,EAAE;SAC5B,CAAC;QACJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAGlC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,oDAAc,GAAd;QACC,OAAO,CAAE,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC3D,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzB,CAAC;IAED,iDAAW,GAAX;QAAA,iBAuCC;QArCC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,aAAG;YAE5D,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAEjD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAG;YAC3E,EAAE,EAAC,GAAG,CAAC,UAAU,IAAE,IAAI,CAAC,EAAC;gBACvB,KAAI,CAAC,gBAAgB,GAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,SAAS,IAAI,IAAI,EAArB,CAAqB,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC;YACpC,CAAC;YACD,IAAI,iBAAiB,GAAK,EAAE;YAC5B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBACjC,iBAAiB,GAAC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACjD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;YAE5F,CAAC;YACD,IAAI,mBAAmB,GAAK,EAAE;YAC9B,EAAE,EAAC,KAAI,CAAC,UAAU,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAC3B,mBAAmB,GAAC,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;oBAC7C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBAChF,CAAC,CAAC;gBACF,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAE3F,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAC,KAAI,CAAC,qBAAqB,CAAC;QAC7D,CAAC,CAAC;IACR,CAAC;IACD,6CAAO,GAAP,UAAQ,GAAG,EAAC,CAAC;QAEX,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;IACzE,CAAC;IACD,8CAAQ,GAAR,UAAS,KAAU;QACjB,IAAM,OAAO,GAAG,OAAO,CAAC;QAExB,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IACA,kCAAkC;IACpC,0DAAoB,GAApB,UAAqB,OAAO,EAAC,CAAC,EAAC,IAAI;QAClC,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YAEV,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,KAAK,CAAC;YAC1D,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;YACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;YACnC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACvF,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YAEf,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,KAAK,CAAC;YAC3D,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;YACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;YACnC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;YACxF,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,sDAAgB,GAAhB,UAAiB,CAAC,EAAC,KAAK,EAAC,IAAI;QAC3B,IAAI,GAAG;QAEP,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YACd,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,iDAAW,GAAX,UAAY,MAAM;QAChB,EAAE,EAAC,MAAM,IAAE,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,MAAM,IAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,oDAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IAGD,+DAAyB,GAAzB,UAA0B,KAAK,EAAC,CAAC;QAC/B,mCAAmC;QACrC,IAAI,KAAK,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC3E,gCAAgC;QAClC,IAAI,QAAQ,GAAkB,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/C,oCAAoC;QACnC,UAAU;QAGZ,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,CAAC,CAAC;QACzB,EAAE,EAAC,KAAK,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YACjB,KAAK,CAAC,OAAO,CAAC,gBAAM;gBAClB,EAAE,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAC;oBACzC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,EAAE,EAAC,WAAW,IAAI,CAAC,CAAC,EAAC;YACrB,gDAAgD;YAE5C,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACvC,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,WAAW,IAAI,CAAC,CAAC,EAAC;YAC3B,kDAAkD;YAClD,uFAAuF;YACrF,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,eAAe,EAAE,CAAC;YAC3D,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACxC,oFAAoF;QACpF,CAAC;QAED,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,sBAAsB,EAAE,CAAC;IACpE,CAAC;IACC,qDAAe,GAAf;QAEE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,cAAc,EAAE,CAAC,IAAI,CAAC;YACtB,MAAM,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,SAAS,CAAC,EAAE,CAAC,EAAC,kEAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpF,SAAS,EAAC,CAAC,IAAI,CAAC;YAChB,QAAQ,EAAE,CAAC,IAAI,CAAC;YAChB,QAAQ,EAAC,CAAC,IAAI,CAAC;YACf,iBAAiB,EAAC,CAAC,IAAI,CAAC;YACxB,MAAM,EAAC,CAAC,IAAI,CAAC;YACb,uBAAuB,EAAC,CAAC,IAAI,CAAC;YAC9B,yBAAyB,EAAC,CAAC,IAAI,CAAC;YAChC,sBAAsB,EAAC,CAAC,IAAI,CAAC;YAC7B,oBAAoB,EAAC,CAAC,IAAI,CAAC;YAC3B,WAAW,EAAC,CAAC,IAAI,CAAC;YAClB,uBAAuB,EAAC,CAAC,IAAI,CAAC;YAC9B,oBAAoB,EAAC,CAAC,IAAI,CAAC;SAC9B,CAAC,CAAC;IACH,CAAC;IACD,kDAAY,GAAZ;QAEE,IAAM,OAAO,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAClF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,qDAAe,GAAf,UAAgB,CAAC;QAEf,IAAM,OAAO,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAClF,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,CACrB,CAAC;YACG,OAAO,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,yDAAmB,GAAnB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,kBAAkB,EAAE,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,CAAC,EAAE,CAAC;YAEb,wBAAwB,EAAE,CAAC,EAAE,CAAC;YAC9B,yBAAyB,EAAC,CAAC,EAAE,CAAC;YAC9B,kBAAkB,EAAE,CAAC,EAAE,CAAC;YACxB,kBAAkB,EAAC,CAAC,EAAE,CAAC;YACvB,wBAAwB,EAAC,CAAC,EAAE,CAAC;YAC7B,mCAAmC,EAAC,CAAC,EAAE,CAAC;YACxC,sBAAsB,EAAC,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAC;IACH,CAAC;IAED,sDAAgB,GAAhB;QAEE,IAAM,OAAO,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,yDAAmB,GAAnB,UAAoB,CAAC;QAEnB,IAAM,OAAO,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACjF,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,CACrB,CAAC;YACG,OAAO,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,gDAAU,GAAV,UAAW,UAAU;QAArB,iBAkEC;QA7DK,IAAI,WAAW,GAAO,EAAE;QACxB,IAAI,mBAAmB,GAAK,EAAE,CAAC;QAC/B,IAAI,kBAAkB,GAAK,EAAE,CAAC;QAC9B,EAAE,EAAC,UAAU,CAAC,UAAU,IAAE,CAAC,CAAC,EAAC;YAC3B,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,GAAG;gBAChD,kBAAkB,CAAC,IAAI,CAAC;oBACtB,oBAAoB,EAAC,OAAO,CAAC,kBAAkB;oBAC/C,SAAS,EAAC,OAAO,CAAC,OAAO;oBACzB,0BAA0B,EAAC,OAAO,CAAC,wBAAwB;oBAC3D,2BAA2B,EAAC,OAAO,CAAC,yBAAyB;oBAC7D,oBAAoB,EAAC,OAAO,CAAC,kBAAkB;oBAC/C,oBAAoB,EAAC,OAAO,CAAC,kBAAkB;oBAC/C,0BAA0B,EAAC,OAAO,CAAC,wBAAwB;oBAC3D,qCAAqC,EAAC,OAAO,CAAC,mCAAmC;oBACjF,wBAAwB,EAAC,OAAO,CAAC,sBAAsB;iBACxD,CAAC;YACF,CAAC,CAAC,CAAC;YACH,WAAW,CAAC,kBAAkB,GAAC,kBAAkB,CAAC;QAEtD,CAAC;QACD,IAAI,EAAC;YACF,4CAA4C;YAC/C,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,GAAG;gBACjD,mBAAmB,CAAC,IAAI,CAAC;oBACvB,gBAAgB,EAAC,OAAO,CAAC,cAAc;oBACvC,QAAQ,EAAC,OAAO,CAAC,MAAM;oBACvB,UAAU,EAAC,OAAO,CAAC,SAAS,GAAC,GAAG,GAAC,OAAO,CAAC,QAAQ;oBACjD,UAAU,EAAC,OAAO,CAAC,QAAQ;oBAC3B,mBAAmB,EAAC,OAAO,CAAC,iBAAiB;oBAC7C,QAAQ,EAAC,OAAO,CAAC,MAAM;oBACvB,yBAAyB,EAAC,OAAO,CAAC,uBAAuB;oBACzD,2BAA2B,EAAC,OAAO,CAAC,yBAAyB;oBAC7D,wBAAwB,EAAC,OAAO,CAAC,sBAAsB;oBACvD,sBAAsB,EAAC,OAAO,CAAC,oBAAoB;oBACnD,aAAa,EAAC,OAAO,CAAC,WAAW;oBACjC,yBAAyB,EAAC,OAAO,CAAC,uBAAuB;oBACzD,sBAAsB,EAAC,OAAO,CAAC,oBAAoB;iBACpD,CAAC;YACF,CAAC,CAAC,CAAC;YACH,WAAW,CAAC,mBAAmB,GAAC,mBAAmB,CAAC;QAEtD,CAAC;QACD,WAAW,CAAC,IAAI,GAAC,UAAU,CAAC,IAAI,CAAC;QACjC,WAAW,CAAC,MAAM,GAAC,UAAU,CAAC,MAAM,CAAC;QACrC,WAAW,CAAC,UAAU,GAAC,UAAU,CAAC,UAAU,CAAC;QAC7C,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QACtC,WAAW,CAAC,oBAAoB,GAAC,UAAU,CAAC,oBAAoB;QAChE,WAAW,CAAC,0BAA0B,GAAC,UAAU,CAAC,0BAA0B,CAAC;QAE7E,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAE5C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBAEC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;QACH,CAAC,CAAC;IAEV,CAAC;IAED,sDAAgB,GAAhB;QAAA,iBAiEC;QA/DC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC;QAC9E,IAAM,OAAO,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAClF,IAAM,UAAU,GAAc,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAEpF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,IAAI,gBAAgB,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvC,0CAA0C;gBAEzC,EAAE,EAAC,gBAAgB,CAAC,UAAU,IAAE,CAAC,CAAC,CAClC,CAAC;oBAEC,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;oBACpF,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;oBACpH,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;oBACrG,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBAEtF,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;oBACH,kBAAkB,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;wBAErC,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,mCAAmC,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;wBAC3E,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,sBAAsB,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;wBAC9D,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;wBAC5C,KAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,kBAAkB,EAAC,KAAK,CAAC;oBAClE,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBAGzF,CAAC;gBAAA,IAAI,CACL,CAAC;oBACC,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,CAAC;gBACD,EAAE,EAAC,gBAAgB,CAAC,UAAU,IAAE,CAAC,CAAC,CAClC,CAAC;oBACC,IAAI,qBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBAExF,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;oBACjD,CAAC,CAAC,CAAC;oBACL,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;oBAClF,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;oBACpH,qBAAmB,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;wBAElC,IAAI,eAAe,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC/C,qBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,GAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAC,eAAe,CAAC,CAAC;wBAC/E,qBAAmB,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,GAAG,CAAC,EAAC,CAAC,CAAC,CAAC;wBAClF,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,eAAe,EAAE,CAAC,CAAC;wBACrC,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;oBACxF,CAAC,CAAC,CAAC;oBACP,KAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,qBAAmB,CAAC,CAAC;gBAErF,CAAC;gBAAA,IAAI,CACL,CAAC;oBACC,KAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC;YACH,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,KAAI,CAAC,YAAY,EAAE,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IA7XU,2BAA2B;QAJvC,wEAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;WACG;SAC/C,CAAC;oCAsBiO;OArBtN,2BAA2B,CAgYvC;IAAD,CAAC;AAAA;SAhYY,2BAA2B,kB;;;;;;;;;;;;;;;;;;;;;;;;ACpBE;AACe;AACmB;AAC5E,iDAAiD;AAC+B;AACkB;AACzB;AACzE;;;;;GAKG;AAOH;IAUE,mCAAmB,OAAsB,EAAS,SAAoB,EAAS,EAAc,EAAS,OAAgC,EAAQ,GAAsB,EAAQ,KAAmB;QAA5K,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,OAAE,GAAF,EAAE,CAAY;QAAS,YAAO,GAAP,OAAO,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAR/L,kCAA6B,GAAK,EAAE,CAAC;QAOrC,yBAAoB,GAAM,EAAE,CAAC;QAE3B,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK;QAC9B,IAAI,CAAC,MAAM,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAC,GAAG,CAAC,SAAS,EAAE;QAE1B,IAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAClC,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,EAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAChB,MAAM,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC5B,2BAA2B,EAAC,CAAC,IAAI,CAAC;YAClC,8BAA8B,EAAC,CAAC,IAAI,CAAC;YACrC,mBAAmB,EAAC,CAAC,IAAI,CAAC;YAC1B,kBAAkB,EAAC,CAAC,IAAI,CAAC;YACzB,0BAA0B,EAAC,CAAC,IAAI,CAAC;YAChC,iCAAiC,EAAC,CAAC,EAAE,CAAC;YACvC,4BAA4B;YAC5B,4BAA4B;YAC5B,mCAAmC;YACnC,uBAAuB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,uBAAuB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,8BAA8B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAEjD,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;IAErB,CAAC;IACD,kDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,IAAI,CAAC,cAAc,EAAE,CAAC;IAExB,CAAC;IACH,+CAAW,GAAX;QAAA,iBAOC;QANC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,aAAG;YAC3D,KAAI,CAAC,6BAA6B,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,QAAQ,IAAE,CAAC,EAAhB,CAAgB,CAAC;QAClF,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,aAAG;YAClE,KAAI,CAAC,oBAAoB,GAAC,GAAG,CAAC,SAAS,CAAC;QAC1C,CAAC,CAAC;IACJ,CAAC;IACD,+DAA2B,GAA3B,UAA4B,IAAI;QAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,mBAAmB,EAAE,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;SACtE,CAAC;IACJ,CAAC;IACD,4DAAwB,GAAxB;QACE,IAAM,OAAO,GAAc,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QACrF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IACD,+DAA2B,GAA3B,UAA4B,KAAK;QAC/B,IAAM,OAAO,GAAa,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QACpF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,+DAA2B,GAA3B,UAA4B,IAAI;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,mBAAmB,EAAC,IAAI,IAAG,IAAI,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;SACpE,CAAC;IACJ,CAAC;IACD,4DAAwB,GAAxB;QACE,IAAM,OAAO,GAAa,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACnF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IACD,+DAA2B,GAA3B,UAA4B,KAAK;QAC/B,IAAM,OAAO,GAAa,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACnF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IACzB,CAAC;IACD,kEAA8B,GAA9B,UAA+B,IAAI;QACjC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,0BAA0B,EAAC,IAAI,IAAE,IAAI,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,EAAE,CAAC;SACjF,CAAC;IACJ,CAAC;IACD,+DAA2B,GAA3B;QACE,IAAM,OAAO,GAAa,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,kEAA8B,GAA9B,UAA+B,KAAK;QAClC,IAAM,OAAO,GAAa,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC1F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,wDAAoB,GAApB,UAAqB,CAAC;QACpB,0BAA0B;QAC1B,IAAI,0BAA0B,GAAQ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAc,CAAC;QACxG,IAAI,0BAA0B,GAAQ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAc,CAAC;QACxG,IAAI,2BAA2B,GAAQ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;QAEhH,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEX,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7F,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAE5D,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE3C,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAC7E,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAGtF,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5D,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAC7E,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,2BAA2B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7D,2BAA2B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE5C,2BAA2B,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEtE,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAChF,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,eAAe,EAAE,CAAC;oBACrF,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAC9F,CAAC;YACH,CAAC;QAGH,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEX,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,eAAe,EAAE,CAAC;YACtF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7F,EAAE,CAAC,CAAC,2BAA2B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7D,2BAA2B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE5C,2BAA2B,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEtE,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAChF,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,eAAe,EAAE,CAAC;oBACrF,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAE9F,CAAC;YACH,CAAC;YAED,8FAA8F;YAC9F,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5D,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAChG,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAE5D,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE3C,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAC7E,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAEtF,CAAC;YACH,CAAC;QAGH,CAAC;QAED,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEX,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,eAAe,EAAE,CAAC;YACtF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7F,EAAE,CAAC,CAAC,2BAA2B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7D,2BAA2B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE5C,2BAA2B,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEtE,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAChF,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,eAAe,EAAE,CAAC;oBACrF,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAC9F,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5D,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAC7E,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5D,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAChG,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;YACD,8FAA8F;QAEhG,CAAC;QACD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEX,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACjF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,eAAe,EAAE,CAAC;YACtF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAE7F,EAAE,CAAC,CAAC,2BAA2B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAE7D,2BAA2B,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEtE,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACxG,2BAA2B,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAE9F,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAE5D,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE3C,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAEpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAC7E,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAEtF,CAAC;YACH,CAAC;YAED,EAAE,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAW,CAAC,CAAC;gBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5D,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,0BAA0B,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACpE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,eAAe,EAAE,CAAC;oBAC7E,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxE,0BAA0B,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBACtF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACA,kDAAc,GAAd;QAAA,iBAgDC;QA/CC,IAAI,WAAW,GAAC,EAAC,OAAO,EAAC,IAAI,CAAC,IAAI,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC;QACpE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,cAAI;YACnD,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC3B,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;gBACjH,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,CAAC;gBACvH,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;gBACjG,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;gBAC/G,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,iCAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,iCAAiC,CAAC;gBAC5H,mGAAmG;gBACnG,kHAAkH;gBAClH,oGAAoG;gBACpG,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBACnD,IAAI,4BAA0B,GAAQ,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAc,CAAC;oBACxG,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;wBACxD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,CAAC;wBACvB,EAAE,EAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC,EAAC;4BACpC,IAAI,GAAG,GAAC,EAAC,qBAAqB,EAAC,GAAG,CAAC,mBAAmB,EAAC,CAAC;4BACxD,4BAA0B,CAAC,IAAI,CAAC,KAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC;wBACvE,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC;gBACD,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBACnD,IAAI,4BAA0B,GAAQ,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAc,CAAC;oBACxG,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;wBACxD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,CAAC,CAAC;wBACvB,IAAI,GAAG,GAAC,EAAC,qBAAqB,EAAC,GAAG,CAAC,mBAAmB,EAAC,CAAC;wBACxD,4BAA0B,CAAC,IAAI,CAAC,KAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;oBACxE,CAAC,CAAC;gBACJ,CAAC;gBACD,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;oBAC1D,IAAI,6BAA2B,GAAQ,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;oBAChH,IAAI,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,OAAO,CAAC,aAAG;wBACxD,IAAI,GAAG,GAAC,EAAC,4BAA4B,EAAC,GAAG,CAAC,0BAA0B,EAAC,CAAC;wBACtE,6BAA2B,CAAC,IAAI,CAAC,KAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;oBAC5E,CAAC,CAAC;gBACJ,CAAC;gBACD,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACjG,CAAC;YACD,IAAI,EAAC;gBACL,IAAI,0BAA0B,GAAQ,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAc,CAAC;gBACtG,0BAA0B,CAAC,IAAI,CAAC,KAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzE,IAAI,0BAA0B,GAAQ,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,yBAAyB,CAAc,CAAC;gBACxG,0BAA0B,CAAC,IAAI,CAAC,KAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxE,IAAI,2BAA2B,GAAQ,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;gBAChH,2BAA2B,CAAC,IAAI,CAAC,KAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,CAAC;QACF,CAAC,CAAC;IACJ,CAAC;IACD,mDAAe,GAAf;QAAA,iBAoBC;QAnBC,EAAE,EAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAC;YAChC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6CAA6C,CAAC;QAC/E,CAAC;QACD,IAAI,EAAC;YACH,IAAI,UAAU,GAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK;YAC1C,oCAAoC;YACpC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,QAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,EAAnD,CAAmD,CAAC,CAAC;YAC9F,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,aAAG;gBAC7C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;oBACzB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;oBAC5D,UAAU,CAAC;wBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;gBACX,CAAC;gBACD,IAAI,EAAC;oBACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,8BAA8B,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IA3VW,yBAAyB;QAJrC,wEAAS,CAAC;YACT,QAAQ,EAAE,+BAA+B;WACG;SAC7C,CAAC;kCAW+L;OAVpL,yBAAyB,CA6VrC;IAAD,CAAC;AAAA;SA7VY,yBAAyB,kB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnBI;AACe;AAEyC;AACqD;AACN;AACH;AACS;AACK;AACC;AACN;AAEvJ;;;;;GAKG;AAMH;IAOE,qCAAmB,OAAsB,EACtB,SAAoB,EACpB,OAAgC;QAFhC,YAAO,GAAP,OAAO,CAAe;QACtB,cAAS,GAAT,SAAS,CAAW;QACpB,YAAO,GAAP,OAAO,CAAyB;QANnD,cAAS,GAAQ,EAAE,CAAC;QACpB,qBAAgB,GAAQ,EAAE,CAAC;QAOnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE3C,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAEzC,CAAC;IAED,yCAAyC;IACzC,+DAAyB,GAAzB;QAAA,iBAUC;QATC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAI;YAC1E,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,EAAC;gBAChB,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,SAAS,EAAb,CAAa,CAAC,CAAC;gBACjE,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,CAAC;gBACF,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAC7B,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAEF,kCAAkC;IAClC,gEAA0B,GAA1B,UAA2B,OAAY,EAAE,OAAY;QAEpD,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACnD,IAAI,CAAC,SAAS,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC;QAC/E,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAEvD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,CAAC,CAAC,EAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qKAA0B,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QACnG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,CAAC,CAAC,EAAC;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+JAAwB,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAEjG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,4JAAuB,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAEhG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qKAA0B,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAEnG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wKAA2B,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAEpG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,qKAA0B,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAEnG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8KAA6B,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAEtG,CAAC;QACD,EAAE,EAAC,OAAO,CAAC,OAAO,IAAE,EAAE,CAAC,EAAC;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2KAA4B,EAAC,EAAC,aAAa,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;QAErG,CAAC;IAGH,CAAC;IA1EY,2BAA2B;QAJvC,wEAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;WACG;SAC/C,CAAC;6EAQyC;YACX,gHAAS;YACZ,wBAAwB;OATxC,2BAA2B,CA6EvC;IAAD,CAAC;AAAA;SA7EY,2BAA2B,kB;;;;;;;;;;;;;;;;;;;;;;;;;ACvBE;AACe;AAC0B;AACP;AACyB;AACV;AAGd;AAE7E;;;;;GAKG;AAOH;IA4CE,oCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,KAAmB,EAAQ,OAAgC,EAAQ,EAAc,EAAQ,IAAsB;QAAxM,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QA3CzN,cAAS,GAAK,EAAE,CAAC;QAKnB,eAAU,GAAK,EAAE,CAAC;QAClB,2BAAsB,GAAO;YAC3B,uBAAuB,EAAC,MAAM;YAC9B,yBAAyB,EAAC,MAAM;YAC7B,uBAAuB,EAAC,MAAM;SACjC,CAAC;QAQH,iBAAY,GAAQ,EAAE,CAAC;QACrB,iBAAY,GAAQ,EAAE,CAAC;QACvB,iBAAY,GAAQ,EAAE,CAAC;QAEvB,4BAAuB,GAAK,EAAE;QAC9B,oBAAe,GAAK,EAAE;QAGtB,mBAAc,GAAS,EAAE,CAAC;QAC1B,iBAAY,GAAK,EAAE,CAAC;QAEpB,cAAS,GAAK,EAAE;QAChB,gBAAW,GAAK,EAAE;QAMlB,eAAU,GAAU,KAAK,CAAC;QAC1B,aAAQ,GAAM,EAAE,CAAC;QACjB,oCAA+B,GAAK,EAAE;QACtC,mBAAc,GAAM,EAAE,CAAC;QACvB,oBAAe,GAAM,EAAE,CAAC;QACxB,mBAAc,GAAS,KAAK;QA2lD7B,8BAAyB,GAAQ,EAAE,CAAC;QACvC,uBAAkB,GAAQ,EAAE,CAAC;QAC7B,0BAAqB,GAAQ,EAAE,CAAC;QAChC,wBAAmB,GAAQ,EAAE,CAAC;QA3lD1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK;QAE9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAErD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAEhD,IAAI,CAAC,sBAAsB,GAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB;QAC/D,IAAI,CAAC,4BAA4B,GAAC,IAAI,CAAC,SAAS,CAAC,0BAA0B;QAC3E,IAAI,CAAC,wBAAwB,GAAC,IAAI,CAAC,SAAS,CAAC,cAAc;QAC3D,IAAI,CAAC,IAAI,GAAC,CAAC;QAIX,2BAA2B;QAC3B,6BAA6B;QAE7B,IAAI,CAAC,YAAY,GAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC/B,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,EAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YAChB,MAAM,EAAC,CAAC,IAAI,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU;YACrC,QAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,0BAA0B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,6BAA6B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,8BAA8B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,+BAA+B,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,kCAAkC,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,iCAAiC,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,uBAAuB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,0BAA0B,EAAC,CAAC,EAAE,CAAC;YAC/B,qCAAqC;YACrC,mCAAmC;YACnC,2BAA2B;YAC3B,WAAW,EAAC,CAAC,EAAE,CAAC;YAChB,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,qBAAqB,EAAC,CAAC,EAAE,CAAC;YAC1B,kCAAkC,EAAC,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjF,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACxB,aAAa,EAAE,CAAC,EAAE,CAAC;YAClB,2BAA2B;YAC5B,sBAAsB;YACrB,sBAAsB;YACtB,OAAO,EAAE,CAAC,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,eAAe,EAAE,CAAC,EAAE,CAAC;YACrB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,gBAAgB,EAAC,CAAC,EAAE,CAAC;SAKvB,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpB,2BAA2B;IAEzB,CAAC;IAED,mDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IAI3D,CAAC;IACD,gDAAW,GAAX;QAAA,iBAiED;QA/DG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,cAAI;YAEtD,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,aAAG;gBACvB,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,SAAS,CAAC,cAAI;YAE/D,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,aAAG;gBACvB,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,cAAI;YAEvD,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,aAAG;gBACvB,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,mBAAmB,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpD,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,cAAI;YAC3D,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,uBAAuB,IAAE,KAAI,CAAC,sBAAsB,EAAxD,CAAwD,CAAC,CAAC;YACvG,KAAI,CAAC,sBAAsB,CAAC,uBAAuB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAuB,IAAE,CAAC,CAAC;YAC/F,KAAI,CAAC,sBAAsB,CAAC,yBAAyB,GAAI,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAuB,IAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,yBAAyB,GAAG,KAAI,CAAC,4BAA4B,CAAC;YAChL,KAAI,CAAC,sBAAsB,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,uBAAuB,IAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,KAAI,CAAC,4BAA4B,CAAC;YAEvJ,EAAE,EAAC,KAAI,CAAC,sBAAsB,CAAC,yBAAyB,IAAI,0BAA0B,IAAI,KAAI,CAAC,sBAAsB,CAAC,yBAAyB,IAAI,qBAAqB,CAAC,EAAC;gBACtK,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC/B,CAAC;QAGL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,SAAS,CAAC,cAAI;YAC7D,KAAI,CAAC,uBAAuB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;QAE9E,CAAC,CAAC,CAAC;QAIH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAI;YAChD,KAAI,CAAC,eAAe,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;QAEtE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,cAAI;YAC/C,KAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC,CAAC;QAChE,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YACpD,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,EAAC;gBAEpB,KAAI,CAAC,WAAW,GAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,cAAc,IAAE,CAAC,EAArB,CAAqB,CAAC;YAElE,CAAC;QACL,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,cAAI;YACrD,KAAI,CAAC,QAAQ,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAG,CAAC,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,EAAxC,CAAwC,CAAC,CAAC;QACxF,CAAC,CAAC;IAEN,CAAC;IACD,oDAAe,GAAf;QAAA,iBAUC;QATD,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC,cAAI;YAG7C,KAAI,CAAC,SAAS,GAAC,IAAI,CAAC,OAAO;YAE7B,KAAI,CAAC,UAAU,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IAGL,CAAC;IACD,4DAAuB,GAAvB,UAAwB,OAAO,EAAC,CAAC,EAAC,CAAC;QAC/B,EAAE,EAAC,CAAC,IAAI,KAAK,CAAC,EAAC;YACX,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC1F,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,wBAAwB,IAAI,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAC5F,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,yBAAyB,IAAI,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC;QACzF,CAAC;QACD,IAAI,EAAC;YACD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAE,KAAK,CAAC;YAC9B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACpC,CAAC;IACF,CAAC;IACF,+CAAU,GAAV;QAAA,iBAoeC;QAleC,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,UAAU,GAAG,EAAE;QACtB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAI;YAC3C,IAAI,WAAW,GAAC,IAAI,CAAC,SAAS,CAAC;YAC/B,IAAI,QAAa,CAAC;YAGpB,IAAM,MAAM,GAAkB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAErE,IAAM,QAAQ,GAAkB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YAEzF,IAAM,iBAAiB,GAAkB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;YAErG,IAAM,mBAAmB,GAAiB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;YACvG,IAAM,aAAa,GAAmB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;YACpG,IAAM,gBAAgB,GAAgB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;YACvG,IAAM,sBAAsB,GAAgB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;YAC5G,IAAM,aAAa,GAAgB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YACzF,IAAM,QAAQ,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACpE,gDAAgD;YAChD,qDAAqD;YAErD,gJAAgJ;YAChJ,yCAAyC;YACzC,qJAAqJ;YACtJ,+CAA+C;YAC9C,gJAAgJ;YAChJ,0CAA0C;YAE1C,EAAE,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAE,GAAG,CAAC,EAAC;gBACpB,IAAI,QAAQ,SAAK,CAAC;gBAClB,IAAI,WAAW,GAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBAClE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC,CAAC;gBAEF,EAAE,EAAC,WAAW,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;oBACtB,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gBACtC,CAAC;gBACD,IAAI,EAAC;oBACD,WAAW,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,GAAG;wBAC1B,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;wBACnC,EAAE,EAAC,KAAK,CAAC,YAAY,IAAE,QAAQ,CAAC,CAAC,CAAC;4BAC9B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC;wBACnG,CAAC;wBACD,EAAE,EAAC,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC,CAAC;4BAC9F,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,oCAAoC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC;wBACnH,CAAC;wBACD,IAAI,CAAC,CAAC;4BACF,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,oCAAoC,CAAC;wBAC5E,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,EAAC;oBAC/C,IAAI,YAAY,GAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACtF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;oBAC3D,CAAC,CAAC;oBACF,EAAE,EAAC,YAAY,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wBACtB,YAAY,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,GAAG;4BAC3B,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;wBAC7C,CAAC,CAAC;wBACF,WAAW,CAAC,0BAA0B,GAAC,YAAY;oBAEvD,CAAC;oBACD,IAAI,EAAC;wBACD,2CAA2C;wBAC3C,WAAW,CAAC,0BAA0B,GAAC,EAAE;oBAC7C,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBACD,WAAW,CAAC,0BAA0B,GAAC,EAAE;gBAE7C,CAAC;gBAGG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC,CAAC;oBAC3C,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBAChE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBACC,QAAQ,CAAC,OAAO,CAAC,eAAK;wBAClB,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;gBACX,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,QAAQ,GAAG,CAAC,EAAC,QAAQ,EAAE,EAAE,EAAC,CAAC,CAAC;oBAC5B,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACzC,CAAC;gBAEA,WAAW,CAAC,IAAI,GAAI,KAAI,CAAC,IAAI,CAAC;gBAC1B,WAAW,CAAC,MAAM,GAAI,EAAE,CAAC;gBACzB,WAAW,CAAC,UAAU,GAAI,KAAI,CAAC,SAAS,CAAC,UAAU,CAAC;gBACpD,WAAW,CAAC,YAAY,GAAI,KAAI,CAAC,KAAK,CAAC;gBACvC,wCAAwC;gBACxC,WAAW,CAAC,QAAQ,GAAI,WAAW,CAAC;gBACtC,uDAAuD;gBACrD,WAAW,CAAC,SAAS,GAAC,QAAQ;gBAE9B,EAAE,EAAC,WAAW,CAAC,qBAAqB,CAAC,EAAC;oBAClC,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;gBACtG,CAAC;gBAGE,mFAAmF;gBACpF,2CAA2C;gBAC1C,qCAAqC;gBACrC,IAAI,cAAY,GAAC,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAI,IAAE,QAAC,EAAC,IAAI,EAAG,IAAI,CAAC,IAAI,EAAC,mBAAmB,EAAG,IAAI,CAAC,mBAAmB,EAAC,CAAC,EAAnE,CAAmE,CAAC;gBAChH,IAAI,qBAAmB,GAAM,EAAE,CAAC;gBAChC,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,EAAC;oBAC7C,qBAAmB,GAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBAC5F,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC;oBAClF,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,IAAI,wBAAwB,GAAG,cAAY,CAAC,GAAG,CAAC,cAAI,IAAI,WAAI,CAAC,mBAAmB,EAAxB,CAAwB,CAAC,CAAC;gBAClF,IAAI,6BAA6B,GAAE,wBAAwB,CAAC,GAAG,CAAC,UAAC,EAAE,EAAE,KAAK;oBAC1E,EAAE,CAAC,CAAC,qBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACtC,cAAY,CAAC,KAAK,CAAC,CAAC,YAAY,GAAC,CAAC,CAAC;wBACnC,MAAM,CAAC,cAAY,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC;oBACD,IAAI,EAAC;wBACD,cAAY,CAAC,KAAK,CAAC,CAAC,YAAY,GAAC,CAAC,CAAC;wBACnC,MAAM,CAAC,cAAY,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC;gBACD,CAAC,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,IAAI,SAAS,EAAjB,CAAiB,CAAC,CAAC;gBAErC,EAAE,EAAC,6BAA6B,CAAC,MAAM,GAAG,CAAC,CAAC,CAC5C,CAAC;oBACG,6BAA6B,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;wBAC5C,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC1D,yGAAyG;oBAE5G,CAAC,CAAC,CAAC;oBAEH,WAAW,CAAC,6BAA6B,GAAC,6BAA6B,CAAC;gBAC5E,CAAC;gBACF,wDAAwD;gBAExD,sGAAsG;gBAEtG,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,EAAC;oBAC/C,IAAI,qBAAqB,GAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;wBAClG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAC;oBAC/D,CAAC,CAAC,CAAC;oBACH,EAAE,EAAC,qBAAqB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;wBAClC,qBAAqB,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;wBACxL,qBAAqB,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;wBAE5K,qBAAqB,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;4BACxC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAC,WAAW,EAAC,KAAK,CAAC;4BACxD,mBAAmB,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC;4BACnD,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;gCACrC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gCACzF,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAE7G,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC7D,IAAI,YAAY,GAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCACrG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCACzC,CAAC,CAAC,CAAC;gCACH,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC3F,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,IAAI,YAAY,GAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCACnG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCACzC,CAAC,CAAC;4BACH,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;gCACpC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACjG,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCAC3G,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BACJ,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,MAAM,CAAC,EAAC;gCAClC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC3F,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAC7G,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAExF,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC7D,IAAI,YAAY,GAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCACrG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCACH,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,IAAI,YAAY,GAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCACnG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;gCAEF,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACjG,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCAC3G,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BAED,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,WAAW,CAAC,8BAA8B,GAAC,qBAAqB,CAAC;oBAGlE,CAAC;oBACD,IAAI,EAAC;wBAEJ,WAAW,CAAC,8BAA8B,GAAC,EAAE,CAAC;oBAC/C,CAAC;gBACL,CAAC;gBACD,IAAI,EAAC;oBAEJ,WAAW,CAAC,8BAA8B,GAAC,EAAE,CAAC;gBAC/C,CAAC;gBAED,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,EAAC;oBAEnD,IAAI,cAAc,GAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBAChG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,GAAG,CAAC,CAAC;oBAChE,CAAC,CAAC,CAAC;oBACH,EAAE,EAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC3B,cAAc,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;wBACjL,cAAc,CAAC,MAAM,GAAG,CAAC,GAAI,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;wBACjL,cAAc,CAAC,MAAM,GAAG,CAAC,GAAI,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,4BAA4B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;wBAC7K,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,0BAA0B,IAAI,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAE,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;wBAC9M,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,0BAA0B,IAAI,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,sBAAsB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,sBAAsB,CAAC;wBAC/M,cAAc,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;4BACjC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAC,WAAW,EAAC,KAAK,CAAC;4BACzD,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;4BAC7C,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;gCACrC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACrF,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACvG,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC7D,IAAI,YAAY,GAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCAC/F,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCAEH,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAClF,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,IAAI,YAAY,GAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCAC7F,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;4BACH,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;gCACpC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC3F,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCACrG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BACJ,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,MAAM,CAAC,EAAC;gCAClC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACrF,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCACvG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAClF,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC7D,IAAI,YAAY,GAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCAC/F,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCACH,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,IAAI,YAAY,GAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCAC7F,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;gCACF,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC3F,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCACrG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BACD,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,WAAW,CAAC,+BAA+B,GAAC,cAAc,CAAC;oBAC/D,CAAC;oBACD,IAAI,EAAC;wBACD,WAAW,CAAC,+BAA+B,GAAC,EAAE,CAAC;oBACnD,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,CAAC;oBACF,WAAW,CAAC,+BAA+B,GAAC,EAAE,CAAC;gBACnD,CAAC;gBAGA,4BAA4B;gBAC5B,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,EAAC;oBACpD,IAAI,iBAAiB,GAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACtG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,GAAG,CAAC,CAAC;oBACnE,CAAC,CAAC,CAAC;oBACH,EAAE,EAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC9B,iBAAiB,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;wBACpL,iBAAiB,CAAC,MAAM,GAAG,CAAC,GAAI,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;wBACpL,iBAAiB,CAAC,MAAM,GAAG,CAAC,GAAI,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,4BAA4B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;wBAChL,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,0BAA0B,IAAI,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAE,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;wBACjN,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,0BAA0B,IAAI,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,sBAAsB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,sBAAsB,CAAC;wBAClN,iBAAiB,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;4BACpC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAC,WAAW,EAAC,KAAK,CAAC;4BACzD,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;4BAChD,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;gCACrC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACxF,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAC1G,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC7D,IAAI,YAAY,GAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCAClG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCAEH,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACrF,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,IAAI,YAAY,GAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCAChG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;4BACH,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;gCACpC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC9F,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCACxG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BACJ,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,MAAM,CAAC,EAAC;gCAClC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACxF,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAC1G,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACrF,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC7D,IAAI,YAAY,GAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCAClG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCACH,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,IAAI,YAAY,GAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCAChG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;gCACF,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC9F,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCACxG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BACD,CAAC;wBAEL,CAAC,CAAC,CAAC;wBACH,WAAW,CAAC,kCAAkC,GAAC,iBAAiB,CAAC;oBACrE,CAAC;oBACD,IAAI,EAAC;wBACD,WAAW,CAAC,kCAAkC,GAAC,EAAE,CAAC;oBACtD,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,CAAC;oBACF,WAAW,CAAC,kCAAkC,GAAC,EAAE,CAAC;gBAEtD,CAAC;gBAGD,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,iCAAiC,CAAC,EAAC;oBAClD,IAAI,eAAe,GAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,iCAAiC,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBAChG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,iCAAiC,CAAC,GAAG,CAAC,CAAC;oBAClE,CAAC,CAAC;oBACF,EAAE,EAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC5B,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;wBACxK,eAAe,CAAC,MAAM,GAAG,CAAC,GAAI,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;wBAClL,eAAe,CAAC,MAAM,GAAG,CAAC,GAAI,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,4BAA4B,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;wBAC9K,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,0BAA0B,IAAI,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC,GAAE,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;wBAC/M,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,0BAA0B,IAAI,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,sBAAsB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,sBAAsB,CAAC;wBAEhN,eAAe,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;4BACpC,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAC,YAAY,EAAC,KAAK,CAAC;4BACvD,sBAAsB,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;4BAExD,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;gCACpC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC9F,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAChH,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC7D,IAAI,YAAY,GAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCACxG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCAEH,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC9F,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,IAAI,YAAY,GAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCACtG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;4BACA,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;gCACpC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACpG,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCAC9G,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BACJ,CAAC;4BACD,IAAI,CAAC,EAAE,EAAC,OAAO,CAAC,YAAY,IAAE,MAAM,CAAC,EAAC;gCAClC,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC9F,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gCAChH,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCAC3F,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCAC7D,IAAI,YAAY,GAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;oCACxG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC;gCAC5C,CAAC,CAAC,CAAC;gCAEH,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACzD,IAAI,YAAY,GAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAc,CAAC;oCACtG,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC;gCAC1C,CAAC,CAAC,CAAC;gCACF,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,KAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gCACjG,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAC,YAAY,EAAC,UAAU;oCACnE,IAAI,YAAY,GAAO,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;oCAC9G,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC/C,CAAC,CAAC,CAAC;4BAGJ,CAAC;wBACL,CAAC,CAAC,CAAC;wBAGH,WAAW,CAAC,iCAAiC,GAAC,eAAe,CAAC;oBAElE,CAAC;oBACD,IAAI,EAAC;wBACD,WAAW,CAAC,iCAAiC,GAAC,EAAE,CAAC;oBAErD,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,CAAC;oBACF,WAAW,CAAC,iCAAiC,GAAC,EAAE,CAAC;gBAErD,CAAC;gBAED,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,EAAC;oBAE3C,iCAAiC;oBACjC,IAAI,cAAc,GAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACzF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;oBACH,EAAE,EAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC3B,cAAc,CAAC,OAAO,CAAC,UAAC,OAAO,EAAC,KAAK;4BACjC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;wBAC5B,CAAC,CAAC,CAAC;wBAC3B,WAAW,CAAC,uBAAuB,GAAC,cAAc,CAAC;oBACvD,CAAC;oBACD,IAAI,EAAC;wBACD,WAAW,CAAC,uBAAuB,GAAC,EAAE,CAAC;oBAC3C,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,CAAC;oBACF,WAAW,CAAC,uBAAuB,GAAC,EAAE,CAAC;gBAE3C,CAAC;gBAEmB,qCAAqC;gBACjD,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,EAAC;oBAEnB,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,IAAE,KAAK,CAAC,EAAC;wBACjD,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAClG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAiB,CAAC;gBAE1H,CAAC;gBAEJ,gEAAgE;gBAC9D,iFAAiF;gBAElF,oHAAoH;gBACpH,EAAE,EAAC,WAAW,CAAC,0BAA0B,IAAI,KAAK,CAAC,EAAC;oBAClD,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;oBACvF,IAAM,UAAU,GAAmB,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;oBACtF,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;wBACrD,UAAU,CAAC,IAAI,CAAC,KAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBACrF,CAAC;gBACL,CAAC;gBAEC,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAG9C,CAAC;YACD,IAAI,EAAC;gBACD,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC;gBAEtC,uCAAuC;gBAEvC,0DAA0D;gBAC1D,IAAI,YAAY,GAAC,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAI,IAAE,QAAC,EAAC,IAAI,EAAG,IAAI,CAAC,IAAI,EAAC,mBAAmB,EAAG,IAAI,CAAC,mBAAmB,EAAC,YAAY,EAAC,CAAC,EAAC,CAAC,EAAlF,CAAkF,CAAC;gBAChI,EAAE,EAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAC3B,CAAC;oBACG,YAAY,CAAC,OAAO,CAAC,aAAG;wBACpB,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC7D,CAAC,CAAC,CAAC;gBACP,CAAC;YAEP,CAAC;QACT,CAAC,CAAC;QACE,4BAA4B;QAC5B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAG;YAChE,GAAG,CAAC,WAAW,EAAE,IAAE,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,yBAAyB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;YAC1L,GAAG,CAAC,WAAW,EAAE,IAAE,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QACxL,CAAC,CAAC,CAAC;IAGP,CAAC;IAED,+CAAU,GAAV,UAAW,UAAe,EAAC,QAAe;QAGxC,EAAE,EAAC,QAAQ,CAAC,EAAC;YACX,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAE,QAAC,CAAC,QAAQ,IAAE,QAAQ,EAApB,CAAoB,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;QACnD,CAAC;IACL,CAAC;IAEC,0BAA0B;IAC1B,uDAAkB,GAAlB,UAAmB,UAAe,EAAC,YAAgB;QACjD,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;QACjC,EAAE,EAAC,YAAY,CAAC,EAAC;YACf,IAAI,sBAAoB,GAAG,UAAU,CAAC,GAAG,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,EAAb,CAAa,CAAC,CAAC;YACjE,IAAI,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,UAAU,EAAd,CAAc,CAAC,CAAC,GAAG,CAAC,gBAAM,IAAI,aAAM,CAAC,UAAU,EAAjB,CAAiB,CAAC,CAAC;YAChG,IAAI,cAAc,GAAM,EAAE,CAAC;YAC1B,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,WAAC;gBAC9B,IAAI,SAAS,GAAG,sBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChD,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,GAAG,cAAc,GAAG,EAAE,CAAC;QACzD,CAAC;IACL,CAAC;IACD,wDAAmB,GAAnB,UAAoB,UAAe,EAAC,YAAgB,EAAC,aAAkB;QACrE,IAAI,WAAW,GAAQ,aAAa,CAAC,MAAM,CAAC,eAAK,IAAE,YAAK,CAAC,SAAS,IAAE,EAAE,EAAnB,CAAmB,CAAC,CAAC,GAAG,CAAC,eAAK,IAAE,YAAK,CAAC,SAAS,EAAf,CAAe,CAAC,CAAC;QACpG,WAAW,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC/C,EAAE,EAAC,YAAY,CAAC,EAAC;YACf,IAAI,sBAAoB,GAAG,UAAU,CAAC,GAAG,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,EAAb,CAAa,CAAC,CAAC;YAEjE,IAAI,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,WAAC;gBACjC,IAAI,SAAS,GAAG,sBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAChD,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;gBACzC,MAAM,CAAC,SAAS,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;YAEjD,EAAE,EAAC,MAAM,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBACnB,IAAI,KAAK,GAAQ,MAAM,CAAC,MAAM,CAAC,UAAS,IAAI;oBAC1C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAS,IAAI;wBACnC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAE,IAAI,CAAC;oBAC9B,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,CAAC;gBACF,MAAM,CAAC,EAAE,CAAC;YACd,CAAC;QACD,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,EAAE,CAAC;QACZ,CAAC;IACL,CAAC;IAGD,uDAAkB,GAAlB,UAAmB,QAAQ;QACvB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,IAAG,CAAC,CAAC,GAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,CAAC,CAAC;IAC5I,CAAC;IACF,+DAA0B,GAA1B,UAA2B,CAAC,EAAC,CAAC;QAC5B,EAAE,EAAC,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAC;YAClC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC;QAC1D,CAAC;QACD,IAAI,EAAC;YACD,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9B,CAAC;IACF,CAAC;IAEJ,sCAAsC;IACtC,2DAAsB,GAAtB,UAAuB,KAAU;QAE7B,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YACrE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;YACrD,IAAI,oBAAoB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;YACnG,oBAAoB,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEtC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YAC3E,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;YACjD,IAAI,oBAAoB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;YACnG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAG7D,CAAC;QACD,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YACrE,IAAI,CAAC,eAAe,GAAC,KAAK,CAAC,KAAK,CAAC,YAAY;YAC7C,IAAI,aAAa,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;YAC7F,aAAa,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC5B,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YAC3E,IAAI,CAAC,eAAe,GAAC,KAAK,CAAC,KAAK,CAAC,YAAY;YACzC,IAAI,aAAa,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;YAC7F,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YACrE,IAAI,CAAC,iBAAiB,GAAC,KAAK,CAAC,KAAK,CAAC,YAAY;YAC/C,IAAI,gBAAgB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;YACnG,gBAAgB,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC/B,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YAC3E,IAAI,CAAC,iBAAiB,GAAC,KAAK,CAAC,KAAK,CAAC,YAAY;YAC3C,IAAI,gBAAgB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;YACnG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YACrE,IAAI,CAAC,cAAc,GAAC,KAAK,CAAC,KAAK,CAAC,YAAY;YAC5C,IAAI,cAAc,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;YAChG,cAAc,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC7B,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YAC3E,IAAI,CAAC,cAAc,GAAC,KAAK,CAAC,KAAK,CAAC,YAAY;YACxC,IAAI,cAAc,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;YAChG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YACrE,IAAI,aAAa,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YACrF,aAAa,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC5B,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,KAAK,CAAC,KAAK,CAAC,YAAY,IAAE,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,IAAE,CAAC,CAAC,EAAC;YACvE,IAAI,aAAa,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YACrF,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,kEAAkE;QAClE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,8BAA8B,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,+BAA+B,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,kCAAkC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,kBAAkB,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAChZ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,8BAA8B,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,mEAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC/O,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,iCAAiC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,mEAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACrP,iDAAiD;QAEjD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,iCAAiC,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,+BAA+B,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,kCAAkC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,mEAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC;QAC5Z,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,iCAAiC,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,+BAA+B,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,kCAAkC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,4BAA4B,EAAE,IAAI,mEAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAGpZ,EAAE,EAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,IAAE,SAAS,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,IAAE,SAAS,IAAI,IAAI,CAAC,iBAAiB,IAAG,IAAI,CAAC,iBAAiB,IAAE,SAAS,IAAK,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,IAAE,SAAS,CAAC,EAAC;YACvP,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC5B,CAAC;IACL,CAAC;IAGD,gEAA2B,GAA3B,UAA4B,UAAe,EAAE,QAAQ;QACjD,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;QACxF,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;YAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtG,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;YAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAEhE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,MAAM,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAClG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;IACL,CAAC;IAEA,wBAAwB;IACxB,yDAAoB,GAApB,UAAqB,UAAe,EAAE,QAAQ;QAC3C,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iCAAiC,CAAc,CAAC;QAEzF,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;YAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtG,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;YAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAEhE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,MAAM,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAClG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,4DAAuB,GAAvB,UAAwB,UAAe,EAAE,QAAQ;QAC7C,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oCAAoC,CAAc,CAAC;QAE5F,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;YAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtG,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;YAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAEhE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,MAAM,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAClG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;IACL,CAAC;IACD,2BAA2B;IAC3B,sDAAiB,GAAjB,UAAkB,UAAe,EAAE,QAAQ;QACvC,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mCAAmC,CAAc,CAAC;QAE3F,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,cAAc,CAAC,EAAC;YAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtG,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,QAAQ,CAAC,EAAC;YAC7C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAEhE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,CAAC,KAAK,CAAC,YAAY,IAAE,MAAM,CAAC,CAAC,CAAC;YAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YACxE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YAChE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,EAAC,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAClG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;QACpH,CAAC;IACL,CAAC;IAGD,0DAAqB,GAArB,UAAsB,IAAI,EAAC,aAAa,EAAC,KAAK;QAC1C,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;YACxF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACrE,EAAE,EAAC,KAAK,IAAE,KAAK,CAAC,CAAC,CAAC;gBAEd,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;YACxH,IAAI,CAAC,EAAE,EAAC,KAAK,IAAE,IAAI,CAAC,EAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5G,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;QAC5H,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iCAAiC,CAAc,CAAC;YACzF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACrE,EAAE,EAAC,KAAK,IAAE,KAAK,CAAC,CAAC,CAAC;gBACd,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;YACxH,IAAI,CAAC,EAAE,EAAC,KAAK,IAAE,IAAI,CAAC,EAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5G,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;QAC5H,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oCAAoC,CAAc,CAAC;YAC5F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACrE,EAAE,EAAC,KAAK,IAAE,KAAK,CAAC,CAAC,CAAC;gBACd,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;YACxH,IAAI,CAAC,EAAE,EAAC,KAAK,IAAE,IAAI,CAAC,EAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5G,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;QAC5H,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mCAAmC,CAAc,CAAC;YAC3F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACrE,EAAE,EAAC,KAAK,IAAE,KAAK,CAAC,CAAC,CAAC;gBACd,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;YACxH,IAAI,CAAC,EAAE,EAAC,KAAK,IAAE,IAAI,CAAC,EAAC;gBACjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5G,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAAY,CAAC;QAC5H,CAAC;IACL,CAAC;IAEG,0CAA0C;IAC1C,uDAAkB,GAAlB,UAAmB,KAAK,EAAC,GAAG;QACxB,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAc,CAAC;QAClE,KAAK,IAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACnL,CAAC;IAEH,sDAAiB,GAAjB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,QAAQ,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SACnE,CAAC,CAAC;IACP,CAAC;IACD,6CAAQ,GAAR,UAAS,KAAU;QACf,IAAM,OAAO,GAAG,OAAO,CAAC;QAExB,IAAI,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnD,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IACD,sDAAiB,GAAjB,UAAkB,KAAK,EAAE,GAAG;QAC1B,IAAI,kBAAkB,GAAG,KAAK,CAAC,gCAAgC,IAAE,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC3H,IAAI,gBAAgB,GAAG,KAAK,CAAC,yBAAyB,IAAE,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC3G,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAc,CAAC;QAClE,EAAE,EAAC,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,oCAAoC,EAAE,IAAI,mEAAW,CAAC,EAAE,EAAE,kEAAU,CAAC,QAAQ,CAAC,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,gBAAgB,GAAG,kBAAkB,CAAC,CAAC,CAAC;YAC5C,2FAA2F;YAC3F,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,oCAAoC,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,CAAC;YACF,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,oCAAoC,CAAC;QAC7E,CAAC;QACD,cAAc;QACd,0BAA0B;QAC1B,kGAAkG;QAClG,8GAA8G;QAC9G,0EAA0E;QAC1E,IAAI;IACR,CAAC;IACD,yDAAoB,GAApB,UAAqB,OAAO,EAAC,CAAC;QAE1B,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,KAAK,CAAC;QAEnE,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;QACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;QAEnC,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QAChG,OAAO,CAAC,QAAQ,CAAC,iCAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAE7F,CAAC;IAID,mDAAc,GAAd;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,YAAY,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,2BAA2B;YAC1B,YAAY,EAAC,CAAC,EAAE,CAAC;YACjB,gBAAgB,EAAC,CAAC,EAAE,CAAC;YACrB,gCAAgC,EAAC,CAAC,EAAE,CAAC;YACrC,iCAAiC,EAAC,CAAC,EAAE,CAAC;YACtC,yBAAyB,EAAC,CAAC,EAAE,CAAC;YAC9B,kCAAkC,EAAC,CAAC,EAAE,CAAC;YACxC;;0FAE8E;SAChF,CAAC,CAAC;IACP,CAAC;IACD,uDAAkB,GAAlB;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,wBAAwB,EAAC,CAAC,EAAE,CAAC;YAC7B,kBAAkB,EAAC,CAAC,EAAE,CAAC;YACvB,4BAA4B,EAAC,CAAC,EAAE,CAAC;YACjC,cAAc,EAAC,CAAC,EAAE,CAAC;YACnB,4BAA4B,EAAC,CAAC,EAAE,CAAC;YACjC,gBAAgB,EAAC,CAAC,EAAE,CAAC;SACxB,CAAC,CAAC;IACP,CAAC;IACD,2DAAsB,GAAtB,UAAuB,OAAO;QAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,mBAAmB,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7F,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,YAAY,EAAC,CAAC,OAAO,CAAC,YAAY,IAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;SACxD,CAAC,CAAC;IACP,CAAC;IACD,0DAAqB,GAArB;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,YAAY,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,WAAW,EAAE,CAAC,EAAE,CAAC;SACpB,CAAC,CAAC;IACP,CAAC;IACD,yDAAoB,GAApB;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,cAAc,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClE,CAAC,CAAC;IACP,CAAC;IACD,uDAAkB,GAAlB;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,aAAa,EAAC,CAAC,EAAE,CAAC;YAClB,YAAY,EAAC,CAAC,EAAE,CAAC;YACjB,WAAW,EAAC,CAAC,EAAE,CAAC;YACjB,0BAA0B;YAC1B,2CAA2C;YAC1C,wCAAwC;YACxC,+CAA+C;SAClD,CAAC;IACN,CAAC;IACD,mDAAc,GAAd;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,UAAU,EAAC,CAAC,EAAE,CAAC;YACf,SAAS,EAAC,CAAC,EAAE,CAAC;SACjB,CAAC;IACN,CAAC;IACD,iDAAY,GAAZ;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,UAAU,EAAC,CAAC,EAAE,CAAC;YACf,SAAS,EAAC,CAAC,EAAE,CAAC;SACjB,CAAC;IACN,CAAC;IACD,mDAAc,GAAd;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,QAAQ,EAAE,CAAC,EAAE,CAAC;SACjB,CAAC,CAAC;IACP,CAAC;IACD,mDAAc,GAAd;QACI,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,sDAAiB,GAAjB,UAAkB,KAAK;QACnB,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACrE,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YACpB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QACpD,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IACD,sDAAiB,GAAjB,UAAkB,KAAK;QACnB,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACjE,KAAK,CAAC,eAAe,EAAE;QACxB,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QAEpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,0DAAqB,GAArB,UAAsB,KAAK;QACvB,KAAK,CAAC,eAAe,EAAE;QACvB,IAAM,OAAO,GAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACjF,IAAI,MAAM,GAAC,OAAO,CAAC,MAAM;QACzB,IAAI,CAAC,IAAI,GAAC,MAAM;QAChB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,6DAAwB,GAAxB,UAAyB,KAAK;QAC1B,IAAM,OAAO,GAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QAClF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC3B,CAAC;IACD,yDAAoB,GAApB,UAAqB,KAAK;QACtB,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClE,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YACpB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IACD,yDAAoB,GAApB;QACI,IAAI,oBAAoB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;QACnG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,wDAAmB,GAAnB,UAAoB,KAAK;QACrB,IAAI,oBAAoB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;QACnG,EAAE,EAAC,oBAAoB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAC9B,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC;QACxC,CAAC;QACD,IAAI,EAAC;YACD,oBAAoB,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;IACL,CAAC;IACD,kDAAa,GAAb;QACI,IAAI,aAAa,GAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QAC3F,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,iDAAY,GAAZ,UAAa,KAAK;QACd,IAAI,aAAa,GAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;QAC3F,EAAE,EAAC,aAAa,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YACvB,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,EAAC;YACD,aAAa,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;IACL,CAAC;IACD,qDAAgB,GAAhB;QACI,IAAI,gBAAgB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;QACnG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,oDAAe,GAAf,UAAgB,KAAK;QACjB,IAAI,gBAAgB,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,oCAAoC,CAAC,CAAC;QACnG,EAAE,EAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAC1B,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpC,CAAC;QACD,IAAI,EAAC;YACD,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,2DAAsB,GAAtB;QACI,IAAI,cAAc,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QAChG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,0DAAqB,GAArB,UAAsB,KAAK;QACvB,IAAI,cAAc,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC;QAChG,EAAE,EAAC,cAAc,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YACxB,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClC,CAAC;QACD,IAAI,EAAC;YACD,cAAc,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC;IACD,0DAAqB,GAArB;QACI,IAAI,aAAa,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QACrF,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,sDAAiB,GAAjB;QACI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACjB,YAAY,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,WAAW,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC/D,CAAC,CAAC;IACP,CAAC;IAED,iDAAY,GAAZ,UAAa,MAAM,EAAC,IAAI;QACpB,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;YACxF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;YACxF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,CAAC;IAGL,CAAC;IACD,gDAAW,GAAX,UAAY,MAAM,EAAC,MAAM,EAAC,IAAI;QAC1B,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;YACxF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAgC,CAAc,CAAC;YACxF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,uDAAkB,GAAlB,UAAmB,MAAM,EAAC,IAAI;QAC1B,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iCAAiC,CAAc,CAAC;YACzF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iCAAiC,CAAc,CAAC;YACzF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,CAAC;IACL,CAAC;IACD,sDAAiB,GAAjB,UAAkB,MAAM,EAAC,MAAM,EAAC,IAAI;QAChC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iCAAiC,CAAc,CAAC;YACzF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iCAAiC,CAAc,CAAC;YACzF,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,4BAA4B;IAC5B,0DAAqB,GAArB,UAAsB,MAAM,EAAC,IAAI;QAC7B,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oCAAoC,CAAc,CAAC;YAC5F,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oCAAoC,CAAc,CAAC;YAC5F,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,CAAC;IAEL,CAAC;IACD,yBAAyB;IACzB,yDAAoB,GAApB,UAAqB,MAAM,EAAC,MAAM,EAAC,IAAI;QACnC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oCAAoC,CAAc,CAAC;YAC5F,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oCAAoC,CAAc,CAAC;YAC5F,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IACG,4BAA4B;IAC5B,wDAAmB,GAAnB,UAAoB,MAAM,EAAC,IAAI;QAC3B,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mCAAmC,CAAc,CAAC;YAC3F,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,OAAO,GAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mCAAmC,CAAc,CAAC;YAC3F,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,CAAC;IACL,CAAC;IAEA,0BAA0B;IAE/B,uDAAkB,GAAlB,UAAmB,MAAM,EAAC,MAAM,EAAC,IAAI;QACjC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACR,IAAI,OAAO,GAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mCAAmC,CAAc,CAAC;YACxF,OAAO,GAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;YAC3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAE,CAAC,CAAC,EAAC;YACb,IAAI,QAAQ,GAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mCAAmC,CAAc,CAAC;YACzF,QAAQ,GAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAc;YAClF,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7B,CAAC;IACL,CAAC;IACD,iDAAY,GAAZ;QACI,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,oDAAe,GAAf,UAAgB,KAAK;QACjB,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACnE,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YACpB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QAClD,CAAC;QAAA,IAAI,EAAC;YACN,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACL,CAAC;IAED,oDAAe,GAAf,UAAgB,KAAK;QAArB,iBAKC;QAJG,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAM;YACtB,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACP,CAAC;IACD,6DAAwB,GAAxB,UAAyB,IAAI;QACzB,EAAE,EAAC,IAAI,IAAE,IAAI,CAAC,EAAC;YACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACjB,uCAAuC,EAAE,CAAC,EAAE,CAAC;gBAC7C,qBAAqB,EAAE,CAAC,EAAE,CAAC;aAC9B,CAAC;QACN,CAAC;QACD,IAAI,EAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACjB,uCAAuC,EAAE,CAAC,IAAI,CAAC,uCAAuC,CAAC;gBACvF,qBAAqB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC;aACtD,CAAC;QACN,CAAC;IACL,CAAC;IAEQ,qDAAgB,GAAvB;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;YAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;YAC3B,YAAY,EAAE,IAAI,CAAC,KAAK;YACxB,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,cAAc,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,QAAQ,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,gBAAgB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,WAAW,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,iBAAiB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,iBAAiB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,mBAAmB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpE,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,iBAAiB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,kBAAkB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnE,YAAY,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,aAAa,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,SAAS,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,gBAAgB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjE,WAAW,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,WAAW,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5D,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACvB,uBAAuB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxE,eAAe,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChE,UAAU,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC9D,CAAC,CAAC;IACP,CAAC;IAED,kDAAa,GAAb;QAAA,iBAqJC;QAnJG,EAAE,EAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,EAAC;YAC5B,IAAI,OAAO,GAAmB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrE,IAAI,QAAQ,GAAkB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAElD,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,eAAe,EAAE,CAAC;YACpD,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC3D,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAGlD,qDAAqD;YACrD,yDAAyD;YACzD,yEAAyE;YACzE,0EAA0E;YAC1E,kEAAkE;YAElE,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEnD,QAAQ,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,eAAe,EAAE,CAAC;YACxE,QAAQ,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,sBAAsB,EAAE,CAAC;YAC/E,QAAQ,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEnE,QAAQ,CAAC,QAAQ,CAAC,mCAAmC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAEpE,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,eAAe,EAAE,CAAC;YACjE,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,sBAAsB,EAAE,CAAC;YACxE,QAAQ,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5D,iFAAiF;YACjF,qFAAqF;YACrF,4FAA4F;YAC5F,iFAAiF;YACjF,IAAI;QAER,CAAC;QAGH,IAAI,MAAM,GAAQ,EAAE,CAAC;QAErB,IAAI,MAAW,CAAC;QAChB,2FAA2F;QAC3F,IAAI,OAAW,CAAC;QACjB,uCAAuC;QACvC,gCAAgC;QAChC,qCAAqC;QACpC,OAAO,GAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAEhC,4CAA4C;QAC5C,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC;YAClC,OAAO,OAAO,CAAC,SAAS,CAAC;QAC7B,CAAC;QACD,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1B,OAAO,OAAO,CAAC,SAAS,CAAC;QAC7B,CAAC;QACD,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC;YACjC,OAAO,OAAO,CAAC,gBAAgB,CAAC;QACpC,CAAC;QACF,wDAAwD;QAGvD,IAAI,cAAc,GAAY,CAAC,CAAC;QAEhC,kDAAkD;QAClD,EAAE,EAAC,OAAO,CAAC,8BAA8B,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAElD,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBACrD,EAAE,EAAC,GAAG,CAAC,YAAY,IAAG,cAAc,CAAC,EAAC;oBACtC,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACnF,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;oBACH,IAAI,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,UAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAvB,CAAuB,EAAE,CAAC,CAAC,CAAC;oBACjF,EAAE,EAAC,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,EAAC;wBAC3B,cAAc,EAAE,CAAC;oBACrB,CAAC;gBACF,CAAC;YACJ,CAAC,CAAC,CAAC;QAGP,CAAC;QAED,oDAAoD;QACpD,EAAE,EAAC,OAAO,CAAC,kCAAkC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAEtD,OAAO,CAAC,kCAAkC,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBACzD,EAAE,EAAC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAC,EAAC;oBACvC,IAAI,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACtF,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;oBACH,IAAI,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,UAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAvB,CAAuB,EAAE,CAAC,CAAC,CAAC;oBACpF,EAAE,EAAC,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,EAAC;wBAC3B,cAAc,EAAE,CAAC;oBACrB,CAAC;gBACL,CAAC;YACD,CAAC,CAAC,CAAC;QAEP,CAAC;QAED,iDAAiD;QACjD,EAAE,EAAC,OAAO,CAAC,+BAA+B,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAEnD,OAAO,CAAC,+BAA+B,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBACtD,EAAE,EAAC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAC,EAAC;oBACvC,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACnF,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;oBACH,IAAI,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,UAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAvB,CAAuB,EAAE,CAAC,CAAC,CAAC;oBACjF,EAAE,EAAC,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,EAAC;wBAC3B,cAAc,EAAE,CAAC;oBACrB,CAAC;gBACL,CAAC;YACD,CAAC,CAAC,CAAC;QAEP,CAAC;QAGD,mDAAmD;QACnD,EAAE,EAAC,OAAO,CAAC,iCAAiC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAErD,OAAO,CAAC,iCAAiC,CAAC,OAAO,CAAC,UAAC,GAAG,EAAC,KAAK;gBACxD,EAAE,EAAC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAC,EAAC;oBAEvC,IAAI,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBACrF,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;oBAChD,CAAC,CAAC,CAAC;oBACH,IAAI,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,UAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAvB,CAAuB,EAAE,CAAC,CAAC,CAAC;oBACnF,EAAE,EAAC,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,EAAC;wBAC3B,cAAc,EAAE,CAAC;oBACrB,CAAC;gBACL,CAAC;YACD,CAAC,CAAC,CAAC;QAEP,CAAC;QAED,2EAA2E;QAC3E,EAAE,EAAC,cAAc,GAAG,CAAC,CAAC,EAAC;YACnB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,mDAAmD,CAAC,CAAC;YACpF,MAAM,CAAC;QACX,CAAC;QAED,OAAO,CAAC,6BAA6B,GAAG,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,eAAK,IAAE,YAAK,CAAC,YAAY,IAAE,CAAC,EAArB,CAAqB,CAAC,CAAC;QACnH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAC3C,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC5B,CAAC;gBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACX,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACR,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACC,uDAAkB,GAAlB;QAAA,iBA8EC;QA5EC,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAC9C,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAElC,IAAI,QAAa,CAAC;YAClB,IAAM,KAAK,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACnE,IAAM,MAAM,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACjE,IAAM,QAAQ,GAAc,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEpE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBACxB,IAAI,QAAQ,SAAK,CAAC;gBAClB,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;oBACvE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBACH,IAAI,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;oBACrE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACzC,CAAC,CAAC,CAAC;gBAEH,IAAI,eAAe,GAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;oBACzF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBACxD,CAAC,CAAC,CAAC;gBACH,IAAI,QAAM,GAAQ,EAAE,CAAC;gBACrB,IAAI,eAAa,GAAO,EAAE,CAAC;gBAC3B,eAAe,CAAC,OAAO,CAAC,aAAG;oBACvB,QAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACxB,eAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,aAAa,GAAG,eAAa,CAAC;gBACnC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBACzC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,UAAU,CAAC,OAAO,CAAC,eAAK;wBACpB,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;gBAEP,CAAC;gBACD,EAAE,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACvC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,WAAW,CAAC,OAAO,CAAC,eAAK;wBACrB,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;oBACvC,CAAC,CAAC,CAAC;gBACP,CAAC;gBACD,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC,CAAC;oBAC1C,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;wBAChE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBAC1C,CAAC,CAAC,CAAC;oBACC,QAAQ,CAAC,OAAO,CAAC,eAAK;wBAClB,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;gBACX,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACJ,QAAQ,GAAG,CAAC,EAAC,QAAQ,EAAE,EAAE,EAAC,CAAC,CAAC;oBAC5B,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACzC,CAAC;gBACD,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC;oBAC9C,WAAW,CAAC,gBAAgB,GAAI,EAAE,CAAC;gBACvC,CAAC;gBACD,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,CAAC,CAAC;oBAC9C,WAAW,CAAC,SAAS,GAAI,EAAE,CAAC;gBAChC,CAAC;gBACD,WAAW,CAAC,uBAAuB,GAAI,QAAM,CAAC;gBAC9C,WAAW,CAAC,IAAI,GAAI,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACzC,WAAW,CAAC,MAAM,GAAI,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC1C,WAAW,CAAC,YAAY,GAAI,KAAI,CAAC,KAAK,CAAC;gBACvC,WAAW,CAAC,WAAW,GAAI,UAAU,CAAC;gBACtC,WAAW,CAAC,QAAQ,GAAI,WAAW,CAAC;gBACpC,WAAW,CAAC,SAAS,GAAI,QAAQ,CAAC;gBAElC,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC5C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC,KAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBACnC,QAAQ,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YACzC,CAAC;QAEL,CAAC,CAAC,CAAC;IACH,CAAC;IACD,4CAAO,GAAP,UAAQ,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,4CAAO,GAAP,UAAQ,CAAC,EAAC,IAAI;QACV,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC3E,KAAK,CAAC;QACV,CAAC;IACF,CAAC;IAMD,gDAAW,GAAX,UAAY,KAAK,EAAC,UAAU,EAAC,KAAK;QAC9B,uBAAuB;QAC1B,IAAM,aAAa,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;QAC7F,IAAM,YAAY,GAAc,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAG1D,0CAA0C;QAG1C,+DAA+D;QAE/D,MAAM;QAMN,EAAE,EAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAC;YAC5B,sBAAsB;YACzB,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBAC7C,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBAClD,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,CAAC;QACD,CAAC;QAAA,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,IAAI,UAAU,IAAI,WAAW,CAAC,EAAC;YAC/D,uBAAuB;YACtB,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC;QAEF,EAAE,EAAC,CAAC,IAAI,CAAC,eAAe,CAAC,EAAC;YACrB,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBAC7C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBAClD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,EAAC;YACvD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QAED,EAAE,EAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAC;YACxB,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBAC7C,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBAClD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAC;YACzD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QAED,EAAE,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAC;YAEjB,EAAE,EAAC,UAAU,IAAI,YAAY,IAAI,KAAK,IAAI,MAAM,CAAC,CACjD,CAAC;gBACG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,YAAY,IAAI,KAAK,IAAI,MAAM,CAAC,EAAC;gBACnD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;QAET,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,UAAU,IAAI,YAAY,CAAC,EAAC;YACjC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,yBAAyB,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAEnG,IAAI,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAErF,IAAI,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAE3F,IAAI,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAK,UAAG,GAAG,CAAC,GAAG,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;QAGvF,IAAI,cAAc,GAAG,yBAAyB,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,mBAAmB,CAAE;QAGnH,IAAI,CAAC,UAAU,GAAG,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,CAAE;QACtD,gCAAgC;QAC/B,6BAA6B;IAEjC,CAAC;IACD,iEAA4B,GAA5B,UAA6B,CAAC,EAAE,IAAI;QACpC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACV,CAAC,IAAI,KAAK;cACJ,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,EAAE,IAAI,mEAAW,CAAC,EAAE,CAAC,CAAC;cACvE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAE5D,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACZ,CAAC,IAAI,KAAK;kBACJ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;kBAC1D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAChE,CAAC;IAEL,CAAC;IACD,4DAAuB,GAAvB,UAAwB,CAAC,EAAC,IAAI;QAE1B,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,sBAAsB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAAC,CAAC;QACzF,IAAM,OAAO,GAAc,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAE3E,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,EAAE,EAAC,CAAC,GAAG,CAAE,CAAC,EAAC;YACP,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;gBACZ,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,IAAG,CAAC,EAAG,CAAC,EAAE,EAAE,CAAC;oBAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;gBACf,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAG,CAAC,IAAG,CAAC,EAAG,CAAC,EAAE,EAAE,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;gBACtF,CAAC;YACL,CAAC;QACL,CAAC;IACN,CAAC;IAjwDU,0BAA0B;QAJtC,wEAAS,CAAC;YACT,QAAQ,EAAE,gCAAgC;WACG;SAC9C,CAAC;mCA6C2N;OA5ChN,0BAA0B,CAowDtC;IAAD,CAAC;AAAA;SApwDY,0BAA0B,kB;;;;;;;;;;;;;;;;;;;;;;;;;ACtBG;AACe;AAC0B;AACP;AACwB;AACvB;AACF;AAG3E;;;;;GAKG;AAOH;IAwCE,sCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,EAAc,EAAQ,OAAgC,EAAQ,IAAsB,EAAQ,KAAmB;QAAxM,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAvC3N,gBAAW,GAAK,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAElC,0BAAqB,GAAI,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,WAAW,EAAE,KAAK,EAAC;YACnC,EAAC,OAAO,EAAE,IAAI,EAAC,WAAW,EAAE,IAAI,EAAC;YACjC,EAAC,OAAO,EAAE,KAAK,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;QASpE,sBAAiB,GAAK,EAAE,CAAC;QACzB,yBAAoB,GAAK,EAAE,CAAC;QAC5B,mBAAc,GAAK,EAAE;QACrB,0BAAqB,GAAK,EAAE,CAAC;QAC7B,qBAAgB,GAAK,EAAE;QAMvB,qBAAgB,GAAM,EAAE,CAAC;QACzB,sBAAiB,GAAM,EAAE,CAAC;QAC1B,iBAAY,GAAM,EAAE,CAAC;QACrB,oBAAe,GAAS,EAAE;QAC1B,mBAAc,GAAK,EAAE;QAMrB,6BAAwB,GAAO,EAAE,CAAC;QAClC,mCAA8B,GAAO,EAAE,CAAC;QACxC,2BAAsB,GAAa,KAAK,CAAC;QACzC,iBAAY,GAAY,KAAK,CAAC;QACvB,mBAAc,GAAG,EAAE,CAAC;QA+H3B,kBAAa,GAAS,KAAK;QA1HzB,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,cAAc,IAAI,CAAC,EAAxB,CAAwB,CAAC;QACxE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAC,GAAG,EAAC,gBAAgB,EAAC,QAAQ,EAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QAC9D,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,KAAK,GAAE,IAAI,CAAC,SAAS,CAAE;QACpE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;QAClD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;QAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;QACtD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;QAClE,IAAI,CAAC,WAAW,EAAE;IAOxB,CAAC;IAED,qDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE;QACjB,mBAAmB;IACrB,CAAC;IACD,iDAAU,GAAV;QAAA,iBAiDC;QAhDC,IAAI,MAAM,GAAK,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAClC,MAAM,CAAC,UAAU,GAAC,GAAG;QAErB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,cAAI;YAC7C,IAAM,OAAO,GAAa,KAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YAC/F,EAAE,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAGzB,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;oBACvC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI,EAAC,GAAG;wBAG7C,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;wBAE5B,IAAI,mBAAmB,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,iBAAO,IAAG,cAAO,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,EAA5C,CAA4C,CAAC,CAAC,CAAC,CAAC,CAAC;wBAChH,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;wBAC3B,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,mBAAmB,CAAC,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC;wBAEvG,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,wCAAwC,GAAC,WAAW,GAAC,mBAAmB,CAAC;wBACvG,IAAI,YAAY,GAAG,KAAK,GAAC,OAAO,GAAC,KAAK,GAAC,WAAW,CAAE;wBACpD,IAAI,MAAM,GAAC;4BACT,aAAa,EAAC,YAAY;4BAC1B,cAAc,EAAE,EAAE;4BAClB,cAAc,EAAE,EAAE;4BAClB,6BAA6B,EAAE,EAAE;4BACjC,sBAAsB,EAAE,EAAE;4BAC1B,0BAA0B,EAAE,EAAE;4BAC9B,iCAAiC,EAAE,EAAE;4BACrC,uBAAuB,EAAE,EAAE;4BAC3B,2BAA2B,EAAE,EAAE;4BAC/B,0BAA0B,EAAE,EAAE;4BAC9B,gCAAgC,EAAE,EAAE;4BACpC,gBAAgB,EAAE,EAAE;4BACpB,sBAAsB,EAAE,EAAE;4BAC1B,YAAY,EAAE,EAAE;yBACjB;wBACD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;oBACvD,CAAC,CAAC;gBACF,CAAC;gBACD,IAAI,EAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,IAAI,EAAC;gBACH,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YAC3C,CAAC;QACD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAW,GAAX;QAAA,iBA2CC;QA1CC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,cAAI;YACtD,KAAI,CAAC,cAAc,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC;QACrE,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CACjD,cAAI;YACA,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,SAAS,IAAI,CAAC,EAAnB,CAAmB,CAAC,CAAC;QAChF,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,cAAI;YACpD,KAAI,CAAC,aAAa,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,IAAI,GAAG,CAAC,IAAI,IAAE,CAAC,EAA9B,CAA8B,CAAC,CAAC;QAEjF,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,cAAI;YACrD,KAAI,CAAC,cAAc,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,QAAQ,IAAE,CAAC,EAAf,CAAe,CAAC;QAClE,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAI;YAC5E,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,EAAC;gBAClB,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,SAAS,IAAE,IAAI,EAAnB,CAAmB,CAAC,CAAC;YAEzE,CAAC;YAED,IAAI,iBAAiB,GAAO,EAAE,CAAC;YAC3B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAChC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACnD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,iBAAiB,EAAC,CAAC;YACzF,CAAC;YACD,IAAI,mBAAmB,GAAM,EAAE,CAAC;YAChC,EAAE,EAAC,KAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;gBAC7B,mBAAmB,GAAG,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;oBAC/C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAE3F,CAAC;QACP,CAAC,CAAC;IAIJ,CAAC;IAED,iDAAU,GAAV;QAAA,iBA6CA;QA5CE,IAAI,MAAM,GAAK,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK;QACjC,MAAM,CAAC,UAAU,GAAC,IAAI,CAAC,UAAU;QACjC,MAAM,CAAC,UAAU,GAAC,EAAE;QACpB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAG;YAE5C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAE3B,8BAA8B;gBAC/B;;;;;;;;;;;;;;;;;;;;;mBAqBG;gBACH,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;YAGC,IAAI,EAAC;gBACH,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,KAAI,CAAC,aAAa,GAAC,IAAI;QAGzB,CAAC,CAAC;QACF,0BAA0B;IAE7B,CAAC;IAEA,mDAAY,GAAZ,UAAa,IAAI;QACf,EAAE,EAAC,IAAI,IAAE,IAAI,CAAC,EAAC;YACb,IAAI,CAAC,uBAAuB,GAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACzC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC5B,oBAAoB;gBACpB,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;gBAClC,UAAU,EAAG,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC9B,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBAEzB,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,wCAAwC;gBAC1C,uBAAuB,EAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACtC,IAAI,CAAC,mBAAmB,EAAE;iBAC3B,CAAC;gBACF,2BAA2B,EAAC,CAAC,EAAE,CAAC;aACjC,CAAC,CAAC;YACN,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,EAAC;YAEH,IAAI,KAAK,GAAC,IAAI,CAAC;YACf,IAAI,CAAC,uBAAuB,GAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;gBACzC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC5B,oBAAoB;gBACpB,MAAM,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;gBAClC,UAAU,EAAG,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC9B,YAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,yCAAyC;gBACzC,yCAAyC;gBACzC,uEAAuE;gBACvE,yDAAyD;gBACzD,iEAAiE;gBACjE,2BAA2B,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,uBAAuB,EAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3C,2BAA2B,EAAC,CAAC,KAAK,CAAC,2BAA2B,IAAI,EAAE,CAAC;aACtE,CAAC,CAAC;YACL,oFAAoF;YAEpF,2EAA2E;YAC3E,MAAM;YACN,WAAW;YACX,uGAAuG;YACvG,2DAA2D;YAC3D,YAAY;YACZ,0EAA0E;YAC1E,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACpE,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACpE,CAAC;QAEF,IAAI,CAAC,WAAW,GAAC,IAAI;IACvB,CAAC;IAED,0DAAmB,GAAnB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,aAAa,EAAC,CAAC,EAAE,CAAC;YAClB,oBAAoB,EAAC,CAAC,EAAE,CAAC;YACzB,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAEnC,cAAc,EAAC,CAAC,EAAE,CAAC;YACnB,cAAc,EAAC,CAAC,EAAE,CAAC;YACnB,6BAA6B,EAAC,CAAC,EAAE,CAAC;YAClC,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,0BAA0B,EAAC,CAAC,EAAE,CAAC;YAE/B,iCAAiC,EAAE,CAAC,EAAE,CAAC;YACvC,uBAAuB,EAAC,CAAC,EAAE,CAAC;YAC5B,2BAA2B,EAAC,CAAC,EAAE,CAAC;YAChC,0BAA0B,EAAE,EAAE;YAC9B,gCAAgC,EAAE,EAAE;YACpC,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,sBAAsB,EAAE,CAAC,EAAE,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACzF,YAAY,EAAE,CAAC,EAAE,CAAC;SAEnB,CAAC;IACJ,CAAC;IACD,mDAAY,GAAZ;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,aAAa,EAAE,CAAC,EAAE,CAAC;YACnB,mBAAmB,EAAE,CAAC,EAAE,CAAC;YACzB,uBAAuB,EAAE,CAAC,EAAE,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,uDAAgB,GAAhB;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,0BAA0B,EAAE,CAAC,EAAE,CAAC;YAChC,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,kBAAkB,EAAE,CAAC,EAAE,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IACD,4EAAqC,GAArC;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,mCAAmC,EAAE,CAAC,EAAE,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IACD,qEAA8B,GAA9B;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,qBAAqB,EAAG,CAAC,EAAE,CAAC;YAC5B,oBAAoB,EAAG,CAAC,EAAE,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC;IAEC,wEAAwE;IACxE,sDAAe,GAAf,UAAgB,CAAC;QAEf,IAAM,OAAO,GAAc,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAC5F,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE7C,CAAC;IACD,mFAAmF;IACnF,0DAAmB,GAAnB,UAAoB,CAAS;QAE3B,IAAM,OAAO,GAAc,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAC5F,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAExB,CAAC;IAED,qEAA8B,GAA9B;QACE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,aAAa,EAAC,CAAC,EAAE,CAAC;YAClB,cAAc,EAAC,CAAC,EAAE,CAAC;YACnB,cAAc,EAAC,CAAC,EAAE,CAAC;YACnB,6BAA6B,EAAC,CAAC,EAAE,CAAC;YAClC,sBAAsB,EAAC,CAAC,EAAE,CAAC;YAC3B,0BAA0B,EAAC,CAAC,EAAE,CAAC;YAE/B,iCAAiC,EAAE,CAAC,EAAE,CAAC;YACvC,uBAAuB,EAAE,CAAC,EAAE,CAAC;YAC7B,2BAA2B,EAAE,CAAC,EAAE,CAAC;YACjC,0BAA0B,EAAE,CAAC,EAAE,CAAC;YAChC,gCAAgC,EAAE,CAAC,EAAE,CAAC;YACtC,gBAAgB,EAAE,CAAC,EAAE,CAAC;YACtB,sBAAsB,EAAE,CAAC,EAAE,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC1F,YAAY,EAAE,CAAC,EAAE,CAAC;SACnB,CAAC,CAAC;IACL,CAAC;IAEC,yDAAkB,GAAlB,UAAmB,CAAM,EAAE,CAAM;QAC/B,IAAI,GAAG,GAAG,CAAC,CAAC;QACV,IAAM,GAAG,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAC;QACvI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEzB,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAChB,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAgB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC7I,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;gBACpD,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,KAAG,GAAG,CAAC,CAAC;gBACZ,IAAM,OAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,KAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBAClC,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACtC,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAM,OAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC;gBAC3D,KAAK,CAAC;YACR,CAAC;YAED,SAAS,CAAC;gBACR,KAAK,CAAC;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,2DAAoB,GAApB,UAAqB,IAAI;QACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YACnC,mBAAmB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;YAC/C,uBAAuB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IACD,+DAAwB,GAAxB,UAAyB,IAAI;QAC3B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,0BAA0B,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAC7D,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;YACjC,kBAAkB,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,oFAA6C,GAA7C,UAA8C,IAAI;QAChD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,mCAAmC,EAAE,CAAC,IAAI,CAAC,mCAAmC,CAAC;SAChF,CAAC,CAAC;IACL,CAAC;IACD,6EAAsC,GAAtC,UAAuC,IAAI;QACzC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACzC,oBAAoB,EAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;IAGD,kEAA2B,GAA3B,UAA4B,IAAI;QAAhC,iBA6CC;QA5CC,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,GAAG;YAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK;gBAC1B,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBACzG,KAAI,CAAC,8BAA8B,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACnH,IAAI,WAAW,GAAG,CAAC,CAAC;gBAEpB,EAAE,EAAC,KAAK,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;oBAChD,KAAK,CAAC,0BAA0B,CAAC,OAAO,CAAC,gBAAM;wBAC7C,EAAE,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAC;4BACzC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;wBAC1B,CAAC;oBACH,CAAC,CAAC,CAAC;gBACH,CAAC;gBACD,KAAI,CAAC,sBAAsB,GAAG,WAAW,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;YAClE,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,CAAY,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;gBAAjB,IAAI,GAAG;gBACV,IAAI,IAAI,GAAG;oBACT,aAAa,EAAC,GAAG,CAAC,aAAa;oBAC/B,cAAc,EAAC,GAAG,CAAC,cAAc;oBACjC,cAAc,EAAC,GAAG,CAAC,cAAc;oBACjC,6BAA6B,EAAC,GAAG,CAAC,6BAA6B;oBAC/D,sBAAsB,EAAC,GAAG,CAAC,sBAAsB;oBACjD,0BAA0B,EAAC,GAAG,CAAC,0BAA0B;oBAEzD,iCAAiC,EAAE,GAAG,CAAC,iCAAiC;oBACxE,uBAAuB,EAAE,GAAG,CAAC,uBAAuB;oBACpD,2BAA2B,EAAE,GAAG,CAAC,2BAA2B;oBAC5D,0BAA0B,EAAE,GAAG,CAAC,0BAA0B;oBAC1D,gCAAgC,EAAE,GAAG,CAAC,gCAAgC;oBACtE,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;oBACtC,sBAAsB,EAAE,GAAG,CAAC,sBAAsB;oBAClD,YAAY,EAAE,GAAG,CAAC,YAAY;iBAC/B,CAAC;gBACF,IAAM,OAAO,GAAc,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;gBAChG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,CAAC,CAAC;aACjE;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAM,OAAO,GAAc,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YAChG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,uEAAgC,GAAhC,UAAiC,SAAS;QAA1C,iBAqCC;QApCC,IAAI,MAAM,GAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;YAChD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC;QAEF,EAAE,EAAC,MAAM,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;YAClB,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;gBACzB,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC;gBACzG,KAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAC,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAChG,CAAC,CAAC,CAAC;YACH,GAAG,EAAY,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM;gBAAjB,IAAI,GAAG;gBACT,IAAI,QAAQ,GAAC;oBACX,aAAa,EAAC,GAAG,CAAC,aAAa;oBAC/B,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;oBAE9C,cAAc,EAAC,GAAG,CAAC,aAAa;oBAChC,cAAc,EAAC,GAAG,CAAC,cAAc;oBACjC,6BAA6B,EAAC,GAAG,CAAC,6BAA6B;oBAC/D,sBAAsB,EAAC,GAAG,CAAC,sBAAsB;oBACjD,0BAA0B,EAAC,GAAG,CAAC,0BAA0B;oBAEzD,iCAAiC,EAAE,GAAG,CAAC,iCAAiC;oBACxE,uBAAuB,EAAC,GAAG,CAAC,uBAAuB;oBACnD,2BAA2B,EAAC,GAAG,CAAC,2BAA2B;oBAC3D,0BAA0B,EAAE,GAAG,CAAC,0BAA0B;oBAC1D,gCAAgC,EAAE,GAAG,CAAC,gCAAgC;oBACtE,sBAAsB,EAAE,GAAG,CAAE,sBAAsB;oBACnD,gBAAgB,EAAG,GAAG,CAAC,gBAAgB;oBACvC,YAAY,EAAE,GAAG,CAAC,YAAY;iBAC/B,CAAC;gBACF,IAAM,OAAO,GAAc,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;gBAC5F,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;aAC/G;QAEH,CAAC;QACD,IAAI,CAAC,WAAW,GAAC,IAAI;IACvB,CAAC;IAED,6EAAsC,GAAtC,UAAuC,IAAI;QACzC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAClC,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACpC,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACpC,6BAA6B,EAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAClE,sBAAsB,EAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACpD,0BAA0B,EAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAE5D,iCAAiC,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC;YAC3E,uBAAuB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACvD,2BAA2B,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC;YAC/D,0BAA0B,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAC7D,gCAAgC,EAAE,CAAC,IAAI,CAAC,gCAAgC,CAAC;YACzE,gBAAgB,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACzC,sBAAsB,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACnH,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,kEAA2B,GAA3B,UAA4B,IAAI;QAG9B,IAAI,SAAS,GAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC3B,aAAa,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAClC,oBAAoB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC;YAEjD,cAAc,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YACnC,cAAc,EAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YACpC,6BAA6B,EAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC;YAClE,sBAAsB,EAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;YACpD,0BAA0B,EAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAE5D,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,iCAAiC,EAAE,CAAC,IAAI,CAAC,iCAAiC,CAAC;YAC3E,uBAAuB,EAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACxD,2BAA2B,EAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC;YAC9D,0BAA0B,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC;YAC7D,gCAAgC,EAAC,CAAC,IAAI,CAAC,gCAAgC,IAAI,EAAE,CAAC;YAC9E,mCAAmC;YACnC,gBAAgB,EAAE,CAAC,IAAI,CAAE,gBAAgB,CAAC;YAC1C,sBAAsB,EAAE,CAAC,IAAI,CAAE,sBAAsB,EAAC,kEAAU,CAAC,OAAO,CAAC,CAAC,kEAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACnH,yCAAyC;YACzC,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;SACxC,CAAC,CAAC;QACH,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IACD,uEAAgC,GAAhC,UAAiC,mBAAuB,EAAC,KAAS,EAAC,CAAK;QAAxE,iBAsDC;QApDC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAM,OAAO,GAAa,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAC;QACzI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE3B,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC5B,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,yBAA6B,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,yBAAuB,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,aAAa,EAAE,qBAAqB,EAAE,KAAK,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,KAAK,CAAC,uBAAuB,EAAE,CAAC;gBACjL,CAAC,CAAC,CAAC;gBACH,IAAM,SAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,SAAO,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,yBAAuB,CAAC,CAAC,CAAC;gBACjE,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,4BAAgC,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,4BAA0B,GAAG,EAAE,4BAA4B,EAAE,KAAK,CAAC,0BAA0B,EAAE,cAAc,EAAE,KAAK,CAAC,YAAY,EAAE,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC;gBACtL,CAAC,CAAC,CAAC;gBACH,IAAM,SAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,SAAO,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,4BAA0B,CAAC,CAAC,CAAC;gBACxE,KAAK,CAAC;YACR,CAAC;YACD,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,2CAA+C,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,2CAAyC,GAAE,EAAE,qCAAqC,EAAE,KAAK,CAAC,mCAAmC,EAAE,CAAC;gBAClI,CAAC,CAAC,CAAC;gBACH,IAAM,SAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,SAAO,CAAC,IAAI,CAAC,IAAI,CAAC,6CAA6C,CAAC,2CAAyC,CAAC,CAAC,CAAC;gBAC5G,KAAK,CAAC;YACR,CAAC;YAEH,KAAK,GAAG,EAAE,CAAC;gBACT,IAAI,aAAiB,CAAC;gBACtB,IAAI,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,CAAC;oBACnB,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;oBACzF,aAAW,GAAG;wBACZ,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;wBACxC,wDAAwD;wBACxD,sBAAsB,EAAE,KAAK,CAAC,oBAAoB;qBACrD,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACH,IAAM,SAAO,GAAe,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAc,CAAE;gBAC5I,SAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sCAAsC,CAAC,aAAW,CAAC,CAAC,CAAC;gBACvE,KAAK,CAAC;YACR,CAAC;YACD,SAAS,CAAC;gBACR,KAAK,CAAC;YACR,CAAC;QACH,CAAC;IACD,CAAC;IAGD,iDAAU,GAAV,UAAW,CAAC;QACV,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC;QAClC,8DAA8D;IAChE,CAAC;IAGD,2DAAoB,GAApB,UAAqB,CAAC;QACpB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC;IACrC,CAAC;IAGD,+CAAQ,GAAR;QAAA,iBAiBC;QAhBC,IAAI,UAAU,GAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;QACjD,oCAAoC;QACpC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,IAAM,QAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,OAAO,UAAU,CAAC,GAAG,CAAC,EAAnD,CAAmD,CAAC,CAAC;QAE/F,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,gBAAM;YAChD,EAAE,EAAC,MAAM,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;gBAC5D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACb,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;YAClE,CAAC;QACH,CAAC,CAAC;IAEL,CAAC;IACD,oCAAoC;IACpC,+DAAwB,GAAxB,UAAyB,KAAU,EAAE,UAAe,EAAE,IAAY;QAChE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,GAAmB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YAC/F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5I,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,OAAO,GAAmB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YAC/F,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1M,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtO,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,OAAO,GAAmB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACnG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5I,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,OAAO,GAAmB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACnG,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC1M,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtO,CAAC;IACH,CAAC;IAGD,qDAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IAED,kBAAkB;IAClB,kDAAW,GAAX,UAAY,MAAM;QAChB,EAAE,EAAC,MAAM,IAAE,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;IAEH,CAAC;IAGD,4DAAqB,GAArB,UAAsB,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;QAEvC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;gBACzD,kIAAkI;gBAEjI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChK,kGAAkG;gBAClG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACzJ,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7J,kGAAkG;YACpG,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;gBAE9H,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,eAAe,EAAE,CAAC;gBAC7I,8EAA8E;gBAC9E,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,eAAe,EAAE,CAAC;gBACtI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,eAAe,EAAE,CAAC;gBAC1I,8EAA8E;YAChF,CAAC;YACD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC;YAErI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC,sBAAsB,EAAE,CAAC;YACpJ,oFAAoF;YACpF,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,sBAAsB,EAAE,CAAC;YAC7I,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC,sBAAsB,EAAE,CAAC;YACjJ,oFAAoF;QAGtF,CAAC;QACD,iBAAiB;QACjB,cAAc;QACd,oFAAoF;QACpF,kEAAkE;QAClE,uEAAuE;QACvE,IAAI;QACJ,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/E,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,eAAe,EAAE,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,sBAAsB,EAAE,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,sBAAsB,EAAE,CAAC;QACpE,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,IAAI,aAAW,GAAG,CAAC,CAAC;YAChB,KAAK,CAAC,OAAO,CAAC,gBAAM;gBAClB,EAAE,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAC;oBACzC,aAAW,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC,CAAC;YACP,EAAE,EAAC,aAAW,IAAI,CAAC,CAAC,EAAC;gBAEf,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACpF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC/B,CAAC;YAAA,IAAI,EAAC;gBAEA,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,eAAe,EAAE,CAAC;gBACjE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAChC,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,sBAAsB,EAAE,CAAC;YAExE,aAAa;YACb,0FAA0F;YAC1F,wEAAwE;YACxE,2EAA2E;QAC7E,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,KAAK,IAAI,CAAC;kBACN,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC;kBACrE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC;YACvD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,sBAAsB,EAAE,CAAC;QAC5D,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,KAAK,IAAI,CAAC;kBACN,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC;kBACtE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,CAAC;YAE3D,KAAK,IAAI,EAAE;kBACP,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC;kBAC1E,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,eAAe,EAAE,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,CAAC;QACjE,CAAC;QACD,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,eAAe,EAAE,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/E,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,eAAe,EAAE,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,sBAAsB,EAAE,CAAC;YACnE,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,sBAAsB,EAAE,CAAC;QACpE,CAAC;QACD,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YACZ,IAAI,aAAW,GAAG,CAAC,CAAC;YAChB,KAAK,CAAC,OAAO,CAAC,gBAAM;gBAClB,EAAE,EAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAC;oBAEzC,aAAW,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC,CAAC;YACX,iCAAiC;YAC7B,EAAE,EAAC,aAAW,IAAI,CAAC,CAAC,EAAC;gBAEf,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACpF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACzC,CAAC;YAAA,IAAI,EAAC;gBAEA,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,eAAe,EAAE,CAAC;gBACjE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;YAC1C,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,sBAAsB,EAAE,CAAC;QAE1E,CAAC;IAEH,CAAC;IACE,kCAAkC;IAClC,2DAAoB,GAApB,UAAqB,CAAC,EAAC,GAAG;QACzB,OAAO,CAAC,GAAG,CAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC3H,IAAI,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC;QAGxI,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;QACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;QAEnC,IAAI,IAAI,GAAG,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAExD,EAAE,EAAC,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAC;YACrC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,8BAA8B,CAAC;YAC5D,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3H,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE/H,CAAC;QACD,IAAI,EAAC;YACD,EAAE,EAAC,IAAI,IAAI,IAAI,CAAC,wBAAwB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAC9F,CAAC;gBACG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,8BAA8B,CAAC;gBAC7D,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3H,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE/H,CAAC;YAAA,IAAI,EAAC;gBACF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;gBACrK,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAC7J,CAAC;QACL,CAAC;IACH,CAAC;IAED,iEAA0B,GAA1B,UAA2B,CAAC,EAAC,GAAG;QAE9B,EAAE,EAAC,CAAC,CAAC,GAAG,IAAI,CAAC,wBAAwB,CAAC,EAAC;YACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,8BAA8B,CAAC;YAC5D,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAE/H,CAAC;QACD,IAAI,EAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC;IACL,CAAC;IAGD,8CAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACX,KAAK,CAAC;gBACA,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACzE,KAAK,CAAC;YACZ,KAAK,CAAC;gBACA,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9E,KAAK,CAAC;YACZ,KAAK,CAAC;gBACA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtE,KAAK,CAAC;YACZ,KAAK,CAAC;gBACA,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClF,KAAK,CAAC;YACZ,KAAK,EAAE;gBACD,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxF,KAAK,CAAC;YACZ;gBACM,KAAK,CAAC;QAEd,CAAC;IACH,CAAC;IAp2BU,4BAA4B;QAJxC,wEAAS,CAAC;YACT,QAAQ,EAAE,kCAAkC;WACG;SAChD,CAAC;qCAyC2N;OAxChN,4BAA4B,CAq2BxC;IAAD,CAAC;AAAA;SAr2BY,4BAA4B,kB;;;;;;;;;;;;;;;;;;;;;;;;;ACrBC;AACe;AACkB;AACM;AACmB;AACpG,qEAAqE;AACM;AACF;AAGzE;;;;;GAKG;AAOH;IAwBE,uCAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAuB,EAAQ,EAAc,EAAQ,OAAgC,EAAQ,IAAsB,EAAQ,KAAmB;QAAzM,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAoB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,SAAI,GAAJ,IAAI,CAAkB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAR9N,qBAAgB,GAAM,EAAE,CAAC;QACzB,0BAAqB,GAAM,EAAE,CAAC;QAE5B,eAAU,GAAM,EAAE,CAAC;QACnB,kBAAa,GAAM,EAAE,CAAC;QACtB,kBAAa,GAAM,EAAE,CAAC;QAIpB,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC;QAE9C,IAAI,CAAC,cAAc,GAAC,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC;QACvE,IAAI,CAAC,cAAc,GAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,UAAU,GAAC,IAAI,CAAC,SAAS,CAAC,UAAU;QAEzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,cAAc,IAAI,CAAC,EAAxB,CAAwB,CAAC;QACxE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,oBAAoB,EAAC,GAAG,EAAC,gBAAgB,EAAC,QAAQ,EAAC,CAAC,CAAC;QAE3E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,GAAC,CAAC;QACX,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAC9B;YACA,QAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,mBAAmB,EAAC,CAAC,EAAE,CAAC;SACvB,CAAC,CAAC;QAIH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC;QAG9F,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,sDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;IACD,mDAAW,GAAX;QAAA,iBAuCC;QArCC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,aAAG;YAEnD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAC3B,CAAC;gBACC,KAAI,CAAC,WAAW,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAClD,cAAI;YACF,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC7B,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,QAAQ,IAAI,CAAC,EAAlB,CAAkB,CAAC,CAAC;YAC3E,CAAC;QACD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,cAAI;YAEjE,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBACzB,KAAI,CAAC,gBAAgB,GAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAG,IAAG,UAAG,CAAC,SAAS,KAAG,IAAI,IAAI,GAAG,CAAC,oBAAoB,KAAG,IAAI,EAAvD,CAAuD,CAAC;YAE/G,CAAC;YACD,IAAI,iBAAiB,GAAO,EAAE,CAAC;YAC/B,EAAE,EAAC,KAAI,CAAC,gBAAgB,CAAC,MAAM,GAAC,CAAC,CAAC,EAAC;gBAChC,iBAAiB,GAAG,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,iBAAO;oBACnD,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAC,IAAI,EAAC,OAAO,CAAC,YAAY,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,WAAW,EAAC,WAAW,EAAC,iBAAiB,EAAC,CAAC;YAEzF,CAAC;QACH,CAAC,CAAC;QACA,IAAI,mBAAmB,GAAM,EAAE,CAAC;QAChC,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAC;YAC7B,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAO;gBAC/C,MAAM,CAAC,EAAC,EAAE,EAAC,OAAO,CAAC,kBAAkB,EAAC,IAAI,EAAC,OAAO,CAAC,cAAc,EAAC,QAAQ,EAAC,CAAC,EAAC,CAAC;YAChF,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,YAAY,EAAC,WAAW,EAAC,mBAAmB,EAAC,CAAC;YAE1F,6EAA6E;QAC9E,CAAC;IACT,CAAC;IACD,sDAAc,GAAd,UAAe,EAAO,EAAE,EAAO;QAC7B,EAAE,EAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC;QACZ,IAAI;YAAC,MAAM,CAAC,KAAK;IACnB,CAAC;IACD,mDAAW,GAAX,UAAY,MAAM;QAChB,EAAE,EAAC,MAAM,IAAE,IAAI,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,EAAE,IAAE,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;IAEH,CAAC;IACD,8DAAsB,GAAtB,UAAuB,KAAU,EAAC,CAAC;QAEjC,EAAE,EAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YAE9B,oEAAoE;YAEpE,sDAAsD;YACtD,6DAA6D;QAEjE,CAAC;QACD,IAAI,EAAC;YACD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QACjC,CAAC;IAEL,CAAC;IACC,kCAAkC;IAClC,4DAAoB,GAApB,UAAqB,OAAO,EAAC,CAAC;QAG5B,IAAI,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC;QAE/C,IAAI,eAAe,GAAY,CAAC,GAAC,EAAE,CAAC;QACpC,IAAI,cAAc,GAAY,CAAC,GAAC,EAAE,CAAC;QAEnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAEzE,CAAC;IACK,qBAAqB;IACrB,+CAAO,GAAP,UAAQ,CAAC,EAAC,CAAC,EAAC,IAAI;QACd,MAAM,EAAC,IAAI,CAAC,EAAC;YACb,KAAK,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpE,KAAK,CAAC;YACV,KAAK,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,KAAK,CAAC;YACV;gBACI,KAAK,CAAC;QACV,CAAC;IACH,CAAC;IAED,6DAAqB,GAArB,UAAsB,KAAK,EAAC,IAAI,EAAC,IAAI;QAGrC,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YACZ,KAAK,IAAE,CAAC;kBACD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC;kBAClE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,sBAAsB,EAAE,CAAC;QAC9D,CAAC;QACD,EAAE,EAAC,IAAI,IAAI,CAAC,CAAC,EAAC;YACV,KAAK,IAAE,CAAC;kBACF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,kEAAU,CAAC,QAAQ,CAAC,CAAC;kBAC7D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;QAC1D,CAAC;IAEH,CAAC;IAEH,sDAAc,GAAd,UAAe,IAAI;QAEjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACnB,cAAc,EAAE,CAAC,EAAE,CAAC;YAEpB,SAAS,EAAE,CAAC,EAAE,CAAC;YAEf,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,MAAM,EAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAClF,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,UAAU,EAAC,CAAC,EAAE,CAAC;YACf,eAAe,EAAC,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC,EAAE,CAAC;YACb,YAAY,EAAE,CAAC,EAAE,CAAC;YAClB,aAAa,EAAE,CAAC,EAAE,CAAC;SAEtB,CAAC,CAAC;IAEH,CAAC;IACD,sDAAc,GAAd,UAAe,KAAK,EAAC,KAAK;QACxB,qBAAqB;QAEnB,4BAA4B;QAC5B,IAAI;QACJ,iCAAiC;QACjC,IAAI;QAEH,KAAK,CAAC,eAAe,EAAE;QACvB,IAAM,OAAO,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QAEpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAIxC,CAAC;IAED,yDAAiB,GAAjB;QAGE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAc,CAAC;QAE9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,kDAAU,GAAV,UAAW,CAAC;QACV,IAAM,OAAO,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClE,EAAE,EAAC,OAAO,CAAC,MAAM,IAAE,CAAC,CAAC,EAAC;YACpB,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QACD,IAAI;YAGD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,+CAAO,GAAP,UAAQ,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,yDAAiB,GAAjB;QAAA,iBAuCG;QAtCD,IAAI,OAAO,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,YAAY,EAAC,IAAI,CAAC,OAAO,EAAC,YAAY,EAAC,IAAI,CAAC,UAAU,EAAC;QACnG,IAAM,OAAO,GAAc,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE3C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,UAAS,GAAG;oBACvE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBAEH,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;gBAGzF,EAAE,EAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,EAAC;oBAErB,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC;gBAAA,IAAI,CACL,CAAC;oBAEC,MAAM,CAAC,OAAO,CAAC,UAAC,KAAK,EAAC,KAAK;wBAEvB,KAAI,CAAE,sBAAsB,CAAC,KAAK,CAAC,YAAY,EAAC,KAAK,CAAC,CAAC;wBACvD,EAAE,EAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAC;4BAEtB,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACtE,CAAC;wBACF,KAAI,CAAE,sBAAsB,CAAC,KAAK,CAAC,YAAY,EAAC,KAAK,CAAC,CAAC;wBACtD,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxC,CAAC,CAAC;oBAEF,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAAA,IAAI,CACL,CAAC;gBAEA,OAAO,CAAC,IAAI,CAAC,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;IAEP,CAAC;IAED,kDAAU,GAAV,UAAW,UAAU;QAArB,iBAwBC;QAtBC,IAAI,OAAO,GAAQ,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAClC,OAAO,CAAC,UAAU,GAAC,IAAI,CAAC,UAAU,CAAC;QACnC,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC;QAC9C,OAAO,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAE7D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAI;YAEzC,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,CAClC,CAAC;gBACC,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;gBAC9D,UAAU,CAAC;oBACT,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,CAAC,EAAC,IAAI,CAAC,CAAC;YACV,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,8BAA8B,CAAC,CAAC;YACjE,CAAC;QACC,CAAC,CAAC;IAEN,CAAC;IA3SQ,6BAA6B;QAJzC,wEAAS,CAAC;YACT,QAAQ,EAAE,mCAAmC;WACG;SACjD,CAAC;sCAyB4N;OAxBjN,6BAA6B,CAgTzC;IAAD,CAAC;AAAA;SAhTY,6BAA6B,kB;;;;;;;;;;;;;;;;;;;;;;;ACtBA;AACe;AACe;AACuB;AACzB;AAEtE;;;;;GAKG;AAOH;IAOE,6BAAmB,OAAsB,EAAS,SAAoB,EAAQ,MAAqB,EAAQ,OAAgC,EAAQ,KAAmB;QAAnJ,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,WAAM,GAAN,MAAM,CAAe;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,UAAK,GAAL,KAAK,CAAc;QALtK,cAAS,GAAO,EAAE,CAAC;QAEnB,UAAK,GAAO,CAAC,CAAC;QACd,eAAU,GAAU,KAAK,CAAC;QAC1B,WAAM,GAAO,EAAE,CAAC;QAGd,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE7C,CAAC;IAED,4CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IACpD,CAAC;IAED,yCAAW,GAAX;QAAA,iBAQC;QANC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,eAAK;YAE/B,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,KAAK,GAAC,CAAC,CAAC;YAE1B,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAC,OAAO,EAAC,KAAK,EAAC,MAAM,EAAC,EAAE,EAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IAED,yCAAW,GAAX,UAAY,CAAC;QAEX,IAAI,CAAC,KAAK,GAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,sCAAQ,GAAR,UAAS,GAAG,EAAC,CAAC,EAAC,GAAG;QAGd,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAC,OAAO,EAAC,GAAG,EAAC,MAAM,EAAC,GAAG,EAAC,CAAC;QAC7C,gDAAgD;IACpD,CAAC;IACD,0CAAY,GAAZ;QAAA,iBAcC;QAXC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,OAAO,GAAQ,EAAC,OAAO,EAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAC,QAAQ,EAAC,EAAE,EAAC,CAAC;QACvE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YAE5C,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC1B,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC1B,KAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IAtDU,mBAAmB;QAJ/B,wEAAS,CAAC;YACT,QAAQ,EAAE,wBAAwB;WACG;SACtC,CAAC;4BAQsK;OAP3J,mBAAmB,CAwD/B;IAAD,CAAC;AAAA;SAxDY,mBAAmB,iB;;;;;;;;;;;;;;;;;;;;;;;;;;AClBU;AAC+B;AACO;AACL;AACuB;AAC9B;AACjB;AACmB;AAEtE;;;;;GAKG;AAOH;IAQE,2BAAmB,OAAsB,EAAS,SAAoB,EAAQ,QAAuB,EAC5F,GAAsB,EAAQ,SAA2B,EACzD,OAAgC,EAAQ,EAAc,EAAQ,KAAmB;QAFvE,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,aAAQ,GAAR,QAAQ,CAAe;QAC5F,QAAG,GAAH,GAAG,CAAmB;QAAQ,cAAS,GAAT,SAAS,CAAkB;QACzD,YAAO,GAAP,OAAO,CAAyB;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,UAAK,GAAL,KAAK,CAAc;QAH1F,yBAAoB,GAAO,EAAE,CAAC;QAI5B,qDAAqD;QACrD,8CAA8C;QAC9C,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;QAC7C,8BAA8B;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;IAEzB,CAAC;IAED,uCAAW,GAAX;QAAA,iBAYC;QARG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,aAAG;YAEpD,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAE,IAAI,CAAC,EAAC;gBAC5B,KAAI,CAAC,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,eAAK,IAAE,YAAK,CAAC,QAAQ,IAAE,CAAC,EAAjB,CAAiB,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC;IAER,CAAC;IACD,0CAAc,GAAd;QAAA,iBAwCC;QAtCC,EAAE,EAAC,IAAI,CAAC,aAAa,IAAG,IAAI,IAAI,IAAI,CAAC,aAAa,IAAG,CAAC,CAAC,CACvD,CAAC;YACC,IAAI,IAAI,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,eAAe,EAAC,IAAI,CAAC,aAAa,EAAC,sBAAsB,EAAC,IAAI,CAAC,oBAAoB,EAAC,CAAC;YAC/L,kCAAkC;YAClC,0CAA0C;YAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAE3C,2BAA2B;gBAC3B,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAC7B,CAAC;oBACG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QACF,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,IAAI,CAAC,oBAAoB,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,IAAG,IAAK,CAAC,CACvG,CAAC;YACC,IAAI,IAAI,GAAG,EAAC,OAAO,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,WAAW,EAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAC,cAAc,EAAC,IAAI,CAAC,KAAK,EAAC,eAAe,EAAC,IAAI,CAAC,aAAa,EAAC,sBAAsB,EAAC,IAAI,CAAC,oBAAoB,EAAC,CAAC;YAC7L,kCAAkC;YAClC,0CAA0C;YAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAE3C,2BAA2B;gBAC3B,EAAE,EAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAC7B,CAAC;oBACG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;QAIT,IAAI,EAAC;YACH,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;QACvE,CAAC;IACD,CAAC;IAzEU,iBAAiB;QAJ7B,wEAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;WACG;SACnC,CAAC;qMAS4B,CAAyE;YACxF,gHAAoC,qEAAiB;YACjD,cAAyE;OAV/E,iBAAiB,CA0E7B;IAAD,CAAC;AAAA;SA1EY,iBAAiB,gB;;;;;;;;;;;;;;;;;;;;;ACrBoB;AACP;AACgB;AAC3D;;;;;EAKE;AAEF;IAEE,0BAAmB,IAAgB,EAAQ,GAAU;QAAlC,SAAI,GAAJ,IAAI,CAAY;QAAQ,QAAG,GAAH,GAAG,CAAO;QACnD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,sCAAW,GAAX;QAAA,iBAgBC;QAdC,wBAAwB;QACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CACb;YACE,IAAI,EAAC,UAAU;YACf,QAAQ,EAAC,SAAS;SACnB,CAAC,CAAC,IAAI,CAAC,UAAC,EAAe;YAEtB,EAAE,CAAC,UAAU,CAAC,mHAAmH,CAAC,CAAC,IAAI,CAAC,aAAG;gBAEvI,sBAAsB;gBACtB,KAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC,CAAC;iBACH,KAAK,CAAC,WAAC,IAAI,cAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAd,CAAc,CAAC,CAAC;QAC9B,CAAC,CAAC;IACN,CAAC;IACD,yCAAc,GAAd;QAEE,qBAAqB;QACnB,IAAI,CAAC,GAAG,CAAC,MAAM,CACb;YACE,IAAI,EAAC,UAAU;YACf,QAAQ,EAAC,SAAS;SACnB,CAAC,CAAC,IAAI,CAAC,UAAC,EAAe;YAEtB,EAAE,CAAC,UAAU,CAAC,2CAA2C,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG;gBAElE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC;QACJ,CAAC,CAAC;IACR,CAAC;IAtCU,gBAAgB;QAD5B,yEAAU,EAAE;yCAGc,wEAAU,EAAY,oEAAM;OAF1C,gBAAgB,CAwC5B;IAAD,uBAAC;CAAA;AAxC4B;;;;;;;;;;;;;;;;;;;;;;;;;ACVa;AACe;AACoB;AAC7B;AACsB;AACE;AACxE;;;;;GAKG;AAOH;IAQE,sBAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,KAAmB,EAAQ,cAAgC;QAApJ,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,mBAAc,GAAd,cAAc,CAAkB;QACrK,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,qCAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;IACD,qCAAc,GAAd,UAAe,OAAO;QAAtB,iBAiBC;QAfC,EAAE,EAAC,OAAO,IAAG,EAAE,IAAI,OAAO,IAAG,IAAI,IAAI,OAAO,KAAK,SAAS,CAAC,EAAC;YAC5D,IAAI,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAClC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;gBACjC,mCAAmC;YACrC,CAAC,EAAE,aAAG;gBACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC5C,sBAAsB;YACxB,CAAC,CAAC;QACJ,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAlCU,YAAY;QAJxB,wEAAS,CAAC;YACT,QAAQ,EAAE,eAAe;WACG;SAC7B,CAAC;qBASuK;OAR5J,YAAY,CAmCxB;IAAD,CAAC;AAAA;SAnCY,YAAY,e;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBiB;AACgD;AACZ;AAE9B;AACqC;AACf;AACP;AACc;AAEH;AACF;AACxE;;;;;GAKG;AAOH;IASE,kBAAmB,OAAsB,EAAS,SAAoB,EAAQ,IAAmB,EAAQ,EAAc,EAAQ,MAA6B,EAAQ,KAAmB,EAAQ,IAAmB,EAAQ,GAAsB,EAAQ,WAA2B,EAAQ,cAAgC;QAAxS,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,SAAI,GAAJ,IAAI,CAAe;QAAQ,OAAE,GAAF,EAAE,CAAY;QAAQ,WAAM,GAAN,MAAM,CAAuB;QAAQ,UAAK,GAAL,KAAK,CAAc;QAAQ,SAAI,GAAJ,IAAI,CAAe;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,gBAAW,GAAX,WAAW,CAAgB;QAAQ,mBAAc,GAAd,cAAc,CAAkB;QAJ3T,eAAU,GAAU,KAAK,CAAC;QAKxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,EAAE,CAAC;IAIxB,CAAC;IAED,iCAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IACD,kCAAe,GAAf;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,mCAAgB,GAAhB;QACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,iCAAc,GAAd;QAAA,iBA+BC;QA7BG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAG;YAC3C,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,EAAE,EAAC,KAAI,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,CAAC,CACvC,CAAC;gBACG,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrC,KAAI,CAAC,WAAW,GAAI,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC;gBAC7C,EAAE,EAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,IAAG,cAAc,IAAI,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,YAAY,CAAC,EAAC;oBAClG,0EAA0E;oBAC5E,EAAE,EAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAG,IAAI,CAAC,CACnC,CAAC;wBAEC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;oBAEzB,CAAC;oBAAA,IAAI,CACL,CAAC;wBACC,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBAAA,IAAI,EAAC;oBAEJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;oBAClE,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC;YAAA,IAAI,EAAC;gBACJ,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACpC,CAAC;YACC,+BAA+B;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4BAAS,GAAT,UAAU,MAAM;QAAhB,iBAWC;QATC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAG;YAExC,KAAI,CAAC,aAAa,GAAI,GAAG,CAAC;YAC1B,EAAE,EAAC,KAAI,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,CACzC,CAAC;gBACG,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;YACrC,CAAC;QACH,CAAC,CAAC;IACN,CAAC;IACD,kBAAkB;IAElB,2BAAQ,GAAR,UAAS,GAAG;QACX,OAAO,CAAC,GAAG,CAAC,WAAW,EAAC,GAAG,CAAC,CAAC;QAC7B,EAAE,EAAC,GAAG,IAAG,EAAE,IAAI,GAAG,IAAG,IAAI,CAAC,CAC1B,CAAC;YACA,EAAE,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CACnC,CAAC;gBACC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;YACnC,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC;QAAA,IAAI,CACL,CAAC;YACC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;QAClD,CAAC;IAIF,CAAC;IACD,mCAAgB,GAAhB;QAAA,iBAgBC;QAdC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACb,QAAQ,EAAE,kBAAkB;YAC5B,YAAY,EAAE,UAAU;YACxB,sBAAsB,EAAE,SAAS;YACjC,eAAe,EAAE,qBAAqB;YACtC,aAAa,EAAC,IAAI;SACnB,CAAC;aACC,IAAI,CAAC,UAAC,MAAW;YAChB,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oEAAU,CAAC,CAAC;QACnC,CAAC,CAAC;aACD,KAAK,CAAC,UAAC,KAAU;YAChB,KAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,GAAE,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACP,CAAC;IA7GU,QAAQ;QAJpB,wEAAS,CAAC;YACT,QAAQ,EAAE,WAAW;WACG;SACzB,CAAC;iBAU2T;OAThT,QAAQ,CA8GpB;IAAD,CAAC;AAAA;SA9GY,QAAQ,e;;;;;;;;;;;;;;;;;;;;;ACxB6B;AACP;AACO;AAClD;;;;;EAKE;AAEF;IAGE,yBAAmB,IAAgB,EAAQ,WAA6B;QAArD,SAAI,GAAJ,IAAI,CAAY;QAAQ,gBAAW,GAAX,WAAW,CAAkB;QACtE,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAChD,CAAC;IAED,kCAAQ,GAAR,UAAS,OAAO;QAEd,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACrC,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAdU,eAAe;QAD3B,yEAAU,EAAE;yCAIc,wEAAU,EAAoB,wEAAiB;OAH7D,eAAe,CAgB3B;IAAD,sBAAC;CAAA;AAhB2B;;;;;;;;;;;;;ACV+C;AAElC;AACM;AAC/C,+EAAc,EAAE,CAAC;AACjB,yGAAsB,EAAE,CAAC,eAAe,CAAC,8DAAS,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLM;AACH;AACkB;AAEjC;AAGa;AACM;AAEkB;AAC/B;AACoB;AACK;AAkC5C;AAC+C;AACC;AAChB;AACc;AACS;AACb;AACvB;AACG;AACK;AACsC;AAC1B;AACO;AACf;AACc;AACvB;AACkB;AACE;AACN;AAEE;AACtB;AACiD;AAE5B;AACN;AACW;AACE;AACzB;AAEuD;AACC;AACD;AACiB;AACf;AACL;AAEH;AACqD;AACjC;AAC8B;AACzF;AAC8D;AACkB;AACG;AAC3I,0DAA0D;AACuF;AACjC;AACM;AACoB;AACjB;AACY;AACH;AACZ;AACrC;AACiD;AACY;AAC3B;AACyD;AACnD;AACN;AAEX;AACgB;AAC8B;AACC;AAC/G;AAC8G;AACnE;AAC6B;AAC7C;AAoKnE;IAAA;IAAwB,CAAC;IAAZ,SAAS;QAlKrB,uEAAQ,CAAC;YACN,YAAY,EAAE;gBACV,6DAAK;gBACL,mEAAQ;gBACR,sEAAS;gBACT,2EAAU;gBACV,iHAAsB;gBACtB,uFAAc;gBACd,8FAAiB;gBACjB,+EAAY;gBACZ,6FAAgB;gBAChB,sEAAS;gBACT,gEAAO;gBACP,0HAAqB;gBACrB,0HAAqB;gBACrB,0HAAqB;gBACrB,2IAA0B;gBAC1B,4HAAqB;gBACrB,uHAAoB;gBACpB,sKAA0B;gBAC1B,oHAAmB;gBACnB,yKAA2B;gBAC3B,wIAAyB;gBACzB,sKAA0B;gBAC1B,2IAA0B;gBAC1B,6JAAuB;gBACvB,gKAAwB;gBACxB,qIAAwB;gBACxB,2IAA0B;gBAC1B,+JAAgC;gBAChC,8IAA2B;gBAC3B,sKAA0B;gBAC1B,0JAA+B;gBAC/B,uJAA8B;gBAC9B,2IAA0B;gBAC1B,sGAAiB;gBACjB,uJAA8B;gBAC9B,mKAAkC;gBAClC,wIAAyB;gBACzB,iMAAmC;gBACnC,8IAA2B;gBAC3B,wIAAyB;gBACzB,6HAAsB;gBACtB,8IAA2B;gBAC3B,4KAA4B;gBAC5B,+KAA6B;gBAC7B,2KAAoC;gBACpC,wGAAmB;gBACnB,qIAAwB;aAC3B;YACD,OAAO,EAAE;gBACL,gFAAa,EAAC,4EAAmB,EAAC,oEAAW;gBAC7C,kEAAW,CAAC,OAAO,CAAC,6DAAK,EAAE,EAAE,EACrC;oBACE,KAAK,EAAE,EAEN;iBACF,CAAC;gBACM,qGAAuB;gBACvB,iFAAqB;gBACrB,2EAAe;gBACf,iFAAqB;gBACrB,yEAAa;gBACb,6EAAiB;gBACjB,0EAAc;gBACd,+EAAmB;gBACnB,2EAAe,EAAC,yEAAa;gBAC7B,8EAAkB;gBAClB,6EAAiB;gBACjB,yEAAa;gBACb,0EAAc;gBACd,yEAAa;gBACb,yEAAa;gBACb,+EAAmB;gBACnB,8EAAkB;gBAClB,gFAAoB;gBACpB,oFAAwB;gBACxB,0EAAc;gBACd,2EAAe;gBACf,2EAAe;gBACf,4EAAgB;gBAChB,2EAAe;gBACf,gFAAoB;gBACpB,6EAAiB;gBACjB,yEAAa;gBACb,0EAAc;gBACd,yEAAa;gBACb,4EAAgB;gBAChB,4EAAgB;gBAChB,4EAAgB,EAAC,+EAAgB,EAAC,iFAAsB;aAC3D;YACD,SAAS,EAAE,CAAC,+DAAQ,CAAC;YACrB,eAAe,EAAE;gBACb,6DAAK;gBACL,mEAAQ;gBACR,sEAAS;gBACT,2EAAU;gBACV,iHAAsB;gBACtB,uFAAc;gBACd,8FAAiB;gBACjB,+EAAY;gBACZ,6FAAgB;gBAChB,sEAAS;gBACT,gEAAO;gBACP,0HAAqB;gBACrB,0HAAqB;gBACrB,0HAAqB;gBACrB,2IAA0B;gBAC1B,4HAAqB;gBACrB,uHAAoB;gBACpB,sKAA0B;gBAC1B,oHAAmB;gBACnB,yKAA2B;gBAC3B,wIAAyB;gBACzB,sKAA0B;gBAC1B,2IAA0B;gBAC1B,6JAAuB;gBACvB,gKAAwB;gBACxB,qIAAwB;gBACxB,2IAA0B;gBAC1B,+JAAgC;gBAChC,8IAA2B;gBAC3B,sKAA0B;gBAC1B,0JAA+B;gBAC/B,uJAA8B;gBAC9B,2IAA0B;gBAC1B,sGAAiB;gBACjB,uJAA8B;gBAC9B,mKAAkC;gBAClC,wIAAyB;gBACzB,iMAAmC;gBACnC,8IAA2B;gBAC3B,wIAAyB;gBACzB,6HAAsB;gBACtB,8IAA2B;gBAC3B,4KAA4B;gBAC5B,+KAA6B;gBAC7B,2KAAoC;gBACpC,wGAAmB;gBACnB,qIAAwB;aAE3B;YACD,SAAS,EAAE;gBACP,2EAAS,EAAC,+FAAkB,EAAC,+EAAS,EAAC,6FAAgB,EAAC,wFAAa;gBACrE,0FAAiB,EAAC,uGAAsB,EAAC,iFAAY,EAAC,0FAAiB,EAAC,sFAAc,EAAC,oEAAM,EAAC,6FAAkB;gBAChH;oBACI,OAAO,EAAC,gFAAiB;oBACzB,QAAQ,EAAE,6FAAgB;oBAC1B,KAAK,EAAE,IAAI;iBACZ;gBACH;oBACI,OAAO,EAAE,mEAAY;oBACrB,QAAQ,EAAE,wEAAiB;iBAC9B,EAAC,wFAAe;gBACrB,+FAAkB;gBAClB,iHAAwB;gBACxB,0FAAc,EAAC,qEAAM;gBACrB,6DAAM,EAAC,0FAAgB;gBACvB,4FAAe,EAAC,+EAAW;gBAC3B,sFAAgB;aACf;SACJ,CAAC;OACW,SAAS,CAAG;IAAD,gBAAC;CAAA;AAAH;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzR+B;AACP;AACO;AACM;AACV;AACK;AAEoB;AACQ;AAEpC;AACD;AAE7C,0EAA0E;AAM1E;IAUE,eAAmB,QAAkB,EAAS,SAAoB,EAAS,YAA0B,EAAQ,GAAsB,EAAQ,MAA6B,EAAQ,GAAsB,EAClL,SAAyB;QAD7C,iBAYC;QAZkB,aAAQ,GAAR,QAAQ,CAAU;QAAS,cAAS,GAAT,SAAS,CAAW;QAAS,iBAAY,GAAZ,YAAY,CAAc;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,WAAM,GAAN,MAAM,CAAuB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAClL,cAAS,GAAT,SAAS,CAAgB;QAT7C,eAAU,GAAW,KAAK,CAAC;QAG3B,aAAQ,GAAQ,qEAAS,CAAC;QACnB,eAAU,GAAS,KAAK;QAM7B,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,8CAA8C;QAC9C,IAAI,CAAC,KAAK,GAAG;YACX,wDAAwD;YACxD,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAC,MAAM,EAAC,cAAI,YAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAhB,CAAgB,EAAE;YAC3D,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAC,MAAM,EAAC,cAAI,YAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAhB,CAAgB,EAAC;SAChE,CAAC;IAGJ,CAAC;IAED,6BAAa,GAAb;QAAA,iBAwDC;QAvDC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC;YACzB,gEAAgE;YAChE,iEAAiE;YACjE,KAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YAC9B,EAAE,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAChC,KAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACtC,KAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAEzD,CAAC;YACC,KAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAEzB,KAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC;gBAChC,KAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,KAAI,CAAC,QAAQ,GAAG,kEAAQ;YAC5B,CAAC,CAAC,CAAC,KAAK,CAAC;gBACT,UAAU,CAAC;oBACP,KAAI,CAAC,QAAQ,GAAG,qEAAS,CAAC;gBAC9B,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QAEL,CAAC,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACpC,EAAE,EAAC,KAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAE,CAAC,CAAC,EAAC;gBACvB,EAAE,EAAC,KAAI,CAAC,UAAU,IAAE,KAAK,CAAC,EAAC;oBAC3B,0BAA0B;oBAC1B,IAAI,OAAK,GAAC,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC;wBAC9B,KAAK,EAAC,cAAc;wBACpB,OAAO,EAAC,oBAAoB;wBAC5B,OAAO,EAAC;4BACN;gCACE,IAAI,EAAC,QAAQ;gCACb,IAAI,EAAC,QAAQ;gCACb,OAAO,EAAC;oCACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oCAC/B,KAAI,CAAC,UAAU,GAAC,KAAK;oCACrB,OAAK,CAAC,OAAO;gCACd,CAAC;6BACF;4BACD;gCACE,IAAI,EAAC,KAAK;gCACV,OAAO,EAAC;oCACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oCACpB,KAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gCAC1B,CAAC;6BACF;yBACF;qBACF,CAAC,CAAC;oBACD,OAAK,CAAC,OAAO,EAAE,CAAC;oBAChB,KAAI,CAAC,UAAU,GAAC,IAAI;gBACtB,CAAC;YACH,CAAC;YACD,IAAI,EAAC;gBACH,KAAI,CAAC,GAAG,CAAC,GAAG,EAAE;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8BAAc,GAAd;QAAA,iBAyBC;QAxBH,IAAI,KAAK,GAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YAC9B,KAAK,EAAC,cAAc;YACpB,OAAO,EAAC,oBAAoB;YAC5B,OAAO,EAAC;gBACN;oBACE,IAAI,EAAC,QAAQ;oBACb,IAAI,EAAC,QAAQ;oBACb,OAAO,EAAC;wBACN,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;wBAC/B,wBAAwB;wBACxB,KAAK,CAAC,OAAO;oBACd,CAAC;iBACF;gBACD;oBACE,IAAI,EAAC,KAAK;oBACV,OAAO,EAAC;wBACN,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACpB,KAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC1B,CAAC;iBACF;aACF;SACF,CAAC,CAAC;QACD,KAAK,CAAC,OAAO,EAAE,CAAC;QACjB,wBAAwB;IACvB,CAAC;IACD,8BAAc,GAAd;QAAA,iBAcC;QAXC,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAG;YAC3C,KAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,EAAE,EAAC,KAAI,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,CAAC,CACvC,CAAC;gBACC,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,WAAW,GAAI,KAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAElD,CAAC;QAEH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,wBAAQ,GAAR,UAAS,EAAE;QAAX,iBAkBD;QAjBG,UAAU;QACV,MAAM,EAAC,EAAE,CAAC,CACV,CAAC;YACC,KAAK,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,0EAAU,CAAC,CAAC;gBAC7B,KAAK,CAAC;YACN,KAAK,CAAC;gBACV,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC;oBAE1B,KAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qEAAS,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC;YACN,KAAK,CAAC;gBACN,KAAK,CAAC;YACN,KAAK,CAAC;gBACN,KAAK,CAAC;QACR,CAAC;IACD,CAAC;IACC,sBAAM,GAAN;QAEC,qBAAqB;QACrB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qEAAS,CAAC,CAAC;IAC7B,CAAC;IA/Ie;QAAf,yEAAS,CAAC,0DAAG,CAAC;kCAAM,0DAAG;sCAAC;IAHd,KAAK;QAHjB,wEAAS,CAAC;WACc;SACxB,CAAC;oFAWsM;YACxK,EAAe;OAXlC,KAAK,CAoJjB;IAAD,CAAC;AAAA;SApJY,KAAK,2B;;;;;;;;;;;;;;;;;;;ACnByB;AAS3C;IAEI;IAGA,CAAC;IAED,2EAA2E;IAC3E,uCAAuC;IACvC,uBAAuB;IACvB,yCAAyC;IACzC,sBAAsB;IACtB,eAAe;IACf,yBAAyB;IACzB,4CAA4C;IAC5C,wBAAwB;IACxB,QAAQ;IACR,IAAI;IACJ,4BAAQ,GAAR;QACI,gCAAgC;QAChC,sBAAsB;QACtB,iBAAiB;QACjB,uBAAuB;QACvB,WAAW;QACX,wBAAwB;QAExB,oDAAoD;QACpD,oCAAoC;QACpC,oBAAoB;QAGpB,IAAI;IACR,CAAC;IAhCQ,SAAS;QADrB,yEAAU,EAAE;;OACA,SAAS,CAgDrB;IAAD,gBAAC;CAAA;AAhDqB;;;;;;;;;;;;;;;;;;;;;;;;ACTqB;AAOb;AAC9B,4CAA4C;AACP;AAErC,4CAA4C;AAEU;AACG;AAEe;AAGxE;IACE,0BAAmB,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;IAEhD,CAAC;IACD,oCAAS,GAAT,UAAU,OAAyB,EAAE,IAAiB;QACpD,4BAA4B;QAC5B,kBAAkB;QAClB,+CAA+C;QAC/C,MAAM;QACN,MAAM;QACN,IAAI,KAAS,CAAC;QACR,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;QAErC,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,qBAAqB;QAClB,IAAI,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;YAC1B,OAAO,EAAC,IAAI,yEAAW,CAAC;gBAEhB,eAAe,EAAE,gBAAgB;gBACjC,OAAO,EAAC,KAAK;gBACb,MAAM,EAAC,GAAG;aAGb,CAAC;SAET,CAAC,CAAC;QAEP,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC7B,kEAAU,CAAC,IAAI,CAAC,WAAW,CAAM,MAAM,EAAE,EAAE,CAAC,CAAC,CAC9C;IACL,CAAC;IAEO,sCAAW,GAAnB,UAAwB,SAAuB,EAAE,MAAU;QAAnC,mDAAuB;QAC7C,MAAM,CAAC,UAAC,KAAU;YAChB,EAAE,EAAC,KAAK,YAAY,+EAAiB,CAAC,EAAC;gBACrC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBACxC,EAAE,EAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,EAAC;oBACpB,YAAY,CAAC,KAAK,EAAE,CAAC;oBACrB,mDAAmD;gBACvD,CAAC;gBACD,MAAM,CAAC,gDAAE,CAAC,MAAW,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IA7CU,gBAAgB;QAD5B,yEAAU,EAAE;yCAEe,4FAAsB;OADrC,gBAAgB,CA8C5B;IAAD,uBAAC;CAAA;AA9C4B;;;;;;;;;;;;;;;;;;;;;ACnBuB;AACgC;AAEpF;;;;;GAKG;AAOH;IAaE,2BAAmB,OAAsB,EAAS,SAAoB,EAAE,QAAkB;QAAvE,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QARtE,wBAAmB,GAAO,IAAI,CAAC;QAC/B,uBAAkB,GAAO,EAAE,CAAC;QAC5B,uBAAkB,GAAU,EAAE,CAAC;QAC/B,mBAAc,GAAU,CAAC,CAAC;QAC1B,YAAO,GAAW,IAAI,CAAC;QACvB,WAAM,GAAU,IAAI,CAAC;QACrB,SAAI,GAAK,EAAE,CAAC;QAGZ,IAAI,CAAC,IAAI,GAAC,CAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEzC,CAAC;IAEC,0CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IACD,2CAAe,GAAf;QACE,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAChE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,GAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAElF,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,+CAAmB,GAAnB;QAEE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,GAAC,IAAI,CAAC,cAAc,GAAC,CAAC,EAAC,CAAC,CAAC,CAAC;IAC1H,CAAC;IAED,qCAAS,GAAT,UAAU,KAAK;QAEb,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe,GAAG,cAAc,GAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,GAAC,SAAS,CAAC;QAChH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,mDAAuB,GAAvB,UAAwB,KAAK;QAE3B,IAAI,MAAM,GAAC,CAAC,CAAC;QACb,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;YAClC,MAAM,GAAC,MAAM,GAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,mDAAuB,GAAvB;QACE,IAAI,KAAK,GAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;QACjD,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAE,KAAK,CAAC;YACxC,KAAK,GAAC,KAAK,GAAC,CAAC,CAAC;QAEhB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAC,IAAI,CAAC;QAC3E,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe,GAAG,cAAc,GAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,GAAC,SAAS,CAAC;IAElH,CAAC;IAED,6DAAiC,GAAjC;QAAA,iBAGC;QADC,UAAU,CAAE,cAAQ,KAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IAED,4CAAgB,GAAhB,UAAiB,MAAM;QAGrB,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;QAClB,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;QACnB,IAAI,2BAA2B,GAAE,CAAC,CAAC,GAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAC,CAAC,CAAC,CAAE,GAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;QAChH,EAAE,EAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,CACjD,CAAC;YACC,IAAI,CAAC,MAAM,GAAC,IAAI,CAAC;YACjB,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;QAErB,CAAC;QAAC,EAAE,EAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,CACnD,CAAC;YACC,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;YAClB,IAAI,CAAC,OAAO,GAAC,IAAI,CAAC;QACpB,CAAC;QAED,EAAE,EAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,GAAC,KAAK,CAAC;QAErB,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC;QAEpB,EAAE,EAAC,IAAI,CAAC,OAAO,CAAC;YACd,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe;gBAC9C,cAAc,GAAC,CAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;sBAClF,CAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,GAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAC,CAAC,CAAC,GAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAC,CAAC,CAAC,CAAC;sBACxJ,SAAS,CAAC;QAEb,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC;YACb,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,eAAe;gBAC9C,cAAc,GAAC,CAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC;sBAClF,CAAC,MAAM,CAAC,QAAQ,GAAG,2BAA2B,CAAC,GAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAC,CAAC,CAAC,GAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAC,CAAC,CAAC,CAAC;sBACxJ,SAAS,CAAC;QAEb,EAAE,EAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,GAAC,IAAI,CAAC;IAEhH,CAAC;IAvG8B;QAA9B,yEAAS,CAAC,kBAAkB,CAAC;kCAAmB,6DAAM;+DAAE;IACnB;QAArC,yEAAS,CAAC,yBAAyB,CAAC;kCAAe,8DAAO;0DAAC;IAHjD,iBAAiB;QAJ7B,wEAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;WACG;SAClC,CAAC;0BAc0F;OAb/E,iBAAiB,CA6G7B;IAAD,CAAC;AAAA;SA7GY,iBAAiB,e;;;;;;;;;;;;;;;;;;;;ACfY;AACe;AAEzD;;;;;GAKG;AAOH;IAEE,0BAAmB,OAAsB,EAAS,SAAoB;QAAnD,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QADxE,kBAAa,GAAO,EAAE,CAAC;QAGnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,yCAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;IAVU,gBAAgB;QAJ5B,wEAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;WACG;SAClC,CAAC;yBAGsE;OAF3D,gBAAgB,CAY5B;IAAD,CAAC;AAAA;SAZY,gBAAgB,gB;;;;;;;;;;;;;;;;;;;;;;ACfa;AACe;AACwC;AAClB;AAE/E;;;;;GAKG;AAOH;IAOE,gCAAmB,OAAsB,EAAS,SAAoB,EAAQ,OAAgC,EAAQ,GAAsB;QAAzH,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,YAAO,GAAP,OAAO,CAAyB;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAF5I,qBAAgB,GAAK,EAAE;QAGrB,IAAI,CAAC,SAAS,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAC,IAAI,CAAC,GAAG,CAAC,SAAS;QAE3B,IAAI,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;IAED,+CAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACvD,CAAC;IACH,4CAAW,GAAX;QAAA,iBAKC;QAJC,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;YAChE,KAAI,CAAC,gBAAgB,GAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,cAAI,IAAE,WAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAA3D,CAA2D,CAAC,CAAC;YAC/G,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;QACrC,CAAC,CAAC;IACJ,CAAC;IAxBY,sBAAsB;QAJlC,wEAAS,CAAC;YACT,QAAQ,EAAE,2BAA2B;WACG;SACzC,CAAC;+BAQ4I;OAPjI,sBAAsB,CAyBlC;IAAD,CAAC;AAAA;SAzBY,sBAAsB,iB;;;;;;;;;;;;;;;;;;;;;ACjBO;AACe;AACQ;AAEjE;;;;;GAKG;AAOH;IAGE,kCAAmB,OAAsB,EAAS,SAAoB,EAAQ,EAAc;QAAzE,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,OAAE,GAAF,EAAE,CAAY;QAE1F,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAChC;YACE,KAAK,EAAC,CAAC,IAAI,CAAC;YACZ,WAAW,EAAC,CAAC,IAAI,CAAC;YAClB,cAAc,EAAC,CAAC,IAAI,CAAC;YACrB,UAAU,EAAC,CAAC,IAAI,CAAC;YACjB,SAAS,EAAC,CAAC,IAAI,CAAC;SACjB,CAAC;IACN,CAAC;IAED,iDAAc,GAAd;QACE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IAjBU,wBAAwB;QAJpC,wEAAS,CAAC;YACT,QAAQ,EAAE,8BAA8B;WACG;SAC5C,CAAC;iCAI4F;OAHjF,wBAAwB,CAmBpC;IAAD,CAAC;AAAA;SAnBY,wBAAwB,kB;;;;;;;;;;;;;;;;;;;;;AChBM;AAE3C,8DAA8D;AAM1B;AACpC,uFAAuF;AAEvF,gEAAgE;AAEX;AAErD,IAAM,iBAAiB,GAAG;IACxB,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,4BAA4B,CAAC,+BAA+B;CACvE,CAAC;AACF,IAAM,oBAAoB,GAAG;IAC3B,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,4BAA4B,CAAC,+BAA+B;CACvE;AACD,IAAM,eAAe,GAAG;IACtB,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,4BAA4B,CAAC,4BAA4B;CACpE,CAAC;AACF,IAAM,eAAe,GAAG;IACtB,UAAU,EAAE,EAAE;IACd,QAAQ,EAAE,EAAE;CACb;AACD,IAAM,gBAAgB,GAAG,IAAI,mFAAe,CAAC,iBAAiB,CAAC,CAAC;AAChE,IAAM,cAAc,GAAG,IAAI,mFAAe,CAAC,eAAe,CAAC,CAAC;AAC5D,IAAM,mBAAmB,GAAG,IAAI,mFAAe,CAAC,oBAAoB,CAAC,CAAC;AAEtE;;EAEE;AACF,IAAM,gBAAgB,GAAG,iDAAiD,CAAC,qDAAoD;AAC/H,IAAM,cAAc,GAAG,iDAAiD,CAAC;AACzE,IAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,kBAAkB;AAClB,IAAM,MAAM,GAAG,uCAAuC,CAAC;AACvD,mDAAmD;AAInD;IAqBE;QApBO,aAAQ,GAAY,KAAK,CAAC;QACjC,8CAA8C;QAE9C,gEAAgE;QAChE,wDAAwD;QACxD,mDAAmD;QAEnD,oCAAoC;QACpC,gDAAgD;QAChD,0CAA0C;QAC1C,KAAK;QAGL,uDAAuD;QACzD,aAAQ,GAAW,KAAK,CAAC;IAQvB,CAAC;IACD,+CAAc,GAAd;QAEE,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,CAAC;IAChD,CAAC;IACC,sBAAI,8CAAU;aAAd;YACE,EAAE,EAAC,mBAAmB,CAAC,cAAc,EAAE,IAAG,IAAI,CAAC,EAAC;gBAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC;YAAA,IAAI,EAAC;gBACJ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;QAC9B,CAAC;;;OAAA;IAEH,wCAAO,GAAP;QACE,IAAI,QAAgB,CAAC;QAErB,EAAE,EAAC,IAAI,CAAC,cAAc,EAAE,IAAG,IAAI,CAAC,EAAC;YAEjC,IAAI,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,OAAO;gBACnD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,yCAAyC,GAAG,GAAG,CAAC,CAAC;gBACjE,CAAC;gBAED,IAAI,CAAC,CAAC;oBACF,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBACtB,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;wBAC7B,gDAAE,CAAC,QAAQ,CAAC;wBACV,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;oBAEvD,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;wBAC3B,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAC;oBAEzE,CAAC;gBACL,CAAC;gBAEE,MAAM,CAAC,QAAQ,CAAC;YAEvB,CAAC,CAAC,CAAC;QACH,CAAC;QAAA,IAAI,EAAC;YACJ,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IACD,+CAAc,GAAd;QAAA,iBA8BC;QA7BC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YACnC,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,EAAE,CAAC,CAAC,KAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;gBAClC,qDAAqD;gBACtD,wBAAwB;gBACrB,KAAI,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,OAAO;oBACnD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,yCAAyC,GAAG,GAAG,CAAC,CAAC;wBAC7D,QAAQ,GAAE,EAAE,CAAC;wBACd,uBAAuB;wBACvB,MAAM,CAAC,GAAG,CAAC,CAAC;oBACf,CAAC;oBACD,IAAI,CAAC,CAAC;wBACF,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;4BACxB,8BAA8B;4BAC5B,QAAQ,GAAG,OAAO,CAAC;4BACnB,OAAO,EAAE,CAAC;wBACZ,CAAC;wBAAC,IAAI,CAAC,CAAC;wBAER,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YACD,IAAI,CAAC,CAAC;gBACJ,sBAAsB;gBACrB,MAAM,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;IACH,CAAC;IAED,yCAAQ,GAAR;QACE,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;YAEhC,IAAI,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,UAAU,GAAG,EAAE,OAAO;gBACnD,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACP,gEAAgE;oBAC/D,QAAQ,GAAG,KAAK,CAAC;oBACjB,sBAAsB;gBAC1B,CAAC;gBACD,IAAI,CAAC,CAAC;oBACJ,yBAAyB;oBACvB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBACvB,6BAA6B;wBAC7B,QAAQ,GAAG,OAAO,CAAC;wBAClB,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC;oBAAC,IAAI,CAAC,CAAC;wBAEN,QAAQ,GAAG,KAAK,CAAC;oBACnB,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,CAAC;YACL,uBAAuB;YACtB,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC;IAClB,CAAC;IAhIY,sBAAsB;QAFlC,yEAAU,EAAE;;OAEA,sBAAsB,CAmIlC;IAAD,6BAAC;CAAA;AAnIkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/C4B;AACpB;AAMP;AAGS;AACd;AAC4B;AACA;AAE3D,IAAM,oBAAoB,GAAG;IAC3B,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,4BAA4B,CAAC,+BAA+B;CACvE;AACD,IAAM,eAAe,GAAG;IACtB,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,4BAA4B,CAAC,4BAA4B;CACpE,CAAC;AACF,IAAM,eAAe,GAAG;IACtB,UAAU,EAAE,sBAAsB;IAClC,QAAQ,EAAE,EAAE;CACb;AACD,mEAAmE;AACnE,IAAM,cAAc,GAAG,IAAI,mFAAe,CAAC,eAAe,CAAC,CAAC;AAC3D,IAAM,mBAAmB,GAAG,IAAI,mFAAe,CAAC,oBAAoB,CAAC,CAAC;AAEvE;;EAEE;AACF,IAAM,gBAAgB,GAAG,iDAAiD,CAAC,qDAAoD;AAC/H,IAAM,cAAc,GAAK,iDAAiD,CAAC;AAC3E,IAAM,cAAc,GAAK,iDAAiD,CAAC;AAE3E,IAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAC,GAAG,CAAC,CAAC;AAIrE;IAEE,4BAAmB,IAAe,EAAQ,MAA6B,EAAQ,GAAqB;QAAjF,SAAI,GAAJ,IAAI,CAAW;QAAQ,WAAM,GAAN,MAAM,CAAuB;QAAQ,QAAG,GAAH,GAAG,CAAkB;QAClG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED,oCAAO,GAAP,UAAQ,kBAAkB;QACzB,WAAW;QACV,uBAAuB;QACvB,IAAM,qBAAqB,GAAG,IAAI,yFAAqB,CAAC,kBAAkB,CAAC,CAAC;QAC5E,IAAI,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC;QACjD,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;YACrC,IAAI,EAAE,mBAAmB,CAAC,eAAe;SAC1C,CAAC;QACF,IAAI,WAAW,GAAG,IAAI,+EAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,2DAAU,CAAC,MAAM,CAAC,kBAAQ;YAC/B,WAAW,CAAC,gBAAgB,CAAC,qBAAqB,EAAE;gBAClD,mBAAmB,EAAE,UAAC,cAAc,EAAE,kBAAkB;oBACtD,WAAW,CAAC,4BAA4B,CACtC,WAAW,EACX,cAAc,EACd;wBACE,SAAS,EAAE,UAAU,MAAM;4BACzB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACtB,CAAC;wBACD,SAAS,EAAE,UAAU,GAAG;4BACtB,QAAQ;4BACR,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BACpB,kCAAkC;wBACpC,CAAC;qBACF,CACF,CAAC;gBACJ,CAAC;gBACD,SAAS,EAAE,UAAU,MAAM;oBACzB,2DAA2D;oBAC3D,aAAa;oBACb,kDAAkD;oBAClD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC9B,CAAC;gBACD,SAAS,EAAE,UAAU,GAAG;oBAEtB,qBAAqB;oBACrB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtB,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IACD,2CAAc,GAAd,UAAe,IAAI;QACjB,WAAW;QACX,IAAM,QAAQ,GAAG;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,mBAAmB;SAC1B,CAAC;QACF,IAAI,WAAW,GAAG,IAAI,+EAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,2DAAU,CAAC,MAAM,CAAC,iBAAO;YAC9B,WAAW,CAAC,cAAc,CAAC;gBACzB,SAAS,EAAE,UAAU,IAAI;oBACvB,gDAAgD;oBAChD,oDAAoD;oBACpD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrB,CAAC;gBACD,SAAS,EAAE,UAAU,GAAG;oBACtB,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBACD,6BAA6B;gBAC7B,qBAAqB,EAAE,UAAU,IAAI;oBACnC,4BAA4B;oBAC5B,IAAI,gBAAgB,GAAG,MAAM,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC;oBACrE,IAAI,WAAW,GAAG,MAAM,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;oBACpD,WAAW,CAAC,eAAe,CAAC,gBAAgB,EAAE,WAAW,EAAE;wBACzD,SAAS;4BACP,0BAA0B;wBAC5B,CAAC;wBACD,SAAS,YAAC,GAAG;4BACX,8BAA8B;wBAChC,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IAGL,CAAC;IACD;;OAEG;IAEF;;OAEG;IACH,mCAAM,GAAN;QAAA,iBASA;QAPE,MAAM,CAAC,2DAAU,CAAC,MAAM,CAAC,iBAAO;YACjC,KAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC;YAEvC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEb,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACH,CAAC;IAGD;;OAEG;IACH,gBAAgB;IAChB,0DAA0D;IAE1D,qBAAqB;IACrB,gDAAgD;IAChD,4EAA4E;IAC5E,4DAA4D;IAC5D,gBAAgB;IAChB,6EAA6E;IAC7E,wBAAwB;IACxB,yBAAyB;IACzB,QAAQ;IACR,+FAA+F;IAC/F,QAAQ;IACR,mBAAmB;IACnB,IAAI;IAEJ,sCAAS,GAAT;QACE,IAAI,OAAO,GAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;QACjD,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IACD,2CAAc,GAAd,UAAe,MAAM;QAIjB,WAAW;QAEV,+CAA+C;QAC/C,IAAI,KAAK,GAAG,EAAC,QAAQ,EAAC,MAAM,EAAC,CAAC;QAG/B,wDAAwD;QACvD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,iBAAiB,EAAC,KAAK,CAAC,CAAC;IAEhE,CAAC;IAED,0CAAa,GAAb,UAAc,GAAG;QAEf,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,GAAG,EAAC,MAAM,EAAC,GAAG,EAAC,WAAW,EAAC,WAAW,EAAC,cAAc,EAAC,MAAM,EAAC,QAAQ,EAAC,MAAM,EAAC,CAAC;QACzF,IAAI,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAE9B,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,iBAAiB,EAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IA3JU,kBAAkB;QAD9B,yEAAU,EAAE;yCAGa,wEAAU,EAAe,gFAAsB,EAAY,+EAAiB;OAFzF,kBAAkB,CA4J9B;IAAD,yBAAC;CAAA;AA5J8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1CqB;AACa;AACtB;AACkC;AACL;AACa;AAGhD;AACiD;AACjB;AACE;AACvE;;;;;GAKG;AAOH;IAaE,oBAAmB,OAAsB,EAAS,SAAoB,EAAQ,GAAsB,EAAQ,SAA2B,EAAQ,MAA6B,EAAQ,EAAmB,EAAQ,kBAAqC;QAClP,6BAA6B;QAC7B,8BAA8B;QAFb,YAAO,GAAP,OAAO,CAAe;QAAS,cAAS,GAAT,SAAS,CAAW;QAAQ,QAAG,GAAH,GAAG,CAAmB;QAAQ,cAAS,GAAT,SAAS,CAAkB;QAAQ,WAAM,GAAN,MAAM,CAAuB;QAAQ,OAAE,GAAF,EAAE,CAAiB;QAAQ,uBAAkB,GAAlB,kBAAkB,CAAmB;QAPpP,gBAAW,GAAQ,EAAE,CAAC;QACtB,YAAO,GAAQ,EAAE,CAAC;QAClB,iBAAY,GAAM,EAAE,CAAC;QACrB,kBAAa,GAAM,EAAE,CAAC;QAEtB,WAAM,GAAO,GAAG,CAAC;QACjB,iBAAY,GAAW,IAAI,CAAC;IAK5B,CAAC;IACD,gCAAW,GAAX,UAAY,GAAG;QAEb,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;IAC1B,CAAC;IACD,+BAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,MAAM,GAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAED,mCAAc,GAAd;QAEE,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IACD,oCAAe,GAAf;QAEE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACtC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IACD,2BAAM,GAAN,UAAO,IAAI;QACT,EAAE,EAAC,CAAC,IAAI,CAAC,EAAC;YACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QAAA,IAAI,EAAC;YACJ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAChD,CAAC;QAED,yBAAyB;IAC3B,CAAC;IACD,iCAAY,GAAZ,UAAa,SAAS;QAEpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC;QACxC,yCAAyC;QACzC,4CAA4C;QAC5C,sCAAsC;QACtC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;QAE/B,yDAAyD;QAEzD,EAAE,EAAC,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,EAAC;YACzB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAE;YACZ,CAAC;YAAA,IAAI,EAAC;gBACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAC,CAAC;oBAC/C,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnU,MAAM,CAAC,IAAI,CAAC;oBAChB,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC;gBACjB,CAAC,CAAC;YACJ,CAAC;QACD,CAAC;QAAA,IAAI,CACL,CAAC;YACC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAEnB,MAAM,CAAE;YACZ,CAAC;YAAA,IAAI,EAAC;gBACJ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC;oBAC/C,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;2BACjF,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAC,CAAC,CAAC,IAAG,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAC,CAAC,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAElL,MAAM,CAAC,IAAI,CAAC;oBAChB,CAAC;oBAED,MAAM,CAAC,KAAK,CAAC;gBACjB,CAAC,CAAC;YACF,CAAC;QAEH,CAAC;IACD,CAAC;IACC,4BAAO,GAAP;QACE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+DAAS,CAAC,CAAC;IAC/B,CAAC;IACD,wCAAmB,GAAnB;QAAA,iBA4BC;QAzBC,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAClC,qBAAqB;QAErB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAG;YAE9C,KAAI,CAAC,aAAa,GAAG,GAAG,CAAC;YACzB,EAAE,EAAC,KAAI,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,CACzC,CAAC;gBAGE,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,SAAS,IAAG,UAAU,IAAI,GAAG,CAAC,SAAS,IAAG,WAAW,IAAI,GAAG,CAAC,SAAS,IAAG,WAAW,IAAI,GAAG,CAAC,SAAS,IAAG,SAAS,IAAI,GAAG,CAAC,SAAS,IAAG,YAAY,IAAI,GAAG,CAAC,gBAAgB,EAA7K,CAA6K,CAAC,CAAC;gBAC9O,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,gBAAgB,CAAC;gBAExC,KAAI,CAAC,YAAY,GAAI,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAQ,IAAE,eAAQ,CAAC,SAAS,IAAI,WAAW,EAAjC,CAAiC,CAAC,CAAC;gBACpG,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,YAAY,CAAC;gBAE1C,KAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,KAAI,CAAC,cAAc,EAAE,CAAC;YACzB,CAAC;YAAA,IAAI,CACL,CAAC;gBACC,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBACzB,KAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC;YAC3C,CAAC;QACF,CAAC,CAAC;IACN,CAAC;IAED,oCAAe,GAAf;QACE,GAAG,EAAW,UAAiB,EAAjB,SAAI,CAAC,YAAY,EAAjB,cAAiB,EAAjB,IAAiB;YAA3B,IAAI,EAAE;YACV,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;SAEzD;QAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IAClB,CAAC;IACD,mCAAc,GAAd;QAEE,GAAG,EAAW,UAAqB,EAArB,SAAI,CAAC,gBAAgB,EAArB,cAAqB,EAArB,IAAqB;YAA/B,IAAI,EAAE;YACR,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;SAE7D;IACH,CAAC;IACH,8BAAS,GAAT,UAAU,SAAS;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,UAAU,CAAC;YAET,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC;IAED,iCAAY,GAAZ,UAAa,SAAS;QAGlB,EAAE,EAAC,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,CACpC,CAAC;YACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yDAAO,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,CAAC,CAAC;QACrD,CAAC;QAAA,IAAI,CAAC,EAAE,EAAC,SAAS,CAAC,SAAS,IAAI,YAAY,CAAC,EAAC;YAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,0GAAsB,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,CAAC,CAAC;QACpE,CAAC;QAAA,IAAI,EAAC;YACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,+DAAS,EAAC,EAAC,WAAW,EAAC,SAAS,EAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,kCAAa,GAAb;QAEE,wDAAwD;QACxD,0BAA0B;QAC1B,+CAA+C;QAC/C,uBAAuB;QALzB,iBAeC;QAPC,KAAK;QACL,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,IAAI,CAC7G,gBAAM,IAAI,cAAO,CAAC,GAAG,CAAC,iBAAiB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAnD,CAAmD,EAC7D,aAAG,IAAI,YAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,KAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,8BAA8B,CAAC,EAA5G,CAA4G,CACpH,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,8BAA8B,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IACnK,CAAC;IAtLoB;QAApB,yEAAS,CAAC,QAAQ,CAAC;kCAAQ,6DAAM;8CAAC;IAFxB,UAAU;QAJtB,wEAAS,CAAC;YACT,QAAQ,EAAE,cAAc;WACG;SAC5B,CAAC;mBAcoP;OAbzO,UAAU,CAyLtB;IAAD,CAAC;AAAA;SAzLY,UAAU,gB;;;;;;;;;;;;;;;;;;;;;ACxB2B;AACP;AACc;AAEzD;;;;;EAKE;AAEF,yDAAyD;AAEzD;IAEE,2BAAmB,IAAgB,EAAQ,SAA2B;QAAnD,SAAI,GAAJ,IAAI,CAAY;QAAQ,cAAS,GAAT,SAAS,CAAkB;QACpE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAID,uBAAuB;IAEvB,4BAA4B;IAE5B,wCAAY,GAAZ,UAAa,MAAM;QAEjB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAC,oCAAoC,GAAC,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,4CAAgB,GAAhB,UAAiB,IAAI;QAEnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,kBAAkB,EAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,0CAAc,GAAd,UAAe,UAAU;QAEvB,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,UAAU,EAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,gBAAgB,EAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,+CAAmB,GAAnB,UAAoB,IAAI;QAEtB,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,8BAA8B,EAAC,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,oCAAQ,GAAR,UAAS,UAAU;QAEjB,IAAI,OAAO,GAAG,EAAC,SAAS,EAAC,UAAU,EAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAC,UAAU,EAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAxCU,iBAAiB;QAD7B,yEAAU,EAAE;yCAGc,wEAAU,EAAkB,+EAAiB;OAF3D,iBAAiB,CAyC7B;IAAD,wBAAC;CAAA;AAzC6B;;;;;;;;;;;;;;;;;;;;;;ACboB;AACP;AACY;AAEvD;;;;;EAKE;AAEF;IAEE,uBAAmB,IAAgB,EAAQ,KAAqB;QAA7C,SAAI,GAAJ,IAAI,CAAY;QAAQ,UAAK,GAAL,KAAK,CAAgB;QAC9D,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC9C,CAAC;IACD,2CAAmB,GAAnB,UAAoB,IAAI;QACtB,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC/B,OAAO,EAAC,IAAI;YACZ,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,QAAQ;YAClB,mBAAmB,EAAE,IAAI;SAC5B,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAdY,aAAa;QADzB,yEAAU,EAAE;yCAGc,wEAAU,EAAc,sEAAe;OAFrD,aAAa,CAezB;IAAD,oBAAC;CAAA;AAfyB","file":"main.js","sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { ConstantsProvider } from '../constants/constants';\r\n\r\n/*\r\n Generated class for the QuestionCategoryProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class QuestionCategoryProvider {\r\napiurl:any;\r\n constructor(public http: HttpClient,public constant:ConstantsProvider) {\r\n console.log('Hello QuestionCategoryProvider Provider');\r\n this.apiurl = constant.apiurl();\r\n }\r\n \r\n \r\n getLoadTemplate(pdid)\r\n {\r\n return this.http.get(this.apiurl+'loadFullTemplate?pd_id='+pdid);\r\n }\r\n saveQusetion(saveData)\r\n {\r\n let records = {'records':[saveData]};\r\n return this.http.post(this.apiurl+'savePDQuestions',records);\r\n }\r\n\r\n \r\n getAnswerTemplate(qustDetails)\r\n {\r\n return this.http.post(this.apiurl+'getAnswersForPD',qustDetails);\r\n }\r\n\r\n /***\r\n * Get PD Questions dropdown api\r\n * sriram\r\n */\r\n getcommondrop(tableName)\r\n {\r\n let masters = {'master_name':tableName}\r\n return this.http.post(this.apiurl+'getListOfMaster',masters);\r\n }\r\n\r\n saveForm(records)\r\n { let record = {'records':records};\r\n return this.http.post(this.apiurl+'savePDFormDetails',record);\r\n }\r\n\r\n retiverForm(records)\r\n {\r\n return this.http.post(this.apiurl+'getPDFormDetails',records);\r\n }\r\n\r\n /**Assessed Form Details API */\r\n saveassessedForms(api,saveData)\r\n {\r\n return this.http.post(this.apiurl+api,saveData);\r\n }\r\n\r\n retiverassessedForm(api,records)\r\n {\r\n return this.http.post(this.apiurl+api,records);\r\n }\r\n\r\n updatePdApplicant(editData: any) {\r\n // editData.fk_updatedby = this._aws.getlocale();\r\n // editData.updatedon = currentdate;\r\n return this.http.post(this.apiurl + \"updatePDApplicants\", {\"pd_applicant_details\": editData})\r\n\r\n \r\n}\r\n\r\ngetEndUseForLoan(pdid:any,subproduct){\r\n return this.http.post(this.apiurl+ \"getEndUseOfLoan\",{ \"records\":{ \"pd_id\" : pdid,\"sub_product_id\":subproduct}})\r\n}\r\ngetCompaniesListsForBusiness(pdid:any){\r\n return this.http.post(this.apiurl+ \"getCompaniesListsForBusiness\", { \"records\":{ \"pd_id\" : pdid}})\r\n}\r\ngetStateWiseCities(stateid:any){\r\n return this.http.post(this.apiurl + \"getListOfStatesAndCities\", { \"records\":{ \"state_id\" : stateid}})\r\n}\r\ngetAllPersonsName(pdid:any){\r\n return this.http.post(this.apiurl + \"getAllPersonsName\", {\"pd_id\" : pdid})\r\n \r\n}\r\ngetStateCityDetails(){\r\n return this.http.post(this.apiurl + \"getListOfStatesCities\",\"\")\r\n}\r\ngetAssetsWithLoanFromBusiness(pdid:any){\r\n return this.http.post(this.apiurl + \"getAssetsWithLoanFromBusiness\",{ \"pd_id\" : pdid})\r\n\r\n}\r\n\r\n\r\ngetTypeofActivityForSuppliedInfoForm(pd_id: any,company_id:any){\r\n return this.http.post(this.apiurl+\"getTypeOfActivetyFromBusinessForm\", {\"records\": { \"pd_id\" : pd_id,\"company_id\":company_id }});\r\n}\r\n\r\n/** For Stock Details \r\n * To Get The Products With TypeofActivity From Business \r\n **/\r\nstockFormAccess(pdid: any,companyid: any) {\r\n // { \"pd_id\":\"104\",\"company_id\":\"1\"}\r\n return this.http.post(this.apiurl + \"getProductsFromBusiness\", {\"pd_id\" : pdid ,\"company_id\":companyid });\r\n}\r\n\r\n\r\n\r\n/*****Save Images */\r\nsavePDImages(imagesDetails)\r\n{ \r\n let record = {'records':imagesDetails};\r\n return this.http.post(this.apiurl+'savePDPhotos',record);\r\n}\r\ngetFamilyDetails(pdid:any){\r\n return this.http.post(this.apiurl+'getFamilyDetails',{\"pd_id\":pdid})\r\n}\r\ngetAddressDetails(pdid:any){\r\n return this.http.post(this.apiurl+'getPDAddress',{'pd_id':pdid})\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/question-category/question-category.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { GoogleplaytabPage } from '../googleplaytab/googleplaytab';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { PdQuestionPage } from '../pd-question/pd-question';\r\nimport Chart from 'chart.js';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { PdQuestionAddressPage } from '../pd-question/pd-question-address/pd-question-address';\r\nimport { PdQuestionEmpInfoPage } from '../pd-question/pd-question-emp-info/pd-question-emp-info';\r\nimport { PdQuestionCurrentLoansPage } from '../pd-question/pd-question-current-loans/pd-question-current-loans';\r\nimport { PdQuestionLoansPage } from '../pd-question/pd-question-loans/pd-question-loans';\r\n\r\nimport { PdQuestionBankingPage } from '../pd-question/pd-question-banking/pd-question-banking';\r\nimport { PdQuestionFamilyPage } from '../pd-question/pd-question-family/pd-question-family';\r\nimport { PdQuestionAssestsPage } from '../pd-question/pd-question-assests/pd-question-assests';\r\nimport { PdQuestionOtherIncomePage } from '../pd-question/pd-question-other-income/pd-question-other-income';\r\nimport { PdQuestionSupplierInfoPage } from '../pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { PdQuestionPersonalInfoPage } from '../pd-question/pd-question-personal-info/pd-question-personal-info';\r\nimport { PdQuestionStockInfoPage } from '../pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionFinancialInfoPage } from '../pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\r\nimport { PdQuestionClientInfoPage } from '../pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\nimport { PdQuestionRentalInfoPage } from '../pd-question/pd-question-rental-info/pd-question-rental-info';\r\nimport { PdQuestionAssessedInfoPage } from '../pd-question/pd-question-assessed-info/pd-question-assessed-info';\r\nimport { PdQuestionAssessedDashPage } from '../pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\r\nimport { PdQuestionLenderRepresentativePage } from '../pd-question/pd-question-lender-representative/pd-question-lender-representative';\r\nimport { PdQuestionGeneralInfoPage } from '../pd-question/pd-question-general-info/pd-question-general-info';\r\nimport { PdQuestionNeighbourHoodPage } from '../pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\r\nimport { PdQuestionFinalRemarkPage } from '../pd-question/pd-question-final-remark/pd-question-final-remark';\r\nimport { PdQuestionBusinessPage } from '../pd-question/pd-question-business/pd-question-business'\r\nimport { PdQuestionBusinessGroupPage } from '../pd-question/pd-question-business-group/pd-question-business-group'\r\n/**\r\n * Generated class for the PdQuestionCategoryPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-category',\r\n templateUrl: 'pd-question-category.html',\r\n})\r\nexport class PdQuestionCategoryPage {\r\n searchTempForm: any;\r\n searchQuestion: any;\r\n viewchange: boolean;\r\n templateAccess: boolean;\r\n bgColortempForm: any=[];\r\n bgColorqustCat: any=[];\r\n // @ViewChild('doughnutCanvas') doughnutCanvas;\r\n pdinfo: any;\r\nquestionList:any;\r\nquestionCate:any;\r\nquestionCateAccess:boolean = null;\r\nquestionfinishedList:any =[];\r\npddetails:any;\r\noverallqustioncountAccess:boolean = true;\r\ndoughnutChart: any;\r\ncompletedAccess:any;\r\nsearchitem:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public templateget:QuestionCategoryProvider,public aws:AwsServiceProvider, public shared:CognitoServiceProvider,public toast:ToastProvider,public pdstatusprovide:PdtriggerProvider) {\r\n this.pddetails = this.navParams.get('pdDetails');\r\n \r\n \r\n }\r\n\r\n ionViewCanEnter()\r\n {\r\n this.getcategoryList(); \r\n }\r\n // doughuntChart()\r\n // {\r\n // this.doughnutChart = new Chart(this.doughnutCanvas.nativeElement, {\r\n \r\n // type: 'doughnut',\r\n // data: {\r\n // // labels: [\"Red\", \"Blue\", \"Yellow\", \"Green\", \"Purple\", \"Orange\"],\r\n // datasets: [{\r\n // label: '# of Votes',\r\n // data: [12],\r\n // backgroundColor: [\r\n // // 'rgba(255, 99, 132, 0.2)',\r\n // 'rgba(54, 162, 235, 0.2)',\r\n // // 'rgba(255, 206, 86, 0.2)',\r\n // // 'rgba(75, 192, 192, 0.2)',\r\n // // 'rgba(153, 102, 255, 0.2)',\r\n // // 'rgba(255, 159, 64, 0.2)'\r\n // ],\r\n // hoverBackgroundColor: [\r\n // \"#FF6384\",\r\n // \"#36A2EB\",\r\n // \"#FFCE56\",\r\n // \"#FF6384\",\r\n // \"#36A2EB\",\r\n // \"#FFCE56\"\r\n // ]\r\n // }]\r\n // }\r\n\r\n // });\r\n // }\r\n ionViewDidLoad() {\r\n this.shared.refresh();\r\n //this.doughuntChart();\r\n console.log('ionViewDidLoad PdQuestionCategoryPage');\r\n }\r\n \r\n getcategoryList()\r\n {\r\n let j = 1;\r\n this.templateget.getLoadTemplate(this.pddetails.pd_id).subscribe(res=>\r\n {\r\n this.questionCate = res;\r\n if(this.questionCate.dataStatus == true)\r\n {\r\n \r\n this.questionCate = this.questionCate.records;\r\n this.random_ng_past(); \r\n if(this.questionCate.question_answers !='' && this.questionCate.template_forms!='')\r\n {\r\n this.questionCateAccess = true;\r\n this.templateAccess = true;\r\n this.questionCate = this.questionCate;\r\n this.searchQuestion = this.questionCate.question_answers;\r\n\r\n if(this.questionCate.counts.overall_answered_count !=0 && this.questionCate.counts.overall_question_count !=0 && this.questionCate.counts.overall_answered_count == this.questionCate.counts.overall_question_count)\r\n {\r\n this.overallqustioncountAccess = false;\r\n }else\r\n {\r\n this.overallqustioncountAccess = true;\r\n }\r\n \r\n \r\n \r\n \r\n \r\n }else if(this.questionCate.template_forms!='')\r\n {\r\n this.templateAccess = true;\r\n this.questionCate = this.questionCate;\r\n this.searchTempForm = this.questionCate.template_forms\r\n // if(this.questionCate.counts.overall_answered_count !=0 && this.questionCate.counts.overall_question_count !=0 && this.questionCate.counts.overall_answered_count == this.questionCate.counts.overall_question_count)\r\n // {\r\n // this.overallqustioncountAccess = false;\r\n // }else\r\n // {\r\n // this.overallqustioncountAccess = true;\r\n // }\r\n }\r\n else\r\n {\r\n this.questionCateAccess = false;\r\n this.templateAccess = false; \r\n this.questionCate = \"No Template Available\";\r\n }\r\n }\r\n })\r\n }\r\n random_ng_past()\r\n {\r\n for(let id of this.questionCate.question_answers){\r\n var a = Math.floor(Math.random() * 256);\r\n var b = Math.floor(Math.random() * 256);\r\n var c = Math.floor(Math.random() * 256);\r\n this.bgColorqustCat.push(\"rgb(\" + a + \",\" + b + \",\" + c + \")\");\r\n \r\n }\r\n for(let id of this.questionCate.template_forms){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColortempForm.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n }\r\n questionsTag(categroyId){\r\n \r\n this.pdinfo = this.pddetails; \r\n \r\n this.questionCate = this.questionCate.question_answers.filter(cate=>cate.fk_question_category_id == categroyId)[0];\r\n // if(this.questionCate.questions.length !=\"0\"){\r\n this.navCtrl.push(PdQuestionPage,{'questionDetails':this.questionCate,'pdDetails':this.pdinfo});\r\n \r\n // }else\r\n // {\r\n // this.getcategoryList();\r\n // this.toast.pdTriggerappmessage('No Question Available');\r\n // }\r\n }\r\n\r\n tempQustionTag(categroyId)\r\n {\r\n this.pdinfo = this.pddetails; \r\n let formName = this.questionCate.template_forms.filter(temp=>temp.form_id==categroyId)[0];\r\n if(categroyId ==5)\r\n {\r\n this.navCtrl.push(PdQuestionAddressPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n \r\n }else if(categroyId==12){\r\n this.navCtrl.push(PdQuestionEmpInfoPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n }else if(categroyId==10)\r\n {\r\n this.navCtrl.push(PdQuestionLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==8){\r\n this.navCtrl.push(PdQuestionCurrentLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==13)\r\n {\r\n this.navCtrl.push(PdQuestionBusinessGroupPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n \r\n }else if(categroyId==7)\r\n {\r\n this.navCtrl.push(PdQuestionBankingPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n\r\n }else if(categroyId==6)\r\n {\r\n this.navCtrl.push(PdQuestionFamilyPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId ==4){\r\n this.navCtrl.push(PdQuestionAssestsPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==9){\r\n this.navCtrl.push(PdQuestionOtherIncomePage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==1){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==3){\r\n this.navCtrl.push(PdQuestionPersonalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==11)\r\n {\r\n this.navCtrl.push(PdQuestionStockInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==14)\r\n {\r\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId ==2)\r\n {\r\n this.navCtrl.push(PdQuestionClientInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId ==17)\r\n {\r\n this.navCtrl.push(PdQuestionRentalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }\r\n else if(categroyId==16)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedDashPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==15)\r\n {\r\n this.navCtrl.push(PdQuestionLenderRepresentativePage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n \r\n }else if(categroyId==18)\r\n {\r\n this.navCtrl.push(PdQuestionGeneralInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }else if(categroyId==19)\r\n {\r\n this.navCtrl.push(PdQuestionNeighbourHoodPage,{'FormId':formName,'pdDetails':this.pdinfo}); \r\n }\r\n else if(categroyId==20)\r\n {\r\n this.navCtrl.push(PdQuestionFinalRemarkPage,{'FormId':formName,'pdDetails':this.pdinfo});\r\n }\r\n }\r\n filter(view){\r\n if(!view){\r\n this.viewchange = true;\r\n }else{\r\n this.viewchange = false;\r\n }\r\n //alert(this.viewchange);\r\n }\r\n pdlistsearch(searchbar) {\r\n // this.questionCate = this.searchQuestion;\r\n // this.questionCate.template_forms = this.searchTempForm;\r\n // reset countries list with initial call\r\n //this.pdinprogress = this.countriesInitial;\r\n // set q to the value of the searchbar\r\n var q = searchbar.target.value;\r\n\r\n // if the value is an empty string don't filter the items\r\n if(this.searchQuestion !== undefined){\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n // this.questionCate.question_answers = this.searchQuestion.filter((v) => {\r\n // if (v.category_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n // return true;\r\n // }\r\n // })\r\n }\r\n }else\r\n {\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n// this.questionCate.template_forms = this.searchTempForm.filter((v) => {\r\n// if (v.form_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n// return true;\r\n// }\r\n// })\r\n }\r\n }\r\n}\r\n completed()\r\n {\r\n let users = this.aws.getlocale();\r\n \r\n let data = {'pd_id':this.questionCate.pdmaster_details.pd_id,'pd_status':'COMPLETED','fk_updatedby':users,'updatedon':currentdate};\r\n \r\n this.pdstatusprovide.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.completedAccess = res;\r\n if(this.completedAccess.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage);\r\n }\r\n })\r\n }\r\n doRefresh(refresher) {\r\n this.questionCate = [];\r\n this.questionfinishedList = [];\r\n this.shared.refresh();\r\n this.getcategoryList();\r\n setTimeout(() => {\r\n refresher.complete();\r\n }, 2000);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question-category/pd-question-category.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController, AlertController } from 'ionic-angular';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Geolocation } from '@ionic-native/geolocation'; \r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\n/**\r\n * Generated class for the OtpPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-otp',\r\n templateUrl: 'otp.html',\r\n})\r\nexport class OtpPage {\r\n\r\n \r\n timeLimit: any;\r\n reason_otp: any;\r\n users: any;\r\n timerOn: boolean = true;\r\n balance_time: string;\r\n otpStatus: any;\r\n pin:any;\r\n otpStatusAccess:boolean = true;\r\n applicatentDetails: any;\r\n commonImage:any;\r\n maxtime: any=30;\r\n \r\n reasonForm:FormGroup\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public pddetails:PdtriggerProvider,public toast:ToastProvider,public Menu:MenuController,public commonconstant:ConstantsProvider,public aws:AwsServiceProvider,public alertCtrl:AlertController,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public geolocation:Geolocation,public androidPermissions:AndroidPermissions) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n this.reasonForm = this.fb.group(\r\n {\r\n reason:[null,Validators.compose([Validators.required])],\r\n others_reason:[null],\r\n })\r\n this.getDropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad OtpPage');\r\n }\r\n ionViewDidEnter(){\r\n //this.Menu.enable(false);\r\n this.setPermission();\r\n this.timer(120);\r\n \r\n }\r\n\r\n setPermission()\r\n {\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n }\r\n ionViewWillLeave(){\r\n //this.Menu.enable(true);\r\n clearTimeout(this.timeLimit);\r\n }\r\n getDropdown()\r\n {\r\n this.qustCat.getcommondrop('OTPREJECTION').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.reason_otp = res['records'].filter(otp=>otp.isactive==1);\r\n console.log(this.reason_otp);\r\n \r\n }\r\n })\r\n }\r\n checkotp(otp)\r\n {\r\n let data = {'pd_id':this.applicatentDetails.pd_id,'OTP':otp,'fk_updatedby':this.users};\r\n this.pddetails.checkotp(data).subscribe(res=>\r\n {\r\n console.log(\"Otp\",res)\r\n this.otpStatus = res;\r\n if(this.otpStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Correct OTP');\r\n }\r\n })\r\n }\r\n\r\n timer(remaining) {\r\n // console.log(remaining);\r\n let m:any = Math.floor(remaining / 60);\r\n let s:any = remaining % 60;\r\n \r\n m = m < 10 ? '0' + m : m;\r\n s = s < 10 ? '0' + s : s;\r\n // var balance_time = m + ':' + s;\r\n this.balance_time = m + ':' + s;\r\n remaining -=1;\r\n // console.log(this.balance_time);\r\n if(remaining >= 0 && this.timerOn) {\r\n this.timeLimit = setTimeout(()=> {\r\n this.timer(remaining);\r\n }, 1000);\r\n return;\r\n }\r\n \r\n if(!this.timerOn) {\r\n // Do validate stuff here\r\n return;\r\n }\r\n \r\n // Do timeout stuff here\r\n this.users = this.aws.getlocale();\r\n let data:any;\r\n let alert = this.alertCtrl.create({\r\n title: 'OTP Expired ',\r\n message: 'Do you want sure resend OTP',\r\n buttons: [\r\n {\r\n text: 'OTP Without Start',\r\n \r\n handler: () => {\r\n \r\n this.otpStatusAccess = false;\r\n }\r\n },\r\n {\r\n text: 'Resend OTP',\r\n handler: () => {\r\n \r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n let currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n data = {'pd_id':this.applicatentDetails.pd_id,'pd_status':'STARTED','mobile_no':this.applicatentDetails.applicat_details[0].mobile_no,'fk_updatedby':this.users,'link':currentPosPDofficer};\r\n console.log(data);\r\n this.pddetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.timer(60);\r\n })\r\n });\r\n // console.log('Buy clicked');\r\n \r\n } \r\n }\r\n \r\n ]\r\n \r\n });\r\n alert.present();\r\n }\r\n \r\n saveotpreasno()\r\n {\r\n console.log(this.reasonForm.value);\r\n if(this.reasonForm.valid)\r\n {\r\n let data = {'pd_id':this.applicatentDetails.pd_id,'reason':this.reasonForm.value.reason,'other_reason':this.reasonForm.value.others_reason,'fk_updatedby':this.users};\r\n this.pddetails.checkotp(data).subscribe(res=>\r\n {\r\n this.otpStatus = res;\r\n if(this.otpStatus.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\r\n }else\r\n {\r\n // this.toast.pdTriggerappmessage('Enter the Correct OTP');\r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/otp/otp.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Camera } from '@ionic-native/camera';\r\n/*\r\n Generated class for the CameraProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class CameraProvider {\r\n\r\n constructor(public http: HttpClient,public camera:Camera) {\r\n console.log('Hello CameraProvider Provider');\r\n }\r\n getpicture() \r\n {\r\n const options = {\r\n quality: 100,\r\n destinationType: this.camera.DestinationType.DATA_URL,\r\n targetWidth: 500,\r\n targetHeight: 500,\r\n correctOrientation: true\r\n };\r\n\r\n // If set to crop, restricts the image to a square of 600 by 600\r\n \r\n\r\n return this.camera.getPicture(options).then(imageData => {\r\n const base64Image = 'data:image/png;base64,' + imageData;\r\n // console.log(base64Image);\r\n return base64Image;\r\n }, error => {\r\n console.log('CAMERA ERROR -> ' + JSON.stringify(error));\r\n });\r\n \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/camera.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionSupplierInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-supplier-info',\r\n templateUrl: 'pd-question-supplier-info.html',\r\n})\r\n\r\nexport class PdQuestionSupplierInfoPage {\r\n users: any;\r\n pdDetails: any;\r\n formDetails: any;\r\n company_id: any;\r\n form_id: any;\r\n questionDetails: any;\r\n supplierInfoForm: FormGroup;\r\n\r\n business_manufacturingProducts: any = [];\r\n business_tradingProducts: any = [];\r\n m_titleList: any = [];\r\n m_paymentList: any = [];\r\n m_companyRelationShipList: any = [];\r\n\r\n noRecordsFound: Boolean = false;\r\n public submitted = false;\r\n errorMessage: any = '';\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider) {\r\n\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.form_id = this.formDetails.form_id;\r\n this.company_id = this.pdDetails.company_id;\r\n this.users = this.aws.getlocale();\r\n\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdDetails.pd_id, this.company_id).subscribe(data => {\r\n\r\n if (data.dataStatus) {\r\n\r\n let datas = data.records;\r\n this.initFormLoadDetails(datas.type_of_activity);\r\n this.business_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\r\n // this.business_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\r\n\r\n let api = Object.keys(datas.type_of_activity).map(function (key) {\r\n return datas.type_of_activity[key];\r\n });\r\n\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 3) {\r\n if (val.prodcuts) {\r\n this.business_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n\r\n if (val.type_of_activity_id == 4) {\r\n if (val.prodcuts) {\r\n this.business_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n });\r\n }\r\n\r\n this.business_tradingProducts = [].concat.apply([], this.business_tradingProducts);\r\n\r\n } else {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = data.msg;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n })\r\n this.getdropList();\r\n }\r\n\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionSupplierInfoPage');\r\n }\r\n\r\n\r\n serviceProviderForm: Boolean = false;\r\n initFormLoadDetails(record) {\r\n let params: any = {};\r\n params.pd_id = this.pdDetails.pd_id;\r\n params.pd_form_id = this.form_id;\r\n params.company_id = this.company_id;\r\n\r\n this.qustCat.retiverForm(params).subscribe(\r\n data => {\r\n if (data['dataStatus'] == true) {\r\n let dataForm = data['records'];\r\n if (dataForm !== undefined) {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\r\n // return dataForm.main_raw_materials[key];\r\n // });\r\n if(dataForm.manufacturing_details[0] != null){\r\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\r\n\r\n this.initManufacturingProductsDetails(api_main_raw_materials);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(dataForm.manufacturing_details[0].main_raw_materials_total_payments_percent_on_credit || null);\r\n }\r\n else{\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null)\r\n }\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\r\n // return dataForm.trading_products[key];\r\n // });\r\n if(dataForm.trade_details[0] != null){\r\n let api_trading_products = dataForm.trade_details[0].trading_products;\r\n this.initTradingProductsDetails(api_trading_products);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trade_details[0].trading_products_total_payments_percent_on_credit || null);\r\n }\r\n else{\r\n this.initTradingProductsDetails(null);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n }\r\n this.noRecordsFound = true;\r\n } else {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trading_products_total_payments_percent_on_credit || null);\r\n }\r\n this.noRecordsFound = true;\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n }\r\n } else {\r\n this.supplierInfoForm = this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n formid: [this.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n supplier_info_form_remark: []\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.serviceProviderForm = true;\r\n }\r\n this.noRecordsFound = true;\r\n }\r\n }, err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n main_raw_materials: this.fb.array([]),\r\n main_raw_materials_total_payments_percent_on_credit: []\r\n })\r\n // }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr.length > 0) {\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_products: this.fb.array([]),\r\n trading_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingProductsDetails(datas) {\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n control.push(this.initManufacturingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.manufacturing_payment_type, 1, inx);\r\n control.push(this.initManufacturingProducts(val));\r\n });\r\n }\r\n }\r\n\r\n initManufacturingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n manufacturing_raw_material_name: [''],\r\n manufacturing_supplier_name: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n other_person_designation: [''],\r\n manufacturing_contact_person_name: [''],\r\n manufacturing_contact_person_mobile_number: [''],\r\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n manufacturing_payment_type: [''],\r\n manufacturing_payment_mode: [''],\r\n manufacturing_credit_days_from: [''],\r\n manufacturing_credit_days_to: [''],\r\n manufacturing_frequency_of_purchase: [''],\r\n person_stdcode: [''],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [''],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n\r\n })\r\n } else {\r\n return this.fb.group({\r\n manufacturing_raw_material_name: [records.manufacturing_raw_material_name || null],\r\n manufacturing_supplier_name: [records.manufacturing_supplier_name || null],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n other_person_designation: [records.other_person_designation || null],\r\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\r\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],\r\n //Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\r\n manufacturing_payment_mode: [records.manufacturing_payment_mode],\r\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\r\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null],\r\n manufacturing_frequency_of_purchase: [records.manufacturing_frequency_of_purchase || null],\r\n person_stdcode: [records.person_stdcode || null],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [records.person_landline || null],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n })\r\n }\r\n }\r\n\r\n initTradingProductsDetails(datas) {\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n if (datas === null) {\r\n control.push(this.initTradingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.trade_product_payment_type, 2, inx);\r\n control.push(this.initTradingProducts(val));\r\n });\r\n }\r\n }\r\n\r\n initTradingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n trade_product_name: [''],\r\n trade_supplier_name: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n other_person_designation: [''],\r\n trade_product_contact_person_name: [''],\r\n trade_product_contact_person_mobile_number: [''],\r\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n person_stdcode: [null],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [null],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n trade_product_payment_type: [''],\r\n trade_product_payment_mode: [''],\r\n trade_product_frequency_of_purchase: [''],\r\n trade_product_credit_days_from: [''],\r\n trade_product_credit_days_to: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n trade_product_name: [records.trade_product_name],\r\n person_title_name: [records.person_title_name],\r\n person_designation: [records.person_designation],\r\n other_person_designation: [records.other_person_designation],\r\n trade_supplier_name: [records.trade_supplier_name],\r\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\r\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],\r\n //, Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\r\n person_stdcode: [records.person_stdcode],\r\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\r\n person_landline: [records.person_landline],\r\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\r\n trade_product_payment_type: [records.trade_product_payment_type],\r\n trade_product_payment_mode: [records.trade_product_payment_mode],\r\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\r\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\r\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\r\n })\r\n }\r\n }\r\n\r\n addMoreRawMaterials(e): void {\r\n // e.stropPropagation();\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n\r\n control.push(this.initManufacturingProducts(null));\r\n }\r\n\r\n removeRawMaterials(inx): void {\r\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoretradeProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n control.push(this.initTradingProducts(null));\r\n }\r\n\r\n removeTradingProduct(inx): void {\r\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n\r\n getdropList() {\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n this.m_companyRelationShipList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('TITLES').subscribe(\r\n data => {\r\n this.m_titleList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\r\n data => {\r\n this.m_paymentList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n\r\n\r\n saveSupplierInfo(FormValues) {\r\n\r\n var answerFormValues = FormValues;\r\n\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n\r\n }\r\n\r\n selectedPersonDesignation(items, e, flag) {\r\n if (flag == 1) {\r\n e == 1 ? '' : '';\r\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\r\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 2) {\r\n e == 1 ? '' : '';\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n mfgCreditCardFlag: boolean = false;\r\n trdCreditCardFlag: boolean = false;\r\n mfgCounter: any = [];\r\n trdCounter: any = [];\r\n checkCard(e, flag, index) {\r\n if (flag == 2 && e == 3) {\r\n this.trdCounter[index] = 1;\r\n }\r\n else if (flag == 2 && e != 3) {\r\n this.trdCounter[index] = 0;\r\n }\r\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\r\n this.trdCreditCardFlag = TRD > 0 ? true : false;\r\n\r\n if (flag == 1 && e == 3) {\r\n this.mfgCounter[index] = 1;\r\n }\r\n else if (flag == 1 && e != 3) {\r\n this.mfgCounter[index] = 0;\r\n }\r\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\r\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\r\n }\r\n\r\n selectedPaymentTerms(items, e, flag) {\r\n if (flag == 2) {\r\n if (e == 3) {\r\n // items.controls['trade_product_credit_days_from'].setValidators([Validators.required]);\r\n // items.controls['trade_product_credit_days_to'].setValidators([Validators.required]);\r\n }\r\n else {\r\n items.controls['trade_product_credit_days_from'].clearValidators();\r\n items.controls['trade_product_credit_days_from'].setValue('');\r\n items.controls['trade_product_credit_days_to'].clearValidators();\r\n items.controls['trade_product_credit_days_to'].setValue('');\r\n }\r\n items.controls['trade_product_credit_days_from'].updateValueAndValidity();\r\n items.controls['trade_product_credit_days_to'].updateValueAndValidity();\r\n }\r\n else if (flag == 1) {\r\n if (e == 3) { //items.controls['manufacturing_credit_days_from'].setValidators([Validators.required]);\r\n //items.controls['manufacturing_credit_days_to'].setValidators([Validators.required]);\r\n }\r\n else {\r\n items.controls['manufacturing_credit_days_from'].clearValidators();\r\n items.controls['manufacturing_credit_days_from'].setValue('');\r\n items.controls['manufacturing_credit_days_to'].clearValidators();\r\n items.controls['manufacturing_credit_days_to'].setValue('');\r\n }\r\n items.controls['manufacturing_credit_days_from'].updateValueAndValidity();\r\n items.controls['manufacturing_credit_days_to'].updateValueAndValidity();\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { FormArray, FormGroup, FormBuilder } from '@angular/forms';\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants';\r\n\r\n/**\r\n * Generated class for the PdQuestionStockInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-stock-info',\r\n templateUrl: 'pd-question-stock-info.html',\r\n})\r\nexport class PdQuestionStockInfoPage {\r\n\r\n uomData: any;\r\n rawmaterial: any;\r\n users: any;\r\n formDetails: any;\r\n pdDetails: any;\r\n company_id : any;\r\n pdid:any;\r\n stockForm: FormGroup;\r\n noRecordsFound: Boolean;\r\n errorMessage: any = '';\r\n M_rawValueInWords : any = []; \r\n M_goodsValueInWords : any = [];\r\n R_tradedGoodsValueInWords : any = [];\r\n T_tradedGoodsValueInWords : any = [];\r\n mrmCommentFlag:any=[];\r\n mfgCommentFlag:any=[];\r\n rtrdCommentFlag:any=[];\r\n wtrdCommentFlag:any=[];\r\n serviceProviderForm: Boolean = false;\r\n suppliers_raw_materials : any = [];\r\n suppliers_retail_trade_details : any = [];\r\n suppliers_wholesale_trade_details : any = [];\r\n suppliers_finished_goods : any =[];\r\n finishedAndTradedGoodsCommentCard:boolean;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.company_id=this.pdDetails.company_id;\r\n this.pdid=this.pdDetails.pd_id;\r\n this.qustCat.stockFormAccess(this.pdid,this.company_id).subscribe(data => {\r\n if(data.dataStatus == true){\r\n this.initstockForm(data.record);\r\n }\r\n else if(data.dataStatus == false)\r\n {\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID '+ this.company_id ); \r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id +'! ....';\r\n return;\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID '+ this.company_id ); \r\n this.noRecordsFound = false;\r\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id +'! ....';\r\n return;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('Business Type Of Activity Not Available Please Check Business Information.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n })\r\n this.getdropdown();\r\n }\r\n\r\n public initstockForm(record){\r\n let api = Object.keys(record.from_business).map(function (key) {\r\n return record.from_business[key];\r\n });\r\n\r\n let type3 = record.from_business.filter(data => data.type_of_activity_id == 3);\r\n let type3length = type3[0].hasOwnProperty(\"products\") ? type3[0].products.length : 0;\r\n let type4 = record.from_business.filter(data => data.type_of_activity_id == 4);\r\n let type4length = type4[0].hasOwnProperty(\"products\") ? type4[0].products.length : 0;\r\n\r\n\r\n let rm_api = record.from_supplier;\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = this.formDetails.form_id;\r\n params.company_id = this.company_id;\r\n this.qustCat.retiverForm(params).subscribe(value => {\r\n if (value['status'] == 200) {\r\n let dataForm = value['records']; \r\n if(dataForm !== undefined) {\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby:[this.users],\r\n stock_remarks: [dataForm.stock_remarks],\r\n\r\n // is_sufficiant_raw:[dataForm.is_sufficiant_raw],\r\n // rawmaterial_remarks:[dataForm.rawmaterial_remarks],\r\n is_sufficiant_finished_and_traded_goods:[dataForm.is_sufficiant_finished_and_traded_goods],\r\n finished_and_traded_goods_remarks:[dataForm.finished_and_traded_goods_remarks],\r\n\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n retail_details : this.fb.array([this.retailFormCreation(type3length)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\r\n });\r\n if(api.length > 0){ \r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if(val.products){\r\n if(dataForm.manufacturing_details[0].manufacturing_finished_goods ){this.finishedAndTradedGoodsCommentCard = true;}\r\n let manufacturing_temparr = [];\r\n manufacturing_temparr['manufacturing_raw_materials'] = dataForm.manufacturing_details[0].manufacturing_raw_materials; \r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(dataForm.manufacturing_details[0].is_sufficiant_raw),\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(dataForm.manufacturing_details[0].rawmaterial_remarks);\r\n manufacturing_temparr['manufacturing_finished_goods'] = dataForm.manufacturing_details[0].manufacturing_finished_goods; \r\n this.initManufacturingDetails(manufacturing_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if(val.products){\r\n this.finishedAndTradedGoodsCommentCard = true;\r\n let retail_temparr = [];\r\n retail_temparr['retail_traded_goods'] = dataForm.retail_details[0].retail_traded_goods;\r\n \r\n this.initRetailDetails(retail_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if(val.products){\r\n this.finishedAndTradedGoodsCommentCard = true;\r\n let trading_temparr = [];\r\n trading_temparr['trading_traded_goods'] = dataForm.trade_details[0].trading_traded_goods;\r\n console.log(\"Trade\",trading_temparr)\r\n this.initTradingDetails(trading_temparr);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if(val.products){\r\n this.serviceProviderForm = true;\r\n }\r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n else{\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby:[this.users],\r\n stock_remarks: [''],\r\n // is_sufficiant_raw:[''],\r\n // rawmaterial_remarks:[''],\r\n is_sufficiant_finished_and_traded_goods:[''],\r\n finished_and_traded_goods_remarks:[''],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n retail_details : this.fb.array([this.retailFormCreation(type3length)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\r\n });\r\n if(api.length > 0){ \r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if(val.products){\r\n this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_finished_goods = val.products;\r\n this.initManufacturingDetails(null); \r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(dataForm.manufacturing_details[0].is_sufficiant_raw.value || null),\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(dataForm.manufacturing_details[0].rawmaterial_remarks || null); \r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if(val.products){\r\n this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_retail_trade_details = val.products;\r\n this.initRetailDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if(val.products){\r\n this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_wholesale_trade_details =val.products;\r\n this.initTradingDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if(val.products){\r\n // this.suppliers_service_product = val.products;\r\n this.serviceProviderForm = true;\r\n } \r\n }\r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n }\r\n else {\r\n console.log(\"Record\",record)\r\n this.stockForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby:[this.users],\r\n stock_remarks: [''],\r\n\r\n // is_sufficiant_raw:[''],\r\n // rawmaterial_remarks:[''],\r\n is_sufficiant_finished_and_traded_goods:[''],\r\n finished_and_traded_goods_remarks:[''],\r\n \r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n retail_details : this.fb.array([this.retailFormCreation(type3length)]),\r\n \r\n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\r\n });\r\n if(api.length > 0){ \r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 2) {\r\n if(val.products){\r\n this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_finished_goods = val.products;\r\n this.suppliers_raw_materials = rm_api;\r\n this.initManufacturingDetails(null); \r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(null);\r\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 3) {\r\n if(val.products){\r\n this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_retail_trade_details= val.products;\r\n this.initRetailDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 4) {\r\n if(val.products){\r\n this.finishedAndTradedGoodsCommentCard = true;\r\n this.suppliers_wholesale_trade_details = val.products;\r\n this.initTradingDetails(null);\r\n }\r\n }\r\n if (val.type_of_activity_id == 5) {\r\n if(val.products){\r\n // this.suppliers_service_product = val.products;\r\n this.serviceProviderForm = true;\r\n } \r\n } \r\n });\r\n this.noRecordsFound = true;\r\n }\r\n }\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionStockInfoPage');\r\n }\r\n\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('UOM').subscribe(data => {\r\n if(data['dataStatus']==true){\r\n this.uomData = data['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(record) {\r\n let arr = record.from_business.filter(data => data.type_of_activity_id == 2);\r\n let rm_arr = record.from_supplier;\r\n //console.log(\"Manufacturing \",arr);\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n is_sufficiant_raw: [],\r\n rawmaterial_remarks:[],\r\n manufacturing_raw_materials: this.fb.array([]),\r\n manufacturing_finished_goods: this.fb.array([]),\r\n })\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n retailForm: Boolean = false;\r\n retailFormCreation(val) {\r\n //let arr = val.filter(data => data.type_of_activity_id == 3);\r\n let arr=val\r\n console.log(\"retail Form \",arr);\r\n if (arr > 0) {\r\n // if(arr.products != undefined){\r\n this.retailForm = true;\r\n return this.fb.group({\r\n retail_traded_goods: this.fb.array([])\r\n }); \r\n // }else{\r\n // this.retailForm = false;\r\n // return;\r\n // } \r\n } else {\r\n return this.fb.group({\r\n retail_traded_goods: this.fb.array([])\r\n }); \r\n // return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n let arr=val\r\n //let arr = val.filter(data => data.type_of_activity_id == 4);\r\n \r\n if (arr > 0) {\r\n \r\n // if(arr.products === undefined){\r\n \r\n // this.tradingForm = false;\r\n // return;\r\n // }\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_traded_goods: this.fb.array([])\r\n }); \r\n } else {\r\n return this.fb.group({\r\n trading_traded_goods: this.fb.array([])\r\n }); \r\n // return;\r\n }\r\n }\r\n\r\n initManufacturingDetails(datas) {\r\n const rawMaterial = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n const finishedGoods = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; \r\n if(datas === null){\r\n if(this.suppliers_raw_materials.length > 0){\r\n this.suppliers_raw_materials.forEach(val => {\r\n let Ref_RawMaterials : any = {'raw_name': val,\r\n 'stock_observed':'',\r\n 'raw_quantity': '',\r\n 'raw_uom': '',\r\n 'other_uom': '',\r\n 'raw_value': '',\r\n 'is_sufficiant_raw': '',\r\n 'rawmaterial_remarks':''};\r\n rawMaterial.push(this.createRawmaterial(Ref_RawMaterials)); \r\n });\r\n }\r\n else{ \r\n rawMaterial.push(this.createRawmaterial(null)); \r\n } \r\n if(this.suppliers_finished_goods.length > 0){\r\n this.suppliers_finished_goods.forEach(val => {\r\n let Ref_Finished_Goods : any = {'goods_name': val,\r\n 'goods_observed': '',\r\n 'goods_quantity': '',\r\n 'goods_uom': '',\r\n 'goods_other_uom': '',\r\n 'goods_value': '',\r\n 'is_sufficiant_goods': '',\r\n 'finishedgoods_remarks':''};\r\n finishedGoods.push(this.createGoods(Ref_Finished_Goods)); \r\n });\r\n }\r\n else{ \r\n finishedGoods.push(this.createGoods(null)); \r\n }\r\n } else {\r\n if(datas.manufacturing_raw_materials != undefined){\r\n datas.manufacturing_raw_materials.forEach((val,index) => {\r\n if(val.raw_value){\r\n this.inWords(val.raw_value,1,index);\r\n }\r\n this.checkComments(val.is_sufficiant_raw,1,index);\r\n rawMaterial.push(this.createRawmaterial(val)); \r\n });\r\n }\r\n else{\r\n rawMaterial.push(this.createRawmaterial(null)); \r\n }\r\n if(datas.manufacturing_finished_goods != undefined){ \r\n datas.manufacturing_finished_goods.forEach((val,index) => {\r\n if(val.goods_value){\r\n this.inWords(val.goods_value,2,index);\r\n }\r\n this.checkComments(val.is_sufficiant_goods,2,index);\r\n finishedGoods.push(this.createGoods(val)); \r\n \r\n });\r\n }\r\n else{\r\n finishedGoods.push(this.createGoods(null)); \r\n }\r\n }\r\n }\r\n\r\n createRawmaterial(records) {\r\n if(records === null) {\r\n return this.fb.group({\r\n raw_name: [''],\r\n stock_observed:[''],\r\n raw_quantity: [''],\r\n raw_uom: [''],\r\n other_uom : [''],\r\n raw_value: [''],\r\n is_sufficiant_raw: [''],\r\n rawmaterial_remarks:['']\r\n })\r\n } else { \r\n return this.fb.group({\r\n raw_name: [records.raw_name],\r\n stock_observed:[records.stock_observed],\r\n raw_quantity: [records.raw_quantity],\r\n raw_uom: [records.raw_uom],\r\n other_uom : [records.other_uom],\r\n raw_value: [records.raw_value],\r\n is_sufficiant_raw: [records.is_sufficiant_raw],\r\n rawmaterial_remarks:[records.rawmaterial_remarks]\r\n })\r\n }\r\n }\r\n \r\n initRetailDetails(datas) {\r\n const tradedGoods = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n if(datas === null){\r\n if(this.suppliers_retail_trade_details.length > 0){\r\n // this.rawMaterialAccess = true;\r\n this.suppliers_retail_trade_details.forEach(val => {\r\n let Ref_Trade_Goods : any = {\r\n 'traded_goods_name': val,\r\n 'traded_goods_observed': '',\r\n 'traded_goods_quantity': '',\r\n 'traded_goods_uom': '',\r\n 'traded_goods_other_uom': '',\r\n 'estimated_traded_goods_value': '',\r\n 'is_sufficiant_traded_goods': '',\r\n 'traded_goods_remarks':''};\r\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods)); \r\n });\r\n }\r\n else{ \r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n } else {\r\n if(datas.retail_traded_goods !== undefined){\r\n datas.retail_traded_goods.forEach((val,index) => {\r\n if(val.estimated_traded_goods_value){\r\n this.inWords(val.estimated_traded_goods_value,3,index);\r\n }\r\n this.checkComments(val.is_sufficiant_traded_goods,3,index);\r\n tradedGoods.push(this.createTradedGoods(val)); \r\n });\r\n }\r\n else{\r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n }\r\n }\r\n\r\n\r\n createGoods(records) {\r\n if(records === null) {\r\n return this.fb.group({\r\n goods_name: [''],\r\n goods_observed: [''],\r\n goods_quantity: [''],\r\n goods_uom: [''],\r\n goods_other_uom: [''],\r\n goods_value: [''],\r\n is_sufficiant_goods: [''],\r\n finishedgoods_remarks:['']\r\n });\r\n }\r\n else {\r\n return this.fb.group({\r\n goods_name: [records.goods_name],\r\n goods_observed: [records.goods_observed],\r\n goods_quantity: [records.goods_quantity],\r\n goods_uom: [records.goods_uom],\r\n goods_other_uom: [records.goods_other_uom],\r\n goods_value: [records.goods_value],\r\n is_sufficiant_goods: [records.is_sufficiant_goods],\r\n finishedgoods_remarks:[records.finishedgoods_remarks]\r\n })\r\n }\r\n }\r\n\r\n initTradingDetails(datas) {\r\n const tradedGoods = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods']; \r\n if(datas === null){\r\n if(this.suppliers_wholesale_trade_details.length > 0){\r\n this.suppliers_wholesale_trade_details.forEach(val => {\r\n let Ref_Trade_Goods : any = {\r\n 'traded_goods_name': val,\r\n 'traded_goods_observed': '',\r\n 'traded_goods_quantity': '',\r\n 'traded_goods_uom': '',\r\n 'traded_goods_other_uom': '',\r\n 'estimated_traded_goods_value': '',\r\n 'is_sufficiant_traded_goods': '',\r\n 'traded_goods_remarks':''};\r\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods)); \r\n });\r\n }\r\n else{ \r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n\r\n } else {\r\n if(datas.trading_traded_goods !==undefined)\r\n {\r\n datas.trading_traded_goods.forEach((val,index) => { \r\n if(val.estimated_traded_goods_value){\r\n this.inWords(val.estimated_traded_goods_value,4,index);\r\n }\r\n this.checkComments(val.is_sufficiant_traded_goods,4,index);\r\n tradedGoods.push(this.createTradedGoods(val)); \r\n });\r\n }\r\n else{\r\n tradedGoods.push(this.createTradedGoods(null)); \r\n }\r\n }\r\n }\r\n\r\n createTradedGoods(records) {\r\n if(records === null) {\r\n return this.fb.group({\r\n traded_goods_name: [''],\r\n traded_goods_observed: [''],\r\n traded_goods_quantity: [''],\r\n traded_goods_uom: [''],\r\n traded_goods_other_uom: [''],\r\n estimated_traded_goods_value: [''],\r\n is_sufficiant_traded_goods: [''],\r\n traded_goods_remarks:['']\r\n });\r\n }\r\n else {\r\n return this.fb.group({\r\n traded_goods_name: [records.traded_goods_name],\r\n traded_goods_observed: [records.traded_goods_observed],\r\n traded_goods_quantity: [records.traded_goods_quantity],\r\n traded_goods_uom: [records.traded_goods_uom],\r\n traded_goods_other_uom: [records.traded_goods_other_uom],\r\n estimated_traded_goods_value: [records.estimated_traded_goods_value],\r\n is_sufficiant_traded_goods: [records.is_sufficiant_traded_goods],\r\n traded_goods_remarks:[records.traded_goods_remarks]\r\n })\r\n }\r\n }\r\n \r\n /** Manufacturing -> To Add More Raw Material Details */\r\n addRawMaterials(flag) {\r\n if(flag==1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n control.push(this.createRawmaterial(null));\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Remove Raw Material Details */\r\n deleteRawMaterials(index,flag) {\r\n if(flag==1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Add More Finished Goods */\r\n addGoods(flag) {\r\n if(flag == 1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n control.push(this.createGoods(null));\r\n }\r\n }\r\n\r\n /** Manufacturing -> To Remove Finished Goods */\r\n deleteGoods(index,flag) {\r\n if(flag == 1){\r\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n /**\r\n * Case 1 Retail Traded -> To Add More trade Goods\r\n * Case 2 wholesale Traded -> To Add More trade Goods\r\n */\r\n addTradedGoods(flag) {\r\n switch(flag){\r\n case 1: {\r\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n control.push(this.createTradedGoods(null));\r\n break;\r\n }\r\n case 2: {\r\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n control.push(this.createTradedGoods(null));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Case 1 Retail Traded -> To remove trade Goods\r\n * Case 2 wholesale Traded -> To remove trade Goods\r\n */\r\n deleteTradedGoods(index,flag) {\r\n switch(flag){\r\n case 1: {\r\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\r\n control.removeAt(index);\r\n break;\r\n }\r\n case 2: {\r\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\r\n control.removeAt(index);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n \r\n //const control = this.stockForm.controls['traded_goods'];\r\n\r\n }\r\n\r\n checkComments(e,flag,index){\r\n if(flag == 1 && e=='no'){\r\n this.mrmCommentFlag[index] = true;\r\n }\r\n else if(flag == 1 && e!='no'){\r\n this.mrmCommentFlag[index] = false;\r\n }\r\n if(flag == 2 && e=='no'){\r\n this.mfgCommentFlag[index] = true;\r\n }\r\n else if(flag == 2 && e!='no'){\r\n this.mfgCommentFlag[index] = false;\r\n }\r\n if(flag == 3 && e=='no'){\r\n this.rtrdCommentFlag[index] = true;\r\n }\r\n else if(flag == 3 && e!='no'){\r\n this.rtrdCommentFlag[index] = false;\r\n }\r\n if(flag == 4 && e=='no'){\r\n this.wtrdCommentFlag[index] = true;\r\n }\r\n else if(flag == 4 && e!='no'){\r\n this.wtrdCommentFlag[index] = false;\r\n }\r\n }\r\n\r\n /** To Save/Edited Popup Data */\r\n saveStockInfo(answerFormValues) {\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if(responsed['status'] == 200) { \r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }else{\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!'); \r\n }\r\n });\r\n }\r\n\r\n inWords(e,flag:number,i){\r\n switch(flag){\r\n case 1 :\r\n this.M_rawValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n case 2 : \r\n this.M_goodsValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n case 3 : \r\n this.R_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n case 4 : \r\n this.T_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); \r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts","import { Component,ViewEncapsulation } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service'\r\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\r\nimport {QuestionCategoryProvider} from '../../../../providers/question-category/question-category'\r\nimport { FormGroup,Validators,FormBuilder, FormArray } from '@angular/forms'\r\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionFinancialInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-financial-info',\r\n templateUrl: 'pd-question-financial-info.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class PdQuestionFinancialInfoPage {\r\n \r\n public financialForm: FormGroup;\r\n\r\n pdDetails:any;\r\n FormId:any;\r\n users:any;\r\n company_id:any;\r\n isDisplay:boolean;\r\n customerCommentsFlag:boolean;\r\n FY_annualSalesInwords: any =[]\r\n FY_netProfitAmtInwords: any=[]\r\n FY_netLossAmtInwords: any=[]\r\n AV_annualSalesInwords: any=[]\r\n AV_netProfitAmtInwords: any=[]\r\n AV_netLossAmtInwords: any=[]\r\n AV_netProfitAmtFrmInwords: any=[]\r\n AV_netProfitAmtToInwords: any=[]\r\n AV_netLossAmtFrmInwords: any=[]\r\n AV_netLossAmtToInwords: any=[]\r\n AV_SalesFrmInwords: any=[]\r\n AV_SalesToInwords: any=[]\r\n AV_SalesInwords: any=[];\r\n AV_marginProfitAmtInwords: any=[];\r\n AV_marginLossAmtInwords: any=[];\r\n formDetails: any;\r\n\r\n av : any =[{id:6, name:'Letter of Credit'},\r\n {id:2, name:'Bank Guarantee'},\r\n {id:3, name:'Cash Credit Limit'},\r\n {id:7, name:'OD Limit'},\r\n {id:4, name:'Factoring'},\r\n {id:5, name:'Forfaiting'},\r\n {id:1, name:'Others'}]\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,\r\n public toast:ToastProvider, public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.FormId = this.formDetails.form_id;\r\n // this.FormId=this.navParams.get('FormId');\r\n this.company_id=this.pdDetails.company_id\r\n this.users=this.aws.getlocale();\r\n \r\n this.initFinancialForm()\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionFinancialInfoPage');\r\n this.getDetails()\r\n }\r\n\r\n selectedStatement(e :any):void{\r\n\r\n if(e == 'yes'){\r\n\r\n this.isDisplay = true;\r\n this.financialForm.controls['is_financial_customer'].setValue('');\r\n \r\n }\r\n else if(e == 'no'){\r\n\r\n this.isDisplay = false;\r\n this.financialForm.controls['is_financial_customer'].setValue('no');\r\n // this.selectedFinancialCustomer('no');\r\n \r\n const statementControl = this.financialForm.controls['date_per_financial'];\r\n \r\n while (statementControl.length !== 0) {\r\n statementControl.removeAt(0);\r\n }\r\n const control = this.financialForm.controls['estimated_value'];\r\n control.push(this.createValue('')); \r\n this.financialForm.controls['financial_starting_year'].setValue('');\r\n this.financialForm.controls['financial_no_of_year'].setValue('');\r\n\r\n // alert((new Date()).getFullYear());\r\n // let year1 = (new Date()).getFullYear();\r\n // let year2 = ((new Date()).getFullYear() + 1); \r\n // let Year = year1 +'-'+ year2;\r\n \r\n }\r\n\r\n}\r\n /** fin customer data from Fin statement*/\r\n selectedFinancialCustomer(e: any): void {\r\n if(e == 'yes'){\r\n const control = this.financialForm.controls['estimated_value'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n }\r\n else if (e == 'no'){\r\n const control = this.financialForm.controls['estimated_value'];\r\n control.push(this.createValue('')); \r\n }\r\n }\r\n\r\n selectedProfitOrLossType(e,detail){\r\n \r\n if(e.value == 1){\r\n detail.controls.financial_net_loss.setValue('');\r\n detail.controls.financial_margin_of_loss.setValue('');\r\n }\r\n else if(e.value == 2){\r\n detail.controls.financial_net_profit.setValue('');\r\n detail.controls.financial_margin_of_profit.setValue('');\r\n }\r\n}\r\n\r\n\r\n /** For Auto-generating FinYear */\r\n dynamicalFinYear($event){\r\n \r\n let e = $event.target.value;\r\n if(e == 1){\r\n this.customerCommentsFlag = false;\r\n }\r\n else{\r\n this.customerCommentsFlag = true;\r\n }\r\n\r\n let startingYear = this.financialForm.controls['financial_starting_year'].value;\r\n\r\n const control = this.financialForm.controls['date_per_financial'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n\r\n if(e > 0 ){\r\n for(let i = 1 ; i<= e ; i++ ){\r\n let Year = (+startingYear+(i-1)) +'-'+ ((+startingYear)+(+i));\r\n control.push(this.createDate(Year));\r\n }\r\n }\r\n}\r\n\r\n\r\n initFinancialForm(){\r\n this.financialForm = this.fb.group({\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId,\r\n company_id: this.company_id,\r\n fk_createdby: this.users,\r\n financial_remarks: [''],\r\n is_financial_statements:[''],\r\n is_financial_customer:[''],\r\n financial_starting_year : ['',Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n financial_no_of_year : [''],\r\n financial_reason: [''],\r\n financial_customer:[''],\r\n receive_the_money_in_days:[''],\r\n pay_the_money_in_days:[''],\r\n unsold_stock_lies_in_days:[''],\r\n is_there_working_capital_available:[''],\r\n working_capital_facilities_availed:[''],\r\n reason_for_working_capital_facilities_availed:[''],\r\n // same_as_financial_statements:[''],\r\n date_per_financial: this.fb.array([]),\r\n estimated_value: this.fb.array([])\r\n });\r\n }\r\n createDate(date){\r\n return this.fb.group({\r\n financial_year: [date, Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\r\n financial_annual_sale: ['', Validators.compose([Validators.pattern(/^[0-9\\(\\)]+$/)])],\r\n finanical_profit_or_loss:[''],\r\n financial_net_profit: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\r\n financial_net_loss: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\r\n financial_margin_of_profit: [''],\r\n financial_margin_of_loss: [''],\r\n financial_variation: [''],\r\n financial_profit_to_sale_variation:[''],\r\n financial_annualsales_variation : [''],\r\n })\r\n }\r\n /** CREATING financial Customer ( financial_year AutoGenerate ) */\r\n createValue(date) {\r\n return this.fb.group({\r\n \r\n // estimate_year: ['', Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\r\n estimate_sales_from: [''],\r\n estimate_sales_to: [''],\r\n estimate_sales_average: [''],\r\n estimate_profit_or_loss:[''],\r\n estimate_net_margin_availablity:[''],\r\n estimate_profit_range_from:[''],\r\n estimate_profit_range_to:[''],\r\n estimate_profit_margin_percent:[''],\r\n estimate_profit_margin:[''],\r\n estimate_net_profit_from:[''],\r\n estimate_net_profit_to:[''],\r\n estimate_net_profit_percent:[''],\r\n estimate_net_profit:[''],\r\n estimate_loss_range_from:[''],\r\n estimate_loss_range_to:[''],\r\n estimate_loss_margin_percent:[''],\r\n estimate_loss_margin:[''],\r\n estimate_net_loss_from:[''],\r\n estimate_net_loss_to:[''],\r\n estimate_net_loss_percent:[''],\r\n estimate_net_loss:[''],\r\n estimate_reason_for_loss:[''],\r\n estimate_receive_the_money_in_days:[''],\r\n estimate_pay_the_money_in_days:[''],\r\n estimate_unsold_stock_lies_in_days:[''],\r\n estimate_working_capital_facilities_availed:[''],\r\n reason_for_working_capital_facilities_availed:[''],\r\n is_there_working_capital_available:['']\r\n\r\n });\r\n}\r\nsubmitDetails(){\r\n \r\n \r\n if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 1){\r\n \r\n this.financialForm.value.date_per_financial['financial_net_profit'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_net_loss'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\r\n \r\n }else if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 2) {\r\n \r\n this.financialForm.value.date_per_financial['financial_net_profit'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity(); \r\n \r\n this.financialForm.value.date_per_financial['financial_net_loss'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].clearValidators();\r\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity(); \r\n \r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].setValidators([Validators.required]);\r\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\r\n \r\n}\r\n let records=this.financialForm.value;\r\n this.qustCat.saveForm(records).subscribe(res=>{\r\n if(res['status']== 200){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Warning !! Something went Wrong\");\r\n }\r\n },err=>{\r\n this.toast.pdTriggerappmessage(\"Server is not Responding\");\r\n })\r\n}\r\n getDetails(){\r\n const financeDate=this.financialForm.controls['date_per_financial']\r\n //financeDate.push(this.createDate(''))\r\n const estimate= this.financialForm.controls['estimated_value']\r\n //estimate.push(this.createValue(''))\r\n let params:any={}\r\n params.pd_id=this.pdDetails.pd_id\r\n params.pd_form_id=this.FormId\r\n params.company_id=this.company_id\r\n this.qustCat.retiverForm(params).subscribe(value=>{\r\n if(value['dataStatus']==true){\r\n let retrieveData=value['records'];\r\n if(value['records'].is_financial_statements == 'yes'){\r\n let result=Object.keys(value['records'].date_per_financial).map(function(key) {\r\n return value['records'].date_per_financial[key]\r\n })\r\n if(result.length>0){\r\n this.customerCommentsFlag=result.length == 1 ? false : true\r\n result.forEach((val,index)=>{\r\n this.FY_annualSalesInwords[index]=this.cons.convertNumberToWords(val.financial_annual_sale);\r\n this.FY_netProfitAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_profit);\r\n this.FY_netLossAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_loss)\r\n financeDate.push(this.createDate(''));\r\n });\r\n retrieveData.date_per_financial=result;\r\n }\r\n else{\r\n financeDate.push(this.createDate(''))\r\n }\r\n }\r\n let result_val=Object.keys(value['records'].estimated_value).map(function(key){\r\n return value['records'].estimated_value[key]\r\n });\r\n if(result_val.length>0){\r\n result_val.forEach((val,index)=>{\r\n this.AV_SalesInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_average));\r\n this.AV_SalesFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_from));\r\n this.AV_SalesToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_to));\r\n this.AV_marginProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_profit));\r\n this.AV_marginLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_loss_margin));\r\n this.AV_netLossAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netLossAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\r\n this.AV_netLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_loss));\r\n estimate.push(this.createValue(''))\r\n });\r\n retrieveData.estimated_value=result_val\r\n }\r\n else{\r\n estimate.push(this.createValue(''));\r\n }\r\n retrieveData.pdid=this.pdDetails.pd_id\r\n retrieveData.company_id=this.company_id\r\n retrieveData.fk_createdby=this.users\r\n retrieveData.formid=this.FormId\r\n this.financialForm.setValue(retrieveData)\r\n }\r\n else {\r\n //financial_date.push(this.createDate());\r\n //estimated_val.push(this.createValue(''));\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * New Calculation for Finanical Statement \r\n **/\r\n calculationForFinanicalStatement(){\r\n \r\n let parentArray = this.financialForm.controls['date_per_financial'];\r\n // let prev_annual_sale : any = '';\r\n // let prev_profit_margin : any = '';\r\n // let prev_loss_margin : any = '';\r\n // let prev_profit_amt : any = '';\r\n // let prev_loss_amt : any = '';\r\n // let profit_margin : any = '';\r\n // let loss_margin : any = '';\r\n // let annual_sale : any = '';\r\n // let profit_amt : any = '';\r\n // let loss_amt : any = '';\r\n let prev_annual_sale : any = '';\r\n let prev_profit_margin : any = [];\r\n let prev_loss_margin : any = [];\r\n let prev_profit_amt : any = '';\r\n let prev_loss_amt : any = '';\r\n let profit_margin : any = '';\r\n let loss_margin : any = '';\r\n let annual_sale : any = '';\r\n let profit_amt : any = '';\r\n let loss_amt : any = '';\r\n\r\n parentArray.value.forEach((val,index) => {\r\n\r\n let childArray : any = parentArray.controls[index];\r\n annual_sale = val.financial_annual_sale;\r\n \r\n /** Calculating Sale Variation Based on Prev.Year ( Datas returns in percentage ) \r\n * Label name = \" Sale Variation from Previous Year in % \"\r\n */\r\n \r\n if (index != 0) { \r\n if(annual_sale != ''){\r\n let annual_sale_variation = (( annual_sale - prev_annual_sale)/prev_annual_sale) * 100 ;\r\n let final_annual_sale_variation = (annual_sale_variation!= Infinity) ? !(Number.isNaN(annual_sale_variation)) ? annual_sale_variation.toFixed(2): 0.00 : 0.00;\r\n childArray.controls.financial_annualsales_variation.setValue(final_annual_sale_variation);\r\n }\r\n }\r\n else{\r\n childArray.controls.financial_annualsales_variation.setValue(0.00);\r\n }\r\n \r\n\r\n prev_annual_sale = annual_sale;\r\n /******************************************** Calculation Sale Variation ends Here ******************************************************************************************************/\r\n\r\n\r\n profit_amt = val.financial_net_profit;\r\n loss_amt = val.financial_net_loss;\r\n\r\n /** Calculating Profit's Variation - STARTS HERE\r\n * Label name = \"Profit Variation from Previous Year in %\"\r\n */\r\n if((profit_amt != '' || loss_amt != '') && index != 0) {\r\n if(+profit_amt > +annual_sale){\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n } \r\n else{\r\n loss_amt = val.financial_net_loss != 0 ? val.financial_net_loss * (-1) : val.financial_net_loss;\r\n prev_loss_amt = prev_loss_amt != 0 ? prev_loss_amt * (-1) : prev_loss_amt ;\r\n\r\n let variation = (((profit_amt != '' ? profit_amt : loss_amt ) - (prev_profit_amt != '' ? prev_profit_amt : prev_loss_amt ))/ (prev_profit_amt != '' ? Math.abs(prev_profit_amt) : Math.abs(prev_loss_amt))) * 100; \r\n let final_variation = variation!= Infinity ? !(Number.isNaN(variation)) ? variation.toFixed(2) : 0.00 : 0.00 ;\r\n childArray.controls.financial_variation.setValue(final_variation);\r\n\r\n }\r\n }\r\n prev_profit_amt = val.financial_net_profit != '' ? val.financial_net_profit : 0;\r\n prev_loss_amt = val.financial_net_loss !='' ? val.financial_net_loss : 0 ;\r\n /********************************* Calculating Profit's Variation - ENDS HERE **************************************************************/\r\n\r\n /** Calculating Net Profit (or) Net Loss (and) Sales's Profit Variation \r\n * Label name = \"Net Profit to Sales in % (or) Net Loss to Sales in % \r\n **/\r\n let SelectedlossOrProfit = val.finanical_profit_or_loss;\r\n \r\n if(SelectedlossOrProfit == 1){\r\n\r\n loss_margin = '';\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n \r\n if (annual_sale != '' && val.financial_net_profit != '') {\r\n if(+profit_amt>+annual_sale){\r\n // alert(\"profit is greater than Annual Sale \");\r\n this.toast.pdTriggerappmessage(\"profit is greater than Annual Sale \")\r\n childArray.controls.financial_net_profit.setValue(0);\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n else{\r\n profit_margin = (val.financial_net_profit / val.financial_annual_sale) * 100;\r\n childArray.controls.financial_margin_of_profit.setValue(profit_margin!= Infinity ? !(Number.isNaN(profit_margin)) ? profit_margin.toFixed(2):0:0);\r\n \r\n }\r\n }\r\n }\r\n else if(SelectedlossOrProfit == 2){\r\n profit_margin = '';\r\n childArray.controls.financial_margin_of_profit.setValue('');\r\n \r\n if (annual_sale != '' && val.financial_net_loss != '') {\r\n if(+val.financial_net_loss>+annual_sale){\r\n // alert(\"Loss is greater than Annual Sale \");\r\n this.toast.pdTriggerappmessage(\"Loss is greater than Annual Sale \")\r\n childArray.controls.financial_net_loss.setValue(0);\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n if(+loss_amt>+annual_sale){\r\n childArray.controls.financial_net_loss.setValue(0);\r\n childArray.controls.financial_margin_of_loss.setValue('');\r\n childArray.controls.financial_profit_to_sale_variation.setValue('');\r\n childArray.controls.financial_variation.setValue('');\r\n }\r\n else{\r\n \r\n\r\n loss_margin = (val.financial_net_loss/val.financial_annual_sale) * 100 * (-1);\r\n\r\n\r\n childArray.controls.financial_margin_of_loss.setValue(loss_margin != Infinity ? !(Number.isNaN(loss_margin)) ? loss_margin.toFixed(2) : 0 : 0);\r\n \r\n }\r\n }\r\n }\r\n\r\n prev_profit_margin[index] = val.financial_margin_of_profit != '' ? val.financial_margin_of_profit: 0;\r\n prev_loss_margin[index] = val.financial_margin_of_loss !='' ? val.financial_margin_of_loss : 0 ;\r\n \r\n // if(index != 0 ){\r\n \r\n // let variation_percent = (((profit_margin != '' ? profit_margin : loss_margin ) - (prev_profit_margin != '' ? prev_profit_margin : prev_loss_margin ))/ (prev_profit_margin != '' ? Math.abs(prev_profit_margin) : Math.abs(prev_loss_margin))) * 100; \r\n \r\n // let final_variation_percent = variation_percent != Infinity ? !(Number.isNaN(variation_percent)) ? variation_percent.toFixed(2) :0: 0;\r\n \r\n // childArray.controls.financial_profit_to_sale_variation.setValue(final_variation_percent);\r\n\r\n // }\r\n\r\n /**************************** Calculating Net Profit (or) Net Loss - ENDS HERE **************************************************************/\r\n\r\n /** Calculating Sales's Profit Variation \r\n * Label name = \"Variation of Profit % over sales\"\r\n **/\r\n \r\n if ((profit_margin != '' || loss_margin != '') && index != 0) {\r\n \r\n\r\n loss_margin = loss_margin !== undefined ? loss_margin : 0;\r\n profit_margin = profit_margin !== undefined ? profit_margin:0;\r\n let temp_prev_loss_margin = prev_loss_margin[index-1] !== undefined ? prev_loss_margin[index-1] : 0 ;\r\n let temp_prev_profit_margin = prev_profit_margin[index-1] !== undefined ? prev_profit_margin[index-1] : 0 ;\r\n\r\n \r\n if(annual_sale != ''){\r\n\r\n \r\n let a = (profit_margin != '' ? profit_margin : loss_margin ) - (temp_prev_profit_margin != 0 ? temp_prev_profit_margin : temp_prev_loss_margin);\r\n let b = a / (temp_prev_profit_margin != 0 ? Math.abs(temp_prev_profit_margin) : Math.abs(temp_prev_loss_margin));\r\n let c = b * 100;\r\n \r\n let final_percent = c != Infinity ? !(Number.isNaN(c)) ? c != -Infinity ? c.toFixed(2) : 0 : 0 : 0 ;\r\n \r\n childArray.controls.financial_profit_to_sale_variation.setValue(final_percent);\r\n }\r\n }\r\n /**************************** Calculating Sales's Profit Variation - ENDS HERE **************************************************************/\r\n\r\n\r\n });\r\n }\r\n\r\n confirmAlert(i, details){\r\n\r\n let estimate_sales_from = +details.value.estimate_sales_from;\r\n let estimate_sales_to = +details.value.estimate_sales_to;\r\n\r\n if (estimate_sales_from != null && estimate_sales_to != null){\r\n \r\n if(+estimate_sales_from>+estimate_sales_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_sales_to.setValue('');\r\n details.controls.estimate_sales_average.setValue('');\r\n return;\r\n }\r\n\r\n let C = (estimate_sales_to - estimate_sales_from)\r\n let D = (C / estimate_sales_from) * 100;\r\n \r\n if(estimate_sales_from <= 5000000){\r\n if(D > 20){\r\n var r = confirm(\"Given Sales Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else if(estimate_sales_from > 5000000 && estimate_sales_from <= 10000000){\r\n if(D > 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else if(estimate_sales_from > 10000000){\r\n if(D > 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \r\n }else{\r\n details.controls.estimate_sales_to.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n }\r\n else{\r\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\r\n }\r\n\r\n // if(D >= 30){\r\n // var r = confirm(\"Given Sales Range is greater than 30%\");\r\n // if (r == true) {\r\n // details.controls.estimate_sales_to.setValue(estimate_sales_to); \r\n // }else{\r\n // details.controls.estimate_sales_to.setValue('');\r\n // return;\r\n // }\r\n // }\r\n // else{\r\n // details.controls.estimate_sales_to.setValue(estimate_sales_to);\r\n // }\r\n }\r\n this.calculateSalesAverage(i, details);\r\n }\r\n\r\n calculateSalesAverage(i, details){\r\n \r\n let estimate_sales_from = details.value.estimate_sales_from;\r\n let estimate_sales_to = details.value.estimate_sales_to;\r\n\r\n if(estimate_sales_from != '' && estimate_sales_to != ''){\r\n\r\n let range1 = +estimate_sales_from/10;\r\n \r\n let lower = (+estimate_sales_from)+range1;\r\n let higer = ((+estimate_sales_to + +estimate_sales_from) / 2);\r\n\r\n if(lower > higer){\r\n details.controls.estimate_sales_average.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_sales_average.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n }\r\n \r\n }\r\n else{\r\n details.controls.estimate_sales_average.setValue('');\r\n }\r\n\r\n }\r\n calculateMarginProfit( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_profit_range_from.setValue('');\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n let estimate_profit_range_from = details.value.estimate_profit_range_from;\r\n if(+estimate_profit_range_from > 100){\r\n // alert('Given Profit percent is More Than 100');\r\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\r\n details.controls.estimate_profit_range_from.setValue('');\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n let estimate_profit_range_to = details.value.estimate_profit_range_to;\r\n \r\n if(+estimate_profit_range_to > 100){\r\n // alert('Given Profit percent is More Than 100');\r\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n\r\n if (sales_average != '' && estimate_profit_range_from != '' && estimate_profit_range_to != ''){\r\n if(+estimate_profit_range_from>+estimate_profit_range_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n let profit_percent = (estimate_profit_range_to + estimate_profit_range_from)/2; \r\n let Profit_Average = (profit_percent*sales_average)/100;\r\n let difference = (estimate_profit_range_to - estimate_profit_range_from);\r\n\r\n if(difference > 3){\r\n var r = confirm(\"Given Profit Percent Range is greater than 3\");\r\n if (r == true) {\r\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\r\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\r\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \r\n }else{\r\n details.controls.estimate_profit_range_to.setValue('');\r\n details.controls.estimate_profit_margin.setValue('');\r\n details.controls.estimate_profit_margin_percent.setValue('');\r\n return;\r\n }\r\n }\r\n \r\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\r\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\r\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \r\n // details.controls.estimate_profit_margin.setValue(Math.round(Profit_Average));\r\n // details.controls.estimate_profit_margin_percent.setValue(profit_percent.toFixed(2));\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n\r\n\r\n calculateProfitAmount( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n //alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_net_profit_from.setValue('');\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n\r\n let estimate_net_profit_from = details.value.estimate_net_profit_from;\r\n let estimate_net_profit_to = details.value.estimate_net_profit_to;\r\n\r\n if(+estimate_net_profit_to>+sales_average){\r\n \r\n //alert(\"Given Profit is Greater than Sales\");\r\n this.toast.pdTriggerappmessage(\"Given Profit is Greater than Sales\")\r\n details.controls.estimate_net_profit_from.setValue('');\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n\r\n\r\n if (sales_average != '' && estimate_net_profit_from != '' && estimate_net_profit_to != ''){\r\n if(+estimate_net_profit_from>+estimate_net_profit_to){\r\n // alert(\"Given To value is lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n \r\n let C = (estimate_net_profit_to - estimate_net_profit_from)\r\n let D = (C / estimate_net_profit_from) * 100;\r\n \r\n let range1 = +estimate_net_profit_from/10;\r\n \r\n let lower = (+estimate_net_profit_from)+range1;\r\n let higer = ((+estimate_net_profit_to + +estimate_net_profit_from) / 2);\r\n\r\n if(estimate_net_profit_from <= 5000000){\r\n if(D >= 20){\r\n var r = confirm(\"Given Profit Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else if(estimate_net_profit_from > 5000000 || estimate_net_profit_from <= 10000000){\r\n if(D >= 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n \r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n\r\n }\r\n else if(estimate_net_profit_from > 10000000){\r\n if(D >= 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }else{\r\n details.controls.estimate_net_profit_to.setValue('');\r\n details.controls.estimate_net_profit.setValue('');\r\n details.controls.estimate_net_profit_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else{\r\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \r\n if(lower > higer){\r\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let Profit_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let Profit_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n \r\n }\r\n \r\n}\r\n\r\ncalculateMarginLoss( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n // else{\r\n let estimate_loss_range_from = details.value.estimate_loss_range_from;\r\n if(+estimate_loss_range_from > 100){\r\n // alert('Given Loss Percent is more than 100');\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n let estimate_loss_range_to = details.value.estimate_loss_range_to;\r\n if(+estimate_loss_range_to > 100){\r\n // alert('Given Loss Percent is more than 100');\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100 \")\r\n details.controls.estimate_loss_range_from.setValue('');\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n\r\n }\r\n \r\n\r\n if (sales_average != '' && estimate_loss_range_from != '' && estimate_loss_range_to != ''){\r\n \r\n if(+estimate_loss_range_from>+estimate_loss_range_to){\r\n //alert(\"Given Loss Percent is more than 100\");\r\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n \r\n let loss_percent = (estimate_loss_range_to + estimate_loss_range_from)/2;\r\n let loss_Average = (loss_percent*sales_average)/100;\r\n let difference = (estimate_loss_range_to - estimate_loss_range_from)\r\n\r\n // details.controls.estimate_loss_margin.setValue(Math.round(loss_Average));\r\n // details.controls.estimate_loss_margin_percent.setValue(loss_percent.toFixed(2));\r\n \r\n // this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n\r\n if(difference > 3){\r\n var r = confirm(\"Given Loss Percent Range is greater than 3\");\r\n if (r == true) {\r\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\r\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n \r\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n }else{\r\n details.controls.estimate_loss_range_to.setValue('');\r\n details.controls.estimate_loss_margin.setValue('');\r\n details.controls.estimate_loss_margin_percent.setValue('');\r\n return;\r\n }\r\n } \r\n \r\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\r\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \r\n }\r\n\r\n}\r\n\r\n\r\ncalculateLossAmount( i, details){\r\n\r\n let sales_average = details.value.estimate_sales_average;\r\n if(sales_average == ''){\r\n // alert(\"Considered Sales Average is Empty\");\r\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\r\n details.controls.estimate_net_loss_from.setValue('');\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n let estimate_net_loss_from = details.value.estimate_net_loss_from;\r\n let estimate_net_loss_to = details.value.estimate_net_loss_to;\r\n\r\n if(+estimate_net_loss_to > +sales_average){\r\n \r\n // alert(\"Given Loss is Greater than Sales\");\r\n this.toast.pdTriggerappmessage(\"Given Loss is Greater than Sales\")\r\n details.controls.estimate_net_loss_from.setValue('');\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n if (sales_average != '' && estimate_net_loss_from != '' && estimate_net_loss_to != ''){\r\n if(+estimate_net_loss_from > +estimate_net_loss_to){\r\n //alert(\"Given To value is Lower than From Value\");\r\n this.toast.pdTriggerappmessage(\"Given To value is Lower than From Value\")\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n\r\n \r\n \r\n // if(+estimate_net_loss_to > +estimate_net_loss_from){\r\n // alert(\"loss is greater than sales\");\r\n // details.controls.estimate_net_loss_to.setValue('');\r\n // details.controls.estimate_net_loss.setValue('');\r\n // details.controls.estimate_net_loss_percent.setValue('');\r\n // return;\r\n // }\r\n \r\n \r\n let C = (estimate_net_loss_to - estimate_net_loss_from)\r\n let D = (C / estimate_net_loss_from) * 100;\r\n \r\n let range1 = +estimate_net_loss_from/10;\r\n \r\n let lower = (+estimate_net_loss_from)+range1;\r\n let higer = ((+estimate_net_loss_to + +estimate_net_loss_from) / 2);\r\n\r\n if(estimate_net_loss_from <= 5000000){\r\n if(D >= 20){\r\n var r = confirm(\"Given Profit Range is greater than 20%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\r\n \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n\r\n }\r\n else if(estimate_net_loss_from > 5000000 || estimate_net_loss_from <= 10000000){\r\n if(D >= 15){\r\n var r = confirm(\"Given Sales Range is greater than 15%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }\r\n\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_profit_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n }\r\n else if(estimate_net_loss_from > 10000000){\r\n if(D >= 10){\r\n var r = confirm(\"Given Sales Range is greater than 10%\");\r\n if (r == true) {\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n }else{\r\n details.controls.estimate_net_loss_to.setValue('');\r\n details.controls.estimate_net_loss.setValue('');\r\n details.controls.estimate_net_loss_percent.setValue('');\r\n return;\r\n }\r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n \r\n }\r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n } \r\n \r\n }\r\n else{\r\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \r\n if(lower > higer){\r\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\r\n let loss_percent = (higer/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \r\n }\r\n else{\r\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\r\n let loss_percent = (lower/sales_average)*100;\r\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \r\n }\r\n }\r\n \r\n }\r\n \r\n}\r\n\r\n \r\n\r\n\r\n \r\n\r\n /** On Key Press Event For Input Field */\r\n keyPress(event: any) {\r\n //const pattern = /[0-9\\-\\.\\ ]/;\r\n const pattern = /[0-9\\.]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n /** To Convert Amount into Words */\r\n inWords(e,i,flag:number){\r\n\r\n switch(flag){\r\n case 1 :\r\n this.FY_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n // this.placeholderName[i] = 'Weekly Instalment Amount'; break;\r\n break;\r\n case 2 : \r\n this.FY_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n //alert('Fin net Profit'+this.FY_netProfitAmtInwords[i]);\r\n break;\r\n case 3 : \r\n this.FY_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n // alert('Fin net Loss'+this.FY_netLossAmtInwords[i]);\r\n break;\r\n case 4 : \r\n this.AV_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 5 : \r\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 6 : \r\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 7 : \r\n this.AV_netProfitAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 8 : \r\n this.AV_netProfitAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 9 : \r\n this.AV_netLossAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 10 : \r\n this.AV_netLossAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 11 : \r\n this.AV_SalesFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n case 12 : \r\n this.AV_SalesToInwords[i] = this.cons.convertNumberToWords(e.target.value); \r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionClientInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-client-info',\r\n templateUrl: 'pd-question-client-info.html',\r\n})\r\nexport class PdQuestionClientInfoPage {\r\n\r\n users: any;\r\n pdDetails: any;\r\n formDetails: any;\r\n pdid: any;\r\n company_id: any;\r\n questionDetails: any;\r\n clientInfoForm: FormGroup;\r\n\r\n\r\n\r\n\r\n public submitted = false;\r\n\r\n public m_paymentType = [];\r\n\r\n companyRelationShipList: any = [];\r\n\r\n titleList: any = [];\r\n noRecordsFound: Boolean = false;\r\n errorMessage: any = '';\r\n m_manufacturingProducts: any = [];\r\n m_tradingProducts: any = [];\r\n m_suplierProducts: any = [];\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.formDetails = this.navParams.get('formDetails');\r\n this.users = this.aws.getlocale();\r\n this.pdid = this.pdDetails.pd_id;\r\n this.company_id = this.pdDetails.company_id;\r\n\r\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdid, this.company_id).subscribe(data => {\r\n\r\n if (data.dataStatus) {\r\n\r\n let datas = data.records;\r\n this.m_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\r\n // this.m_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\r\n this.m_suplierProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 5) { return data } }).map(data => [...data.prodcuts]);\r\n let api = Object.keys(datas.type_of_activity).map(function (key) {\r\n return datas.type_of_activity[key];\r\n });\r\n if (api.length > 0) {\r\n api.forEach(val => {\r\n if (val.type_of_activity_id == 3) {\r\n if (val.prodcuts) {\r\n this.m_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n\r\n if (val.type_of_activity_id == 4) {\r\n if (val.prodcuts) {\r\n this.m_tradingProducts.push(val.prodcuts);\r\n }\r\n }\r\n });\r\n }\r\n this.m_tradingProducts = [].concat.apply([], this.m_tradingProducts);\r\n\r\n this.initFormLoadDetails(datas.type_of_activity);\r\n\r\n } else {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = data.msg;\r\n }\r\n }, err => {\r\n this.toast.pdTriggerappmessage('No Category Records Found.!');\r\n this.noRecordsFound = false;\r\n this.errorMessage = 'No Records Found , Something went Wrong!';\r\n });\r\n\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionClientInfoPage');\r\n }\r\n\r\n initFormLoadDetails(record) {\r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = this.formDetails.form_id;\r\n params.company_id = this.company_id;\r\n this.qustCat.retiverForm(params).subscribe(\r\n data => {\r\n if (data['dataStatus']) {\r\n let dataForm = data['records'];\r\n if (dataForm !== undefined) {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n // Load form details for manufacturing\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n // if(dataForm.manufacturing_details[0].main_raw_materials){\r\n if (arr.length > 0) {\r\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\r\n // return dataForm.main_raw_materials[key];\r\n // });\r\n if(dataForm.manufacturing_details){\r\n console.log(dataForm)\r\n \r\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\r\n\r\n this.initManufacturingProductsDetails(api_main_raw_materials);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(dataForm.manufacturing_details[0].main_raw_materials_total_payments_percent_on_credit || null);\r\n }\r\n else{\r\n console.log(\"NO Data\",dataForm)\r\n this.initManufacturingProductsDetails(null)\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue( null);\r\n }\r\n }\r\n // }\r\n\r\n // Load form details for the wholeshale trading details\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\r\n // return dataForm.trading_products[key];\r\n // });\r\n if(dataForm.trade_details){\r\n let api_trading_products = dataForm.trade_details[0].trading_products;\r\n\r\n this.initTradingProductsDetails(api_trading_products);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trade_details[0].trading_products_total_payments_percent_on_credit || null);\r\n }\r\n else{\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue( null);\r\n }\r\n }\r\n\r\n // Load form details for the service provider prduct details \r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n // let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\r\n // return dataForm.service_products[key];\r\n // });\r\n if(dataForm.service_provider_details){\r\n let api_service_provider_products = dataForm.service_provider_details[0].service_products;\r\n this.initServiceProviderProductsDetails(api_service_provider_products);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(dataForm.service_provider_details[0].service_products_total_payments_percent_on_credit || null);\r\n }\r\n else{\r\n this.initServiceProviderProductsDetails(null)\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n } else {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\r\n return dataForm.service_products[key];\r\n });\r\n this.initServiceProviderProductsDetails(api_service_provider_products);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n }\r\n } else {\r\n this.clientInfoForm = this.fb.group({\r\n pdid: [this.pdid],\r\n formid: [this.formDetails.form_id],\r\n company_id: [this.company_id],\r\n fk_createdby: [this.users],\r\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\r\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\r\n supplier_info_form_remark: []\r\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\r\n });\r\n let arr = record.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.initManufacturingProductsDetails(null);\r\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr1.length > 0) {\r\n this.initTradingProductsDetails(null);\r\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\r\n if (arr2.length > 0) {\r\n this.initServiceProviderProductsDetails(null);\r\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\r\n }\r\n // Load form details for the retail trading details\r\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\r\n // if (arr3.length > 0) {\r\n // this.retaildTradingForm = true;\r\n // }\r\n this.noRecordsFound = true;\r\n }\r\n }, err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n manufacturingForm: Boolean = false;\r\n manufacturingFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 2);\r\n if (arr.length > 0) {\r\n this.manufacturingForm = true;\r\n return this.fb.group({\r\n main_raw_materials: this.fb.array([]),\r\n main_raw_materials_total_payments_percent_on_credit: []\r\n })\r\n // }\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n tradingForm: Boolean = false;\r\n tradingFormCreation(val) {\r\n // let arr = val.filter(data => data.type_of_activity_id == 4);\r\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\r\n if (arr.length > 0) {\r\n this.tradingForm = true;\r\n return this.fb.group({\r\n trading_products: this.fb.array([]),\r\n trading_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n serviceProviderForm: Boolean = false;\r\n serviceProviderFormCreation(val) {\r\n let arr = val.filter(data => data.type_of_activity_id == 5);\r\n if (arr.length > 0) {\r\n this.serviceProviderForm = true;\r\n return this.fb.group({\r\n service_products: this.fb.array([]),\r\n service_products_total_payments_percent_on_credit: []\r\n });\r\n } else {\r\n return;\r\n }\r\n }\r\n\r\n initManufacturingProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n if (datas === null) {\r\n control.push(this.initManufacturingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.manufacturing_payment_type, 1, inx);\r\n control.push(this.initManufacturingProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initManufacturingProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initManufacturingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n manufacturing_product_name: [''],\r\n manufacturing_client_name: [''],\r\n manufacturing_contact_person_name: [''],\r\n manufacturing_contact_person_mobile_number: [''],//,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [''],\r\n manufacturing_payment_mode: [''],\r\n // manufacturing_credit_days: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n manufacturing_credit_days_from: [''],\r\n manufacturing_credit_days_to: ['']\r\n })\r\n } else {\r\n return this.fb.group({\r\n manufacturing_product_name: [records.manufacturing_product_name || null],\r\n manufacturing_client_name: [records.manufacturing_client_name || null],\r\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\r\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\r\n manufacturing_payment_mode: [records.manufacturing_payment_mode || null],\r\n manufacturing_credit_days: [records.manufacturing_credit_days || null],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\r\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null]\r\n })\r\n }\r\n }\r\n\r\n initTradingProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n if (datas === null) {\r\n control.push(this.initTradingProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.trade_product_payment_type, 2, inx);\r\n control.push(this.initTradingProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initTradingProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initTradingProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n trade_product_name: [''],\r\n trade_client_name: [''],\r\n trade_product_contact_person_name: [''],\r\n trade_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n trade_product_payment_type: [''],\r\n trade_product_payment_mode: [''],\r\n trade_product_frequency_of_purchase: [''],\r\n trade_product_credit_days_from: [''],\r\n trade_product_credit_days_to: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n trade_product_name: [records.trade_product_name],\r\n trade_client_name: [records.trade_client_name],\r\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\r\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n trade_product_payment_type: [records.trade_product_payment_type],\r\n trade_product_payment_mode: [records.trade_product_payment_mode],\r\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\r\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\r\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n })\r\n }\r\n }\r\n\r\n initServiceProviderProductsDetails(datas) {\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n if (datas === null) {\r\n control.push(this.initServiceProviderProducts(null));\r\n } else {\r\n datas.forEach((val, inx) => {\r\n this.checkCard(val.service_provider_product_payment_type, 3, inx);\r\n control.push(this.initServiceProviderProducts(val));\r\n });\r\n // for (let val of datas) {\r\n // control.push(this.initServiceProviderProducts(val));\r\n // }\r\n }\r\n }\r\n\r\n initServiceProviderProducts(records) {\r\n if (records === null) {\r\n return this.fb.group({\r\n service_provider_product_name: [''],\r\n service_provider_client_name: [''],\r\n service_provider_product_contact_person_name: [''],\r\n service_provider_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n service_provider_product_payment_type: [''],\r\n service_provider_product_payment_mode: [''],\r\n service_provider_product_frequency_of_purchase: [''],\r\n service_provider_product_credit_days_from: [''],\r\n service_provider_product_credit_days_to: [''],\r\n person_title_name: [''],\r\n person_designation: [''],\r\n person_stdcode: [''], //Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [''],\r\n })\r\n } else {\r\n return this.fb.group({\r\n service_provider_product_name: [records.service_provider_product_name],\r\n service_provider_client_name: [records.service_provider_client_name],\r\n service_provider_product_contact_person_name: [records.service_provider_product_contact_person_name],\r\n service_provider_product_contact_person_mobile_number: [records.service_provider_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n service_provider_product_payment_type: [records.service_provider_product_payment_type],\r\n service_provider_product_payment_mode: [records.service_provider_product_payment_mode],\r\n service_provider_product_frequency_of_purchase: [records.service_provider_product_frequency_of_purchase],\r\n service_provider_product_credit_days_from: [records.service_provider_product_credit_days_from],\r\n service_provider_product_credit_days_to: [records.service_provider_product_credit_days_to],\r\n person_title_name: [records.person_title_name || null],\r\n person_designation: [records.person_designation || null],\r\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\r\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\r\n other_person_designation: [records.other_person_designation || null],\r\n })\r\n }\r\n }\r\n\r\n addMoreRawMaterials(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n\r\n control.push(this.initManufacturingProducts(null));\r\n }\r\n\r\n removeRawMaterials(inx): void {\r\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoretradeProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n\r\n control.push(this.initTradingProducts(null));\r\n }\r\n\r\n removeTradingProduct(inx): void {\r\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n addMoreServiceProduct(e): void {\r\n // e.stropPropagation();\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n\r\n control.push(this.initServiceProviderProducts(null));\r\n }\r\n\r\n removeServiceProduct(inx): void {\r\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\r\n control.removeAt(inx);\r\n }\r\n\r\n getdropList() {\r\n\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\r\n data => {\r\n this.companyRelationShipList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('TITLES').subscribe(\r\n data => {\r\n this.titleList = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\r\n data => {\r\n this.m_paymentType = data['records'].filter(data => data.isactive == 1);\r\n });\r\n }\r\n // saveclientDetails(answerData)\r\n // {\r\n // let records:any ={};\r\n\r\n // records.pdid = this.pdDetails.pd_id;\r\n // records.formid = this.FormId.form_id;\r\n // records.fk_createdby = this.users;\r\n\r\n // records.client_details = answerData.clientArray;\r\n\r\n // this.qustCat.saveForm(records).subscribe(res=>\r\n // {\r\n // if(res['dataStatus']==true)\r\n // {\r\n // this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.navCtrl.pop();\r\n // }\r\n // });\r\n\r\n\r\n // }\r\n /** To Save/Edited Popup Data */\r\n saveClientInfo(answerFormValues) {\r\n \r\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\r\n if (answerFormValues.manufacturing_details[0] == null) {\r\n delete answerFormValues['manufacturing_details'];\r\n }\r\n if (answerFormValues.trade_details[0] == null) {\r\n delete answerFormValues['trade_details'];\r\n }\r\n if (answerFormValues.service_provider_details[0] == null) {\r\n delete answerFormValues['service_provider_details'];\r\n }\r\n\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerFormValues).forEach((key) => { if (answerFormValues[key] === null || answerFormValues[key] === undefined || answerFormValues[key] === '') { delete answerFormValues[key] }; });\r\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\r\n if (responsed['status'] == 200) {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n } else {\r\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\r\n }\r\n });\r\n\r\n }\r\n\r\n selectedPersonDesignation(items, e, flag) {\r\n if (flag == 1) {\r\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\r\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 2) {\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n else if (flag == 3) {\r\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\r\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\r\n // items.controls['other_person_designation'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n mfgCreditCardFlag: boolean = false;\r\n trdCreditCardFlag: boolean = false;\r\n spCreditCardFlag: boolean = false;\r\n mfgCounter: any = [];\r\n trdCounter: any = [];\r\n spCounter: any = [];\r\n checkCard(e, flag, index) {\r\n\r\n if (flag == 3 && e == 3) {\r\n this.spCounter[index] = 1;\r\n }\r\n else if (flag == 3 && e != 3) {\r\n this.spCounter[index] = 0;\r\n }\r\n let SP = this.spCounter.reduce((sum, val) => sum + +val, 0);\r\n this.spCreditCardFlag = SP > 0 ? true : false;\r\n\r\n if (flag == 2 && e == 3) {\r\n this.trdCounter[index] = 1;\r\n }\r\n else if (flag == 2 && e != 3) {\r\n this.trdCounter[index] = 0;\r\n }\r\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\r\n this.trdCreditCardFlag = TRD > 0 ? true : false;\r\n\r\n if (flag == 1 && e == 3) {\r\n this.mfgCounter[index] = 1;\r\n }\r\n else if (flag == 1 && e != 3) {\r\n this.mfgCounter[index] = 0;\r\n }\r\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\r\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\r\n\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n/*\r\n Generated class for the ConstantsProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class ConstantsProvider {\r\npublic commonimage = \"http://ssa.sineedge.com/sparqapi/logo/avatar.jpg\";\r\n constructor(public http: HttpClient) {\r\n console.log('Hello ConstantsProvider Provider');\r\n }\r\n\r\n apiurl()\r\n {\r\n let testapiurl = 'http://ssa.sineedge.com/sparqtest/api/';\r\n let devapiurl = 'http://ssa.sineedge.com/sparqapi/api/';\r\n let localapiurl = 'http://192.168.0.9/sparqapi/api/';\r\n return devapiurl;\r\n }\r\n\r\n getcurrentDate()\r\n {\r\n var today = new Date();\r\n var time = today.getHours() + \":\" + today.getMinutes() + \":\" + today.getSeconds();\r\n var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();\r\n var time = today.getHours() + \":\" + today.getMinutes();\r\n let CurrentDate = date+\"T00:00\";\r\n return CurrentDate.toString();\r\n }\r\n \r\n convertNumberToWords(amount) {\r\n var words = new Array();\r\n words[0] = '';\r\n words[1] = 'One';\r\n words[2] = 'Two';\r\n words[3] = 'Three';\r\n words[4] = 'Four';\r\n words[5] = 'Five';\r\n words[6] = 'Six';\r\n words[7] = 'Seven';\r\n words[8] = 'Eight';\r\n words[9] = 'Nine';\r\n words[10] = 'Ten';\r\n words[11] = 'Eleven';\r\n words[12] = 'Twelve';\r\n words[13] = 'Thirteen';\r\n words[14] = 'Fourteen';\r\n words[15] = 'Fifteen';\r\n words[16] = 'Sixteen';\r\n words[17] = 'Seventeen';\r\n words[18] = 'Eighteen';\r\n words[19] = 'Nineteen';\r\n words[20] = 'Twenty';\r\n words[30] = 'Thirty';\r\n words[40] = 'Forty';\r\n words[50] = 'Fifty';\r\n words[60] = 'Sixty';\r\n words[70] = 'Seventy';\r\n words[80] = 'Eighty';\r\n words[90] = 'Ninety';\r\n amount = amount.toString();\r\n var atemp = amount.split(\".\");\r\n var number = atemp[0].split(\",\").join(\"\");\r\n var n_length = number.length;\r\n let value:any = \"\";\r\n var words_string = \"\";\r\n if (n_length <= 9) {\r\n var n_array:any = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);\r\n var received_n_array = new Array();\r\n for (var i = 0; i < n_length; i++) {\r\n received_n_array[i] = number.substr(i, 1);\r\n }\r\n for (var i = 9 - n_length, j = 0; i < 9; i++, j++) {\r\n n_array[i] = received_n_array[j];\r\n }\r\n for (var i = 0, j = 1; i < 9; i++, j++) {\r\n if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n if (n_array[i] == 1) {\r\n n_array[j] = 10 + parseInt(n_array[j]);\r\n n_array[i] = 0;\r\n }\r\n }\r\n }\r\n value = \"\";\r\n for (var i = 0; i < 9; i++) {\r\n if (i == 0 || i == 2 || i == 4 || i == 7) {\r\n value = n_array[i] * 10;\r\n } else {\r\n value = n_array[i];\r\n }\r\n if (value != 0) {\r\n words_string += words[value] + \" \";\r\n }\r\n if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Crores \";\r\n }\r\n if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Lakhs \";\r\n }\r\n if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {\r\n words_string += \"Thousand \";\r\n }\r\n if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {\r\n words_string += \"Hundred and \";\r\n } else if (i == 6 && value != 0) {\r\n words_string += \"Hundred \";\r\n }\r\n }\r\n words_string = words_string.split(\" \").join(\" \");\r\n }\r\n return words_string;\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/constants/constants.ts","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 246;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 246\n// module chunks = 0","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 289;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 289\n// module chunks = 0","import { Component,OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\r\nimport { AlertController } from 'ionic-angular';\r\n// import {Validators, FormBuilder, FormGroup } from '@angular/forms';\r\n// import { GridPage } from '../grid/grid';\r\n\r\n\r\nimport { FingerprintAIO ,FingerprintOptions} from '@ionic-native/fingerprint-aio';\r\nimport { Camera } from '@ionic-native/camera';\r\n// import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\n\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n// import { CustomValidators } from 'ng2-validation';\r\n\r\nimport { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { PasswordPage } from '../password/password';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n\r\n\r\n@Component({\r\n selector: 'page-login',\r\n templateUrl: 'login.html',\r\n})\r\nexport class LoginPage {\r\n users: any;\r\nchangepass: FormGroup;\r\nemail: string;\r\npassword: string;\r\nnewpassword: any;\r\nconfirmPassword: any;\r\nchangePassword: any;\r\nstatus: Boolean = false;\r\nconfig: MatDialogConfig = {\r\n disableClose: false,\r\n width: '',\r\n height: '',\r\n position: {\r\n top: '',\r\n bottom: '',\r\n left: '',\r\n right: ''\r\n }\r\n};\r\nconstructor( public aws: AwsServiceProvider, public dialog: MatDialog,\r\npublic shared:CognitoServiceProvider,public navCtrl:NavController,public Menu:MenuController\r\n,public toast:ToastProvider) {\r\n \r\n}\r\nngOnInit(){\r\n //this.loggedInCheck();\r\n \r\n}\r\nionViewDidEnter(){\r\n this.Menu.enable(false);\r\n}\r\nionViewWillLeave(){\r\n this.Menu.enable(true);\r\n}\r\n/**\r\n* @param email\r\n* @param password\r\n* AWS login service\r\n*/\r\nlogin() {\r\n // console.log(this.email);\r\n if(this.email !==undefined && this.password !==undefined && this.email !='' && this.password !='' && this.email !=null && this.password !=null ){\r\n let auth = { 'Username': this.email, 'Password': this.password };\r\n this.aws.dologin(auth).subscribe(awsres => {\r\n let userid = this.aws.getlocale();\r\n \r\n this.aws.getuserprofile(userid).subscribe(usersres=>\r\n {\r\n this.users = usersres; \r\n \r\n if (this.users.dataStatus == true) {\r\n \r\n if(this.users.records[0].role_name == \"PD Officer\" || this.users.records[0].role_name == \"PD Executive\"){\r\n this.navCtrl.setRoot(PdListPage);\r\n \r\n }else\r\n {\r\n \r\n this.toast.pdTriggerappmessage('This App only for PD Officers');\r\n localStorage.clear();\r\n }\r\n\r\n \r\n }\r\n });\r\n }, err => {\r\n console.log(JSON.stringify(err.message));\r\n if (err.message == \"New password is required.\") {\r\n //console.log(\"if\");\r\n this.navCtrl.setRoot(PasswordPage,{'Username':this.email,'Password':this.password});\r\n } else {\r\n console.log(JSON.stringify(err.message));\r\n this.toast.pdTriggerappmessage(JSON.stringify(err.message));\r\n\r\n }\r\n //alert(err.message);\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter Email or Password');\r\n }\r\n}\r\n/**\r\n * New password set\r\n * Defalut aws function \r\n * @param email password,newpassword\r\n */\r\n// newpassopen() {\r\n// let dialogRef = this.dialog.open(NewPasswordDialog, this.config);\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result !== undefined) {\r\n// let auth = { 'Username': this.email, 'Password': this.password, 'newpassword': result };\r\n// console.log(auth);\r\n// this.aws.dologin(auth).subscribe(res => {\r\n// console.log(res);\r\n// // this.router.navigate(['/home']);\r\n// }, err => {\r\n// // alert(err.message);\r\n\r\n// })\r\n// }\r\n// });\r\n// }\r\n\r\nforgotopen() {\r\n this.status = true;\r\n}\r\n\r\n\r\nforgotpassword() {\r\n\r\n let auth = { 'Username': this.email };\r\n console.log(auth);\r\n // this.aws.userforgotpass(auth).subscribe(res => {\r\n // console.log(res);\r\n\r\n // })\r\n}\r\nloggedInCheck(){\r\n //alert(this.shared.isLoggedIn);\r\n if(this.shared.isLoggedIn){\r\n alert(\"if\");\r\n // this.router.navigate(['/home']);\r\n return false;\r\n }else{\r\n alert(\"else\");\r\n \r\n return true;\r\n }\r\n}\r\n\r\n}\r\n\r\n// ======================= END ==============================\r\n/**\r\n* New password Dialog\r\n*/\r\n\r\n// const newpassword = new FormControl('', Validators.required);\r\n// const confirmPassword = new FormControl('');\r\n\r\n// @Component({\r\n// selector: 'app-jazz-dialog',\r\n// template: `\r\n//
New Password Change.
\r\n\r\n// \r\n// \r\n \r\n// \r\n\r\n\r\n//
\r\n// \r\n// \r\n// \r\n\r\n// Passwords do not math.\r\n\r\n//
\r\n \r\n// \r\n \r\n \r\n// `\r\n// })\r\n// export class NewPasswordDialog {\r\n\r\n// newpassword: any = newpassword;\r\n// confirmPassword: any = confirmPassword;\r\n// jazzMessage = 'Jazzy jazz jazz';\r\n\r\n// constructor(public dialogRef: MatDialogRef) {\r\n\r\n// }\r\n\r\n\r\n// }\r\n\r\n\r\n\r\n// @Component({\r\n// selector: 'app-jazz-dialog',\r\n// template: `\r\n//
Forgot Password
\r\n\r\n// \r\n// \r\n \r\n// \r\n\r\n\r\n\r\n//
\r\n \r\n// \r\n \r\n \r\n// `\r\n// })\r\n// export class ForgotPass {\r\n\r\n// newpassword: any = newpassword;\r\n// confirmPassword: any = confirmPassword;\r\n// jazzMessage = 'Jazzy jazz jazz';\r\n\r\n// constructor(public dialogRef: MatDialogRef) {\r\n\r\n// }\r\n\r\n// }\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/login/login.ts","import { Component, ElementRef,ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,AlertController, Content } from 'ionic-angular';\r\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\n// import {MomentDateAdapter} from '@angular/material-moment-adapter';\r\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\r\nimport {MatDatepicker} from '@angular/material/datepicker';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport {LaunchNavigator,LaunchNavigatorOptions } from '@ionic-native/launch-navigator'; \r\nimport { AuthPage } from '../auth/auth';\r\n\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { OtpPage } from '../otp/otp';\r\n\r\nimport { Geolocation, PositionError, Geoposition } from '@ionic-native/geolocation';\r\nimport {DatePipe } from '@angular/common';\r\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { observable, Observable } from 'rxjs';\r\nimport { ERR_PLUGIN_NOT_INSTALLED } from '@ionic-native/core';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\nimport { PdGeneralImagesPage } from '../pd-general-images/pd-general-images';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\nimport {BouncedRejectPage} from '../../pages/input/bounced-reject/bounced-reject'\r\n\r\n\r\n/**\r\n * Generated class for the InputPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19);\r\n\r\n\r\n@Component({\r\n selector: 'page-input',\r\n templateUrl: 'input.html',\r\n})\r\n\r\n\r\nexport class InputPage {\r\n enableStartPD: boolean;\r\n diffInHours: number;\r\n updatestarted: any;\r\n updateinitiated: any;\r\n appdata: any;\r\n users: any;\r\n initiatedAccess: boolean = false;\r\n scheduleAccess: boolean = false;\r\napplicatentDetails:any;\r\nmaxdate :any;\r\npipe = new DatePipe('en-US');\r\nupdateStatus:any;\r\nscheduleDate:any;\r\nupdateSchedule:any;\r\nacceptedAccess:boolean = false;\r\nstartedAccess:boolean = false;\r\ntimeOut:any = 15*1000;\r\ntimeInterval:any;\r\ncurrentPosPDofficer:any;\r\nother_applicant:any;\r\n@ViewChild('focusinp') input_focus ;\r\n@ViewChild('scroll') scrolltop : Content;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\r\n public statusBar:StatusBar,public platform: Platform,public launchNavigator:LaunchNavigator,\r\n public aws:AwsServiceProvider,public pdDetails:PdtriggerProvider,public geolocation:Geolocation,\r\n public alertCtrl:AlertController,public locationAccuracy:LocationAccuracy,public toast:ToastProvider,\r\n public constant:ConstantsProvider,public androidPermissions:AndroidPermissions, ) {\r\n\r\n this.maxdate = this.pipe.transform(new Date(),'yyyy-MM-ddThh:mm').toString();\r\n \r\n /***Header value pass */\r\n this.statusBar.styleDefault();\r\n \r\n this.statusBar.overlaysWebView(false);\r\n this.statusBar.backgroundColorByHexString('#db4437');\r\n let timeStart:string = this.pipe.transform(new Date(),'dd/MM/yyyy hh:mm a');\r\n \r\n \r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n \r\n this.getFullPD();\r\n \r\n \r\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\r\n {\r\n this.acceptedAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\r\n {\r\n this.scheduleAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\r\n {\r\n \r\n this.initiatedAccess = true;\r\n }\r\n //console.log(this.initiatedAccess);\r\n if(this.applicatentDetails.pd_status == 'INITIATED')\r\n {\r\n this.startedAccess = true;\r\n this.getenableAccuracy();\r\n \r\n }\r\n this.users = this.aws.getlocale();\r\n }\r\n\r\n \r\n ionViewDidLoad() {\r\n this.setPermission();\r\n \r\n }\r\n ionViewCanLeave()\r\n {\r\n clearInterval(this.timeInterval);\r\n }\r\n locationnavicate(address)\r\n {\r\n this.launchNavigator.navigate(address);\r\n }\r\n\r\n setPermission()\r\n {\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n }\r\n\r\n getFullPD()\r\n {\r\n let records = {'pdid':this.applicatentDetails.pd_id};\r\n this.pdDetails.getFullPDdetails(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.other_applicant=res['records'].applicants_details\r\n console.log(this.other_applicant);\r\n let courrentDateTime: string = this.pipe.transform(new Date(), 'yyyy-MM-dd HH:mm'); \r\n let scheduledDateTime: string= res['records'].pd_master_details[0].scheduled_on_for_validation;\r\n let diffInMs: number = Date.parse(courrentDateTime) - Date.parse(scheduledDateTime);\r\n let diffInHours: number = Math.floor(diffInMs / 1000 / 60 / 60);\r\n \r\n if(diffInHours <=-4){\r\n this.enableStartPD=true;\r\n }\r\n else\r\n {\r\n this.enableStartPD = false;\r\n }\r\n } \r\n })\r\n \r\n }\r\n pdStatus(status,appdetails)\r\n {\r\n let data :any;\r\n \r\n if(status == 'BOUNCED')\r\n {\r\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.navCtrl.push(BouncedRejectPage,{'details':data})\r\n // this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n // {\r\n // this.updateStatus = res;\r\n // if(this.updateStatus.dataStatus == true)\r\n // {\r\n // this.navCtrl.setRoot(PdListPage); \r\n // }\r\n // })\r\n }else if(status == 'ACCEPTED')\r\n {\r\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateStatus = res;\r\n if(this.updateStatus.dataStatus == true)\r\n {\r\n this.getNewpdupdate();\r\n this.scheduleAccess = true;\r\n \r\n }else\r\n {\r\n this.scheduleAccess = false;\r\n }\r\n })\r\n }\r\n \r\n }\r\n\r\n pdschedule(scheduledate,appdetails)\r\n {\r\n \r\n let data :any;\r\n console.log(scheduledate);\r\n if(scheduledate != undefined){\r\n let schDate = scheduledate.slice(0,19).replace('T',' ');\r\n console.log(schDate);\r\n data = {'pd_id':appdetails.pd_id,'pd_status':'SCHEDULED','scheduled_on':schDate,'fk_updatedby':this.users,'updatedon':currentdate};\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateSchedule = res;\r\n if(this.updateSchedule.dataStatus == true)\r\n {\r\n this.getNewpdupdate();\r\n this.initiatedAccess = true;\r\n }\r\n });\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Please Choose the Schedule Date\");\r\n this.input_focus.setFocus();\r\n //this.input_focus.scrollToTop();\r\n this.scrolltop.scrollTop;\r\n }\r\n}\r\n\r\n getenableAccuracy()\r\n {\r\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\r\n\r\n if(canRequest) {\r\n // the accuracy option will be ignored by iOS\r\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\r\n () => {\r\n this.getcurrentLocation();\r\n },\r\n error => alert('Error requesting location permissions'+JSON.stringify(error))\r\n );\r\n }\r\n \r\n });\r\n }\r\n getcurrentLocation() \r\n {\r\n let data:any;\r\n let options = {\r\n frequency: 3000, \r\n enableHighAccuracy: true,\r\n timeOut:1000,\r\n };\r\n \r\n this.timeInterval = setInterval(()=>{\r\n this.currentPosPDofficer = '';\r\n this.geolocation.getCurrentPosition(options).then((resp) => {\r\n // resp.coords.latitude\r\n // resp.coords.longitude\r\n if((resp as Geoposition).coords !=undefined){\r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n // this.toast.pdTriggerappmessage(this.currentPosPDofficer);\r\n console.log(this.currentPosPDofficer);\r\n data = {'pd_id':this.applicatentDetails.pd_id,'link':this.currentPosPDofficer};\r\n\r\n\r\n this.pdDetails.saveCurrentLocation(data).subscribe(res=>\r\n {\r\n // this.updateinitiated = res;\r\n // if(this.updateinitiated.dataStatus == true)\r\n // { \r\n // // this.getNewpdupdate();\r\n // // this.startedAccess = true;\r\n // }else\r\n // {\r\n // this.startedAccess = false;\r\n // }\r\n })\r\n }\r\n }).catch((error)=>{\r\n this.toast.pdTriggerappmessage(error.message);\r\n })\r\n \r\n },this.timeOut);\r\n }\r\n pdreschedule()\r\n {\r\n this.scheduleAccess = true;\r\n this.initiatedAccess = false;\r\n }\r\n pdinitiated(appdetails)\r\n { let data:any;\r\n\r\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\r\n\r\n if(canRequest) {\r\n // the accuracy option will be ignored by iOS\r\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\r\n () => {\r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n // resp.coords.latitude\r\n // resp.coords.longitude\r\n \r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n data = {'pd_id':appdetails.pd_id,'pd_status':'INITIATED','mobile_no':appdetails.applicat_details[0].mobile_no,'officerName':appdetails.pd_allocated_to,'firstName':appdetails.applicat_details[0].applicant_name,'fk_updatedby':this.users,'updatedon':currentdate,'link':this.currentPosPDofficer};\r\n\r\n\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {\r\n this.updateinitiated = res;\r\n if(this.updateinitiated.dataStatus == true)\r\n { \r\n this.getNewpdupdate();\r\n this.getcurrentLocation();\r\n this.startedAccess = true;\r\n }else\r\n {\r\n this.startedAccess = false;\r\n }\r\n })\r\n }).catch((error) => {\r\n console.log('Error getting location', error);\r\n });\r\n },error => alert('Error requesting location permissions'+JSON.stringify(error))\r\n );\r\n }\r\n \r\n });\r\n }\r\n\r\n startPdDiscussion(appdetails)\r\n {\r\n let data:any;\r\n let alert = this.alertCtrl.create({\r\n title: 'Starting PD Officer',\r\n message: 'Are you starting the Discussions',\r\n buttons: [\r\n {\r\n text: 'No',\r\n role: 'cancel',\r\n handler: () => {\r\n \r\n // console.log('Cancel clicked');\r\n // this.toast.pdTriggerappmessage('')\r\n }\r\n },\r\n {\r\n text: 'YES',\r\n handler: () => {\r\n this.geolocation.getCurrentPosition().then((resp) => {\r\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\r\n \r\n data = {'pd_id':appdetails.pd_id,'pd_status':'STARTED','mobile_no':appdetails.applicat_details[0].mobile_no,'fk_updatedby':this.users,'updatedon':currentdate,'link':this.currentPosPDofficer};\r\n console.log(data);\r\n this.pdDetails.updatepdStatus(data).subscribe(res=>\r\n {this.updatestarted = res;\r\n if(this.updatestarted.dataStatus == true)\r\n {\r\n clearInterval(this.timeInterval);\r\n this.navCtrl.setRoot(OtpPage,{'pdDetails':appdetails});\r\n }\r\n \r\n })\r\n // console.log('Buy clicked');\r\n })\r\n } \r\n }\r\n ]\r\n });\r\n alert.present();\r\n }\r\n getNewpdupdate()\r\n {\r\n this.acceptedAccess = false;\r\n this.initiatedAccess = false;\r\n this.scheduleAccess = false;\r\n this.startedAccess = false;\r\n this.pdDetails.getpddetails(this.users).subscribe(res=>\r\n {\r\n this.appdata = res;\r\n if(this.appdata.dataStatus == true)\r\n {\r\n this.applicatentDetails = this.appdata.records.filter(app=>app.pd_id == this.applicatentDetails.pd_id)[0];\r\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\r\n {\r\n this.acceptedAccess = true;\r\n }\r\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\r\n {\r\n this.scheduleAccess = true;\r\n this.toast.pdTriggerappmessage(\"Accepted Successfully\")\r\n }\r\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\r\n {\r\n this.initiatedAccess = true;\r\n this.getFullPD();\r\n this.toast.pdTriggerappmessage(\"Scheduled Successfully\")\r\n }\r\n\r\n if(this.applicatentDetails.pd_status == 'INITIATED')\r\n {\r\n this.startedAccess = true;\r\n this.toast.pdTriggerappmessage(\"Initiated Successfully\")\r\n }\r\n }\r\n })\r\n }\r\n\r\n camerasetup()\r\n {\r\n this.navCtrl.push(PdGeneralImagesPage,{'pdDetails':this.applicatentDetails});\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/input.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,Slides , Content, Platform } from 'ionic-angular';\r\nimport { FormBuilder,FormGroup,FormArray, Validators} from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\n\r\nimport { CameraProvider } from '../../providers/common-provider/camera';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n/**\r\n * Generated class for the PdQuestionPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question',\r\n templateUrl: 'pd-question.html',\r\n})\r\nexport class PdQuestionPage {\r\n \r\n docqustid: any;\r\n docName: any = [];\r\n docArray: any = [];\r\n imageArray:any = [];\r\n questionCate: any;\r\n qustCate: any;\r\n pdinfo: any;\r\n items: FormArray;\r\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\r\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\r\n\r\n SwipedTabsIndicator :any= null;\r\n tabTitleWidthArray :any= [];\r\n tabElementWidth_px :number= 50;\r\n screenWidth_px :number= 0;\r\n isRight :boolean= false;\r\n isLeft:boolean= false;\r\n tabs:any=[];\r\n \r\n questionDetails: any;\r\n questionAnswer:FormGroup;\r\n questionanotherData:FormGroup;\r\n userid:any;\r\n questionId:any;\r\n qustType:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform,public fb:FormBuilder,public qstDetails:QuestionCategoryProvider,public aws:AwsServiceProvider,public camera:CameraProvider,public toast:ToastProvider) {\r\n \r\n this.screenWidth_px=platform.width();\r\n\r\n \r\n this.questionAnswer = this.fb.group(\r\n {\r\n answerDetails:[null],\r\n items:this.fb.array([]),\r\n })\r\n this.questionanotherData = this.fb.group(\r\n {\r\n questionRemarks:[null]\r\n })\r\n this.getpdQuestionDetails();\r\n this.userid = this.aws.getlocale();\r\n}\r\n\r\n ionViewDidLoad() {\r\n }\r\n ionViewDidEnter() {\r\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\r\n for (let i in this.tabs)\r\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\r\n\r\n this.selectTab(0);\r\n }\r\n\r\n ionViewWillLeave() {\r\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.pdinfo});\r\n }\r\n\r\n scrollIndicatiorTab()\r\n {\r\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\r\n // let answerDetails = this.questionAnswer.value;\r\n // let remarks = this.questionanotherData.value;\r\n if(this.isLeft)\r\n {\r\n //this.prev(answerDetails,remarks,this.questionDetails);\r\n }\r\n if(this.isRight)\r\n {\r\n //this.saveQuestionDetails(answerDetails,remarks,this.questionDetails);\r\n }\r\n }\r\n\r\n selectTab(index)\r\n {\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n this.SwipedTabsSlider.slideTo(index);\r\n \r\n }\r\n\r\n calculateDistanceToSpnd(index)\r\n {\r\n var result=0;\r\n for (var _i = 0; _i < index; _i++) {\r\n result=result+this.tabTitleWidthArray[_i];\r\n }\r\n return result;\r\n }\r\n\r\n updateIndicatorPosition() {\r\n var index=this.SwipedTabsSlider.getActiveIndex();\r\n if( this.SwipedTabsSlider.length()==index)\r\n index=index-1;\r\n\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n \r\n }\r\n\r\n updateIndicatorPositionOnTouchEnd()\r\n {\r\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\r\n }\r\n\r\n animateIndicator($event)\r\n {\r\n \r\n this.isLeft=false;\r\n this.isRight=false;\r\n \r\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\r\n if($event.progress < currentSliderCenterProgress)\r\n {\r\n this.isLeft=true;\r\n this.isRight=false;\r\n\r\n } if($event.progress > currentSliderCenterProgress)\r\n {\r\n this.isLeft=false;\r\n this.isRight=true;\r\n }\r\n\r\n if(this.SwipedTabsSlider.isEnd())\r\n this.isRight=false;\r\n\r\n if( this.SwipedTabsSlider.isBeginning())\r\n this.isLeft=false;\r\n\r\n if(this.isRight)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\r\n +'px,0,0)';\r\n\r\n if(this.isLeft)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\r\n +'px,0,0)';\r\n\r\n if(!this.isRight && !this.isLeft)\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\r\n \r\n \r\n }\r\n /**\r\n * Pd Discussion Qustion Load\r\n */\r\n getpdQuestionDetails()\r\n {\r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdinfo = this.navParams.get('pdDetails');\r\n for(let qustimage of this.questionDetails.questions)\r\n { \r\n if(qustimage.images !==undefined){\r\n for(let image of qustimage.images)\r\n {\r\n image.questionId = qustimage.fk_question_id; \r\n this.docArray.push(image);\r\n }\r\n for(let answers of qustimage.answers)\r\n {\r\n if(qustimage.fk_question_answertype == 3)\r\n {\r\n this.items = this.questionAnswer.get('items') as FormArray;\r\n \r\n this.items.push(this.getquestionAnswer(answers));\r\n \r\n \r\n }\r\n }\r\n }\r\n }\r\n for(let i=1;i<=this.questionDetails.questions_count;i++){\r\n let j = i.toString();\r\n this.tabs.push(j);\r\n }\r\n }\r\n\r\ngetquestionAnswer(answers)\r\n{\r\n return this.fb.group(\r\n {\r\n \"pd_detail_answer_id\":answers.pd_detail_answer_id,\r\n \"pd_answer_id\":answers.question_answer_id,\r\n \"pd_answer\": answers.answer,\r\n \"pd_answer_weightage\": answers.template_answer_weightage,\r\n \"fk_pd_id\":this.pdinfo.pd_id,\r\n \"fk_pd_detail_id\":answers.fk_pd_detail_id,\r\n \"checkbox\":(answers.isactive == null?false:true)\r\n \r\n \r\n })\r\n}\r\n // count = 0;\r\n getDocUpload(qustid)\r\n {\r\n // this.docqustid = qustId;\r\n this.camera.getpicture().then(res=>\r\n {\r\n if(res !== undefined){\r\n this.docArray.push({'pd_document_name':res,'pd_document_title':'','questionId':qustid});\r\n }\r\n });\r\n // this.count++;\r\n }\r\n docnames(name,id,image,qustid)\r\n {\r\n this.docArray[id] = {'pd_document_name':image,'pd_document_title':name,'questionId':qustid};\r\n }\r\n removeimage(index){\r\n //for(let i=0;i<=this.igrimage.length;i++){\r\n //if(this.igrimage[i]== this.igrimage[index]){\r\n this.docArray.splice(index,1);\r\n //}\r\n //}\r\n }\r\n saveQuestionDetails(answerDetails,questionRemarks,questionDetails)\r\n {\r\n \r\n for(let docs of this.docArray)\r\n {\r\n \r\n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\r\n // return true;\r\n }else\r\n {\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\r\n \r\n }\r\n }\r\n if(answerDetails.answerDetails !=null){\r\n //alert('answers');\r\n let pd_id = this.pdinfo.pd_id;\r\n let catid = questionDetails.fk_question_category_id;\r\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\r\n let qut_id = qt_id.fk_question_id;\r\n let qustName = qt_id.question;\r\n let qut_weightage = qt_id.question_weightage;\r\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\r\n let pd_answer = answerDetails.answerDetails.answer;\r\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\r\n let pd_remarks = questionRemarks.questionRemarks;\r\n let updatedby:any='';\r\n let updateon:any='';\r\n let createdby:any='';\r\n let createon:any='';\r\n let pd_details_id:any='';\r\n let pd_detail_answer_id:any = '';\r\n if(qt_id.pd_detail_id ==null)\r\n {\r\n createdby = this.userid;\r\n createon = currentdate;\r\n pd_details_id = '';\r\n }else\r\n {\r\n pd_details_id = qt_id.pd_detail_id;\r\n updatedby = this.userid;\r\n updateon = currentdate;\r\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\r\n }\r\n let saveRecords = \r\n {\r\n \"pd_detail_id\": pd_details_id,\r\n\t\t\"fk_pd_id\": pd_id,\r\n\t\t\"fk_category_id\": catid,\r\n\t\t\"fk_question_id\": qut_id,\r\n\t\t\"pd_question\": qustName,\r\n \"pd_question_weightage\": qut_weightage,\r\n \"question_remark\": pd_remarks,\r\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\r\n \"pd_answer_id\":ans_id,\r\n\t\t\"pd_answer\": pd_answer,\r\n\t\t\"pd_answer_weightage\": qut_weightage,\r\n \"fk_pd_id\":pd_id,\r\n \"fk_pd_detail_id\":pd_details_id,\r\n\r\n }],\r\n\t\t\r\n\t\t\"fk_createdon\": createon,\r\n\t\t\"createdby\": createdby,\r\n\t\t\"fk_updatedon\": updateon,\r\n \"updatedby\": updatedby,\r\n \"images\": this.imageArray || \"\",\r\n \r\n\r\n };\r\n \r\n // this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\r\n // {\r\n // this.qustCate = res;\r\n // if(this.qustCate.dataStatus == true){\r\n // this.SwipedTabsSlider.slideNext();\r\n // this.docArray = [];\r\n // this.getcategoryList(qt_id,pd_id);\r\n // }\r\n // })\r\n // }else\r\n // {\r\n \r\n // this.SwipedTabsSlider.slideNext(); \r\n }\r\n } \r\n\r\n getcategoryList(qustinfo,pdId)\r\n {\r\n let qustDetails = {\"question_id\":qustinfo.fk_question_id, \"pd_id\":pdId, \"template_id\":qustinfo.fk_template_id, \"category_id\":qustinfo.fk_template_question_category_id\r\n };\r\n let answerData:any;\r\n this.qstDetails.getAnswerTemplate(qustDetails).subscribe(res=>\r\n {\r\n answerData = res;\r\n if(answerData.dataStatus == true)\r\n {\r\n \r\n // answerData = answerData.records;\r\n // let eachquestion = this.questionDetails.questions.filter(qust=>qust.question_id == answerData.question_id)[0];\r\n // eachquestion['answers'] = answerData.answers; \r\n \r\n // this.questionDetails =\r\n // this.imageArray = answerData.images;\r\n // for(let docs of this.imageArray)\r\n // {\r\n // this.docArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title,'questionId':''})\r\n // }\r\n this.questionanotherData.controls['questionRemarks'].setValue(answerData.question_remark);\r\n }\r\n });\r\n }\r\n prev(answerDetails,questionRemarks,questionDetails) {\r\n for(let docs of this.docArray)\r\n {\r\n \r\n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\r\n // return true;\r\n }else\r\n {\r\n //alert();\r\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\r\n \r\n }\r\n }\r\n if(answerDetails.answerDetails !=null){\r\n //alert('answers');\r\n let pd_id = this.pdinfo.pd_id;\r\n let catid = questionDetails.fk_question_category_id;\r\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\r\n let qut_id = qt_id.fk_question_id;\r\n let qustName = qt_id.question;\r\n let qut_weightage = qt_id.question_weightage;\r\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\r\n let pd_answer = answerDetails.answerDetails.answer;\r\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\r\n let pd_remarks = questionRemarks.questionRemarks;\r\n let updatedby:any='';\r\n let updateon:any='';\r\n let createdby:any='';\r\n let createon:any='';\r\n let pd_details_id:any='';\r\n let pd_detail_answer_id:any = '';\r\n if(qt_id.pd_detail_id ==null)\r\n {\r\n createdby = this.userid;\r\n createon = currentdate;\r\n pd_details_id = '';\r\n }else\r\n {\r\n pd_details_id = qt_id.pd_detail_id;\r\n updatedby = this.userid;\r\n updateon = currentdate;\r\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\r\n }\r\n let saveRecords = \r\n {\r\n \"pd_detail_id\": pd_details_id,\r\n \"fk_pd_id\": pd_id,\r\n \"fk_category_id\": catid,\r\n \"fk_question_id\": qut_id,\r\n \"pd_question\": qustName,\r\n \"pd_question_weightage\": qut_weightage,\r\n \"question_remark\": pd_remarks,\r\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\r\n \"pd_answer_id\":ans_id,\r\n \"pd_answer\": pd_answer,\r\n \"pd_answer_weightage\": qut_weightage,\r\n \"fk_pd_id\":pd_id,\r\n \"fk_pd_detail_id\":pd_details_id,\r\n\r\n }],\r\n \r\n \"fk_createdon\": createon,\r\n \"createdby\": createdby,\r\n \"fk_updatedon\": updateon,\r\n \"updatedby\": updatedby,\r\n \"images\": this.imageArray || \"\",\r\n \r\n\r\n };\r\n \r\n this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\r\n {\r\n this.qustCate = res;\r\n if(this.qustCate.dataStatus == true){\r\n this.SwipedTabsSlider.slidePrev();\r\n this.docArray = [];\r\n this.getcategoryList(qt_id,pd_id);\r\n }\r\n })\r\n }else{\r\n if(this.SwipedTabsSlider.getActiveIndex()!=0){\r\n this.SwipedTabsSlider.slidePrev();\r\n }\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, AlertController } from 'ionic-angular';\r\nimport {FormBuilder,FormControl,FormArray, FormGroup,Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { Observable } from 'rxjs';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\nimport { timeInterval } from 'rxjs/operators';\r\n/**\r\n * Generated class for the PdQuestionAddressPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-address',\r\n templateUrl: 'pd-question-address.html',\r\n})\r\nexport class PdQuestionAddressPage {\r\n\r\n // additional_premises: any=[];\r\n // bussiness_address_type: any=[];\r\n // formPremisesCityArray: any=[];\r\n // tempArr: any[];\r\n // cityData: any = [];\r\n // PremisesLabel: any=[];\r\n // formPremisesArray: any=[];\r\n // z:number = 0;\r\n \r\n // PremisesOtherFlag: boolean;\r\n CITY: any;\r\n residence: any;\r\n FormId: any;\r\n getaddressDetails: any;\r\n users: any;\r\n address: string;\r\n custBehaviour: any;\r\n cmtlocality: any;\r\n\r\n //placeholderName : any = 'Estimated area of the (Address Type)';\r\n placeholderName:any=[];\r\n premisesRentAmtInwords:any=[];\r\n rentAmtInwords : any ;\r\n\r\n locality: any = [];\r\n pdlocation: any = [];\r\n pdDetails: any;\r\n questionDetails: any;\r\n pdQuestionAddress:FormGroup;\r\n addressTypes:any=[];\r\n addressRemarksAccess:boolean = false;\r\n items:FormArray;\r\n pdState: any;\r\n pdCity: any;\r\n pdPincode: any;\r\n pdOtherPincode: any;\r\n cityData: any=[];\r\n pincodeData: any=[];\r\n stateData: any=[];\r\n uomData: any=[];\r\n addressesList: any;\r\n // counts:number = 1;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider,public alerCtrl:AlertController,public constant:ConstantsProvider) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n \r\n this.FormId = this.navParams.get('FormId');\r\n\r\n this.users = this.aws.getlocale();\r\n\r\n // if(this.pdDetails.addressline2 ! =null || this.pdDetails.addressline3 !=null){\r\n // this.address = this.pdDetails.addressline1+','+this.pdDetails.addressline2+','+this.pdDetails.addressline3;\r\n // }else{\r\n // this.address = this.pdDetails.addressline1+', - , -'; \r\n // }\r\n // this.pdState = this.pdDetails.fk_state;\r\n // this.getCityAndPincodeDetails(this.pdState);\r\n // this.pdCity = this.pdDetails.fk_city;\r\n // this.pdPincode = this.pdDetails.pincode_id;\r\n \r\n // this.pdOtherPincode = this.pdPincode == 1 ? this.pdDetails.other_pincode : '';\r\n \r\n this.getdropdownlist();\r\n\r\n this.pdQuestionAddress = this.fb.group(\r\n {\r\n addresses:this.fb.array([]),\r\n address_form_remark:['']\r\n // address_ownership:[null],\r\n // other_ownership:[null],\r\n // rent_amt:[null],\r\n // other_premises_bussiness_activity : [null],\r\n // bussiness_activity_remark:[null],\r\n // bussiness_activity:[null],\r\n // bussiness_address_type:[null],\r\n // bussiness_address_type_others:[null], \r\n // business_years:[null],\r\n // business_month:[null],\r\n // additional_address_units: this.fb.array([]),\r\n \r\n });\r\n this.getaddressForm(); \r\n //this.loadPD()\r\n }\r\n\r\n ionViewDidLoad() {\r\n //this.addUnits();\r\n console.log(\"ionViewDidLoad PdQuestionAddressPage\")\r\n \r\n }\r\n\r\n ionViewWillLeave()\r\n {\r\n \r\n\r\n // let method = this.alerCtrl.create({\t\t\t\r\n // message: 'Do You Want Save',\r\n // buttons: [\r\n // {\r\n // text: 'Save',\r\n // cssClass: 'method-color',\r\n // handler: () => {\r\n // \r\n // }\r\n // },\r\n // {\r\n // text: 'Cancel',\r\n // cssClass: 'method-color',\r\n // handler: () => {\r\n // \r\n // this.navCtrl.pop(); \r\n // }\r\n // }\r\n // ]\r\n // });\r\n // method.present()\r\n \r\n \r\n \r\n }\r\n\r\n /** To Get City And Pincode Data For Address Form \r\n * Param 'stateID' -> selected StateId\r\n */\r\n getCityAndPincodeDetails(stateID: string,i) {\r\n this.qustCat.getStateWiseCities(stateID).subscribe(data => {\r\n if (data.status == 200) {\r\n this.cityData[i] = data.records.cities;\r\n this.pincodeData[i] = data.records.pincode;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n getdropdownlist()\r\n {\r\n // this.addressTypes = [\r\n \r\n // {'id':'Office','Name':'Office'},\r\n // {'id':'Clinic','Name':'Clinic'},\r\n // {'id':'Factory','Name':'Factory'},\r\n // {'id':'Warehouse','Name':'Warehouse'},\r\n // {'id':'Shop','Name':'Shop'},\r\n // {'id':'ResidencecumOffice','Name':'ResidencecumOffice'},\r\n // {'id':'Residence','Name':'Residence'},\r\n // {'id':'OTHERS','Name':'OTHERS'}\r\n // ];\r\n\r\n \r\n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.addressTypes = res['records'].filter(add=>add.isactive==1); \r\n }\r\n \r\n })\r\n \r\n this.qustCat.getcommondrop('PDLOCATIONAPPROACH').subscribe(res=>\r\n {\r\n this.pdlocation = res;\r\n if(this.pdlocation.dataStatus == true)\r\n {\r\n this.pdlocation = this.pdlocation.records.filter(loca=>loca.isactive ==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('COMMENTSONLOCALITY').subscribe(res=>\r\n {\r\n this.cmtlocality = res;\r\n if(this.cmtlocality.dataStatus ==true)\r\n {\r\n this.cmtlocality = this.cmtlocality.records.filter(loc=>loc.isactive ==1);\r\n }\r\n });\r\n\r\n \r\n // this.qustCat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>\r\n // {\r\n // this.custBehaviour = res;\r\n // if(this.custBehaviour.dataStatus == true)\r\n // {\r\n // this.custBehaviour = this.custBehaviour.records.filter(cust=>cust.isactive ==1);\r\n // }\r\n // })\r\n this.qustCat.getcommondrop('LOCALITY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.locality = res['records'].filter(loc=>loc.isactive==1);\r\n }\r\n })\r\n\r\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.residence = res['records'].filter(red=>red.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('CITY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.CITY = res['records'].filter(red=>red.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('STATE').subscribe(res=>{\r\n this.stateData=res['records'].filter(val=>val.isactive == 1);\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>{\r\n this.uomData=res['records'].filter(val=>val.isactive == 1 && val.is_land_uom != 0)\r\n })\r\n \r\n }\r\n\r\n // checkaddress(value)\r\n // {\r\n // \r\n // if(value==\"OTHERS\")\r\n // {\r\n // this.addressRemarksAccess = true;\r\n // }else\r\n // {\r\n // this.addressRemarksAccess = false;\r\n // }\r\n // }\r\n\r\n // createItem(): FormGroup {\r\n // return this.fb.group({\r\n // name: [null],\r\n // do_you_know: [null],\r\n // how_long: [null],\r\n // is_owner: [null],\r\n // });\r\n // };\r\n \r\n createUnits(val): FormGroup {\r\n if(val==null){\r\n return this.fb.group({\r\n no_of_additional_units: [''],\r\n premises_type: [''],\r\n premises_type_others: [''],\r\n premises_city: [''],\r\n // premises_ownership: [''],\r\n //premises_ownership_others: [''],\r\n //premises_rent_amt:[''],\r\n premises_remarks: [''],\r\n });\r\n }\r\n else{\r\n \r\n return this.fb.group({\r\n no_of_additional_units: [val.no_of_additional_units],\r\n premises_type: [val.premises_type],\r\n premises_type_others: [val.premises_type_others],\r\n premises_city: [val.premises_city],\r\n // premises_ownership: [val.premises_ownership],\r\n // premises_ownership_others: [val.other_ownership],\r\n // premises_rent_amt:[val.rent_amt],\r\n premises_remarks: [val.premises_remarks],\r\n });\r\n \r\n }\r\n }\r\n\r\n addUnits() {\r\n this.items = this.pdQuestionAddress.get('additional_address_units') as FormArray;\r\n this.items.push(this.createUnits(null));\r\n}\r\n\r\n\r\n removeUnits(i){\r\n this.items.removeAt(i);\r\n }\r\n\r\n ConvertMonthintoYear(e){\r\n \r\n let business_year = this.pdQuestionAddress.controls.business_years.value;\r\n\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n this.pdQuestionAddress.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n this.pdQuestionAddress.controls.business_month.setValue(Math.floor(converted_month));\r\n \r\n }\r\n initAddress(AddressDetails){\r\n if(AddressDetails != null){\r\n return this.fb.group({\r\n address: [AddressDetails.address, Validators.compose([Validators.required])],\r\n address_type: [AddressDetails.address_type, Validators.compose([Validators.required])],\r\n address_type_others: [AddressDetails.address_type_others],\r\n state: [AddressDetails.state],\r\n city: [AddressDetails.city],\r\n pincode: [AddressDetails.pincode],/** ,Validators.compose([Validators.minLength(6),Validators.maxLength(6)]) */\r\n pincode_others: [AddressDetails.pincode_others, Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],\r\n locality: [AddressDetails.locality, Validators.compose([Validators.required])],\r\n locality_others: [AddressDetails.locality_others],\r\n locality_mixuse: [AddressDetails.locality_mixuse],\r\n pd_location: [AddressDetails.pd_location, Validators.compose([Validators.required])],\r\n comment_locality: [AddressDetails.comment_locality, Validators.compose([Validators.required])],\r\n estimated_area: [AddressDetails.estimated_area],\r\n uom: [AddressDetails.uom],\r\n uom_others: [AddressDetails.uom_others] \r\n })\r\n }\r\n else{\r\n return this.fb.group({\r\n address: ['', Validators.compose([Validators.required])],\r\n address_type: ['', Validators.compose([Validators.required])],\r\n address_type_others: [''],\r\n state: [''],\r\n city: [''],\r\n pincode: [''],\r\n pincode_others: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],\r\n locality: ['', Validators.compose([Validators.required])],\r\n locality_others: [''],\r\n locality_mixuse: [''],\r\n pd_location: ['', Validators.compose([Validators.required])],\r\n comment_locality: ['', Validators.compose([Validators.required])],\r\n estimated_area: [''],\r\n uom: [''],\r\n uom_others: [''] \r\n });\r\n }\r\n \r\n }\r\n /** On Key Press Event For Numbers */\r\n keyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n \r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n inWords(e,i){ \r\n \r\n this.premisesRentAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\r\n \r\n }\r\n\r\n inWordsForRent(e){\r\n \r\n this.rentAmtInwords = this.constant.convertNumberToWords(e.target.value);\r\n }\r\n\r\n selectedAddressType(e: any,i){\r\n this.placeholderName[i] = 'Estimated area of the ' + e;\r\n }\r\n\r\n\r\n savepdQuestion(answerData)\r\n {\r\n let records: any = {};\r\n // records.address = answerData.address;\r\n // if(answerData.address_type_others != null){\r\n // records.address_type_others = answerData.address_type_others;\r\n // }\r\n // // records.state =answerData.state\r\n // records.city = answerData.city\r\n\r\n // records.pincode = answerData.pincode\r\n // records.pincode_others = answerData.pincode== 1 ?\r\n // this.pdQuestionAddress.controls.pincode_others.value : '';\r\n\r\n // records.address_type = answerData.address_type;\r\n // records.locality = answerData.locality;\r\n \r\n // records.locality_others = answerData.locality == 1 ?\r\n // this.pdQuestionAddress.controls.locality_others.value : '';\r\n\r\n // records.locality_mixuse = answerData.locality == 5 ?\r\n // this.pdQuestionAddress.controls.locality_mixuse.value : '';\r\n\r\n // records.pd_location = answerData.pd_location;\r\n // records.comment_locality = answerData.comment_locality;\r\n // records.other_comment_locality = answerData.other_comment_locality;\r\n // records.estimated_area = answerData.estimated_area;\r\n\r\n // records.uom = answerData.uom;\r\n // records.uom_others = answerData.uom == 1 ?\r\n // this.pdQuestionAddress.controls.uom_others.value : '';\r\n // records.customer_behaviour = answerData.customer_behaviour;\r\n // records.neighbourhood = answerData.neighbourhood;\r\n console.log(\"Answer DAta\",answerData)\r\n records.addresses=answerData.addresses\r\n records.address_form_remark=answerData.address_form_remark\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.address_form_remark = answerData.address_form_remark;\r\n // records.address_ownership = answerData.address_ownership;\r\n // records.other_ownership = answerData.other_ownership;\r\n // records.rent_amt = answerData.rent_amt;\r\n // records.other_premises_bussiness_activity = answerData.other_premises_bussiness_activity;\r\n // records.bussiness_activity = answerData.bussiness_activity;\r\n // records.bussiness_activity_remark = answerData.bussiness_activity_remark;\r\n // records.business_years = answerData.business_years;\r\n // records.business_month = answerData.business_month;\r\n \r\n // records.additional_address_units = answerData.additional_address_units;\r\n \r\n \r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n // let params: any = {};\r\n // params.pd_id = '250';\r\n // params.pd_form_id = '250';\r\n \r\n // setTimeout(function(){\r\n // this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // },5000)\r\n if(data['dataStatus']==true){\r\n this.toast.pdTriggerappmessage('Record Saved Successfully');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000); \r\n }\r\n },err=>{\r\n this.toast.pdTriggerappmessage('Something went wrong ');\r\n });\r\n }\r\n\r\n getaddressForm()\r\n {\r\n \r\n let res:any;\r\n\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n const control=this.pdQuestionAddress.controls['addresses']\r\n this.getaddressDetails = res;\r\n \r\n if(this.getaddressDetails.dataStatus ==true){\r\n if(this.getaddressDetails.records.addresses ){\r\n \r\n this.getaddressDetails = this.getaddressDetails.records.addresses;\r\n\r\n if(this.getaddressDetails.length == 0 ){\r\n control.push(this.initAddress(''));\r\n }\r\n else{\r\n this.getaddressDetails.forEach((datas,index)=>{\r\n \r\n let val={\r\n 'address': datas.address,\r\n 'address_type': datas.address_type,\r\n 'address_type_others': datas.address_type_others,\r\n 'state': datas.state,\r\n 'city': datas.city,\r\n 'pincode': datas.pincode,\r\n 'pincode_others': datas.pincode_others,\r\n 'locality': datas.locality,\r\n 'locality_others': datas.locality_others,\r\n 'locality_mixuse': datas.locality_mixuse,\r\n 'pd_location': datas.pd_location,\r\n 'comment_locality': datas.comment_locality,\r\n 'estimated_area': datas.estimated_area,\r\n 'uom': datas.uom,\r\n 'uom_others': datas.uom_others\r\n }\r\n this.getCityAndPincodeDetails(datas.state,index)\r\n let selectedAddressType = this.addressTypes.filter(element => element.address_type_id == datas.address_type)[0];\r\n this.selectedAddressType(selectedAddressType.address_type,index);\r\n if (datas.address_type == 1) {\r\n this.selectedAddressType(datas.address_type_others,index);\r\n }\r\n control.push(this.initAddress(val))\r\n })\r\n this.pdQuestionAddress.controls.address_form_remark.setValue(res['records'].address_form_remark);\r\n }\r\n // if(this.getaddressDetails.additional_address_units != null){\r\n // var result = Object.keys(res['records'].additional_address_units).map(function(key) {\r\n // // return res['records'].additional_address_units[key];\r\n // //for slicing the automatically created\r\n \r\n // });\r\n // //this.removeUnits(0);\r\n // }\r\n\r\n // let control = this.pdQuestionAddress.get('additional_address_units') as FormArray;\r\n\r\n // this.pdQuestionAddress.controls['address'].setValue(this.getaddressDetails.address);\r\n // this.pdQuestionAddress.controls['state'].setValue(this.getaddressDetails.state)\r\n\r\n // if (this.getaddressDetails.state != '') {\r\n // this.getCityAndPincodeDetails(this.getaddressDetails.state);\r\n // this.pdQuestionAddress.controls.city.setValue(this.getaddressDetails.city);\r\n // this.pdQuestionAddress.controls.pincode.setValue(this.getaddressDetails.pincode);\r\n // if (this.getaddressDetails.pincode == 1) {\r\n // this.pdQuestionAddress.controls.pincode_others.setValue(this.getaddressDetails.pincode_others);\r\n // this.pdQuestionAddress.controls.pincode_others.setValidators([Validators.required]);\r\n // this.pdQuestionAddress.controls.pincode_others.updateValueAndValidity();\r\n // }\r\n // }\r\n // this.pdQuestionAddress.controls['pd_location'].setValue(this.getaddressDetails.pd_location);\r\n // this.pdQuestionAddress.controls['address_type'].setValue(this.getaddressDetails.address_type);\r\n // let selectedAddressType = this.addressTypes.filter(element =>element.address_type_id == this.getaddressDetails.address_type);\r\n // this.selectedAddressType(selectedAddressType);\r\n\r\n // if(this.getaddressDetails.address_type != null) {\r\n // this.pdQuestionAddress.controls['address_type_others'].setValue(this.getaddressDetails.address_type_others);\r\n // this.selectedAddressType(this.getaddressDetails.address_type_others);\r\n // }\r\n\r\n // this.pdQuestionAddress.controls['comment_locality'].setValue(this.getaddressDetails.comment_locality);\r\n\r\n // if(this.getaddressDetails.comment_locality != null){\r\n // this.pdQuestionAddress.controls['other_comment_locality'].setValue(this.getaddressDetails.other_comment_locality);\r\n // }\r\n // // this.pdQuestionAddress.controls.customer_behaviour.setValue(this.getaddressDetails.customer_behaviour);\r\n // this.pdQuestionAddress.controls['locality'].setValue(this.getaddressDetails.locality);\r\n // if(this.getaddressDetails.locality == 1 ){\r\n // this.pdQuestionAddress.controls['locality_others'].setValue(this.getaddressDetails.locality_others);\r\n // }\r\n // if(this.getaddressDetails.locality == 5){\r\n // this.pdQuestionAddress.controls['locality_mixuse'].setValue(this.getaddressDetails.locality_mixuse)\r\n // }\r\n \r\n // this.pdQuestionAddress.controls.estimated_area.setValue(this.getaddressDetails.estimated_area);\r\n // this.pdQuestionAddress.controls.uom.setValue(this.getaddressDetails.uom);\r\n // if (this.getaddressDetails.uom == 1) {\r\n // this.pdQuestionAddress.controls.uom_others.setValue(this.getaddressDetails.uom_others);\r\n // this.pdQuestionAddress.controls.uom_others.setValidators([Validators.required])\r\n // this.pdQuestionAddress.controls.uom_others.updateValueAndValidity();\r\n // }\r\n // this.pdQuestionAddress.controls['address_form_remark'].setValue(this.getaddressDetails.address_form_remark);\r\n // // this.pdQuestionAddress.controls['address_ownership'].setValue(this.getaddressDetails.address_ownership);\r\n // this.pdQuestionAddress.controls['other_ownership'].setValue(this.getaddressDetails.other_ownership);\r\n // this.pdQuestionAddress.controls['rent_amt'].setValue(this.getaddressDetails.rent_amt);\r\n // if(this.getaddressDetails.rent_amt != null){\r\n // this.rentAmtInwords = this.constant.convertNumberToWords(this.getaddressDetails.rent_amt);\r\n // }\r\n // this.pdQuestionAddress.controls['other_premises_bussiness_activity'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\r\n // if(this.getaddressDetails['other_premises_bussiness_activity'] !=null) {\r\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\r\n // } \r\n // else{\r\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue('');\r\n // }\r\n // this.pdQuestionAddress.controls['bussiness_activity'].setValue(this.getaddressDetails.bussiness_activity);\r\n\r\n // this.pdQuestionAddress.controls['business_years'].setValue(this.getaddressDetails.business_years);\r\n // this.pdQuestionAddress.controls['business_month'].setValue(this.getaddressDetails.business_month);\r\n \r\n \r\n \r\n\r\n /* if(this.getaddressDetails.bussiness_activity == 'yes') {\r\n \r\n if (result.length == 0) {\r\n \r\n control.push(this.createUnits(null));\r\n } else {*/\r\n \r\n //for(let val of this.getaddressDetails.additional_address_units){\r\n //control.push(this.createUnits(val));\r\n //}\r\n //result.forEach((datas,index) => {\r\n \r\n //this.premisesRentAmtInwords[index] = this.constant.convertNumberToWords(datas.premises_rent_amt);\r\n //this.pdQuestionAddress.controls['additional_address_units'].setValue(datas);\r\n \r\n //});\r\n \r\n //}\r\n \r\n // }\r\n\r\n }\r\n else{\r\n control.push(this.initAddress(''))\r\n }\r\n }\r\n else\r\n this.loadPD();\r\n });\r\n }\r\n loadPD(){\r\n const control=this.pdQuestionAddress.controls['addresses']\r\n this.qustCat.getAddressDetails(this.pdDetails.pd_id).subscribe(res=>{\r\n if(res.dataStatus == true){\r\n this.addressesList = res.records.filter(item => item.isactive == 1);\r\n console.log('this.addressesList',this.addressesList);\r\n if(this.addressesList.length > 0){\r\n this.addressesList.forEach((datas,index)=>{\r\n let obj ={\r\n 'address': datas.addressline1,\r\n 'address_type': '',\r\n 'address_type_others': '',\r\n 'state': datas.fk_state,\r\n 'city': datas.fk_city,\r\n 'pincode': datas.pincode_id,\r\n 'pincode_others': datas.other_pincode,\r\n 'locality': '',\r\n 'locality_others': '',\r\n 'locality_mixuse':'',\r\n 'pd_location': '',\r\n 'comment_locality': '',\r\n 'estimated_area': '',\r\n 'uom': '',\r\n 'uom_others': ''\r\n }\r\n this.getCityAndPincodeDetails(datas.fk_state,index)\r\n control.push(this.initAddress(obj))\r\n })\r\n }\r\n else{\r\n control.push(this.initAddress(''))\r\n }\r\n }\r\n else{\r\n control.push(this.initAddress(''))\r\n }\r\n })\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-address/pd-question-address.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport {FormBuilder,FormControl,FormArray, FormGroup} from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionEmpInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-emp-info',\r\n templateUrl: 'pd-question-emp-info.html',\r\n})\r\nexport class PdQuestionEmpInfoPage {\r\n questionDetails: any;\r\n pdDetails: any;\r\n empInfo:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n\r\n this.empInfo = this.fb.group(\r\n {\r\n nameOfEmp:[null],\r\n yearWithEmp:[null],\r\n empMet:[null],\r\n designationOfEmp:[null],\r\n salaryConfirm:[null],\r\n actualSalary:[null],\r\n attRegisterSeen:[null],\r\n salaryRegisterSeen:[null]\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionEmpInfoPage');\r\n }\r\n\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.ts","import { Component, ApplicationInitStatus } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup,FormArray,FormBuilder,Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport {ConstantsProvider} from '../../../providers/constants/constants'\n/**\n * Generated class for the PdQuestionCurrentLoansPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-current-loans',\n templateUrl: 'pd-question-current-loans.html',\n})\nexport class PdQuestionCurrentLoansPage {\napplicants: any;\n placeholderName: any = [];\n lenderData: any;\n frequencyData: any;\n loanTypeData:any;\n FormId: any;\n users: any;\n pdDetails: any;\n questionDetails: any;\n currentLoans:FormGroup;\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n pdid:number;\n amtInwords: any=[];\n emiAmtInwords: any=[];\n dataFromAssets : any = [];\n labelArr : any = [];\n investmentTypeData: any=[];\n addressTypeData: any;\n propertyTypeData: any;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider, public aws:AwsServiceProvider,public constant:ConstantsProvider) {\n\n console.log(\"other\",this.applicants);\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.FormId = this.navParams.get('FormId');\n this.applicants = this.pdDetails.applicat_details.filter(val=>val.pd_co_applicant_id != 0);\n \n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n \n console.log(\"Applicant\",this.applicants)\n\n this.getdropdown();\n // this.applicants.push\n \n this.users = this.aws.getlocale();\n this.currentLoans = this.fb.group(\n {\n existing_loan: [null],\n currentloan_remarks:[null],\n loan_details: this.fb.array([])\n });\n \n \n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n this.getcurrentLoans()\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(res=>\n {\n this.lenderData = res['records'].filter(len=>len.isactive==1);\n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n this.frequencyData = res['records'].filter(frq=>frq.isactive==1);\n });\n this.qustCat.getcommondrop('EXISTINGLOANTYPES').subscribe(val=>{\n this.loanTypeData=val['records'].filter(loan=>loan.isactive == 1 );\n });\n\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n // console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n }\n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n //modifyCompanyList.push({'id':\"0\",'name':'Others','group_id':1})\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n // console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n }\n })\n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n // this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n // modifyApplicantList.push()\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n \n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n }\n\n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(data => {\n this.investmentTypeData=data['records'].filter(val=>val.isactive == 1);\n \n \n });\n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\n this.addressTypeData=data['records'].filter(val=>val.isactive ==1 );\n })\n this.qustCat.getcommondrop('PROPERTIES').subscribe(data=>{\n this.propertyTypeData=data['records'].filter(val=>val.isactive ==1);\n })\n }\n \n exitsCheck(val)\n { \n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n if(val ==\"Yes\")\n {\n \n this.addLoanDetails();\n }\n\n }\n createLoanDetail(data) {\n return this.fb.group({\n label: data == null ? [''] : [data.label],\n other_frequency:[''],\n loan_amount: [''],\n frequency:[''],\n emi: [''],\n loan_type: [''],\n others_loan_type:[''],\n loan_taken_by:[''],\n others_loan_taken:[''],\n lender: [''],\n others_lender:[''],\n original_tenure: [''],\n current_balance_tenure: [''],\n elapsed_tenure:[],\n });\n}\naddLoanDetails() {\n const control = this.currentLoans.controls['loan_details'];\n control.push(this.createLoanDetail(null));\n}\ndeleteLoanDetails(index) {\n const control = this.currentLoans.controls['loan_details'];\n if(control.length==1)\n {\n this.currentLoans.controls['loan_details'].reset();\n }else{\n control.removeAt(index);\n }\n}\ncompareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n}\ncheckOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n}\ncheckTenure(details){\n let originalTenure = details.value.original_tenure;\n // alert(originalTenure);\n details.controls.current_balance_tenure.setValidators([Validators.required, Validators.max(+originalTenure)]);\n details.controls.current_balance_tenure.updateValueAndValidity();\n // details.controls.current_balance_tenure.setValidators([Validators.max(+originalTenure)]);\n // details.controls.current_balance_tenure.updateValueAndValidity(); \n // let BalanceTenure = details.value.current_balance_tenure;\n // if( originalTenure < BalanceTenure){\n // alert('Greater');\n // details.controls.current_balance_tenure.setValue('');\n // alert('validation setted For');\n // details.controls.current_balance_tenure.setValidators([Validators.min(+originalTenure)]);\n // details.controls.current_balance_tenure.updateValueAndValidity(); \n \n \n // }\n}\ncalculateTenure(details)\n{\n let ElapsedValues;\n \n if(details.value.original_tenure != null && details.value.original_tenure != '' && details.value.current_balance_tenure != null && details.value.current_balance_tenure != ''){\n ElapsedValues = details.value.original_tenure - details.value.current_balance_tenure ;\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\n }\n\n}\nkeyPress(event: any) {\n const pattern = /[0-9]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n}\ninWords(e,i,flag){\n switch(flag){\n case 1 : \n this.amtInwords[i] = this.constant.convertNumberToWords(e.target.value);\n break;\n case 2 :\n this.emiAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n }\n}\n\n\nselectedfrequency(e,i){\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n \n // alert('function in');\n \n \n switch(+e){\n case 1: this.placeholderName[i] = 'Instalment Amount'; break;\n case 2: this.placeholderName[i] = 'Annual Instalment Amount'; break;\n case 3: this.placeholderName[i] = 'Halfyearly Instalment Amount'; break;\n case 4: this.placeholderName[i] = 'Fortnightly Instalment Amount'; break;\n case 5: this.placeholderName[i] = 'Daily Instalment Amount'; break;\n case 6: this.placeholderName[i] = 'Quarterly Instalment Amount'; break;\n case 7: this.placeholderName[i] = 'Monthly Instalment Amount'; break;\n default: this.placeholderName[i] = 'Instalment Amount'; break;\n}\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n}\n\nsubmitCurrentloan(answerData) {\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.existing_loan = answerData.existing_loan;\n records.loan_details = answerData.loan_details;\n records.currentloan_remarks = answerData.currentloan_remarks;\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n\n \n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n });\n}\n getcurrentLoans()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n const control = this.currentLoans.controls['loan_details'];\n if(res['dataStatus']==true )\n {\n let currentLoanDetails = res['records'];\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n if(res['records'].loan_details !== undefined && res['records'].loan_details !=null && res['records'].loan_details !=''){\n var result = Object.keys(res['records'].loan_details).map(function(key) {\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n return res['records'].loan_details[key];\n \n });\n \n this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan);\n this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks);\n const control = this.currentLoans.controls['loan_details'];\n if(currentLoanDetails.existing_loan != 'No')\n {\n if(result.length ==0)\n {\n control.push(this.createLoanDetail(null));\n }else\n {\n result.forEach((datas,index)=>\n {\n // let objs = { \n // 'label': datas.label,\n // 'loan_amount': datas.loan_amount,\n // 'frequency':datas.frequency,\n // 'other_frequency':datas.other_frequency,\n // 'emi': datas.emi,\n // 'loan_type': datas.loan_type,\n // 'others_loan_type': datas.others_loan_type,\n // 'loan_taken_by':datas.loan_taken_by,\n // 'others_loan_taken':datas.others_loan_taken,\n // 'lender': datas.lender,\n // 'others_lender':datas.others_lender,\n // 'original_tenure': datas.original_tenure,\n // 'current_balance_tenure': datas.current_balance_tenure,\n // 'elapsed_tenure':datas.elapsed_tenure\n // }\n control.push(this.createLoanDetail(null));\n this.selectedfrequency(datas.frequency,index);\n if(datas.loan_amount!=''){\n this.amtInwords[index]=this.constant.convertNumberToWords(datas.loan_amount);\n }\n if(datas.emi!=''){\n this.emiAmtInwords[index]=this.constant.convertNumberToWords(datas.emi);\n }\n })\n\n this.currentLoans.controls['loan_details'].setValue(result);\n \n }\n }\n }\n else\n {\n this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan);\n this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks);\n }\n\n }\n else {\n // console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n this.qustCat.getAssetsWithLoanFromBusiness(this.pdid).subscribe(data=>{\n console.log('Enter');\n\n if(data.dataStatus == true){\n \n console.log(\"dataStatus\",data.dataStatus);\n \n let AssetData = data.record;\n console.log(AssetData)\n \n // console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n if(AssetData.business_address_asset.length > 0){\n AssetData.business_address_asset.map(element=>{\n this.dataFromAssets.push({mode:0,\n mode_name:element.address_label,\n details:[],\n owner_name:element.business_name_of_the_owner,\n form_type:'Data From Bussiness Address'})\n })\n }\n\n if(AssetData.business_assets.length>0){\n AssetData.business_assets.map(element => {\n this.dataFromAssets.push({mode:element.business_assets_mode,\n mode_name:element.business_assets_mode_name,\n details:element.business_details,\n owner_name:element.business_name_of_the_owner,\n form_type:'Data From Business Assets'})\n });\n }\n\n if(AssetData.other_assests.length > 0){\n AssetData.other_assests.map(element => {\n this.dataFromAssets.push({mode:element.assets_mode,\n mode_name:element.assets_mode_name,\n details:element.details,\n owner_name:element.name_of_the_owner,\n form_type:'Data From Other Asset'\n })\n })\n }\n \n console.log(\"DAta\",this.dataFromAssets);\n // id: \"4\", name: \"Equipments and machinaries\", isactive: \"1\", flag: \"1\", is_others: \"0\"\n // id: \"7\", name: \"Investments\", isactive: \"1\", flag: \"0\", is_others: \"0\"\n // id: \"6\", name: \"Life Insurance Policy\", isactive: \"1\", flag: \"0\", is_others: \"0\"\n // id: \"2\", name: \"Property\", isactive: \"1\", flag: \"1\", is_others: \"0\"\n // id: \"3\", name: \"Vehicle\", isactsive: \"1\", flag: \"1\", is_others: \"0\"\n // id: \"1\", name: \"Others\", isactive: \"1\", flag: \"1\", is_others: \"1\"}\n \n if(this.dataFromAssets.length > 0){ \n let labelarray : any = [];\n \n this.dataFromAssets.forEach((val,index) => {\n if(val.mode == 0){\n console.log(\"0\")\n let owner = val.owner_name.map((e => {\n return e.name.split(',')\n }));\n // labelarray[index] = ' : '+owner +' - '+ val.mode_name.split(\"/\")[0] + ' ( ' + val.mode_name.split(\"/\")[1] + ' )';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name;\n } \n if(val.mode == 1){\n console.log(\"1\")\n let data;\n let owner: any = \"Owner Not Mentioned\";\n val.details.forEach((v,index) => {\n data = v.any_other_assets;\n });\n if(val.owner_name.length>0 ){\n owner = val.owner_name.map((e => {\n return e.name.split(',')\n }));\n }\n \n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\n }\n if(val.mode == 2){\n console.log(\"2\")\n let owner: any = \"Owner Not Mentioned\";\n let data;\n val.details.forEach((v,index) => {\n data = v.property_type_name;\n if(v.property_type != 1){\n if(val.form_type == 'Data From Business Assets'){\n data = this.addressTypeData.filter(item => item.address_type_id == v.property_type)[0].address_type;\n }\n else if(val.form_type == 'Data From Other Asset'){\n data = this.propertyTypeData.filter(item => item.id == v.property_type)[0].name;\n }\n else{\n data = '';\n }\n }else{\n data=v.other_property_type;\n }\n if(val.owner_name.length>0){\n owner = val.owner_name.map((e => {\n return e.name.split(',')\n }));\n }\n \n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\n }\n if(val.mode == 3){\n console.log(\"3\")\n let data;\n let owner: any = \"Owner Not Mentioned\";\n val.details.forEach((v,index) => {\n data = v.manufacturer_model_vehicle;\n });\n if(val.owner_name.length>0){\n owner = val.owner_name.map((e => {\n return e.name.split(',')\n }));\n }\n \n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\n }\n if(val.mode == 4){\n console.log(\"4\")\n let data;\n let owner: any = \"Owner Not Mentioned\";\n val.details.forEach((v,index) => {\n data = v.equipment_manufacturing_description;\n });\n if(val.owner_name.length>0 ){\n owner = val.owner_name.map((e => {\n return e.name.split(',')\n }));\n }\n \n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\n }\n if(val.mode == 6){\n console.log(\"6\")\n let owner:any=\"Owner Not Mentioned\";\n if(val.owner_name.length>0)\n {\n owner=val.owner_name.map((e=>{\n return e.name.split(',')\n }));\n }\n // else {\n // owner = val.owner_name;\n // }\n labelarray[index] = ' : '+owner+' - '+ val.mode_name;\n }\n if(val.mode == 7){\n console.log(\"7\")\n let data;\n let owner: any = \"Owner Not Mentioned\";\n val.details.forEach((v,index) => {\n data = v.investments_type != 1 \n ? this.investmentTypeData.filter(data => data.id == v.investments_type)[0].name \n : v.other_investments_type ;\n\n });\n if(val.owner_name.length>0){\n owner = val.owner_name.map((e => {\n return e.name.split(',')\n }));\n }\n console.log(\"exit\",owner)\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : ' + owner + ' - '+ val.mode_name + description;\n var vals= owner + ' - '+ val.mode_name \n console.log(\"labelarr\",labelarray[index])\n console.log(vals)\n }\n });\n const control = this.currentLoans.controls['loan_details'];\n this.labelArr = labelarray;\n let arr : any = [];\n if(this.labelArr.length > 0){\n this.currentLoans.controls['existing_loan'].setValue('Yes');\n this.labelArr.forEach((v,index) => {\n console.log(\"Label\",v);\n arr = { \n 'label': v,\n 'loan_amount': '',\n 'frequency':'',\n 'other_frequency':'',\n 'emi': '',\n 'loan_type': '',\n 'others_loan_type': '',\n 'loan_taken_by':'',\n 'others_loan_taken':'',\n 'lender': '',\n 'others_lender':'',\n 'original_tenure': '',\n 'current_balance_tenure': '',\n 'elapsed_tenure':''\n }\n control.push(this.createLoanDetail(arr));\n });\n // this.currentLoanForm.controls['existing_loan'].setValue(arr);\n }\n }\n else{\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n control.push(this.createLoanDetail(null));\n }\n \n }\n });\n }\n })\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormArray, FormBuilder, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\n\r\n/**\r\n * Generated class for the PdQuestionLoansPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-loans',\r\n templateUrl: 'pd-question-loans.html',\r\n})\r\nexport class PdQuestionLoansPage {\r\n enduse: any = [];\r\n propertyType: any;\r\n mortagetypeAccess: boolean;\r\n mortageAccess: boolean = false;\r\n mortageCardAccess: boolean;\r\n topUpAmtInWords: any;\r\n ownContributionInWords: any;\r\n valAsPerAgmtInWords: any;\r\n balTxrfAmtInWords: any;\r\n loanAmtInWords: any;\r\n\r\n emiAmtInWords:any;\r\n emvAmtInWords:any;\r\n\r\n m_btLenderList: any;\r\n applicants: any;\r\n m_endUseofLoad: any;\r\n m_sourceofamount: any;\r\n m_mortageTypeProperty: any;\r\n m_statusofCunstruction: any;\r\n ownerNames: any=[];\r\n isOtherPurpose: boolean=false;\r\n endUserList: any=[];\r\n pdDetails: any;\r\n FormId: any;\r\n productAbbr:any;\r\n loanDetailsForm: FormGroup;\r\n users: any;\r\n mergeCompanyApplicant:any=[];\r\n existCompanyList:any;\r\n m_endUseOFTopUpList:any=[]\r\n isContribution: boolean = false;\r\n\r\n \r\n isOtherSource: boolean = false;\r\n isPLSource: boolean = false;\r\n\r\n sourceList:any=[];\r\n pdid:number;\r\n m_endUseForLoan:any;\r\n subProductData: any=[];\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider,public constant:ConstantsProvider) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.applicants = this.pdDetails.applicat_details\r\n this.productAbbr = this.pdDetails.product_abbr;\r\n this.users = this.aws.getlocale();\r\n this.pdid=this.pdDetails.pd_id;\r\n this.getDropdown();\r\n\r\n this.loanDetailsForm = this.fb.group({\r\n loan_amount: [this.pdDetails.loan_amount],\r\n loan_tenure:[''],\r\n sub_product:[''],\r\n end_use: ['', Validators.compose([Validators.required])],\r\n end_use_other: [''],\r\n is_transfer: ['', Validators.compose([Validators.required])],\r\n //is_topup: ['', Validators.compose([Validators.required])],\r\n // is_topup: [''],\r\n balance_transfer_amount: [''],\r\n topup_amount: [''],\r\n end_use_topup:[''],\r\n other_end_use_topup:[''],\r\n lender: [''],\r\n other_bt_lender : [''],\r\n own_contribution: ['', Validators.compose([Validators.required])],\r\n source: [''],\r\n //personal_loan_source:[''],\r\n other_source:[''],\r\n //lender_name_type: [''],\r\n emi_level: ['', Validators.compose([Validators.required])],\r\n property_type: ['', Validators.compose([Validators.required])],\r\n property_type_others:[''],\r\n owner_name: ['', Validators.compose([Validators.required])],\r\n construction_status: ['', Validators.compose([Validators.required])],\r\n //percentage_of_construction : [''],\r\n emv_per_customer: ['', Validators.compose([Validators.required])],\r\n //value_per_agreement: ['', Validators.compose([Validators.required])],\r\n loandetails_remarks: ['', Validators.compose([Validators.required])],\r\n });\r\n console.log(this.pdDetails.loanAmount)\r\n if(this.loanDetailsForm.controls['loan_amount'] !=null){\r\n this.loanAmtInWords=this.constant.convertNumberToWords(this.pdDetails.loan_amount);\r\n }\r\n \r\n if(this.pdDetails.product_abbr !=\"BL\" || this.pdDetails.product_abbr !=\"PL\" || this.pdDetails.product_abbr !=\"LL\")\r\n {\r\n this.mortagetypeAccess = true;\r\n }else\r\n {\r\n this.mortagetypeAccess = false;\r\n }\r\n \r\n \r\n if(this.productAbbr == 'PL' || this.productAbbr == 'BL' || this.productAbbr == 'LAP'){\r\n this.isContribution = true;\r\n }\r\n \r\n }\r\n\r\n\r\n ionViewDidLoad() {\r\n console .log('ionViewDidLoad PdQuestionLoansPage');\r\n this.getLoanDetails();\r\n }\r\n\r\n\r\n getDropdown() {\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n })\r\n this.qustCat.getEndUseForLoan(this.pdid,this.pdDetails.fk_subproduct_id).subscribe(data=>{\r\n \r\n this.m_endUseForLoan=data['records'].filter(data=>data.isactive==1);\r\n \r\n });\r\n this.qustCat.getcommondrop('STATUSOFCONSTRUCTION').subscribe(\r\n data => {\r\n this.m_statusofCunstruction = data['records'].filter(data => data.isactive == 1);\r\n });\r\n\r\n this.qustCat.getcommondrop('MORTAGEPROPERTIES').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n let that = this;\r\n this.m_mortageTypeProperty = data['records'].filter(\r\n function(data){\r\n \r\n if(that.pdDetails.product_abbr !=\"LAP\" && data.group_name==that.pdDetails.product_abbr && data.isactive==1 )\r\n {\r\n return data;\r\n \r\n }else if(that.pdDetails.product_abbr ==\"LAP\" && data.sub_group_name==that.pdDetails.subproduct_name)\r\n {\r\n return data;\r\n }else\r\n {\r\n return ;\r\n }\r\n });\r\n // this.mortage_type(this.propertyType);\r\n }\r\n });\r\n this.qustCat.getcommondrop('SOURCEOFBALANCETRANSFER').subscribe(\r\n data => {\r\n this.m_sourceofamount = data['records'].filter(data => data.isactive == 1);\r\n });\r\n this.qustCat.getcommondrop('SUBPRODUCTS').subscribe(\r\n subdata => {\r\n if(subdata['dataStatus']==true){\r\n let that = this;\r\n this.m_endUseofLoad = subdata['records'].filter(\r\n function(data)\r\n {\r\n if(that.pdDetails.fk_product_id == data.fk_product_id && data.isactive==1)\r\n {\r\n return data;\r\n }\r\n });\r\n this.endUserChange(this.enduse);\r\n }\r\n });\r\n \r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n }\r\n })\r\n \r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n if(this.productAbbr != 'LAP'){\r\n this.mergeCompanyApplicant.push({groupName:'OTHERS',groupValues:[{id:0,name:'Not Yet Finalised',group_id:2}]})\r\n }\r\n }\r\n this.qustCat.getcommondrop('ENDUSEOFTOPUP').subscribe(data=>{\r\n this.m_endUseOFTopUpList=data['records'].filter(val=>val.is_active == 1)\r\n })\r\n this.qustCat.getcommondrop('SUBPRODUCTS').subscribe(data=>{\r\n this.subProductData=data['records'].filter(val=>val.isactive ==1);\r\n console.log(this.subProductData);\r\n })\r\n \r\n \r\n \r\n }\r\n\r\n selectedBalancesTransferChanges(event: any){\r\n // if(event.value == 'no') { \r\n // this.loanDetailsForm.controls['is_topup'].clearValidators();\r\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\r\n // this.loanDetailsForm.controls['is_topup'].setValue('');\r\n //}\r\n //else if(event.value == 'yes'){\r\n // this.loanDetailsForm.controls['is_topup'].setValidators([Validators.required]);\r\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\r\n // }\r\n if (event.value == 'no') {\r\n this.loanDetailsForm.controls['source'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\r\n\r\n this.loanDetailsForm.controls['own_contribution'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\r\n \r\n this.loanDetailsForm.controls['other_bt_lender'].setValue('');\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(''); \r\n this.loanDetailsForm.controls['lender'].setValue('');\r\n this.loanDetailsForm.controls['topup_amount'].setValue('');\r\n this.loanDetailsForm.controls['end_use_topup'].setValue('');\r\n this.loanDetailsForm.controls['other_end_use_topup'].setValue('');\r\n this.topUpAmtInWords=''\r\n\r\n }\r\n else if (event.value == 'yes') {\r\n this.loanDetailsForm.controls['source'].setValue('');\r\n this.loanDetailsForm.controls['source'].clearValidators();\r\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\r\n \r\n this.loanDetailsForm.controls['own_contribution'].setValue('');\r\n this.loanDetailsForm.controls['own_contribution'].clearValidators();\r\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\r\n \r\n this.isOtherSource = false;\r\n this.loanDetailsForm.controls['other_source'].setValue('');\r\n \r\n }\r\n\r\n}\r\n \r\n mortage_type(mortage_value)\r\n {\r\n \r\n let mortagetypes = this.m_mortageTypeProperty.filter(mor=>mor.mortage_property_id==mortage_value)[0];\r\n var property_name=mortagetypes.property_name\r\n if(property_name=='Others (Please Specify)')\r\n {\r\n this.mortageAccess = true;\r\n }else\r\n {\r\n this.mortageAccess = false; \r\n }\r\n \r\n \r\n }\r\n compareObjects(o1: any, o2: any){\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n \r\n }\r\n\r\n\r\n loanCalc()\r\n {\r\n let BtAmount = this.loanDetailsForm.value.balance_transfer_amount;\r\n let loanAmount = this.loanDetailsForm.value.loan_amount;\r\n let topupAmt ;\r\n if(BtAmount !=null && BtAmount !='' && loanAmount !=null && loanAmount!='')\r\n {if (loanAmount >= BtAmount) {\r\n topupAmt = loanAmount - BtAmount;\r\n this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\r\n \r\n this.topUpAmtInWords = this.constant.convertNumberToWords(topupAmt);\r\n } else {\r\n this.toast.pdTriggerappmessage('warning !! Balances Transfer Amount is greater than Loan Amount Please check.!');\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue('');\r\n this.balTxrfAmtInWords = '';\r\n this.loanDetailsForm.controls['topup_amount'].setValue('');\r\n this.topUpAmtInWords = '';\r\n } }\r\n //this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\r\n }\r\n subProductChange(event){\r\n this.qustCat.getEndUseForLoan(this.pdid,event).subscribe(res=>{\r\n this.m_endUseForLoan=res['records'].filter(data=>data.isactive==1);\r\n })\r\n }\r\n endUserChange(event) {\r\n //this.endUserList = [];\r\n event.forEach(option => {\r\n let othresData = this.m_endUseForLoan.filter(sub=>sub.enduse_of_loan_id==option)[0];\r\n othresData = othresData.enduse_of_loan.substr(0,6).toLowerCase();\r\n this.endUserList.push({ end_use: option });\r\n if (othresData == 'others') {\r\n \r\n this.isOtherPurpose = true;\r\n return ;\r\n }else\r\n {\r\n this.isOtherPurpose = false;\r\n \r\n }\r\n });\r\n }\r\n ownerNameChange(event) {\r\n this.ownerNames = [];\r\n event.value.forEach(option => {\r\n this.ownerNames.push({ owner_name: option });\r\n });\r\n }\r\n sourceChange(evt) {\r\n\r\n // this.isOtherSource = (evt.some(e => e == 4) == true) ? true : false ;\r\n // this.isPLSource = (evt.some(e => e == 3) == true) ? true : false ;\r\n\r\n this.isOtherSource = evt.some(e => e == 1) // this return true or false Only;\r\n this.isPLSource = evt.some(e => e == 3) // this return true or false Only;\r\n\r\n this.sourceList = [];\r\n\r\n evt.forEach(option => {\r\n this.sourceList.push({source: option});\r\n });\r\n}\r\n inWords(e,flag:number){\r\n switch(flag){\r\n case 1 :\r\n this.loanAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 2 : \r\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 3 :\r\n this.valAsPerAgmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 4 :\r\n this.ownContributionInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 5 :\r\n this.topUpAmtInWords = this.constant.convertNumberToWords(e.target.value); \r\n break;\r\n case 6:\r\n this.emiAmtInWords=this.constant.convertNumberToWords(e.target.value);\r\n break;\r\n case 7:\r\n this.emvAmtInWords=this.constant.convertNumberToWords(e.target.value);\r\n default:\r\n break;\r\n }\r\n}\r\n submitLoanDetails() {\r\n // if(this.loanDetailsForm.valid){\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.loan_amount = this.loanDetailsForm.controls['loan_amount'].value;\r\n records.loan_tenure=this.loanDetailsForm.controls['loan_tenure'].value;\r\n records.sub_product=this.loanDetailsForm.controls['sub_product'].value;\r\n // get end user final group data\r\n let dataEnd_user_data = [];\r\n this.loanDetailsForm.controls['end_use'].value.forEach(element => {\r\n dataEnd_user_data.push({end_use: element})\r\n });\r\n records.end_use_group = dataEnd_user_data;\r\n\r\n if (this.isOtherPurpose) {\r\n records.end_use_other = this.loanDetailsForm.controls['end_use_other'].value;\r\n }\r\n records.is_transfer = this.loanDetailsForm.controls['is_transfer'].value;\r\n // records.is_topup = this.loanDetailsForm.controls['is_topup'].value;\r\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\r\n records.balance_transfer_amount = this.loanDetailsForm.controls['balance_transfer_amount'].value;\r\n }\r\n else if(this.loanDetailsForm.controls['is_transfer'].value == 'no'){\r\n records.own_contribution = this.loanDetailsForm.controls['own_contribution'].value;\r\n \r\n let dataSource_list=[];\r\n if(this.loanDetailsForm.controls['source'].value != '')\r\n {\r\n \r\n this.loanDetailsForm.controls['source'].value.forEach(element => {\r\n dataSource_list.push({sources : element})\r\n });\r\n }\r\n records.source_group=dataSource_list;\r\n \r\n }\r\n //if (this.loanDetailsForm.controls['is_topup'].value == 'yes') {\r\n records.topup_amount = this.loanDetailsForm.controls['topup_amount'].value;\r\n //}\r\n if(records.topup_amount > 0){\r\n records.end_use_topup = this.loanDetailsForm.controls['end_use_topup'].value;\r\n if(records.end_use_topup == 1){\r\n records.other_end_use_topup = this.loanDetailsForm.controls['other_end_use_topup'].value;\r\n }\r\n }\r\n \r\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\r\n records.lender = this.loanDetailsForm.controls['lender'].value;\r\n }\r\n if(this.loanDetailsForm.controls['lender'].value == 1){\r\n records.other_bt_lender = this.loanDetailsForm.controls['other_bt_lender'].value;\r\n } \r\n \r\n \r\n\r\n \r\n /* records.source = this.loanDetailsForm.controls['source'].value;\r\n if (this.loanDetailsForm.controls['source'].value == 'other') {\r\n records.lender_name_type = this.loanDetailsForm.controls['lender_name_type'].value;\r\n }*/\r\n if(this.isOtherSource){\r\n records.other_source=this.loanDetailsForm.controls['other_source'].value;\r\n }\r\n else{\r\n records.other_source = ''; \r\n }\r\n \r\n records.emi_level = this.loanDetailsForm.controls['emi_level'].value;\r\n if(this.mortageCardAccess == true){\r\n records.property_type = this.loanDetailsForm.controls['property_type'].value;\r\n if(this.loanDetailsForm.value.property_type_others !='' && this.loanDetailsForm.value.property_type_others !=null){\r\n records.property_type_others = this.loanDetailsForm.controls['property_type_others'].value;\r\n };\r\n // records.owner_name_group = this.ownerNames;\r\n if(this.loanDetailsForm.controls['owner_name'].value != ''){\r\n let dataOwner_name = [];\r\n this.loanDetailsForm.controls['owner_name'].value.forEach(element => {\r\n dataOwner_name.push({owner_name: element})\r\n });\r\n records.owner_name_group = dataOwner_name;\r\n }\r\n else{\r\n records.owner_name_group='';\r\n }\r\n \r\n records.construction_status = this.loanDetailsForm.controls['construction_status'].value;\r\n // records.percentage_of_construction = this.loanDetailsForm.controls['percentage_of_construction'].value;\r\n \r\n }else{\r\n records.property_type = null;\r\n records.property_type_others = null;\r\n records.owner_name_group = null;\r\n records.construction_status = null;\r\n records.emv_per_customer = null;\r\n }\r\n records.emv_per_customer = this.loanDetailsForm.controls['emv_per_customer'].value;\r\n //records.value_per_agreement = this.loanDetailsForm.controls['value_per_agreement'].value;\r\n records.loandetails_remarks = this.loanDetailsForm.controls['loandetails_remarks'].value;\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n if(data['dataStatus']== true){\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Error');\r\n }\r\n // this.notifier.notify('success', 'Saved Successfully.');\r\n })\r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter The All Field');\r\n // }\r\n }\r\n\r\n getLoanDetails() {\r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n\r\n this.qustCat.retiverForm(records).subscribe(value => {\r\n if (value['dataStatus'] == true) {\r\n let loanDetails = value['records'];\r\n let result = Object.keys(loanDetails.end_use_group).map(function (key) {\r\n return loanDetails.end_use_group[key];\r\n });\r\n \r\n\r\n //this.enduse\r\n result.forEach(val => {\r\n this.enduse.push(val.end_use);\r\n //this.endUserList.push({'end_use':val.end_use});\r\n });\r\n let ownername: any = [];\r\n if(loanDetails.owner_name_group != null){\r\n let owner = Object.keys(loanDetails.owner_name_group).map(function (key) {\r\n return loanDetails.owner_name_group[key];\r\n });\r\n owner.forEach(val => {\r\n ownername.push(val.owner_name);\r\n this.ownerNames.push({'end_use':val.end_use});\r\n });\r\n }\r\n this.loanDetailsForm.controls['loan_amount'].setValue(loanDetails.loan_amount);\r\n this.loanDetailsForm.controls['loan_tenure'].setValue(loanDetails.loan_tenure);\r\n if(loanDetails.loan_amount){ this.loanAmtInWords = this.constant.convertNumberToWords(loanDetails.loan_amount); }\r\n this.loanDetailsForm.controls['sub_product'].setValue(loanDetails.sub_product)\r\n this.loanDetailsForm.controls['end_use'].setValue(this.enduse);\r\n this.endUserChange(this.enduse);\r\n\r\n if (loanDetails.end_use_other!='') {\r\n //this.endUserChange(this.enduse);\r\n // this.isOtherPurpose=true;\r\n this.loanDetailsForm.controls['end_use_other'].setValue(loanDetails.end_use_other);\r\n }\r\n \r\n this.loanDetailsForm.controls['is_transfer'].setValue(loanDetails.is_transfer);\r\n if (loanDetails.balance_transfer_amount) {\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\r\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(loanDetails.balance_transfer_amount); \r\n }\r\n if (loanDetails.topup_amount) {\r\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\r\n this.topUpAmtInWords = this.constant.convertNumberToWords(loanDetails.topup_amount); \r\n if(loanDetails.topup_amount > 0){\r\n this.loanDetailsForm.controls['end_use_topup'].setValue(loanDetails.end_use_topup);\r\n if (loanDetails.end_use_topup == 1) {\r\n this.loanDetailsForm.controls['other_end_use_topup'].setValue(loanDetails.other_end_use_topup);\r\n }\r\n } \r\n }\r\n // this.loanDetailsForm.controls['is_topup'].setValue(loanDetails.is_topup);\r\n if (loanDetails.balance_transfer_amount) {\r\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\r\n }\r\n if (loanDetails.topup_amount) {\r\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\r\n }\r\n if (loanDetails.lender) {\r\n this.loanDetailsForm.controls['lender'].setValue(loanDetails.lender);\r\n }\r\n this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution);\r\n if(loanDetails.own_contribution)\r\n {\r\n this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution);\r\n }\r\n //this.loanDetailsForm.controls['source'].setValue(loanDetails.source);\r\n if(loanDetails.is_transfer!='yes')\r\n {\r\n let source=Object.keys(loanDetails.source_group).map(function(key){\r\n return loanDetails.source_group[key];\r\n });\r\n let dbsourcelist:any=[];\r\n source.forEach(val=>{\r\n dbsourcelist.push(val.sources);\r\n });\r\n this.loanDetailsForm.controls['source'].setValue(dbsourcelist);\r\n this.sourceChange(dbsourcelist);\r\n if(loanDetails.other_source) {\r\n // this.isOtherSource = true;\r\n this.loanDetailsForm.controls['other_source'].setValue(loanDetails.other_source);\r\n }\r\n \r\n \r\n }\r\n\r\n/* if (loanDetails.lender_name_type) {\r\n this.loanDetailsForm.controls['lender_name_type'].setValue(loanDetails.lender_name_type);\r\n }*/\r\n \r\n if(loanDetails.emi_level){\r\n this.loanDetailsForm.controls['emi_level'].setValue(loanDetails.emi_level);\r\n this.emiAmtInWords=this.constant.convertNumberToWords(loanDetails.emi_level);\r\n }\r\n this.loanDetailsForm.controls['other_bt_lender'].setValue(loanDetails.other_bt_lender); \r\n this.loanDetailsForm.controls['property_type'].setValue(loanDetails.property_type);\r\n this.propertyType =loanDetails.property_type;\r\n if(loanDetails.property_type !=null){\r\n this.mortage_type(this.propertyType);\r\n if(this.mortageCardAccess == true){\r\n this.loanDetailsForm.controls['property_type_others'].setValue(loanDetails.property_type_others); \r\n // this.mortage_type(loanDetails.property_type_others);\r\n \r\n }\r\n this.loanDetailsForm.controls['owner_name'].setValue(ownername);\r\n this.loanDetailsForm.controls['construction_status'].setValue(loanDetails.construction_status);\r\n this.loanDetailsForm.controls['emv_per_customer'].setValue(loanDetails.emv_per_customer);\r\n if(loanDetails.emv_per_customer)\r\n {\r\n this.emvAmtInWords=this.constant.convertNumberToWords(loanDetails.emv_per_customer);\r\n }\r\n }\r\n // this.loanDetailsForm.controls['value_per_agreement'].setValue(loanDetails.value_per_agreement);\r\n this.loanDetailsForm.controls['loandetails_remarks'].setValue(loanDetails.loandetails_remarks);\r\n } else {\r\n\r\n }\r\n })\r\n if(this.productAbbr == 'BL' || this.productAbbr == 'PL' || this.productAbbr == 'LL'){\r\n this.mortageCardAccess = false;\r\n this.loanDetailsForm.controls['owner_name'].setValue('');\r\n this.loanDetailsForm.controls['owner_name'].clearValidators();\r\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\r\n \r\n }else{\r\n this.mortageCardAccess = true;\r\n this.loanDetailsForm.controls['owner_name'].setValidators([Validators.required]);\r\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\r\n \r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-loans/pd-question-loans.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionBankingPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-banking',\r\n templateUrl: 'pd-question-banking.html',\r\n // changeDetection:ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PdQuestionBankingPage {\r\n \r\n m_btLenderList: any;\r\n applicants: any ;\r\n salaryField: boolean;\r\n FormId: any;\r\n accountType: any;\r\n users: any;\r\n bankDetails:FormGroup;\r\n pdDetails: any;\r\n pdid:any;\r\n bankitems:FormArray;\r\n\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n limitCaseFlag: any=[];\r\n amtInwords: any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons: ConstantsProvider) {\r\n //this.applicants.pop();\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \r\n \r\n \r\n // alert();\r\n this.users = this.aws.getlocale();\r\n this.bankDetails = this.fb.group(\r\n {\r\n bankitems:this.fb.array([]),\r\n banking_form_remark:[null],\r\n });\r\n \r\n \r\n \r\n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\r\n \r\n \r\n this.getdropdown();\r\n this.retiveBankDetails();\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBankingPage');\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.accountType=res['records'];\r\n }\r\n });\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n \r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n \r\n }\r\n // let modifyCompanyList : any=[];\r\n // if(this.existCompanyList.length>0){\r\n // modifyCompanyList = this.existCompanyList.map(element => {\r\n // return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n // });\r\n // this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n //}\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n }\r\n selectedAccTypeChanges(event: any,i){\r\n \r\n if(event == 2 || event == 1) {\r\n this.limitCaseFlag[i] = false;\r\n \r\n // const control = this.bankingForm.controls['itemRows'];\r\n \r\n // control.controls[0].get('limit').clearValidators();\r\n // control.controls[0].get('limit').updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.limitCaseFlag[i] = true;\r\n }\r\n\r\n}\r\n\r\n/** Amount InWords */\r\ninWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n}\r\n\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e){\r\n \r\n \r\n let year = itemrow.controls.vintage_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n createBankItem(name) {\r\n \r\n return this.fb.group({\r\n applicant_name: [''],\r\n bank_name: [''],\r\n account_type: [''],\r\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\r\n limit: [''],\r\n other_bank:[''],\r\n other_applicant:[''],\r\n //is_main: [''],\r\n vintage_year: [''],\r\n vintage_month: [''],\r\n \r\n });\r\n\r\n }\r\n \r\n addBankDetails() {\r\n // if(this.pd.valid){\r\n \r\n // if(this.items.length !=0)\r\n // {\r\n // this.neighbourAccess = true;\r\n // }\r\n \r\n \r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n this.bankitems.push(this.createBankItem(''));\r\n \r\n \r\n \r\n }\r\n\r\n addmoreBankDetils()\r\n {\r\n \r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n this.bankitems.push(this.createBankItem('')); \r\n }\r\n\r\n removebank(i){\r\n\r\n if(this.bankitems.length==1){\r\n this.bankitems.reset();\r\n }\r\n else\r\n this.bankitems.removeAt(i);\r\n }\r\n\r\n savepdBank(answerData)\r\n {\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.banking_details = answerData.bankitems;\r\n records.banking_form_remark = answerData.banking_form_remark;\r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n })\r\n \r\n }\r\n\r\n retiveBankDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n var result = Object.keys(res['records'].banking_details).map(function(key) {\r\n return res['records'].banking_details[key];\r\n });\r\n this.bankDetails.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\r\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\r\n \r\n if(result.length ==0){\r\n \r\n this.bankitems.push(this.createBankItem(''))\r\n }else\r\n {\r\n \r\n \r\n \r\n \r\n result.forEach((datas,index)=>\r\n {\r\n this.selectedAccTypeChanges(+datas.account_type,index)\r\n if(datas.limit != ''){\r\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \r\n } \r\n // this.selectedBorrower(datas.applicant_name,index);\r\n this.bankitems.push(this.createBankItem(''));\r\n })\r\n this.bankDetails.controls['bankitems'].setValue(result);\r\n }\r\n \r\n \r\n }else\r\n {\r\n \r\n this.addBankDetails();\r\n }\r\n });\r\n \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-banking/pd-question-banking.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\nimport { ConstantsProvider } from '../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionFamilyPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-family',\n templateUrl: 'pd-question-family.html',\n})\nexport class PdQuestionFamilyPage {\n\n\n earningStatus = [{\n type: 'Earning',\n id: 1\n}, {\n type: 'Non Earning',\n id: 2\n}]\nearning_gross_income_per_month:any;\n\n nofamily:number;\ndata:any;\n familyAddStatus: boolean;\n ownerShip: any;\n cusSeg: any;\n FormId: any;\n users: any;\n pdDetails: any;\n occupationData: any;\n membersitem: FormArray;\n items: FormArray;\n relationData: any;\n familyForm: FormGroup;\n total_number_of_family_members;\n filteredStates: any ;\n public selected_person;\n stateData:any;\n cityData: any =[];\n pincodeData:any=[];\n FamilyMemberAsLabel: any=[];\n selectPerson: any=[];\n apiFamilyMembers: any=[];\n //isReadOnly: any=[];\n RentAmount: any=[];\n IncomePerMonth: any=[];\n // cons: any;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\n public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider,public cons:ConstantsProvider) {\n this.FormId = this.navParams.get('FormId');\n this.pdDetails = this.navParams.get('pdDetails');\n this.selected_person=this.pdDetails.pdapplicants_details;\n this.selectPerson=this.pdDetails.applicat_details\n this.users = this.aws.getlocale();\n \n \n this.familyForm = this.fb.group({\n family_details: this.fb.array([\n //this.initFamilyDetails()\n \n ]),\n family_details_form_remark:[''],\n \n \n });\n this.getRelation();\n this.getoccupation();\n \n \n \n }\n\n ionViewDidLoad() {\n console.log(\"ionViewDidLoad PdQuestionFamilyPage\")\n this.getFamilyData();\n }\n initFamilyDetails(records) : void\n {\n if (records === null) {\n let formData: FormGroup = this.fb.group({\n selected_person: ['', Validators.compose([Validators.required])],\n residence_place: ['', Validators.compose([])],\n residence_city: ['', Validators.compose([])],\n residence_state: ['', Validators.compose([])],\n residence_pin: ['', Validators.compose([])],\n residence_other_pincode:['',Validators.compose([])],\n residence_No_of_years: ['', Validators.compose([])],\n residence_ownership: ['', Validators.compose([])],\n ownershipOther: [''],\n rent: [''],\n total_number_of_family_members: ['', Validators.compose([Validators.min(1), Validators.max(20)])],\n family_members_details: this.fb.array([])\n });\n const control = this.familyForm.controls['family_details'];\n control.push(formData);\n \n }\n else{\n records.forEach((val,index)=>{\n if(val.rent != null){\n \n this.RentAmount[index] = this.cons.convertNumberToWords(val.rent); \n }\n this.FamilyMemberAsLabel[index] = this.selectPerson.filter(item => item.pd_co_applicant_id == val.selected_person)[0].applicant_name;\n this.getCity(val.residence_state,index);\n let formData:FormGroup=this.fb.group({\n selected_person:[val.selected_person],\n residence_place:[val.residence_place],\n residence_city:[val.residence_city],\n residence_state:[val.residence_state],\n residence_pin:[val.residence_pin],\n residence_other_pincode:[val.residence_other_pincode],\n residence_No_of_years: [val.residence_No_of_years,Validators.compose([])],\n residence_ownership:[val.residence_ownership],\n rent:[val.rent || null],\n ownershipOther:[val.ownershipOther || null],\n total_number_of_family_members:[val.total_number_of_family_members,Validators.compose([Validators.min(1), Validators.max(20)])],\n family_members_details:this.fb.array([])\n \n });\n \n const control = this.familyForm.controls['family_details'];\n control.push(formData);\n \n let inx=control.length-1;\n //this.getNumberOfFamilyMemberDetails(inx);\n this.initFamilyMembersDetails(inx, val.family_members_details);\n \n \n //this.initFamilyMembersDetails\n \n })\n }\n /*\n return this.fb.group({\n //family_details\n selected_person:[''],\n residence_place:[''],\n residence_city:[''],\n residence_state:[''],\n residence_pin:[''],\n residence_No_of_years: ['',Validators.compose([])],\n residence_ownership:[],\n rent:[''],\n ownershipOther:[''],\n total_number_of_family_members:['',Validators.compose([Validators.min(1), Validators.max(20)])],\n \n //family_member_details\n \n \n \n family_members_details:this.fb.array([]),\n \n\n // person: [null],\n /* personOther: [''],\n members: [''],\n residence: [''],\n years: [null],\n family_details_form_remark:[''],\n \n });*/\n\n }\n initFamilyMembersDetails(inx,val) :void {\n const control = this.familyForm.controls['family_details']['controls'][inx].controls.family_members_details;\n val.forEach((vals,index)=>{\n\n \n if(vals.earning_gross_income_per_month != null){\n this.IncomePerMonth[index] = this.cons.convertNumberToWords(vals.earning_gross_income_per_month);\n }\n let datas = this.fb.group({\n family_member_name: [vals.family_member_name || null, Validators.compose([])],\n family_member_relationship: [vals.family_member_relationship || null, Validators.compose([])],\n family_member_age: [vals.family_member_age || null, Validators.compose([])],\n family_member_earning_status: [vals.family_member_earning_status || null, Validators.compose([])],\n earning_segment: [vals.earning_segment || null, Validators.compose([])],\n earning_if_others_segment:[vals.earning_if_others_segment || null, Validators.compose([])],\n earning_gross_income_per_month: [vals.earning_gross_income_per_month || null, Validators.compose([])],\n earning_name_of_the_employer_or_business: [vals.earning_name_of_the_employer_or_business || null, Validators.compose([])],\n earning_number_of_years_in_employment_or_business: [vals.earning_number_of_years_in_employment_or_business || null, Validators.compose([])],\n non_earning_occupation: [vals.non_earning_occupation || null, Validators.compose([])],\n non_earning_if_others: [vals.non_earning_if_others || null, Validators.compose([])],\n non_earning_if_schoolorcollege:[vals.non_earning_if_schoolorcollege || null, Validators.compose([])],\n non_earning_if_retired_from: [vals.non_earning_if_retired_from || null, Validators.compose([])],\n })\n \n control.push(datas);\n });\n }\n \n /*return this.fb.group({\n family_member_name:[''],\n family_member_relationship:[],\n family_member_age:[],\n family_member_earning_status:['',Validators.compose([])],\n //family_member_earnings\n earning_segment:[''],\n earning_gross_income_per_month:[''],\n earning_name_of_the_employer_or_business:[''],\n earning_number_of_years_in_employment_or_business:[''],\n \n non_earning_occupation:[''],\n non_earning_if_others:[''],\n non_earning_if_retired_from:[''],\n });*/\n \n\n\n add() :void { \n // const control=this.familyForm.controls['family_details'];\n //control.push(this.initFamilyDetails('chck'));\n this.initFamilyDetails(null);\n this.toast.pdTriggerappmessage(\"Family Details Added\");\n }\n remove_family_details(i:number):void{\n const control=this.familyForm.controls['family_details'];\n control.removeAt(i);\n }\n addMemberDet(data:any){\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n //this.initFamilyMembersDetails('','')\n control.push(this.generateFamilyMembersDetailsGet())\n }\n removeMemberDet(index:any,f_index:any){\n const control=this.familyForm.controls['family_details']['controls'][f_index].controls.family_members_details;\n if(control.length>1){\n control.removeAt(index); \n }\n else{\n control.reset()\n }\n // if(control.value !=null && index == 0)\n\n }\n getNumberOfFamilyMemberDetails(data)\n {\n \n var datavalue=data;\n let formData=this.familyForm.controls['family_details']['controls'][datavalue].controls;\n if(formData['total_number_of_family_members'].valid)\n {\n let totmem=formData['total_number_of_family_members'].value;\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n if(totmem>=control.length){\n let len=totmem-control.length;\n for( let i=0;i=totmem;i--)\n {\n control.removeAt(i);\n }\n \n // var nn=control.length-totmem; \n // control.controls = [];\n /*for (let i = 0; i < totmem; i++) {\n control.push(this.generateFamilyMembersDetailsGet());\n\n }*/\n // this.initFamilyDetails(this.resValue['records'].family_details);\n // this.toast.pdTriggerappmessage(\"Please choose the number greater than\"+control.length);\n }\n \n \n }\n else{\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n control.removeAt(control.length);\n control.controls=[];\n }\n /* const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n control.push(this.initFamilyMembersDetails());\n */ \n }\n generateFamilyMembersDetailsGet(): FormGroup {\n return this.fb.group({\n family_member_name: ['', Validators.compose([])],\n family_member_relationship: ['', Validators.compose([])],\n family_member_age: ['', Validators.compose([])],\n family_member_earning_status: ['', Validators.compose([])],\n earning_segment: ['', Validators.compose([])],\n earning_if_others_segment:['',Validators.compose([])],\n earning_gross_income_per_month: ['', Validators.compose([])],\n earning_name_of_the_employer_or_business: ['', Validators.compose([])],\n earning_number_of_years_in_employment_or_business: ['', Validators.compose([])],\n non_earning_occupation: ['', Validators.compose([])],\n non_earning_if_others: ['', Validators.compose([])],\n non_earning_if_schoolorcollege:['',Validators.compose([])],\n non_earning_if_retired_from: ['', Validators.compose([])],\n })\n}\n \n getRelation() {\n let master_name = 'RELATIONSHIPS';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n \n if(data['dataStatus'] == true){\n this.relationData = data['records'].filter(rel=>rel.isactive ==1);\n }\n });\n\n this.qustCat.getcommondrop('PERSONSMET').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.filteredStates = res['records'].filter(per=>per.isactive==1);\n }\n });\n // this.qustCat.getcommondrop('CUSTOMERSEGMENT').subscribe(res=>\n // {\n // if(res['dataStatus']==true)\n // {\n // this.cusSeg = res['records'].filter(seg=>seg.isactive==1);\n // }\n // });\n this.qustCat.getcommondrop('EARNINGMEMBERSSTATUS').subscribe(res=>{\n if(res['dataStatus']==true){\n this.cusSeg = res['records'].filter(seg=>seg.isactive==1);\n }\n })\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.ownerShip = res['records'].filter(own=>own.isactive==1);\n }\n });\n this.qustCat.getcommondrop('STATE').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.stateData=res['records'].filter(item=>item.isactive==1);\n }\n })\n \n}\ngetCity(e,i){\n // this.cityData = this.wholeCityData.filter(city=>city.fk_state_id == e); \n // this._pd.retriveForm(params).subscribe(data => {\n this.qustCat.getStateWiseCities(e).subscribe(data=>{\n if (data['dataStatus'] == true) {\n this.cityData[i] = data.records.cities; \n this.pincodeData[i] = data.records.pincode;\n }\n });\n}\ngetoccupation()\n{\n let master_name = 'OCCUPATIONMEMBERS';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n if(data['dataStatus']==true){\n this.occupationData = data['records'].filter(occ=>occ.isactive ==1);\n }\n });\n}\n /* createMembers(): FormGroup {\n return this.fb.group({\n earning_member_name : [null],\n earning_member_age : [null],\n relation: [null],\n segment: [null],\n income: [null],\n employer_name: [null],\n });\n}\ncount :number = 0;\naddearningMembers()\n{\n this.items = this.familyForm.get('earningMembers') as FormArray;\n this.items.push(this.createMembers());\n this.count++;\n this.checkfamilystatus(this.count,''); \n\n}\n\ndeleteEarningMembers(i)\n{\n\n if(this.items.length==1)\n {\n this.familyForm.controls['earningMembers'].reset();\n }else{\n this.items.removeAt(i);\n }\n this.count--;\n this.checkfamilystatus(this.count,''); \n}\ncreateNonMembers(): FormGroup {\n return this.fb.group({\n non_earning_member_name : [''],\n non_earning_member_age : [''],\n relationship: [null],\n occupation: [null],\n retired: [null],\n others_occupation:[null],\n });\n}\naddMembers()\n{\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\n this.count++;\n this.checkfamilystatus(this.count,''); \n this.membersitem.push(this.createNonMembers());\n \n}\ndeleteMembers(i)\n{\n if(this.membersitem.length==1){\n this.familyForm.controls['nonEarningMembers'].reset();\n \n }else{\n this.membersitem.removeAt(i);\n }\n this.count--;\n this.checkfamilystatus(this.count,''); \n}\ncheckfamilystatus(count,familystatus)\n{\n if(familystatus !='' && familystatus !==undefined){\n\n }else{\n familystatus = this.familyForm.get('members').value;\n }\n if(familystatus !== null ){\n if(familystatus == count)\n {\n\n this.familyAddStatus = true;\n }else\n {\n this.familyAddStatus = false;\n }\n }\n}*/\n/* Old\nsavepdfamily(answerData)\n{\n let records: any = {};\n records.no_of_years = answerData.years;\n if (answerData.ownership == '4') {\n records.ownershipOther = answerData.ownershipOther;\n } \n records.residence = answerData.residence;\n if (answerData.ownership == '3') {\n records.what_rent = answerData.rent;\n }\n // if (answerData.person == '8') {\n // records.person_met = answerData.personOther.value;\n // } else {\n // records.person_met = answerData.person;\n // }\n records.ownership = answerData.ownership\n records.family_members = answerData.members;\n records.earning_members = answerData.earningMembers;\n records.non_earning_members = answerData.nonEarningMembers;\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.family_details_form_remark = answerData.family_details_form_remark;\n this.qustCat.saveForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })\n}*/\n\nsavepdfamily(answerData)\n{\n \n let records:any={};\n \n records=this.familyForm.value;\n\n Object.keys(records).forEach((key)=>(records[key]==null)&& delete records[key]);\n records.pdid=this.pdDetails.pd_id;\n records.formid=this.FormId.form_id;\n records.fk_createdby=this.users;\n this.qustCat.saveForm(records).subscribe(res=>{\n\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n \n },err=>{\n this.toast.pdTriggerappmessage(\"Some Fields value is Missing Please Fill It\");\n })\n\n /*let records: any = {};\n records.no_of_years = answerData.residence_No_of_years;\n if (answerData.residence_ownership == '4') {\n records.ownershipOther = answerData.ownershipOther;\n } \n //records.residence = answerData.residence;\n if (answerData.residence_ownership == '3') {\n records.what_rent = answerData.rent;\n }\n // if (answerData.person == '8') {\n // records.person_met = answerData.personOther.value;\n // } else {\n // records.person_met = answerData.person;\n // }\n records.ownership = answerData.residence_ownership\n records.family_members = answerData.total_number_of_family_members;\n records.earning_members = answerData.earningMembers;\n records.non_earning_members = answerData.nonEarningMembers;\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.family_details_form_remark = answerData.family_details_form_remark;\n this.qustCat.saveForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })*/\n}\nprevFamilyMembersCtrlLength: number = 0;\ncurrFamilyMembersCtrlLength: number = 0;\nselectedPerson(e,inx){\n \n this.FamilyMemberAsLabel[inx] = this.selectPerson.filter(item => item.pd_co_applicant_id == e)[0].applicant_name;\n \n const control = this.familyForm.controls['family_details']['controls'][inx].controls.family_members_details;\n \n this.currFamilyMembersCtrlLength = control.length;\n \n let i : number = 0 ;\n for(i ;i < this.prevFamilyMembersCtrlLength;i++){\n console.log(i,this.prevFamilyMembersCtrlLength);\n control.removeAt(i);\n }\n // while(index < this.prevFamilyMembersCtrlLength)\n // { \n // }\n this.prevFamilyMembersCtrlLength = this.currFamilyMembersCtrlLength;\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\n\n if(this.apiFamilyMembers.length>0){\n\n let arraydata : any;\n let data = this.apiFamilyMembers.filter(item => item.relation_to == e);\n\n \n // data_gets_from:'GeneralForm'\n // data_gets_from:'BusinessForm'\n \n if(data.length > 0){\n \n \n this.prevFamilyMembersCtrlLength = data.length;\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\n\n\n data.forEach((val,inx) => {\n \n // // family_member_earning_status\n // if(val.age){\n // this.isReadOnly[inx] = true;\n // }else{\n // this.isReadOnly[inx] = false;\n // }\n arraydata = {\n 'family_member_name' : val.name,\n 'family_member_relationship' : val.relationship,\n 'family_member_age' : val.age,\n 'family_member_earning_status': val.data_gets_from == 'BusinessForm' ? '1' :'',\n 'earning_segment': '',\n 'earning_gross_income_per_month': '',\n 'earning_name_of_the_employer_or_business':'',\n 'earning_number_of_years_in_employment_or_business': '',\n 'earning_if_others_segment':'',\n 'non_earning_occupation': '',\n 'non_earning_if_others': '',\n 'non_earning_if_retired_from': '',\n 'non_earning_if_schoolorcollege': ''\n }\n control.push(this.initgenerateFamilyMembersDetailsGet(arraydata));\n \n });\n }\n else{\n this.prevFamilyMembersCtrlLength = 1;\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\n \n\n control.push(this.generateFamilyMembersDetailsGet()); \n }\n }\n else{\n \n control.push(this.generateFamilyMembersDetailsGet());\n } \n}\n\ngenerateFamilyMembersDetailsGetData(data){\n var result = Object.keys(data).map(function (key) {\n return data[key];\n});\nif (result.length > 0) {\n for (let val of result) {\n const control = this.familyForm.controls['family_members_details'];\n control.push(this.initgenerateFamilyMembersDetailsGet(val));\n }\n}\n}\ninitgenerateFamilyMembersDetailsGet(val):FormGroup{\n return this.fb.group({\n family_member_name: [val.family_member_name, Validators.compose([])],\n family_member_relationship: [val.family_member_relationship, Validators.compose([])],\n family_member_age: [val.family_member_age, Validators.compose([])],\n family_member_earning_status: [val.family_member_earning_status, Validators.compose([])],\n earning_segment: [val.earning_segment, Validators.compose([])],\n earning_if_others_segment:[val.earning_if_others_segment,Validators.compose([])],\n earning_gross_income_per_month: [val.earning_gross_income_per_month, Validators.compose([])],\n earning_name_of_the_employer_or_business: [val.earning_name_of_the_employer_or_business, Validators.compose([])],\n earning_number_of_years_in_employment_or_business: [val.earning_number_of_years_in_employment_or_business, Validators.compose([])],\n non_earning_occupation: [val.non_earning_occupation, Validators.compose([])],\n non_earning_if_others: [val.non_earning_if_others, Validators.compose([])],\n non_earning_if_schoolorcollege:[val.non_earning_if_schoolorcollege,Validators.compose([])],\n non_earning_if_retired_from: [val.non_earning_if_retired_from, Validators.compose([])],\n})\n}\nresValue:any;\n\n getFamilyData()\n {\n this.qustCat.getFamilyDetails(this.pdDetails.pd_id).subscribe(res=>{\n if(res['dataStatus']==true){\n let Temparr : any = [];\n\n if(res.record.from_general_form.length>0){\n let familyMembersGeneralForm=Object.keys(res.record.from_general_form).map(function(key){\n return res.record.from_general_form[key]\n });\n let datas=familyMembersGeneralForm.map(element=>{\n return {id:element.pd_co_applicant_id.toString(),\n name:element.applicant_name,\n relationship:element.relationship,\n relation_to:element.relation_to,\n age:element.age,\n data_gets_from:'GeneralForm'};\n \n });\n Temparr.push(datas);\n }\n else{\n console.log(\"No data in General Form\")\n }\n if(res.record.from_business_form.length >0){\n let familyMembersBusinessForm=Object.keys(res.record.from_business_form).map(function(key){\n return res.record.from_business_form[key]\n });\n let datas=familyMembersBusinessForm.map(element=>{\n return {id:element.other_family_relationship_id,\n name:element.family_member_name,\n relationship:element.other_family_relationship_id,\n relation_to:element.relation_to_id,\n age:'',\n data_gets_from:'BusinessForm'};\n });\n Temparr.push(datas);\n }\n else{\n console.log(\"No data in Business Form\")\n }\n this.apiFamilyMembers = [].concat.apply([],Temparr);\n }\n })\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n\n this.qustCat.retiverForm(records).subscribe(res=>{\n console.log(\"Entering Retrieve\");\n \n if(res['status']==200){\n if(res['records'].family_details.length > 0){\n this.familyForm.controls.family_details_form_remark.setValue(res['records'].family_details_form_remark);\n this.resValue=res;\n this.initFamilyDetails(res['records'].family_details);\n \n }\n \n }\n else{\n console.log(\"No Data Found\");\n this.initFamilyDetails(null);\n \n }\n //this.generateFamilyMembersDetailsGetData(res['records'].family_members_details);\n \n },err=>{\n console.log(\"Error\",err)\n })\n /*let earning:any = [];\n let non_earning:any = [];\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n non_earning = Object.keys(res['records'].non_earning_members).map(function(key) {\n\n return res['records'].non_earning_members[key];\n });\n this.familyForm.controls['family_details_form_remark'].setValue(res['records'].family_details_form_remark);\n earning = Object.keys(res['records'].earning_members).map(function(key) {\n return res['records'].earning_members[key];\n });\n let familyDetails = res['records'];\n this.checkfamilystatus(non_earning.length + earning.length,familyDetails.family_members); \n // this.familyForm.controls['person'].setValue(familyDetails.person_met);\n this.familyForm.controls['personOther'].setValue(familyDetails.personOther);\n this.familyForm.controls['members'].setValue(familyDetails.family_members);\n this.familyForm.controls['residence'].setValue(familyDetails.residence);\n this.familyForm.controls['years'].setValue(familyDetails.no_of_years);\n this.familyForm.controls['ownership'].setValue(familyDetails.ownership);\n this.familyForm.controls['ownershipOther'].setValue(familyDetails.ownershipOther);\n this.familyForm.controls['rent'].setValue(familyDetails.what_rent);\n // this.familyForm.controls['earningMembers'].setValue(earning);\n // for(this.)\n this.items = this.familyForm.get('earningMembers') as FormArray;\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\n if(earning.length==0)\n {\n this.addearningMembers();\n }else\n {\n earning.forEach(datas => {\n this.count++;\n this.items.push(this.createMembers());\n });\n this.familyForm.controls['earningMembers'].setValue(earning);\n \n }\n\n if(non_earning.length==0)\n {\n this.addMembers(); \n }else\n {\n non_earning.forEach(datas => {\n this.count++;\n this.membersitem.push(this.createNonMembers());\n \n });\n this.familyForm.controls['nonEarningMembers'].setValue(non_earning);\n // this.checkfamilystatus(this.count);\n }\n \n // for(let earningDetails of earning){\n // this.items = this.familyForm.get('earningMembers') as FormArray;\n // this.items.push(earning);\n // }\n\n }else\n {\n this.addearningMembers();\n this.addMembers();\n }\n }) */ \n }\n /** To Convert Amount into Words */\n inWords(e,flag:number,i){\n switch(flag){\n case 1 :\n this.RentAmount[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 2 :\n this.IncomePerMonth[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n \n default:\n break;\n }\n }\n initSetValue(records):void{\n for(let val of records){\n let formData:FormGroup=this.fb.group({\n selected_person:[val.selected_person],\n residence_place:[val.residence_place]\n })\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-family/pd-question-family.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormArray,FormGroup,FormBuilder,Validators} from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport {ConstantsProvider} from '../../../providers/constants/constants'\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssestsPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assests',\r\n templateUrl: 'pd-question-assests.html',\r\n})\r\nexport class PdQuestionAssestsPage {\r\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\r\n {'value': \"no\",'viewValue': \"No\"},\r\n {'value': \"nan\",'viewValue': \"NA\"}]\r\n m_relation: any;\r\n applicants: any ;\r\n users: any;\r\n FormId: any;\r\n m_freqOfPurchase: { 'id': string; 'name': string; }[];\r\n m_investmentType: { 'id': string; 'name': string; }[];\r\n m_insuranceType: { 'id': string; 'name': string; }[];\r\n m_propertyType: { 'id': string; 'name': string; }[];\r\n m_assets_type: { 'id': string; 'name': string; }[];\r\n pdDetails: any;\r\n assetItem: any;\r\n items:FormArray;\r\n AssetsDetailsForm:FormGroup;\r\n details:FormArray;\r\n FormList:boolean = false;\r\n loadDetails:boolean = true;\r\n assestInfo:any;\r\n\r\n appxMarketAmtInwords: any=[];\r\n OtherAppxMarketAmtInwords: any=[];\r\n emiAmtInwords: any=[];\r\n OtherEmiAmtInwords: any=[];\r\n PremiumPaidInwords: any=[];\r\n OtherPremiumPaidInwords: any=[];\r\n SumAssuredInwords: any=[];\r\n OtherSumAssuredInwords: any=[];\r\n AmtInvestInwords: any=[];\r\n OtherAmtInvestInwords: any;\r\n AssetValueInwords: any=[];\r\n OtherAssetValueInwords: any=[];\r\n B_emiAmtInwords: any=[];\r\n O_emiAmtInwords: any=[];\r\n\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n pdid:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public constprovider:ConstantsProvider) {\r\n \r\n this.assestInfo = \"busass\";\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.users = this.aws.getlocale();\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants=this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n \r\n this.AssetsDetailsForm = this.fb.group(\r\n {\r\n assets_details:this.fb.array([]),\r\n // business_assets_details:this.fb.array([]),\r\n assets_form_remark:['']\r\n \r\n })\r\n \r\n this.getAssetDetails();\r\n this.getdropList();\r\n //this. addAsset(1);\r\n this.loadDetails = true;\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssestsPage');\r\n }\r\n\r\n getdropList()\r\n {\r\n\r\n this.qustCat.getcommondrop('ASSETTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_assets_type = res['records'].filter(data=>data.isactive==1 && data.id!=5);\r\n }\r\n })\r\n \r\n this.qustCat.getcommondrop('PROPERTIES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_propertyType = res['records'];\r\n }\r\n })\r\n \r\n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_investmentType = res['records'];\r\n }\r\n })\r\n this.qustCat.getcommondrop('INSURANCETYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.m_insuranceType =res['records'];\r\n }\r\n })\r\n \r\n \r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'];\r\n }\r\n })\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_relation = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n \r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n \r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n }\r\n \r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n })\r\n \r\n \r\n \r\n \r\n }\r\n createAsset() : FormGroup\r\n {\r\n return this.fb.group(\r\n {\r\n assets_mode: [null],\r\n details: this.fb.array([]),\r\n approximate_market_value: [null],\r\n name_of_the_owner: [''],\r\n other_owner:[''],\r\n // purchase_year: [null],\r\n purchase_year: [null,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n vintage_personal : [''],\r\n // purchase_month: [null],\r\n emi: [null],\r\n // emi_paid: [null],\r\n // elapsed_tenure: [null],\r\n // balance_tenure: [null],\r\n // original_loan_tenure :[null],\r\n });\r\n }\r\n\r\n addAsset(flag)\r\n {\r\n if(flag==1){\r\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\r\n this.assetItem.push(this.createAsset());\r\n }\r\n }\r\n\r\n deleteAsset(i,flag)\r\n {\r\n if(flag==1){\r\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\r\n if(this.assetItem.length==1)\r\n {\r\n this.AssetsDetailsForm.controls['assets_details'].reset();\r\n }else{\r\n this.assetItem.removeAt(i);\r\n } \r\n }\r\n }\r\n \r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n \r\n\r\n loanCalc(details ,flag)\r\n {\r\n if(flag == 1){\r\n \r\n let ElapsedValues;\r\n \r\n if(details.value.original_loan_tenure != null && details.value.original_loan_tenure != '' && details.value.balance_tenure != null && details.value.balance_tenure != ''){\r\n ElapsedValues = details.value.original_loan_tenure - details.value.balance_tenure ;\r\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\r\n }\r\n }\r\n \r\n\r\n }\r\n \r\n show: boolean;\r\n selectedAssetsType(e: any, i: any,flag : any): void {\r\n \r\n let val = i;\r\n if(flag == 1){\r\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n arr.controls.splice(0);\r\n }\r\n \r\n \r\n switch (e.value) {\r\n case '1': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray ;\r\n control.push(this.otherAssetsDescription());\r\n break;\r\n }\r\n case '2': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadProperty());\r\n break;\r\n }\r\n case '3': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.load_Four_Weeler());\r\n break;\r\n }\r\n case '4': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n \r\n control.push(this.loadEquipmentManufacturingDescription());\r\n \r\n break;\r\n }\r\n case '5': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadConsumerDurableDescription());\r\n break;\r\n }\r\n case '6': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadInsuranceDescription());\r\n break;\r\n }\r\n case '7': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.loadInvestDescription());\r\n break;\r\n }\r\n case '8': {\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\r\n \r\n control.push(this.otherAssetsDescription());\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n\r\n loadProperty() {\r\n return this.fb.group({\r\n property_type: [''],\r\n other_property_type: ['']\r\n });\r\n }\r\n\r\n loadJwellDescription() {\r\n return this.fb.group({\r\n \r\n });\r\n }\r\n\r\n loadConsumerDurableDescription() {\r\n return this.fb.group({\r\n consumer_durable_description: [null]\r\n });\r\n }\r\n \r\n otherBusinessAssetsDescription() {\r\n return this.fb.group({\r\n any_other_assets: [''],\r\n any_other_asset_value : [''],\r\n any_other_asset_loan : [''], \r\n });\r\n }\r\n otherAssetsDescription() {\r\n \r\n return this.fb.group({\r\n any_other_assets: [''],\r\n //any_other_asset_value:[''],\r\n //any_other_asset_loan:['']\r\n });\r\n }\r\n\r\n loadInsuranceDescription() {\r\n return this.fb.group({\r\n insurance_type: [null],\r\n premium_paid: [null],\r\n frequency_mode: [null],\r\n other_frequency_mode:[null],\r\n sum_assured: [null],\r\n members_coverd: [null]\r\n });\r\n }\r\n\r\n loadInvestDescription() {\r\n return this.fb.group({\r\n investments_type: [''],\r\n other_investments_type:[''],\r\n in_which_organisation:[''],\r\n amount_of_invest: [''],\r\n bank_name: ['']\r\n });\r\n }\r\n\r\n load_Four_Weeler() {\r\n return this.fb.group({\r\n //manufacturer_model: [''],\r\n manufacturer_model_vehicle: ['']\r\n });\r\n }\r\n\r\n loadEquipmentManufacturingDescription() {\r\n return this.fb.group({\r\n equipment_manufacturing_description: ['']\r\n });\r\n }\r\n\r\n load_Two_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_two_weeler: ['']\r\n });\r\n }\r\n\r\n\r\n\r\n loadPropertyWithData(data) {\r\n return this.fb.group({\r\n property_type: [data.property_type],\r\n other_property_type: [data.other_property_type]\r\n });\r\n }\r\n\r\n loadJwellDescriptionWithData(data) {\r\n return this.fb.group({\r\n // jwell_description: [data.jwell_description]\r\n });\r\n }\r\n\r\n loadConsumerDurableDescriptionWithData(data) {\r\n return this.fb.group({\r\n consumer_durable_description: [data.consumer_durable_description]\r\n });\r\n }\r\n\r\n otherAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n //any_other_asset_value : [data.any_other_asset_value],\r\n //any_other_asset_loan:[data.any_other_asset_loan]\r\n });\r\n }\r\n otherBusinessAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n any_other_asset_value : [data.any_other_asset_value],\r\n any_other_asset_loan : [data.any_other_asset_loan],\r\n });\r\n }\r\n\r\n loadInsuranceDescriptionWithData(data) {\r\n return this.fb.group({\r\n //insurance_type: [data.insurance_type],\r\n premium_paid: [data.premium_paid],\r\n frequency_mode: [data.frequency_mode],\r\n other_frequency_mode:[data.other_frequency_mode],\r\n sum_assured: [data.sum_assured],\r\n members_coverd: [data.members_coverd]\r\n });\r\n }\r\n\r\n loadInvestDescriptionWithData(data) {\r\n return this.fb.group({\r\n investments_type: [data.investments_type],\r\n other_investments_type:[data.other_investments_type],\r\n in_which_organisation:[data.in_which_organisation],\r\n amount_of_invest: [data.amount_of_invest],\r\n bank_name: [data.bank_name]\r\n });\r\n }\r\n\r\n \r\n\r\n load_Four_WeelerWithData(data) {\r\n return this.fb.group({\r\n // manufacturer_model: [data.manufacturer_model, Validators.compose([Validators.required])]\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\r\n });\r\n }\r\n loadEquipmentManufacturingDescriptionWithData(data) {\r\n return this.fb.group({\r\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\r\n });\r\n }\r\n\r\n load_Two_WeelerWithData(data) {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\r\n });\r\n }\r\n saveAssetDetails(answerData)\r\n {\r\n \r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n // answerData.assets_details.map(val => {\r\n // if (val.emi == 'no') {\r\n // val.emi_paid = '';\r\n // val.elapsed_tenure = '';\r\n // val.balance_tenure = '';\r\n // val.original_loan_tenure ='';\r\n // }\r\n // });\r\n \r\n answerData.pdid = this.pdDetails.pd_id;\r\n answerData.formid = this.FormId.form_id;\r\n answerData.fk_createdby = this.users;\r\n \r\n this.qustCat.saveForm(answerData).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n })\r\n }\r\n apiLoadFinish:boolean = false;\r\n getAssetDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n var assetArray = Object.keys(res['records'].assets_details).map(function(key) {\r\n // this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\r\n return res['records'].assets_details[key];\r\n });\r\n \r\n this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\r\n if (assetArray.length > 0) {\r\n for (let val of assetArray) {\r\n let vals = {\r\n assets_mode: val.assets_mode,\r\n approximate_market_value: val.approximate_market_value,\r\n name_of_the_owner: val.name_of_the_owner,\r\n other_owner:val.other_owner,\r\n purchase_year: val.purchase_year,\r\n vintage_personal:val.vintage_personal,\r\n // purchase_month: val.purchase_month,\r\n emi: val.emi,\r\n // emi_paid: val.emi_paid,\r\n // elapsed_tenure: val.elapsed_tenure,\r\n // balance_tenure: val.balance_tenure,\r\n // original_loan_tenure:val.original_loan_tenure,\r\n //assets_form_remark:val.assets_form_remark\r\n };\r\n const control = this.AssetsDetailsForm.controls['assets_details'];\r\n control.push(this.initDetailsWithdata(vals));\r\n \r\n this.setAssetsDetailsWithData(vals.assets_mode, val.details, control.length-1)\r\n }\r\n \r\n }\r\n // if (busarray.length > 0) {\r\n // for (let val of busarray) {\r\n // let vals = {\r\n // assets_mode: val.assets_mode,\r\n // approximate_market_value: val.approximate_market_value,\r\n // name_of_the_owner: val.name_of_the_owner,\r\n // purchase_year: val.purchase_year,\r\n // purchase_month: val.purchase_month,\r\n // emi: val.emi,\r\n // emi_paid: val.emi_paid,\r\n // elapsed_tenure: val.elapsed_tenure,\r\n // balance_tenure: val.balance_tenure,\r\n // original_loan_tenure:val.original_loan_tenure,\r\n // };\r\n // const control = this.AssetsDetailsForm.controls['assets_details'];\r\n // control.push(this.initBusinessDetailsWithdata(vals));\r\n \r\n // this.setAssetsDetailsWithData2(vals.assets_mode, val.details, control.length-1);\r\n // }\r\n \r\n // }\r\n this.apiLoadFinish = true;\r\n \r\n //this.AssetsDetailsForm.controls['assets_details'].setValue(assetArray);\r\n }else{\r\n this.apiLoadFinish = true;\r\n this.addAsset(1);\r\n // this.addAsset(2);\r\n }\r\n })\r\n }\r\n\r\n \r\n \r\n \r\n\r\n\r\n initDetailsWithdata(data) {\r\n return this.fb.group({\r\n assets_mode: [data.assets_mode],\r\n details: this.fb.array([]),\r\n approximate_market_value: [data.approximate_market_value],\r\n name_of_the_owner: [data.name_of_the_owner],\r\n other_owner:[data.other_owner || ''],\r\n vintage_personal:[data.vintage_personal],\r\n // purchase_year: [data.purchase_year],\r\n purchase_year: [data.purchase_year,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\r\n // purchase_month: [data.purchase_month],\r\n emi: [data.emi || 0],\r\n // emi_paid: [data.emi_paid || ''],\r\n // elapsed_tenure: [data.elapsed_tenure || ''],\r\n // balance_tenure: [data.balance_tenure || ''],\r\n // original_loan_tenure:[data.original_loan_tenure ||''],\r\n //assets_form_remark:[data.assets_form_remark || '']\r\n });\r\n }\r\n setAssetsDetailsWithData(assets_details_mode: any, datas: any, i: any): void {\r\n let val = i;\r\n // var data = Object.keys(datas).map(function (key) {\r\n // return datas[key];\r\n // });\r\n // alert(JSON.stringify(datas));\r\n let data = datas;\r\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n arr.controls.splice(0);\r\n switch (assets_details_mode) {\r\n case '1': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'any_other_assets': datas.any_other_assets,\r\n 'name_of_the_owner':datas.name_of_the_owner,\r\n 'other_owner':datas.other_owner,\r\n //'relation':datas.relation,\r\n // 'any_other_asset_value' : datas.any_other_asset_value,\r\n //'any_other_asset_loan' : datas.any_other_asset_loan,\r\n };\r\n //this.OtherAssetValueInwords[i] = this.constprovider.convertNumberToWords(+datas.any_other_asset_value);\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.otherAssetsDescriptionWithData(array_data));\r\n break;\r\n }\r\n \r\n case '2': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'property_type':datas.property_type,'other_property_type':datas.other_property_type };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadPropertyWithData(array_data));\r\n break;\r\n }\r\n case '3': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.load_Four_WeelerWithData(array_data));\r\n break;\r\n }\r\n case '4': {\r\n let array_data:any\r\n data.forEach((datas,i)=>{\r\n array_data={'equipment_manufacturing_description': datas.equipment_manufacturing_description }\r\n })\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadEquipmentManufacturingDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '5': {\r\n this.FormList = true;\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n // control.push(this.loadConsumerDurableDescriptionWithData(data));\r\n break;\r\n }\r\n case '6': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n array_data = { \r\n 'premium_paid': datas.premium_paid,\r\n 'frequency_mode': datas.frequency_mode,\r\n 'other_frequency_mode':datas.other_frequency_mode,\r\n 'sum_assured': datas.sum_assured,\r\n 'members_coverd': datas.members_coverd\r\n };\r\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(+datas.premium_paid);\r\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(+datas.sum_assured);\r\n \r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadInsuranceDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '7': {\r\n let array_data : any;\r\n data.forEach((datas,i) => {\r\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(+datas.amount_of_invest);\r\n array_data = { 'investments_type': datas.investments_type,\r\n 'other_investments_type' : datas.other_investments_type,\r\n 'in_which_organisation':datas.in_which_organisation,\r\n 'amount_of_invest': datas.amount_of_invest,\r\n 'bank_name': datas.bank_name };\r\n });\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.loadInvestDescriptionWithData(array_data));\r\n break;\r\n }\r\n case '8': {\r\n this.FormList = true;\r\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\r\n control.push(this.otherAssetsDescriptionWithData(data));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /** On Key Press Event For Number only Accepting */\r\n keyPress(event: any) {\r\n const pattern = /[0-9\\-\\.\\ ]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.appxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 :\r\n this.OtherAppxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 3 :\r\n this.emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 4 :\r\n this.OtherEmiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 5 :\r\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 6 :\r\n this.OtherPremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 7 :\r\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 8 :\r\n this.OtherSumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 9 :\r\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 10 :\r\n this.OtherAmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 11 :\r\n this.AssetValueInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 12 :\r\n this.OtherAssetValueInwords[i]= this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 13:\r\n this.B_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n case 14:\r\n this.O_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n // check others\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assests/pd-question-assests.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionOtherIncomePage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-other-income',\n templateUrl: 'pd-question-other-income.html',\n})\nexport class PdQuestionOtherIncomePage {\n\n FormId: any;\n custSeg: any;\n sourceIncome: any;\n otherIncomeDetails: any;\n users: any;\n pdDetails: any;\n pdid:any;\n incomeEarnedBy:any=[];\n amtInWords:any=[];\n \n frequencyData: any;\n otherIncomeForm: FormGroup;\n incomeDetails:FormArray;\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n applicants: any=[];\n isOrganisationOwner: any=[];\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider, public constant:ConstantsProvider) {\n \n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.FormId = this.navParams.get('FormId');\n this.applicants=this.pdDetails.applicat_details\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\n this.getFrequency();\n this.users = this.aws.getlocale();\n\n this.otherIncomeForm = this.fb.group({\n other_income: [null],\n otherincome_remarks:[null],\n income_details: this.fb.array([])\n });\n \n \n \n //this.incomeDetails=this.otherIncomeForm.get('income_details')as FormArray\n //this.incomeDetails.push(this.createDetail())\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionOtherIncomePage');\n this.getOtherIncome();\n }\n\n createDetail():FormGroup {\n return this.fb.group({\n source: [''],\n address:[''],\n others_source : [''],\n income_earned_by:[''],\n others_income_earned_by:[''],\n amount: [''],\n frequency: [''],\n others_frequency : ['']\n });\n}\naddIncomeDetails() {\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n \n this.incomeDetails.push(this.createDetail());\n}\ndeleteIncomeDetails(index) {\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n if(this.incomeDetails.length==1){\n // this.otherIncomeForm.controls['income_details'].reset();\n this.otherIncomeForm.reset();\n this.amtInWords[index]=''\n }else{\n this.incomeDetails.removeAt(index);\n }\n}\ncheckotherDetails(val)\n{\n if(val==\"Yes\")\n {\n this.addIncomeDetails();\n }\n if(val==\"No\"){\n //let length=this.otherIncomeForm.income_details.controls.length\n const control= this.otherIncomeForm.controls['income_details'];\n control.removeAt(0)\n // let len=control.length\n // for(let i=0;i{\n if(res['dataStatus']==true)\n {\n this.incomeEarnedBy=res['record'];\n }\n })\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(res=>{\n if(res.dataStatus==true){\n this.existCompanyList=res.records.filter(val=>val.is_active == true)\n console.log(this.existCompanyList)\n }\n let modifyCompanyList:any=[]\n if(this.existCompanyList.length>0){\n modifyCompanyList=this.existCompanyList.map(element=>{\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName: 'COMPANIES', groupValues: modifyCompanyList })\n \n }\n let modifyApplicantList:any=[]\n if(this.applicants.length>0){\n modifyApplicantList=this.applicants.map(element=>{\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n })\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\n\n }\n console.log(\"company&Applicant\",this.mergeCompanyApplicant)\n })\n\n let master_name = 'FREQUENCY';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n if(data['dataStatus']==true)\n {\n this.frequencyData = data['records'].filter(fre=>fre.isactive==1);\n }\n });\n this.qustCat.getcommondrop('SOURCEOFOTHERINCOME').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.sourceIncome = res['records'];\n }\n });\n \n \n}\ncompareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n}\n\ngetOtherOrganisationOwner(value,i) {\n //console.log('value',value,'I',i);\nlet Ctrls = this.otherIncomeForm.controls['income_details'];\n console.log('ParCtrls',Ctrls);\nlet ChdCtrls:any = Ctrls.controls[i];\n // console.log('ChdCtrls',ChdCtrls);\n // return;\n\n\nlet Avaliablity = 1;\nconsole.log('val',value);\nif(value.length>0){\n value.forEach(option => {\n if(option.id == 0 && option.group_id == 2){ \n Avaliablity = option.id;\n }\n });\n}\nif(Avaliablity == 0){\n// console.log('if Avaliablity',Avaliablity);\nconsole.log(\"chld\",ChdCtrls)\n ChdCtrls.controls.others_income_earned_by.setValidators([Validators.required]);\n this.isOrganisationOwner[i] = true;\n}else if(Avaliablity == 1){\n// console.log('else Avaliablity',Avaliablity);\n// console.log('esle this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\n ChdCtrls.controls.others_income_earned_by.setValue('');\n ChdCtrls.controls.others_income_earned_by.clearValidators();\n this.isOrganisationOwner[i] = false;\n// console.log('else this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\n}\n \nChdCtrls.controls.others_income_earned_by.updateValueAndValidity(); \n}\ninWords(val,i){\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\n}\nsubmitOtherIncome(answerData)\n{\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.other_income = answerData.other_income;\n records.income_details = answerData.income_details;\n records.otherincome_remarks = answerData.otherincome_remarks;\n this.qustCat.saveForm(records).subscribe(data => {\n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }, error => {\n \n })\n}\n\ngetOtherIncome()\n{\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n this.otherIncomeDetails = res; \n if(this.otherIncomeDetails.dataStatus == true)\n {\n this.otherIncomeDetails = this.otherIncomeDetails.records;\n if(this.otherIncomeDetails.other_income=='Yes'){\n var incomeArray = Object.keys(res['records'].income_details).map(function(key) {\n return res['records'].income_details[key];\n\n });\n this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income);\n this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks);\n \n \n \n \n if(incomeArray.length==0)\n {\n // this.incomeDetails.push(this.createDetail());\n }else\n {\n incomeArray.forEach((datas,index)=>\n {\n \n this.incomeDetails.push(this.createDetail());\n this.amtInWords[index]=this.constant.convertNumberToWords(datas.amount)\n this.getOtherOrganisationOwner(datas.income_earned_by,index)\n })\n }\n this.otherIncomeForm.controls['income_details'].setValue(incomeArray);\n \n }else\n {\n this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income);\n this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks);\n }\n }\n else{\n // this.incomeDetails.push(this.createDetail())\n }\n })\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts","import { Component, OnInit } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormArray, FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionPersonalInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-personal-info',\r\n templateUrl: 'pd-question-personal-info.html',\r\n})\r\nexport class PdQuestionPersonalInfoPage implements OnInit{\r\n\r\n questionDetails: any;\r\n pdDetails: any;\r\n users: any;\r\n _personalForm: FormGroup;\r\n qualifications:any=[\"Graduate\",\"Under Graduate\",\"Post Graduate\",\"Professional\"];\r\n earningStatus:any=[\"Earning Member\",\"House Wife\",\"Student\",\"Retired\",\"Pensioner\",\"Other Non earning member\"];\r\n relationShipList:any=[];\r\n \r\n form_id:number;\r\n \r\n\r\n public mainApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\"];\r\n public coApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\",\"Relationship\"];\r\n \r\n public mainApplicantDetails :any=[];\r\n public coApplicantDetails :any=[];\r\n \r\n errorMessage:any;\r\n //coItem:any;\r\n //mainItem:any;\r\n\r\n repeat:number=3;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public _fb:FormBuilder) {\r\n \r\n this.questionDetails = this.navParams.get('questionDetails');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n \r\n \r\n // this.getRelationMaster();\r\n \r\n \r\n \r\n }\r\n ngOnInit() {\r\n \r\n this.loadPDDetails();\r\n this.getRelationMaster();\r\n this.mainApplicantDetails = this.pdDetails.applicat_details\r\n .filter(item => item.applicant_type == 1);\r\n this.coApplicantDetails = this.pdDetails.applicat_details\r\n .filter(item => item.applicant_type == 0);\r\n }\r\n\r\n // load form pd details\r\n loadPDDetails(){\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'341'};\r\n \r\n this.qustCat.retiverForm(records).subscribe(\r\n data => {\r\n if (data['status'] == 200) {\r\n this.loadFormWithIDData(data['records']);\r\n \r\n }\r\n else{\r\n let defaultMainApp=[];\r\n let defaultCoApp=[];\r\n // generate default main applicant form details\r\n if(this.mainApplicantDetails.length>0){ \r\n for(let j=0;j this.errorMessage = error);\r\n}\r\n\r\nloadDataStatus: boolean = false;\r\n\r\nloadFormWithIDData(data) {\r\n var main_result = Object.keys(data.main_applicant_details).map(function(key) {\r\n return data.main_applicant_details[key];\r\n});\r\nvar co_result = Object.keys(data.co_applicant_details).map(function(key) {\r\n return data.co_applicant_details[key];\r\n});\r\n\r\n // main applicant\r\n let mainApplicantGroup = new FormArray(main_result.map((item,key) => new FormGroup({\r\n name_ans:new FormControl(item.name_ans, Validators.required),\r\n age_ans:new FormControl(item.age_ans, Validators.required),\r\n entity_ans:new FormControl(item.entity_ans, Validators.required),\r\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\r\n earning_ans:new FormControl(item.earning_ans, Validators.required),\r\n })));\r\n // co applicant\r\n let iterateCoApp=[];\r\n \r\n let coApplicantGroup = new FormArray(co_result.map((item,key) => new FormGroup({\r\n name_ans:new FormControl(item.name_ans, Validators.required),\r\n age_ans:new FormControl(item.age_ans, Validators.required),\r\n entity_ans:new FormControl(item.entity_ans, Validators.required),\r\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\r\n earning_ans:new FormControl(item.earning_ans, Validators.required),\r\n relation_ans:new FormControl(item.relation_ans, Validators.required),\r\n\r\n })));\r\n \r\n this._personalForm = this._fb.group({\r\n pdid:null,\r\n form_id:null,\r\n mainItem: mainApplicantGroup,\r\n coItem: coApplicantGroup,\r\n personal_info_form_remark: [data.personal_info_form_remark]\r\n });\r\n this.loadDataStatus = true;\r\n}\r\n\r\n loadFormData(mainApp,coApp){\r\n // main applicant\r\n let mainApplicantGroup = new FormArray(this.mainApplicantDetails.map((item,key) => new FormGroup({\r\n name_ques:new FormControl(this.mainApplicantQuestions[0]),\r\n name_ans:new FormControl(item.applicant_name, Validators.required),\r\n name_id:new FormControl(0),\r\n age_ques:new FormControl(this.mainApplicantQuestions[1]),\r\n age_id:new FormControl(1),\r\n age_ans:new FormControl(null, Validators.required),\r\n entity_ques: new FormControl(this.mainApplicantQuestions[2]),\r\n entity_id: new FormControl(2),\r\n entity_ans:new FormControl(null, Validators.required),\r\n qualification_ques: new FormControl(this.mainApplicantQuestions[3]),\r\n qualification_id: new FormControl(3),\r\n qualification_ans:new FormControl(null, Validators.required),\r\n earningStatus_ques:new FormControl(this.mainApplicantQuestions[4]),\r\n earning_id: new FormControl(4),\r\n earning_ans:new FormControl(null, Validators.required),\r\n \r\n })));\r\n // co applicant\r\n let iterateCoApp=[];\r\n \r\n let coApplicantGroup = new FormArray(this.coApplicantDetails.map((item,key) => new FormGroup({\r\n name_ques:new FormControl(this.coApplicantQuestions[0]),\r\n name_ans:new FormControl(item.applicant_name, Validators.required),\r\n name_id:new FormControl(0),\r\n age_ques:new FormControl(this.coApplicantQuestions[1]),\r\n age_id:new FormControl(1),\r\n age_ans:new FormControl(null, Validators.required),\r\n entity_ques: new FormControl(this.coApplicantQuestions[2]),\r\n entity_id: new FormControl(2),\r\n entity_ans:new FormControl(null, Validators.required),\r\n qualification_ques: new FormControl(this.coApplicantQuestions[3]),\r\n qualification_id: new FormControl(3),\r\n qualification_ans:new FormControl(null, Validators.required),\r\n earningStatus_ques:new FormControl(this.coApplicantQuestions[4]),\r\n earning_id: new FormControl(4),\r\n earning_ans:new FormControl(null, Validators.required),\r\n relationShip_ques:new FormControl(this.coApplicantQuestions[5]),\r\n relation_id:new FormControl(5),\r\n relation_ans:new FormControl(null, Validators.required),\r\n\r\n })));\r\n \r\n this._personalForm = this._fb.group({\r\n pdid:null,\r\n form_id:null,\r\n mainItem: mainApplicantGroup,\r\n coItem: coApplicantGroup,\r\n personal_info_form_remark:null\r\n });\r\nthis.loadDataStatus = true;\r\n }\r\n\r\n //get pd main applicant array values \r\n get pdMainapplicant() { return this._personalForm.get('mainItem') as FormArray; }\r\n\r\n // get pd co applicant array values\r\n get pdCoapplicant() {return this._personalForm.get('coItem') as FormArray;}\r\n\r\n // get relation master details\r\n getRelationMaster(){\r\n let relation =\"RELATIONSHIPS\";\r\n this.qustCat.getcommondrop(relation).subscribe(\r\n data => {\r\n if (data['status'] == 200) {\r\n this.relationShipList=data['records'];\r\n \r\n }\r\n}, error => this.errorMessage = error);\r\n}\r\n\r\n// submit forms details\r\nsubmitPersonalForm(formData:any) {\r\n if(this._personalForm.valid){\r\n let main_applicantDetails:any=[];\r\n let co_applicantDetails:any=[];\r\n\r\n formData.mainItem.forEach((element,key) => {\r\n if(key==0){\r\n main_applicantDetails.push({\r\n \"name_ans\":element.name_ans,\r\n \"age_ans\":element.age_ans,\r\n \"entity_ans\":element.entity_ans,\r\n \"qualification_ans\":element.qualification_ans,\r\n \"earning_ans\":element.earning_ans, \r\n })\r\n }\r\n \r\n });\r\n formData.coItem.forEach((Coelement,Cokey) => {\r\n co_applicantDetails.push({\r\n\r\n \"name_ans\":Coelement.name_ans,\r\n \"age_ans\":Coelement.age_ans,\r\n \"qualification_ans\":Coelement.qualification_ans,\r\n \"entity_ans\":Coelement.entity_ans,\r\n \"earning_ans\":Coelement.earning_ans, \r\n \"relation_ans\":Coelement.relation_ans, \r\n })\r\n \r\n });\r\n\r\n let save_details:any={\r\n \"pdid\" : this.pdDetails.pd_id,\r\n \"formid\" : '341',\r\n \"fk_createdby\":this.users,\r\n \"main_applicant_details\":main_applicantDetails,\r\n \"co_applicant_details\":co_applicantDetails,\r\n \"personal_info_form_remark\": this._personalForm.get('personal_info_form_remark').value\r\n };\r\n this.qustCat.saveForm(save_details).subscribe(result => {\r\n if (result['dataStatus']==true) {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n // this.notifier.notify('success', 'Success.');\r\n }\r\n else {\r\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\r\n }\r\n }, error => {\r\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\r\n });\r\n }\r\n}\r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, FormArray, Validators, FormControl } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionRentalInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-rental-info',\r\n templateUrl: 'pd-question-rental-info.html',\r\n})\r\nexport class PdQuestionRentalInfoPage {\r\n\r\n users: any;\r\n pdDetails: any;\r\n FormId: any;\r\n rentalForms:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder) {\r\n this.FormId = this.navParams.get('FormId');\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.users = this.aws.getlocale();\r\n this.rentalForms = this.fb.group(\r\n {\r\n person_met:[null,Validators.compose([Validators.required])],\r\n property_own:[null,Validators.compose([Validators.required])],\r\n nature_property:[null,Validators.compose([Validators.required])],\r\n nature_others:[null],\r\n rental_home:this.fb.array([])\r\n })\r\n this.getRentalDetails();\r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionRentalInfoPage');\r\n }\r\n\r\n createrentalHome()\r\n {\r\n return this.fb.group(\r\n {\r\n complete_add:[null,Validators.compose([Validators.required])],\r\n area_of_property:[null,Validators.compose([Validators.required])],\r\n structure_property:[null,Validators.compose([Validators.required])],\r\n total_room:[null,Validators.compose([Validators.required])],\r\n is_rent:[null,Validators.compose([Validators.required])],\r\n date_agreement:[null,Validators.compose([Validators.required])],\r\n date_validity:[null,Validators.compose([Validators.required])],\r\n rent_agreement:[null,Validators.compose([Validators.required])],\r\n actual_rent:[null,Validators.compose([Validators.required])],\r\n photo_areegment:[null,Validators.compose([Validators.required])],\r\n property_photographs:[null],\r\n bank:[null,Validators.compose([Validators.required])],\r\n cash:[null,Validators.compose([Validators.required])],\r\n rent_each_floor:[null,Validators.compose([Validators.required])],\r\n total_rent:[null,Validators.compose([Validators.required])],\r\n related_doc_owner:[null,Validators.compose([Validators.required])],\r\n details_tenants:this.fb.array([]),\r\n third_party_check:[null,Validators.compose([Validators.required])],\r\n })\r\n }\r\n\r\n createTenantsDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n name:[null,Validators.compose([Validators.required])],\r\n mobile_no:[null,Validators.compose([Validators.required])],\r\n tenants_seen:[null,Validators.compose([Validators.required])],\r\n tenants_con_owner:[null,Validators.compose([Validators.required])],\r\n rent_paid:[null,Validators.compose([Validators.required])],\r\n staying_since:[null,Validators.compose([Validators.required])],\r\n \r\n });\r\n }\r\n\r\n addrentalHome()\r\n {\r\n const control = this.rentalForms.get('rental_home') as FormArray;\r\n control.push(this.createrentalHome());\r\n this.addTenantsDetails(0);\r\n }\r\n\r\n addTenantsDetails(i)\r\n {\r\n const control = (this.rentalForms.controls['rental_home']).at(i).get('details_tenants') as FormArray;\r\n \r\n // control.controls.splice(0);\r\n control.push(this.createTenantsDetails());\r\n\r\n }\r\n\r\n deleteTenantsDetails(rentIndex,TenantsIndex)\r\n {\r\n const control = (this.rentalForms.controls['rental_home']).at(rentIndex).get('details_tenants') as FormArray;\r\n \r\n control.removeAt(TenantsIndex);\r\n }\r\n\r\n deleterentalHome(i)\r\n {\r\n const control = (this.rentalForms.controls['rental_home']) as FormArray;\r\n if(control.length==1)\r\n {\r\n this.rentalForms.controls['rental_home'].reset();\r\n }else\r\n {\r\n control.removeAt(i);\r\n }\r\n }\r\n saveRentalDetails(answerData)\r\n {\r\n let records:any={}\r\n \r\n \r\n// if(this.rentalForms.valid){\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.FormId.form_id;\r\n records.fk_createdby = this.users;\r\n records.person_met = answerData.person_met;\r\n records.property_own = answerData.property_own;\r\n records.nature_property = answerData.nature_property;\r\n if(answerData.nature_property=='others')\r\n {\r\n records.nature_others = answerData.nature_others\r\n }\r\n records.rental_home = answerData.rental_home;\r\n Object.keys(records.rental_home).forEach((key) => (records.rental_home[key]==null) && delete answerData[key]);\r\n\r\n this.qustCat.saveForm(records).subscribe(res=>\r\n { \r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n })\r\n // }else\r\n // {\r\n // this.toast.pdTriggerappmessage('Enter All Field');\r\n // }\r\n }\r\n\r\n getRentalDetails()\r\n {\r\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let rentalDetails = res['records'];\r\n var rentalData = Object.keys(res['records'].rental_home\r\n ).map(function(key) {\r\n return res['records'].rental_home\r\n [key];\r\n\r\n });\r\n var tanantsData = [];\r\n var control = (this.rentalForms.controls['rental_home']) as FormArray;\r\n var tanantscontrol; \r\n rentalData.forEach((val,index)=>\r\n {\r\n \r\n // this.addrentalHome();\r\n // tanantsData.push(Object.keys(val.details_tenants).map(function(key)\r\n // {\r\n \r\n \r\n // return val.details_tenants[key];\r\n // }));\r\n rentalData[index].details_tenants = Object.keys(val.details_tenants).map(function(key)\r\n {\r\n \r\n \r\n return val.details_tenants[key];\r\n });\r\n control.push(this.createrentalHome()); \r\n tanantscontrol = (this.rentalForms.controls['rental_home']).at(index).get('details_tenants') as FormArray; \r\n \r\n rentalData[index].details_tenants.forEach((val,key)=>\r\n {\r\n //rentalData[index].details_tenants = val;\r\n \r\n // rentalData[index].details_tenants = [key];\r\n tanantscontrol.push(this.createTenantsDetails());\r\n });\r\n \r\n // control[index].details_tenants =tanantscontrol; \r\n });\r\n this.rentalForms.controls['person_met'].setValue(rentalDetails.person_met);\r\n this.rentalForms.controls['property_own'].setValue(rentalDetails.property_own);\r\n this.rentalForms.controls['nature_property'].setValue(rentalDetails.nature_property);\r\n if(rentalDetails.nature_property=='others'){\r\n this.rentalForms.controls['nature_others'].\r\n setValue(rentalDetails.nature_others);\r\n }\r\n \r\n this.rentalForms.controls['rental_home'].setValue(rentalData); \r\n }else\r\n {\r\n this.addrentalHome();\r\n // this.addTenantsDetails(0);\r\n }\r\n })\r\n }\r\n createTenantsDetailswithData(index,data)\r\n {\r\n return this.fb.group(\r\n {\r\n name:[data.name],\r\n mobile_no:[data.mobile_no],\r\n tenants_seen:[data.tenants_seen],\r\n tenants_con_owner:[data.tenants_con_owner],\r\n rent_paid:[data.rent_paid],\r\n staying_since:[data.staying_since]\r\n });\r\n }\r\n\r\n validateAllFormFields(formGroup: any) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n \r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) { \r\n this.validateAllFormFields(control);\r\n } else if (control instanceof FormArray) { \r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { PdQuestionAssessedInfoPage } from '../pd-question-assessed-info/pd-question-assessed-info';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedDashPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-dash',\r\n templateUrl: 'pd-question-assessed-dash.html',\r\n})\r\nexport class PdQuestionAssessedDashPage {\r\n\r\n businessIncome: boolean;\r\n grossAccess: boolean;\r\n finalAccess: boolean;\r\n finalExpense: any;\r\n finalIncome: any;\r\n finalData: any;\r\n houseExpenseData: boolean;\r\n businessData: boolean;\r\n salesData: boolean;\r\n purchaseData: boolean;\r\n grossprofit: any;\r\n assessedProcess: boolean;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n assessedForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n calc_type_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n mode:[null,Validators.compose([Validators.required])],\r\n margin:[null],\r\n fk_createdby:[this.users],\r\n fk_updatedby:[null],\r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedDashPage');\r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getassessedIncome(); \r\n }\r\n getViewPage(pageId)\r\n {\r\n\r\n this.navCtrl.push(PdQuestionAssessedInfoPage,{'pdDetails':this.pdDetails,'pageId':pageId});\r\n }\r\n\r\n saveAssessedForm(answerData)\r\n {\r\n \r\n if(this.assessedForm.valid)\r\n {\r\n \r\n \r\n \r\n let records = {'records':this.assessedForm.value};\r\n \r\n this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.getassessedIncome();\r\n }else\r\n {\r\n\r\n }\r\n })\r\n \r\n }\r\n }\r\n\r\n getassessedIncome()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id};\r\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.assessedProcess = true;\r\n this.grossprofit = res['records'].gross_profit_calculation_type[0];\r\n if(res['records'].purchase_details.length !=0)\r\n {\r\n this.purchaseData = true;\r\n }\r\n if(res['records'].sales_items_by_monthwise.length !=0 || res['records'].sales_declared_by_customer.length !=0 || res['records'].sales_calculated_by_itemwise.length !=0)\r\n {\r\n this.salesData = true;\r\n }\r\n if(res['records'].business_expenses.length !=0)\r\n {\r\n this.businessData = true;\r\n }\r\n if(res['records'].house_hold_expenses.length !=0)\r\n {\r\n this.houseExpenseData = true;\r\n }\r\n if(res['records'].othre_business_income.length !=0)\r\n {\r\n this.businessIncome = true;\r\n }\r\n \r\n if(res['records'].final_data.length !=0){\r\n this.finalAccess = true;\r\n this.finalData = res['records'].final_data[0]; \r\n this.finalIncome = this.finalData.income;\r\n this.finalExpense = this.finalData.expense; \r\n }\r\n \r\n if(this.grossprofit !==undefined)\r\n {\r\n this.grossAccess = true;\r\n this.assessedForm.controls['mode'].setValue(this.grossprofit.mode);\r\n this.assessedForm.controls['margin'].setValue(this.grossprofit.margin);\r\n this.assessedForm.controls['calc_type_id'].setValue(this.grossprofit.calc_type_id);\r\n }\r\n \r\n }else\r\n {\r\n this.assessedProcess = false;\r\n }\r\n });\r\n }\r\n\r\n\r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\nimport { PdQuestionAssessedSalesPage } from '../pd-question-assessed-sales/pd-question-assessed-sales';\r\nimport { PdQuestionAssessedDailySalesPage } from '../pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\r\nimport { FormatWidth } from '@angular/common';\r\nimport { PdQuestionAssessedPurchasePage } from '../pd-question-assessed-purchase/pd-question-assessed-purchase';\r\nimport { PdQuestionAssessedBusinessPage } from '../pd-question-assessed-business/pd-question-assessed-business';\r\nimport { PdQuestionAssessedHouseholdPage } from '../pd-question-assessed-household/pd-question-assessed-household';\r\nimport { PdQuestionAssessedBusinessIncomePage } from '../pd-question-assessed-business-income/pd-question-assessed-business-income';\r\n\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-info',\r\n templateUrl: 'pd-question-assessed-info.html',\r\n})\r\nexport class PdQuestionAssessedInfoPage {\r\n\r\n busissnessIncome: any;\r\n mode: any;\r\n grossprofitCalc: any;\r\n houseHold_details: any;\r\n grandHouseExpenseTotal: any;\r\n houseannual: any=[];\r\n businessExpenses_details: any;\r\n grandExpenseTotal: any;\r\n expenseannual: any=[];\r\n businessExpenses: any;\r\n purchse_details: any;\r\n sales_item_month_value: any=[];\r\n sales_wise_month_headers:any = [];\r\n sales_month_wise_data:any = [];\r\n sales_item_value: any;\r\n grandpurchaseTotal: any=null;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n users: any;\r\n pageId: any;\r\n pdDetails: any;\r\n assessedForm:FormGroup;\r\n FormName:any;\r\n annual:any = [];\r\n rawMaterialForm:FormGroup;\r\n BuissnessForm:FormGroup;\r\n houseHoldForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pageId = this.navParams.get('pageId');\r\n\r\n switch(this.pageId)\r\n {\r\n case 1:\r\n this.FormName = \"Sales Page\";\r\n break;\r\n case 2:\r\n this.FormName = \"Purchase Page\";\r\n break;\r\n case 3:\r\n this.FormName = \"Business Expense Page\";\r\n break;\r\n case 4:\r\n this.FormName = \"House Hold Page\";\r\n break;\r\n default:\r\n this.FormName = \"Question Page\";\r\n break;\r\n }\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n sdc_id:[null],\r\n sales_declared_by_customer:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n margin_per:[null],\r\n margin_value:[null],\r\n isactive:[1],\r\n fk_createdby:[this.users],\r\n \r\n });\r\n \r\n \r\n \r\n \r\n // this.getdropList();\r\n \r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedInfoPage');\r\n }\r\n\r\n\r\n \r\n \r\n\r\n ionViewDidEnter() {\r\n \r\n }\r\n ionViewCanEnter()\r\n {\r\n this.getAssessedDetails(); \r\n }\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n getMarginCalc()\r\n {\r\n let margin_per = this.assessedForm.controls['margin_per'].value;\r\n let sales_declared_by_customer = this.assessedForm.controls['sales_declared_by_customer'].value;\r\n if(margin_per !=null && sales_declared_by_customer !=null)\r\n {\r\n let value = sales_declared_by_customer * (margin_per/100);\r\n this.assessedForm.controls['margin_value'].setValue(value);\r\n }\r\n }\r\n\r\n saveData(answerData)\r\n {\r\n let records:any = {};\r\n\r\n records ={'records':answerData};\r\n console.log(records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesDeclaredByCustomer',records).subscribe(res=>\r\n {\r\n // console.log(res);\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.getAssessedDetails();\r\n }\r\n })\r\n }\r\n \r\n getAssessedDetails()\r\n {\r\n this.sales_item_month_value = [];\r\n this.sales_month_wise_data = [];\r\n this.sales_item_value= [];\r\n let records = {'pd_id':this.pdDetails.pd_id};\r\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let sales_value = res['records'].sales_declared_by_customer[0];\r\n this.sales_item_value = res['records'].sales_calculated_by_itemwise;\r\n this.sales_item_month_value = res['records'].sales_items_by_monthwise;\r\n this.purchse_details = res['records'].purchase_details; \r\n this.grossprofitCalc = res['records'].gross_profit_calculation_type[0];\r\n this.mode = this.grossprofitCalc.mode;\r\n console.log(this.grossprofitCalc);\r\n var result = this.purchse_details.reduce(function(p, c) {\r\n \r\n return p;\r\n },[]);\r\n console.log(result);\r\n\r\n\r\n this.businessExpenses_details = res['records'].business_expenses;\r\n this.houseHold_details = res['records'].house_hold_expenses;\r\n this.busissnessIncome = res['records'].othre_business_income;\r\n // console.log(this.sales_item_month_value);\r\n // this.getpurchaseDetails(this.purchse_details);\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n this.sales_item_month_value.forEach((itemElement, itemIndex) => {\r\n let expandBodyContent= Object.keys(itemElement.items).map(key => ({ header:key, value: itemElement.items[key] }));\r\n let listItems: any=[];\r\n expandBodyContent.forEach((expnadElement, expnadIndex) => {\r\n let calculateItems = expnadElement.value.reduce((acc, calculate) => acc + Number(calculate.sales_value), 0);\r\n listItems.push({items:expnadElement, itemsTotal:calculateItems})\r\n })\r\n let calculateAllItemsTotal:number=listItems.reduce((racc, rcalculate) => racc + Number(rcalculate.itemsTotal), 0);\r\n \r\n let convertYear : number = 12 / listItems.length;\r\n let footerMessage: any=[];\r\n footerMessage.push({\r\n month_message: listItems.length + ' Month Sales : '+ calculateAllItemsTotal,\r\n month_value:calculateAllItemsTotal,\r\n year_message: ' Yearly Sales Arrived : '+ calculateAllItemsTotal * convertYear,\r\n year_value: calculateAllItemsTotal * convertYear,\r\n })\r\n this.sales_month_wise_data.push({salesItem:itemElement.sales_item, expandElements:expandBodyContent, footerMessage: footerMessage,simId:itemElement.sim_id});\r\n });\r\n\r\n\r\n console.log(this.sales_month_wise_data);\r\n if(sales_value!==undefined){\r\n this.assessedForm.controls['sdc_id'].setValue(sales_value.sdc_id);\r\n this.assessedForm.controls['sales_declared_by_customer'].setValue(sales_value.sales_declared_by_customer);\r\n this.assessedForm.controls['margin_value'].setValue(sales_value.margin_value);\r\n this.assessedForm.controls['margin_per'].setValue(sales_value.margin_per);\r\n \r\n }\r\n \r\n }\r\n })\r\n\r\n }\r\n\r\n /**\r\n * Add Assessed Forms\r\n */\r\n\r\n AddAssessedForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':null,'grossprofit':this.grossprofitCalc}); \r\n \r\n }\r\n\r\n editDetails(salesCal)\r\n {\r\n let salesData = this.sales_item_value.filter(sal=>sal.sci_id==salesCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':salesData,'grossprofit':this.grossprofitCalc}); \r\n \r\n }\r\n editAllDetails(AllsalesData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':AllsalesData,'grossprofit':this.grossprofitCalc}); \r\n }\r\n\r\n /**Assessed Daily Form Details */\r\n\r\n AddAssessedDailyForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':null,'grossprofit':this.grossprofitCalc})\r\n }\r\n editAssessedDailyForm(simId)\r\n {\r\n let dailySaleDetails = this.sales_item_month_value.filter(ass=>ass.sim_id==simId);\r\n console.log(dailySaleDetails);\r\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':dailySaleDetails,'grossprofit':this.grossprofitCalc})\r\n \r\n }\r\n\r\n /**purchase Details Forms */\r\n AddPurchaseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':null}); \r\n \r\n }\r\n\r\n editPurchaseDetails(purchaseCal)\r\n {\r\n let salesData = this.purchse_details.filter(sal=>sal.purchase_id==purchaseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':salesData}); \r\n \r\n }\r\n editPurchaseAllDetails(AllpurchaseData)\r\n {\r\n console.log('260',AllpurchaseData);\r\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':AllpurchaseData}); \r\n }\r\n \r\n\r\n /**Business Expense */\r\n AddExpenseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':null}); \r\n \r\n }\r\n\r\n editExpenseDetails(expenseCal)\r\n {\r\n let salesData = this.businessExpenses_details.filter(sal=>sal.pd_expense_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':salesData}); \r\n \r\n }\r\n editExpenseAllDetails(AllexpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':AllexpenseData}); \r\n }\r\n \r\n\r\n /** Household Expenses Details */\r\n AddHouseExpenseForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':null}); \r\n \r\n }\r\n\r\n editHouseExpenseDetails(expenseCal)\r\n {\r\n let salesData = this.houseHold_details.filter(sal=>sal.household_expense_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':salesData}); \r\n \r\n }\r\n editHouseExpenseAllDetails(AllExpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':AllExpenseData}); \r\n }\r\n\r\n /**\r\n * Income Details\r\n */\r\n AddIncomeForm()\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':null}); \r\n \r\n }\r\n\r\n editIncomeDetails(expenseCal)\r\n {\r\n let salesData = this.busissnessIncome.filter(sal=>sal.pd_business_income_id==expenseCal);\r\n console.log(salesData);\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':salesData}); \r\n \r\n }\r\n editIncomeAllDetails(AllexpenseData)\r\n {\r\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':AllexpenseData}); \r\n }\r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedSalesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-sales',\r\n templateUrl: 'pd-question-assessed-sales.html',\r\n})\r\nexport class PdQuestionAssessedSalesPage {\r\n\r\n grossprofitCalc: any;\r\n salesData: any =[];\r\n annual: any=[];\r\n grandTotal: any;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n assessedForm: FormGroup;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.grossprofitCalc = this.navParams.get('grossprofit');\r\n this.users = this.aws.getlocale();\r\n this.assessedForm = this.fb.group(\r\n {\r\n \r\n salesCalItemwise:this.fb.array([]),\r\n });\r\n this.salesData = this.navParams.get('sales');\r\n if(this.salesData!=null)\r\n {\r\n this.getSalesItemData(this.salesData);\r\n }else\r\n {\r\n this.addSalesCal();\r\n }\r\n // this.addSalesCal();\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedSalesPage');\r\n }\r\n\r\n getdropList()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n }\r\n\r\n createSalesCal()\r\n {\r\n return this.fb.group(\r\n {\r\n sci_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n\r\n sales_item:[null,Validators.compose([Validators.required])],\r\n sales_qty:[null,Validators.compose([Validators.required])],\r\n fk_uom_id:[null,Validators.compose([Validators.required])],\r\n rate_per_unit:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_sale_value:[null],\r\n margin_per:[null],\r\n margin_per_uom:[null],\r\n margin_final_value:[null],\r\n });\r\n }\r\n\r\n addSalesCal()\r\n {\r\n if(this.assessedForm.valid){\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n control.push(this.createSalesCal());\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the all fields');\r\n }\r\n }\r\n \r\n removeSalesCal(i)\r\n {\r\n this.annual.splice(i,1);\r\n \r\n // this.annual[i].spl\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n console.log(this.grandTotal);\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n if(control.length==1)\r\n {\r\n control.removeAt(i);\r\n this.addSalesCal(); \r\n } else{\r\n control.removeAt(i);\r\n }\r\n }\r\n /**\r\n * frequency Type \r\n * 1.Weekly no need\r\n * 2.Daily 250\r\n * 3.Yearly \r\n * 4.Hourly no need\r\n * 5.Monthly 12\r\n * 6.none\r\n * 7.none\r\n * 8.none\r\n */\r\n salecalculat(index,details)\r\n {\r\n // console.log(details,index);\r\n let frequencyId = details.value.fk_frequency_id;\r\n let salesQty = details.value.sales_qty;\r\n let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,salesQty,UOM,index);\r\n // console.log(frequencyId);\r\n let annual\r\n if(salesQty!=null && UOM!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (salesQty*UOM*250);\r\n this.annual[index] = annual;\r\n details.controls['annual_sale_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (salesQty*UOM);\r\n this.annual[index] = annual;\r\n details.controls['annual_sale_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (salesQty*UOM*12);\r\n this.annual[index] = annual;\r\n details.controls['annual_sale_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n }else\r\n {\r\n // this.toast.pdTriggerappmessage('Enter the Sales Quantity and UOM');\r\n }\r\n \r\n \r\n \r\n \r\n console.log(this.annual);\r\n }\r\n\r\n getSalesCalc(details)\r\n {\r\n // console.log(details);\r\n let margin_per = details.value.margin_per;\r\n let margin_amount = details.value.margin_per_uom;\r\n let annual_sale_value = details.value.annual_sale_value;\r\n let sales_qty = details.value.sales_qty;\r\n // console.log(sales_qty,margin_amount);\r\n let value:any = '';\r\n if(margin_per !=null || margin_amount !=null){\r\n if(margin_per !=null)\r\n {\r\n value = +annual_sale_value * (+margin_per/100);\r\n }else\r\n {\r\n console.log('else');\r\n value = +sales_qty* +margin_amount;\r\n }\r\n console.log(value);\r\n details.controls['margin_final_value'].setValue(value);\r\n }\r\n }\r\n saveData(answerData)\r\n {\r\n let records = {'records':answerData.salesCalItemwise};\r\n console.log(records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesCalculatedByItemwise',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n })\r\n }\r\n \r\n getSalesItemData(salesData)\r\n {\r\n console.log(salesData);\r\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\r\n\r\n salesData.forEach((sale,index)=>{\r\n \r\n this.annual[index] = sale.annual_sale_value\r\n control.push(this.createSaleswithData(sale));\r\n })\r\n // this.assessedForm.controls['salesCalItemwise'].setValue(salesData);\r\n // console.log(control);\r\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \r\n }\r\n\r\n createSaleswithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n sci_id:[data.sci_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n sales_item:[data.sales_item,Validators.compose([Validators.required])],\r\n sales_qty:[data.sales_qty,Validators.compose([Validators.required])],\r\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\r\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_sale_value:[data.annual_sale_value],\r\n margin_per:[data.margin_per],\r\n margin_per_uom:[data.margin_per_uom],\r\n margin_final_value:[data.margin_final_value],\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedDailySalesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-daily-sales',\r\n templateUrl: 'pd-question-assessed-daily-sales.html',\r\n})\r\nexport class PdQuestionAssessedDailySalesPage {\r\n\r\n currentDate: string;\r\n grossprofitCalc: any;\r\n salesDaily: any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n salesDailyForm: FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.salesDaily = this.navParams.get('salesDaily');\r\n this.grossprofitCalc = this.navParams.get('grossprofit');\r\n this.users = this.aws.getlocale();\r\n this.currentDate = constant.getcurrentDate().replace(\"T00:00\",'');\r\n \r\n this.salesDailyForm = this.fb.group(\r\n {\r\n sales_product: this.fb.array([]),\r\n })\r\n if (this.salesDaily != null) {\r\n this.getDailySalesData(this.salesDaily);\r\n } else {\r\n this.adddailySalaesProduct();\r\n\r\n }\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedDailySalesPage');\r\n }\r\n\r\n createdailysalesProduct() {\r\n return this.fb.group(\r\n {\r\n sim_id: [null],\r\n sales_item: [null, Validators.compose([Validators.required])],\r\n child: this.fb.array([]),\r\n fk_pd_id: [this.pdDetails.pd_id],\r\n margin_per: [null],\r\n margin_value: [null],\r\n fk_createdby: [this.users],\r\n isactive: ['1'],\r\n });\r\n }\r\n createdailyChildSaleProduct() {\r\n return this.fb.group({\r\n simc_id: [null],\r\n fk_sim_id: [null],\r\n sales_date: [null, Validators.compose([Validators.required])],\r\n sales_value: [null, Validators.compose([Validators.required])],\r\n isactive: ['1'],\r\n })\r\n }\r\n temparr = [];\r\n tempdate = [];\r\n getSalesCalc(subchild,child,key) {\r\n \r\n let saledate: any = new Date(subchild.value.sales_date).getMonth() + 1;\r\n let totalitemmargin = child.value.margin_per;\r\n \r\n if (totalitemmargin != null && subchild.value.sales_value !=null) {\r\n let loopAccess = false;\r\n let loopindex = 0;\r\n if (this.tempdate.length != 0) {\r\n for (var i = 0; i < this.tempdate.length; i++) {\r\n\r\n if (this.tempdate[i].month == saledate) {\r\n loopAccess = true;\r\n loopindex = i;\r\n }\r\n }\r\n\r\n if (loopAccess) {\r\n\r\n \r\n this.tempdate[loopindex].value = this.tempdate[loopindex].value + subchild.value.sales_value;\r\n this.temparr.push(subchild.value.sales_value);\r\n loopAccess = false;\r\n loopindex = 0;\r\n \r\n } else {\r\n \r\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); this.temparr.push(subchild.value.sales_value);\r\n }\r\n\r\n\r\n } else {\r\n \r\n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value });\r\n this.temparr.push(subchild.value.sales_value);\r\n }\r\n\r\n let totalMonth = 12 / this.tempdate.length;\r\n \r\n let tempgrandTotal = this.tempdate.reduce((a, b) => (+a + +b.value), 0);\r\n \r\n // let value = tempgrandTotal * (totalitemmargin / 100);\r\n let value = tempgrandTotal*totalMonth ;\r\n \r\n let grandValue = value * (totalitemmargin / 100);\r\n child.controls['margin_value'].setValue(grandValue);\r\n \r\n }\r\n \r\n }\r\n adddailySalaesProduct() {\r\n this.tempdate = [];\r\n if (this.salesDailyForm.valid) {\r\n const control = this.salesDailyForm.get('sales_product') as FormArray;\r\n control.push(this.createdailysalesProduct());\r\n \r\n this.adddailyChildSaleProduct(control.length - 1);\r\n }\r\n }\r\n adddailyChildSaleProduct(index) {\r\n // if(this.salesDailyForm.valid){\r\n const control = (this.salesDailyForm.get('sales_product')).at(index).get('child') as FormArray;\r\n\r\n control.push(this.createdailyChildSaleProduct());\r\n // }\r\n }\r\n\r\n deletedailySalesProduct(index) {\r\n \r\n this.tempdate.slice(index,1);\r\n const control = (this.salesDailyForm.controls['sales_product']) as FormArray;\r\n if (control.length == 1) {\r\n this.salesDailyForm.controls['sales_product'].reset();\r\n } else {\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n deletedailyChildSaleProduct(saleIndex, saleChildIndex) {\r\n this.tempdate = [];\r\n const control = (this.salesDailyForm.controls['sales_product']).at(saleIndex).get('child') as FormArray;\r\n if(control.length==1)\r\n {\r\n control.removeAt(saleChildIndex);\r\n this.adddailyChildSaleProduct(saleIndex); \r\n }else{\r\n control.removeAt(saleChildIndex);\r\n }\r\n }\r\n saveData(answerData) {\r\n if (this.salesDailyForm.valid) {\r\n let records = { 'records': answerData.sales_product };\r\n this.qustCat.saveassessedForms('saveAssessedIncomeMonthwiseItems', records).subscribe(res => {\r\n if (res['dataStatus'] == true) {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n }\r\n });\r\n }\r\n\r\n\r\n }\r\n getDailySalesData(dailySalesData) {\r\n \r\n const control = this.salesDailyForm.get('sales_product') as FormArray;\r\n let salesChildControl;\r\n let salesChildControlarr = [];\r\n dailySalesData.forEach((val, index) => {\r\n\r\n control.push(this.dailySalesWithData(val));\r\n salesChildControl = (this.salesDailyForm.controls['sales_product']).at(index).get('child') as FormArray;\r\n\r\n salesChildControlarr[index] = Object.keys(val['items']).map(key => val['items'][key]);\r\n\r\n salesChildControlarr[index].forEach((vals, i) => {\r\n vals.forEach((item, key) => {\r\n let saleDate = new Date(item.sales_date);\r\n\r\n item.sales_date = saleDate.getFullYear() + '-' + (\"0\" + (saleDate.getMonth() + 1)).slice(-2) + '-' + (\"0\" + (saleDate.getDay() + 1)).slice(-2);\r\n salesChildControl.push(this.dailySalesChildWithData(item, val.sim_id));\r\n })\r\n\r\n\r\n\r\n });\r\n\r\n });\r\n }\r\n\r\n dailySalesWithData(data) {\r\n\r\n return this.fb.group(\r\n {\r\n sim_id: [data.sim_id],\r\n sales_item: [data.sales_item, Validators.compose([Validators.required])],\r\n child: this.fb.array([]),\r\n fk_pd_id: [this.pdDetails.pd_id],\r\n fk_createdby: [this.users],\r\n isactive: ['1'],\r\n margin_per: [data.margin_per],\r\n margin_value: [data.margin_value],\r\n })\r\n }\r\n dailySalesChildWithData(data, fk_id) {\r\n\r\n\r\n return this.fb.group(\r\n {\r\n simc_id: [data.simc_id],\r\n fk_sim_id: [fk_id],\r\n sales_date: [data.sales_date, Validators.compose([Validators.required])],\r\n sales_value: [data.sales_value, Validators.compose([Validators.required])],\r\n isactive: ['1'],\r\n })\r\n\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedPurchasePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-purchase',\r\n templateUrl: 'pd-question-assessed-purchase.html',\r\n})\r\nexport class PdQuestionAssessedPurchasePage {\r\n purchaseDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n businessExpenses: any;\r\n UOM: any;\r\n m_freqOfPurchase: any;\r\n annual: any = [];\r\n grandpurchaseTotal: any;\r\n rawMaterialForm:FormGroup;\r\n constructor(public navCtrl: NavController, public fb:FormBuilder,public navParams: NavParams,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public aws:AwsServiceProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.purchaseDetails = this.navParams.get('purchase');\r\n this.users = this.aws.getlocale();\r\n this.rawMaterialForm = this.fb.group(\r\n {\r\n purchase:this.fb.array([]),\r\n });\r\n if(this.purchaseDetails!=null)\r\n {\r\n this.getpurchaseDetails(this.purchaseDetails);\r\n }else\r\n {\r\n this.addPurchaseDetails();\r\n }\r\n this.getdropList();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedPurchasePage');\r\n }\r\n\r\n\r\n createPurchaseDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n purchase_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n purchase_item:[null,Validators.compose([Validators.required])],\r\n purchase_qty:[null,Validators.compose([Validators.required])],\r\n fk_uom_id:[null,Validators.compose([Validators.required])],\r\n rate_per_unit:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_purchase_value:[null,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n\r\n getdropList()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.m_freqOfPurchase = res['records'].filter(fre=>fre.isactive==1);\r\n }\r\n })\r\n this.qustCat.getcommondrop('UOM').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\r\n }\r\n })\r\n }\r\n addPurchaseDetails()\r\n {\r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\r\n control.push(this.createPurchaseDetails());\r\n }\r\n\r\n deletePurchaseDetails(i)\r\n {\r\n this.annual.splice(i,1);\r\n \r\n // this.annual[i].spl\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\r\n control.removeAt(i); \r\n }\r\n\r\n\r\n salecalculat(index,details)\r\n {\r\n console.log(this.grandpurchaseTotal);\r\n console.log(details,index);\r\n let frequencyId = details.value.fk_frequency_id;\r\n let purchaseQty = details.value.purchase_qty;\r\n let UOM = details.value.rate_per_unit;\r\n console.log(frequencyId,purchaseQty,UOM,index);\r\n // console.log(frequencyId);\r\n let annual\r\n if(purchaseQty!=null && UOM!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (purchaseQty*UOM*250);\r\n this.annual[index] = annual;\r\n details.controls['annual_purchase_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (purchaseQty*UOM);\r\n this.annual[index] = annual;\r\n details.controls['annual_purchase_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (purchaseQty*UOM*12);\r\n this.annual[index] = annual;\r\n details.controls['annual_purchase_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Purchase Quantity and UOM');\r\n }\r\n }\r\n savepurchaseData(answerData)\r\n {\r\n if(this.rawMaterialForm.valid){\r\n let records = {'records':answerData.purchase};\r\n console.log('data',records);\r\n this.qustCat.saveassessedForms('saveAssessedIncomePurchaseDetails',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n // this.getAssessedDetails();\r\n \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter All Field');\r\n }\r\n }\r\n\r\n getpurchaseDetails(purchaseDetails)\r\n {\r\n console.log('function in',purchaseDetails);\r\n \r\n const control = this.rawMaterialForm.controls['purchase'] as FormArray; \r\n console.log(control); \r\n if(purchaseDetails.length ==0)\r\n {\r\n console.log('if');\r\n this.addPurchaseDetails();\r\n }else{\r\n console.log('else');\r\n purchaseDetails.forEach((val,index)=>\r\n {\r\n // console.log(index);\r\n control.push(this.createPurchasewithData(val));\r\n this.annual[index] = val.annual_purchase_value;\r\n });\r\n this.grandpurchaseTotal = this.annual.reduce((a,b)=>(+a + +b),0);\r\n }\r\n // console.log(control); \r\n \r\n }\r\n\r\n createPurchasewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n purchase_id:[data.purchase_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n purchase_item:[data.purchase_item,Validators.compose([Validators.required])],\r\n purchase_qty:[data.purchase_qty,Validators.compose([Validators.required])],\r\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\r\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_purchase_value:[data.annual_purchase_value,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedBusinessPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-business',\r\n templateUrl: 'pd-question-assessed-business.html',\r\n})\r\nexport class PdQuestionAssessedBusinessPage {\r\n m_freqOfPurchase: any;\r\n expenseDetails: any;\r\n grandpurchaseTotal(arg0: any): any {\r\n throw new Error(\"Method not implemented.\");\r\n }\r\n grandExpenseTotal: any=[];\r\n expenseannual: any=[];\r\n users: any;\r\n pdDetails: any;\r\n BuissnessForm:FormGroup;\r\n businessExpenses:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.expenseDetails = this.navParams.get('expense');\r\n this.users = this.aws.getlocale();\r\n this.BuissnessForm = this.fb.group(\r\n {\r\n busExpense:this.fb.array([]),\r\n });\r\n\r\n if(this.expenseDetails!=null)\r\n {\r\n this.getBuisnessExpenses(this.expenseDetails);\r\n }else\r\n {\r\n this.addBusinessDetails();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n \r\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\r\n } \r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedBusinessPage');\r\n }\r\n\r\n\r\n createBusinessDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n pd_expense_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n expense_item_id:[null,Validators.compose([Validators.required])],\r\n expense_value:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_expenses_value:[null,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n\r\n addBusinessDetails()\r\n {\r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\r\n control.push(this.createBusinessDetails());\r\n }\r\n\r\n deleteBuisnessDetails(i)\r\n {\r\n this.expenseannual.splice(i,1); \r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n \r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\r\n control.removeAt(i);\r\n }\r\n\r\n busExpensecalculat(index,details)\r\n {\r\n \r\n \r\n let frequencyId = details.value.fk_frequency_id;\r\n let expenseValue = details.value.expense_value;\r\n let UOM = details.value.rate_per_unit;\r\n \r\n let annual\r\n if(expenseValue!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (expenseValue*250);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (expenseValue);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (expenseValue*12);\r\n this.expenseannual[index] = annual;\r\n details.controls['annual_expenses_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n\r\n saveBusinessData(answerData)\r\n {\r\n \r\n if(this.BuissnessForm.valid){\r\n let records = {'records':answerData.busExpense};\r\n \r\n this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n \r\n }\r\n\r\n getBuisnessExpenses(expenseDetails)\r\n {\r\n if(expenseDetails.length==0)\r\n {\r\n this.addBusinessDetails();\r\n }else\r\n {\r\n const control = this.BuissnessForm.controls['busExpense'] as FormArray; \r\n expenseDetails.forEach((val,index)=>\r\n {\r\n this.expenseannual[index] = val.annual_expenses_value;\r\n control.push(this.createBusinessExpensewithData(val));\r\n })\r\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createBusinessExpensewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_expense_id:[data.pd_expense_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n expense_item_id:[data.expense_item_id,Validators.compose([Validators.required])],\r\n expense_value:[data.expense_value,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_expenses_value:[data.annual_expenses_value,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users]\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormArray, FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedHouseholdPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-household',\r\n templateUrl: 'pd-question-assessed-household.html',\r\n})\r\nexport class PdQuestionAssessedHouseholdPage {\r\n\r\n m_freqOfPurchase: any;\r\n expenseDetails: any;\r\n houseExpenseDetails: any;\r\n users: any;\r\n pdDetails: any;\r\n houseannual: any =[];\r\n grandHouseExpenseTotal: any=[];\r\n houseHoldForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.houseExpenseDetails = this.navParams.get('FormId');\r\n this.expenseDetails = this.navParams.get('expense');\r\n this.users = this.aws.getlocale();\r\n this.houseHoldForm = this.fb.group(\r\n {\r\n houseExpense:this.fb.array([]),\r\n });\r\n if(this.expenseDetails !=null)\r\n {\r\n this.getHouseholdExpense(this.expenseDetails);\r\n }else\r\n {\r\n this.addHouseExpenses();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedHouseholdPage');\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n createHouseExpense()\r\n {\r\n return this.fb.group(\r\n {\r\n household_expense_id:[null],\r\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\r\n\t\t expense_item: [null,Validators.compose([Validators.required])],\r\n\t\t expense_value: [null,Validators.compose([Validators.required])],\r\n\t\t fk_frequency_id: [null,Validators.compose([Validators.required])],\r\n\t\t annual_expense_value: [null,Validators.compose([Validators.required])],\r\n\t\t isactive: [\"1\"],\r\n\t\t fk_createdby: [this.users]\r\n })\r\n }\r\n\r\n addHouseExpenses()\r\n {\r\n \r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\r\n\r\n control.push(this.createHouseExpense());\r\n }\r\n\r\n deleteHouseExpense(i)\r\n {\r\n this.houseannual.splice(i,1); \r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\r\n control.removeAt(i) \r\n }\r\n houseExpensecalculat(index,details)\r\n {\r\n \r\n let frequencyId = details.value.fk_frequency_id;\r\n let expenseValue = details.value.expense_value;\r\n // let UOM = details.value.rate_per_unit;\r\n // console.log(frequencyId,purchaseQty,UOM,index);\r\n // console.log(details);\r\n let annual\r\n if(expenseValue!=null){\r\n if(frequencyId==1)\r\n {\r\n\r\n }else if(frequencyId==2)\r\n {\r\n annual = (expenseValue*250);\r\n this.houseannual[index] = annual;\r\n details.controls['annual_expense_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (expenseValue);\r\n this.houseannual[index] = annual;\r\n details.controls['annual_expense_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n\r\n }else if(frequencyId==5)\r\n {\r\n annual = (expenseValue*12);\r\n this.houseannual[index] = annual;\r\n details.controls['annual_expense_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n\r\n }else if(frequencyId==7)\r\n {\r\n\r\n }else if(frequencyId==8)\r\n {\r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n console.log(this.grandHouseExpenseTotal); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n saveHouseExpenseData(answerData)\r\n {\r\n if(this.houseHoldForm.valid)\r\n {\r\n let records = {'records':answerData.houseExpense};\r\n this.qustCat.saveassessedForms('saveAssessedIncomeHouseholdExpenses',records).subscribe(res=>\r\n { \r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n }\r\n\r\n getHouseholdExpense(houseExpesneDetails)\r\n {\r\n if(houseExpesneDetails.length==0)\r\n {\r\n this.addHouseExpenses(); \r\n }else\r\n {\r\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray; \r\n houseExpesneDetails.forEach((val,index)=>\r\n {\r\n this.houseannual[index] = val.annual_expense_value;\r\n control.push(this.createHouseholdwithData(val));\r\n \r\n });\r\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createHouseholdwithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n household_expense_id:[data.household_expense_id],\r\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\r\n\t\t expense_item: [data.expense_item,Validators.compose([Validators.required])],\r\n\t\t expense_value: [data.expense_value,Validators.compose([Validators.required])],\r\n\t\t fk_frequency_id: [data.fk_frequency_id,Validators.compose([Validators.required])],\r\n\t\t annual_expense_value: [data.annual_expense_value,Validators.compose([Validators.required])],\r\n\t\t isactive: [\"1\"],\r\n\t\t fk_createdby: [this.users]\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdQuestionAssessedBusinessIncomePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-assessed-business-income',\r\n templateUrl: 'pd-question-assessed-business-income.html',\r\n})\r\nexport class PdQuestionAssessedBusinessIncomePage {\r\n m_freqOfPurchase: any = [];\r\n expenseDetails: any;\r\n \r\n grandIncomeTotal: any=[];\r\n incomeannual: any=[];\r\n users: any;\r\n pdDetails: any;\r\n BuissnessForm:FormGroup;\r\n businessIncome:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.expenseDetails = this.navParams.get('income');\r\n \r\n this.users = this.aws.getlocale();\r\n this.BuissnessForm = this.fb.group(\r\n {\r\n busIncome:this.fb.array([]),\r\n });\r\n\r\n if(this.expenseDetails!=null)\r\n {\r\n this.getBuisnessExpenses(this.expenseDetails);\r\n }else\r\n {\r\n this.addBusinessDetails();\r\n }\r\n this.getdropdown();\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('BUSINESSINCOME').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n \r\n this.businessIncome = res['records'].filter(bus=>bus.isactive==1);\r\n } \r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus'] == true){\r\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionAssessedBusinessIncomePage');\r\n }\r\n createBusinessDetails()\r\n {\r\n return this.fb.group(\r\n {\r\n pd_business_income_id:[null],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n business_income_id:[null,Validators.compose([Validators.required])],\r\n income_value:[null,Validators.compose([Validators.required])],\r\n fk_frequency_id:[null,Validators.compose([Validators.required])],\r\n annual_income_value:[null,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users],\r\n other_income_item:[null],\r\n other_frequncy_item:[null],\r\n })\r\n }\r\n\r\n addBusinessDetails()\r\n {\r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\r\n control.push(this.createBusinessDetails());\r\n }\r\n\r\n deleteBuisnessDetails(i)\r\n {\r\n this.incomeannual.splice(i,1); \r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n \r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\r\n control.removeAt(i);\r\n }\r\n\r\n busIncomecalculate(index,details)\r\n {\r\n \r\n \r\n let frequencyId = details.value.fk_frequency_id;\r\n let incomeValue = details.value.income_value;\r\n // let UOM = details.value.rate_per_unit;\r\n \r\n let annual:any;\r\n if(incomeValue!=null && incomeValue !=null){\r\n let frequency_factor = this.m_freqOfPurchase.filter(frq=>frq.frequency_id == frequencyId)[0]; \r\n if(frequencyId==1)\r\n {\r\n \r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==2)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==3)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual);\r\n }else if(frequencyId==4)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual);\r\n }else if(frequencyId==5)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual);\r\n }else if(frequencyId==6)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==7)\r\n {\r\n annual = (incomeValue*frequency_factor.mutiple_factor);\r\n this.incomeannual[index] = annual;\r\n details.controls['annual_income_value'].setValue(annual); \r\n }else if(frequencyId==8)\r\n {\r\n annual = (incomeValue);\r\n this.incomeannual[index] = annual; \r\n details.controls['annual_income_value'].setValue(annual); \r\n\r\n }else\r\n {\r\n\r\n }\r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\r\n }\r\n }\r\n\r\n saveBusinessData(answerData)\r\n {\r\n \r\n if(this.BuissnessForm.valid){\r\n let records = {'records':answerData.busIncome};\r\n \r\n this.qustCat.saveassessedForms('saveOtherBusinessIncome',records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \r\n }\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The All Field');\r\n }\r\n \r\n }\r\n\r\n getBuisnessExpenses(expenseDetails)\r\n {\r\n if(expenseDetails.length==0)\r\n {\r\n this.addBusinessDetails();\r\n }else\r\n {\r\n const control = this.BuissnessForm.controls['busIncome'] as FormArray; \r\n expenseDetails.forEach((val,index)=>\r\n {\r\n this.incomeannual[index] = val.annual_income_value;\r\n control.push(this.createBusinessExpensewithData(val));\r\n })\r\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \r\n }\r\n }\r\n\r\n createBusinessExpensewithData(data)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_business_income_id:[data.pd_business_income_id],\r\n fk_pd_id:[this.pdDetails.pd_id],\r\n business_income_id:[data.business_income_id,Validators.compose([Validators.required])],\r\n income_value:[data.income_value,Validators.compose([Validators.required])],\r\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\r\n annual_income_value:[data.annual_income_value,Validators.compose([Validators.required])],\r\n isactive:['1'],\r\n fk_createdby:[this.users],\r\n other_income_item:[data.other_income_item],\r\n other_frequncy_item:[data.other_frequncy_item],\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionLenderRepresentativePage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-lender-representative',\r\n templateUrl: 'pd-question-lender-representative.html',\r\n})\r\nexport class PdQuestionLenderRepresentativePage {\r\n\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n representativeForm:FormGroup;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.users = this.aws.getlocale();\r\n this.representativeForm = this.fb.group({\r\n pdid:[this.pdDetails.pd_id],\r\n formid:[this.FormId.form_id],\r\n fk_createdby:[this.users],\r\n lender_representative_accompany: ['', Validators.compose([Validators.required])],\r\n representative_remarks: ['', Validators.compose([Validators.required])],\r\n lender_representative_details: this.fb.array([]),\r\n });\r\n this.getLenderReDetails();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionLenderRepresentativePage');\r\n }\r\n \r\n createlenReDetails()\r\n {\r\n return this.fb.group({\r\n lender_representative_who_accompanies : ['', Validators.compose([Validators.required])],\r\n lender_representative_carry_loan_files: ['', Validators.compose([Validators.required])],\r\n });\r\n }\r\n\r\n selectedLoanChanges(e): void {\r\n if (e.value == 'Yes') {\r\n const control = this.representativeForm.controls['lender_representative_details'];\r\n control.push(this.createlenReDetails());\r\n } else if (e.value == 'No') {\r\n const arr = this.representativeForm.controls.lender_representative_details;\r\n arr.removeAt(0);\r\n }\r\n }\r\n\r\n sumbitData(answerData)\r\n { \r\n if(this.representativeForm.valid)\r\n {\r\n let records = this.representativeForm.value;\r\n \r\n this.qustCat.saveForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n });\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter All Field');\r\n }\r\n }\r\n\r\n getLenderReDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let lenderReDetails = res['records'];\r\n if(lenderReDetails.lender_representative_accompany=='Yes'){\r\n\r\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\r\n\r\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\r\n\r\n\r\n let lender_represent_details = Object.keys(res['records'].lender_representative_details).map(function(key)\r\n {\r\n return res['records'].lender_representative_details[key];\r\n });\r\n \r\n const control = this.representativeForm.controls['lender_representative_details'] as FormArray; \r\n lender_represent_details.forEach(val=>\r\n {\r\n control.push(this.createlenReDetails());\r\n })\r\n this.representativeForm.controls['lender_representative_details'].setValue(lender_represent_details);\r\n\r\n }else\r\n {\r\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\r\n\r\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\r\n }\r\n }\r\n })\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","import { Component,ViewChild,ElementRef } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, ModalController, CardTitle, Content } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray,Validator, Validators } from '@angular/forms';\r\nimport { PdQuestionGeneralOtherApplicantPage } from './pd-question-general-other-applicant/pd-question-general-other-applicant';\r\nimport { DatePipe} from '@angular/common';\r\nimport {PdPipe} from './../../../pipes/pd/pd';\r\nimport { removeSummaryDuplicates } from '@angular/compiler';\r\nimport { DataSource } from '@angular/cdk/table';\r\n\r\n/**\r\n * Generated class for the PdQuestionGeneralInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-general-info',\r\n templateUrl: 'pd-question-general-info.html',\r\n providers:[PdPipe],\r\n})\r\nexport class PdQuestionGeneralInfoPage {\r\n pipe=new DatePipe('en-US');\r\n // person_name:any;\r\n qualification_name:any;\r\n individuals_order_id:any;\r\n is_new:any;\r\n pd_co_applicant_id:any;\r\n lengthv:any;\r\n qual_name:any;\r\n curr_qualification_name;\r\n curr_business_name;\r\n \r\n\r\n applicant_name: any;\r\n otherapp: any;\r\n fetch_related_details: any = [];\r\n checkApplicantExist: any;\r\n pd_applicants_details: any = [];\r\n companyRelationShipList: any;\r\n qualificationList:any;\r\n businessEntityTypeList:any;\r\n relationShipList: any;\r\n titleList:any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n generalForm:FormGroup;\r\n list_value:FormArray;\r\n fulldata:any\r\n public buttonClick:boolean;\r\n public h_companies:boolean\r\n \r\n datav:any;\r\n individualsListBothCase:any;\r\n individualsList:any;\r\n companyList:any;\r\n i:number;\r\n data_all:any;\r\n maxDate:any;\r\n OldData:any=[];\r\n OldData_indi:any=[];\r\n updateIndex_indi:any;\r\n public addComp:boolean\r\n public addIndi:boolean\r\n updateIndex_comp: any;\r\n@ViewChild('remark') nameField: ElementRef;\r\n customer_segment_abbr: any;\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder,public modal:ModalController) {\r\n this.maxDate = new Date();\r\n this.pd_applicants_details = []; \r\n this.pd_applicants_details.pop(); \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n console.log(this.pdDetails)\r\n //let get_max_date=this.pdDetails.pd_date_of_initiation.split('/').reverse.join(\"/\");\r\n //this.maxDate=new Date(get_max_date)\r\n this.FormId = this.navParams.get('FormId');\r\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\r\n this.users = this.aws.getlocale();\r\n this.getdropdown();\r\n \r\n this.generalForm = this.fb.group({\r\n pdid:this.pdDetails.pd_id,\r\n formid:this.FormId.form_id,\r\n applicant_list: this.fb.array([]),\r\n applicant_relation: this.fb.array([]),\r\n list_value:this.fb.array([]),\r\n company_value:this.fb.array([]),\r\n individuals:this.fb.array([]),\r\n companies:this.fb.array([]),\r\n persons_with_relationships:this.fb.array([]),\r\n company_with_relationships:this.fb.array([]),\r\n rental_income_rcv_in_years:[''],\r\n rental_income_rcv_in_month:[''],\r\n \r\n general_remark:''\r\n });\r\n \r\n //this.initIndividuals();\r\n this.pd_applicants_details = this.pdDetails.applicat_details;\r\n \r\n \r\n \r\n // this.getcoapplicantDetails();\r\n this.buttonClick=false;\r\n this.h_companies=false;\r\n this.addIndi=false\r\n this.addComp=false\r\n // this.initCompanies()\r\n this.datav=[{\r\n name:\"fairoj\",\r\n id:1\r\n },\r\n {\r\n name:\"ff\",\r\n id:2\r\n }\r\n \r\n ]\r\n //this.fulldata=this.generalForm.value\r\n this.generalForm.controls['list_value'].valueChanges.subscribe(val=>{\r\n let control=this.generalForm.controls['list_value'];\r\n this.individualsList=control.value.filter(element=>element.is_applicant == true);\r\n this.individualsListBothCase=control.value.filter(element=>element.is_applicant==true || element.is_person_met==true)\r\n this.fulldata=control.value;\r\n //control.controls.length\r\n //control.push()\r\n });\r\n this.generalForm.controls['company_value'].valueChanges.subscribe(val=>{\r\n let control=this.generalForm.controls['company_value'];\r\n this.companyList=control.value.filter(element=>element.company_name )\r\n })\r\n this.i=0;\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n // this.pd_applicants_details.pop();\r\n console.log('ionViewDidLoad PdQuestionGeneralInfoPage');\r\n this.getGeneralForm()\r\n \r\n }\r\n ionViewLoaded() {\r\n\r\n // setTimeout(() => {\r\n // this.generalForm.controls['general_remark']['controls'].setFocus();\r\n // },150);\r\n }\r\n\r\n initlistv(data,purpose) :void\r\n {\r\n const control=this.generalForm.controls['list_value'];\r\n console.log(\"control\",control.length)\r\n if(purpose=='ins')\r\n {\r\n for(let val of data)\r\n {\r\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\r\n let formData:FormGroup=this.fb.group({\r\n applicant_title_name:[val.applicant_title_name],\r\n applicant_name:[val.applicant_name],\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:[val.age],\r\n qualification:[val.qualification],\r\n course_name:[val.course_name],\r\n \r\n individuals_order_id:[control.length+1],\r\n is_new:true,\r\n is_active:true,\r\n pd_co_applicant_id:[control.length+1], \r\n \r\n qualification_name:[c_qualification_name]\r\n \r\n\r\n });\r\n control.push(formData);\r\n this.buttonClick=false;\r\n // this.generalForm.value.individuals.value=\"\"\r\n }\r\n }\r\n if(purpose=='get'){\r\n for(let val of data)\r\n {\r\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\r\n let formData:FormGroup=this.fb.group({\r\n applicant_title_name:[val.applicant_title_name],\r\n applicant_name:[val.applicant_name],\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:[val.age],\r\n qualification:[val.qualification],\r\n course_name:[val.course_name],\r\n \r\n individuals_order_id:[val.individuals_order_id],\r\n is_new:[val.is_new],\r\n is_active:[val.is_active],\r\n pd_co_applicant_id:[val.pd_co_applicant_id] , \r\n \r\n \r\n \r\n \r\n\r\n qualification_name:[c_qualification_name]\r\n \r\n\r\n });\r\n control.push(formData);\r\n this.buttonClick=false;\r\n // this.generalForm.value.individuals.value=\"\"\r\n }\r\n }\r\n}\r\n\r\n qualificationById(data):string{\r\n for(let i of this.qualificationList){\r\n if(data==i.qualification_id){\r\n this.qual_name=i.qualification_name\r\n return this.qual_name\r\n }\r\n }\r\n \r\n }\r\n initCompanyValue(data,purpose):void{\r\n const control=this.generalForm.controls['company_value'];\r\n if(purpose=='ins')\r\n {\r\n for(let val of data)\r\n {\r\n var c_business_name=''\r\n if(val.business_entity_type!=1){\r\n c_business_name=this.businessEntityById(val.business_entity_type)\r\n }\r\n if(val.business_entity_type==1){\r\n c_business_name=val.business_entity_type_other\r\n }\r\n \r\n let formData:FormGroup=this.fb.group({\r\n company_name:[val.company_name],\r\n // pd_co_applicant_id:[this.i+1],\r\n // company_order_id:[this.lengthv.companies.length+1],\r\n company_order_id:[control.length+1],\r\n is_company_applicant:[val.is_company_applicant],\r\n business_entity_type:[val.business_entity_type],\r\n business_entity_type_other:[val.business_entity_type_other],\r\n is_new:true,\r\n is_active:true,\r\n company_messrs_name:['M/s'],\r\n \r\n business_years:[val.business_years],\r\n business_month:[val.business_month],\r\n business_date_object:[val.business_date_object],\r\n\r\n business_entity_type_name:[c_business_name]\r\n });\r\n control.push(formData);\r\n this.h_companies=false;\r\n }\r\n }\r\n if(purpose=='get')\r\n {\r\n for(let val of data)\r\n {\r\n \r\n var c_business_name=''\r\n if(val.business_entity_type!=1){\r\n c_business_name=this.businessEntityById(val.business_entity_type)\r\n }\r\n if(val.business_entity_type==1){\r\n c_business_name=val.business_entity_type_other\r\n }\r\n\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[val.company_name],\r\n // pd_co_applicant_id:[this.i+1],\r\n company_order_id:[val.company_order_id],\r\n is_company_applicant:[val.is_company_applicant],\r\n business_entity_type:[val.business_entity_type],\r\n business_entity_type_other:[val.business_entity_type_other],\r\n is_new:[val.is_new],\r\n is_active:[val.is_active],\r\n company_messrs_name:[val.company_messrs_name],\r\n \r\n business_years:[val.business_years],\r\n business_month:[val.business_month],\r\n business_date_object:[val.business_date_object],\r\n\r\n business_entity_type_name:[c_business_name]\r\n });\r\n control.push(formData);\r\n this.h_companies=false;\r\n }\r\n }\r\n }\r\n businessEntityById(val):string{\r\n for(let v of this.businessEntityTypeList){\r\n if(val==v.business_entity_type_id){\r\n var name=v.business_entity_type_name\r\n return name\r\n }\r\n }\r\n \r\n }\r\n \r\n\r\n initIndividuals(data):void{\r\n \r\n const control=this.generalForm.controls['individuals'];\r\n control.controls=[]\r\n if(data==null){\r\n let formData : FormGroup=this.fb.group({\r\n applicant_name:['',Validators.required],\r\n is_person_met:false,\r\n is_applicant:false,\r\n age:['',Validators.required],\r\n qualification:['',Validators.required],\r\n course_name:[''],\r\n applicant_title_name:['']\r\n\r\n });\r\n control.push(formData);\r\n }\r\n else{\r\n let formData : FormGroup=this.fb.group({\r\n \r\n \r\n applicant_name:[data.applicant_name,Validators.required],\r\n is_person_met:data.is_person_met,\r\n is_applicant:data.is_applicant,\r\n age:[data.age,Validators.required],\r\n qualification:[data.qualification,Validators.required],\r\n course_name:[data.course_name],\r\n applicant_title_name:[data.applicant_title_name]\r\n \r\n \r\n });\r\n this.buttonClick=!this.buttonClick;\r\n control.push(formData);\r\n\r\n }\r\n \r\n \r\n \r\n \r\n }\r\n initCompanies(data):void{\r\n const control=this.generalForm.controls['companies'];\r\n control.controls=[]\r\n if(data == null){\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[''],\r\n is_company_applicant:false,\r\n business_entity_type:[''],\r\n business_entity_type_other:[''],\r\n business_years:[''],\r\n business_month:[''],\r\n business_date_object:['']\r\n });\r\n control.controls=[]\r\n control.push(formData)\r\n \r\n }\r\n else{\r\n let formData:FormGroup=this.fb.group({\r\n company_name:[data.company_name],\r\n is_company_applicant:data.is_company_applicant,\r\n business_entity_type:[data.business_entity_type],\r\n business_entity_type_other:[data.business_entity_type_other],\r\n business_years:[data.business_years],\r\n business_month:[data.business_month],\r\n business_date_object:[data.business_date_object]\r\n })\r\n this.h_companies=!this.h_companies\r\n \r\n control.push(formData)\r\n }\r\n }\r\n initPersonRelationship(value):void{\r\n const control=this.generalForm.controls['persons_with_relationships'];\r\n if(value=='')\r\n {\r\n \r\n let formData:FormGroup=this.fb.group({\r\n pd_co_applicant_id:[''],\r\n applicant_name:[''],\r\n relationship:[''],\r\n relation_to:[''],\r\n individuals_order_id:[control.length+1],\r\n \r\n });\r\n \r\n control.push(formData);\r\n }\r\n else{\r\n for(let val of value)\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n pd_co_applicant_id:[val.pd_co_applicant_id],\r\n applicant_name:[val.applicant_name],\r\n relationship:[val.relationship],\r\n relation_to:[val.relation_to],\r\n });\r\n \r\n control.push(formData);\r\n }\r\n }\r\n \r\n }\r\n initCompanyRelationShip(value):void{\r\n if(value=='')\r\n {\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[''],\r\n company_relationship:[''],\r\n relation_to_company:[''],\r\n });\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.push(formData);\r\n }\r\n else{\r\n for(let val of value){\r\n let formData:FormGroup=this.fb.group({\r\n applicant_name:[val.applicant_name],\r\n company_relationship:[val.company_relationship],\r\n relation_to_company:[val.relation_to_company],\r\n });\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.push(formData);\r\n }\r\n }\r\n \r\n }\r\n\r\n \r\n \r\n add():void{\r\n \r\n this.initIndividuals(null);\r\n }\r\ndata:any;\r\ncart=[];\r\ndatajson:any;\r\ndataobj:any;\r\n\r\n addRec(v){\r\n if(v=='1')\r\n {\r\n this.addIndi=true;\r\n this.buttonClick=!this.buttonClick;\r\n this.initIndividuals(null);\r\n }\r\n if(v=='2')\r\n {\r\n console.log(\"companies\",this.h_companies);\r\n this.addComp=true\r\n // this.h_companies=true;\r\n this.h_companies=!this.h_companies;\r\n console.log(\"companies\",this.h_companies);\r\n this.initCompanies(null);\r\n }\r\n }\r\n editIndividuals(index){\r\n let values=this.generalForm.controls.list_value.value[index]\r\n console.log(values)\r\n this.addIndi=false\r\n this.updateIndex_indi=index;\r\n this.initIndividuals(values);\r\n // this.nameField.nativeElement.focus();\r\n\r\n }\r\n editCompanies(index){\r\n console.log(\"index\",index);\r\n let values=this.generalForm.controls.company_value.value[index]\r\n console.log(values)\r\n this.updateIndex_comp=index\r\n this.addComp=false\r\n //this.\r\n this.initCompanies(values)\r\n }\r\n update(v){\r\n console.log(\"index\",v)\r\n if(v=='1'){\r\n if(!this.generalForm.controls['individuals'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory fields Marked with '*'\");\r\n }\r\n else{\r\n let val=this.generalForm.controls.individuals.value[0]\r\n let old=this.generalForm.controls.list_value.value[this.updateIndex_indi]\r\n // const control=this.generalForm.controls.list_value.at(this.updateIndex_indi)\r\n // const control=this.list_value\r\n var c_qualification_name=this.qualificationById(val.qualification) \r\n const control=this.generalForm.controls['list_value']['controls'][this.updateIndex_indi]\r\n control.patchValue({\r\n \r\n applicant_title_name:val.applicant_title_name,\r\n applicant_name:val.applicant_name,\r\n is_person_met:val.is_person_met,\r\n is_applicant:val.is_applicant,\r\n age:val.age,\r\n qualification:val.qualification,\r\n course_name:val.course_name,\r\n \r\n individuals_order_id:old.individuals_order_id,\r\n is_new:old.is_new,\r\n is_active:old.is_active,\r\n pd_co_applicant_id:old.pd_co_applicant_id, \r\n \r\n qualification_name:c_qualification_name\r\n });\r\n this.buttonClick=false;\r\n console.log(this.generalForm.controls.list_value['controls'])\r\n // this.generalForm.controls.list_value.value.scrollToTop();\r\n // this.generalForm.controls['list_value']._scrollContent;\r\n //this.myinput._scrollContent();\r\n \r\n \r\n console.log(\"values\",val)\r\n console.log(\"old\",old);\r\n console.log(control);\r\n \r\n }\r\n }\r\n else if(v=='2'){\r\n if(!this.generalForm.controls['companies'].valid)\r\n {\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory Fields Marked with '*\")\r\n }\r\n else{\r\n let val=this.generalForm.controls.companies.value[0]\r\n var c_business_name=this.businessEntityById(val.business_entity_type)\r\n const control=this.generalForm.controls['company_value']['controls'][this.updateIndex_comp]\r\n control.patchValue({\r\n company_name:val.company_name,\r\n // company_order_id:[control.length+1],\r\n is_company_applicant:val.is_company_applicant,\r\n business_entity_type:val.business_entity_type,\r\n business_entity_type_other:val.business_entity_type_other,\r\n // is_new:true,\r\n // is_active:true,\r\n //company_messrs_name:['M/s'],\r\n \r\n business_years:val.business_years,\r\n business_month:val.business_month,\r\n business_date_object:val.business_date_object,\r\n\r\n business_entity_type_name:c_business_name\r\n })\r\n this.h_companies=false\r\n console.log(this.generalForm.controls['company_value']['controls'][this.updateIndex_comp])\r\n }\r\n }\r\n \r\n\r\n }\r\n \r\n delete(v):void{\r\n // const control=this.generalForm.controls['individuals'];\r\n //control.removeAt(i);\r\n //this.data=this.generalForm.value.individuals;\r\n this.cart.push(this.generalForm.value.individuals);\r\n this.data=Object.assign(this.cart);\r\n // this.data=Object.assign(this.generalForm.value.individuals)\r\n this.datajson=JSON.stringify(this.cart)\r\n if(v=='1')\r\n {\r\n if(!this.generalForm.controls['individuals'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\r\n }\r\n else{\r\n this.initlistv(this.generalForm.value.individuals,'ins')\r\n this.initPersonRelationship('');\r\n }\r\n }\r\n else if(v=='2')\r\n {\r\n if(!this.generalForm.controls['companies'].valid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\r\n }\r\n else{\r\n this.initCompanyValue(this.generalForm.value.companies,'ins')\r\n }\r\n }\r\n \r\n }\r\n removeList(i,index){\r\n if(index=='1')\r\n {\r\n //For List List_value(Individuals)\r\n const control=this.generalForm.controls['list_value'];\r\n control.value[i].is_active=false;\r\n this.OldData_indi.push(control.value[i])\r\n control.removeAt(i);\r\n //For Person RelationShip auto Delete\r\n const control1=this.generalForm.controls['persons_with_relationships'];\r\n control1.removeAt(i);\r\n \r\n }\r\n if(index==2){\r\n //For Company_values(Companies)\r\n const control=this.generalForm.controls['company_value']\r\n control.value[i].is_active=false\r\n var vla=control.value[i]\r\n this.OldData.push(vla);\r\n control.removeAt(i);\r\n \r\n\r\n // let control: any = this.generalForm.get('companies') as FormArray;\r\n //this.generalForm.controls['companies']\r\n //control.controls['is_active'].setValue(false);\r\n //control.controls[i].clearValidators();\r\n //control.controls[i].updateValueAndValidity();\r\n //control.clear\r\n // control.controls[i].is_active.setValue(false);\r\n /* control.controls[i].controls.company_name.clearValidators();\r\n control.controls[i].controls.company_name.updateValueAndValidity();\r\n control.controls[i].controls.business_years.clearValidators();\r\n control.controls[i].controls.business_years.updateValueAndValidity();\r\n control.controls[i].controls.business_entity_type.clearValidators();\r\n control.controls[i].controls.business_entity_type.updateValueAndValidity();*/\r\n }\r\n if(index==\"companyrel\")\r\n {\r\n //For company_relationship\r\n const control=this.generalForm.controls['company_with_relationships'];\r\n control.removeAt(i);\r\n }\r\n }\r\n \r\n \r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('EDUQUALIFICATION').subscribe(res=>{\r\n if(res['dataStatus']==true)\r\n {\r\n this.qualificationList=res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(res=>{\r\n this.businessEntityTypeList=res['records'].filter(com=>com.isactive==1);\r\n });\r\n\r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.relationShipList = res['records'].filter(rel=>rel.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.companyRelationShipList = res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n \r\n this.qustCat.getcommondrop('TITLES').subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.titleList=res['records'].filter(com=>com.isactive==1);\r\n }\r\n });\r\n \r\n }\r\n\r\n getcoapplicantDetails(checkApplicantExist,exist_applicant_relation)\r\n {\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n \r\n \r\n if(checkApplicantExist.length > 0)\r\n {\r\n checkApplicantExist.forEach(val => {\r\n applicantControl.push(this.createApplicant(val));\r\n });\r\n \r\n }\r\n if(exist_applicant_relation.length > 0){\r\n exist_applicant_relation.forEach(val => {\r\n relationControl.push(this.createApplicantRelation(val));\r\n //push related to details\r\n this.fetch_related_details.push(val.applicant_name);\r\n });\r\n }\r\n }\r\n\r\n createApplicant(elementValue:any){\r\n return this.fb.group({\r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name],\r\n company_name: [elementValue.company_name],\r\n exist_status:[elementValue.exist_status==1 && elementValue.pd_co_applicant_id > 0 ? true : false],\r\n });\r\n }\r\n\r\n coapplicantChange(event,index,item)\r\n {\r\n \r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n \r\n if(item.exist_status.value)\r\n {\r\n if(item.pd_co_applicant_id.value==0){\r\n let modal = this.modal.create(PdQuestionGeneralOtherApplicantPage);\r\n modal.onDidDismiss(data => {\r\n if(data!=1){\r\n data.otherName.forEach(val=>\r\n {\r\n\r\n let applicant_details: any= {'pd_co_applicant_id':val.pd_co_applicant_id,'applicant_name':val.applicant_name,'applicant_relation_to':'','relation':'','company_name':'','company_relation':''};\r\n relationControl.push(this.createApplicantRelation(applicant_details));\r\n // push related to details\r\n this.fetch_related_details.push(val.applicant_name);\r\n });\r\n }else\r\n {\r\n applicantControl.at(index).get('exist_status').setValue(false);\r\n \r\n \r\n }\r\n });\r\n modal.present();\r\n }else\r\n {\r\n \r\n let applicant_details: any= {'pd_co_applicant_id':item.pd_co_applicant_id.value,'applicant_name':item.applicant_name.value,'applicant_relation_to':'','relation':'','company_name':item.company_name.value,'company_relation':''};\r\n relationControl.push(this.createApplicantRelation(applicant_details));\r\n // push related to details\r\n this.fetch_related_details.push(item.applicant_name.value);\r\n }\r\n }\r\n else\r\n {\r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n let pos_id = relationControl.value.map(e=> \r\n e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value);\r\n if(item.pd_co_applicant_id.value !=0){\r\n relationControl.removeAt(pos_id);\r\n let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value);\r\n this.fetch_related_details.splice(pos_name, 1); \r\n }else\r\n {\r\n applicantControl.at(index).get('exist_status').setValue(false);\r\n \r\n }\r\n // remove related to details\r\n \r\n }\r\n\r\n }\r\n\r\n createApplicantRelation(elementValue: any) {\r\n return this.fb.group({\r\n \r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name],\r\n company_name: [elementValue.company_name,elementValue.company_name ? Validators.required : Validators.nullValidator],\r\n company_relationship: [elementValue.company_relationship],\r\n applicant_relation_to: [elementValue.applicant_relation_to, Validators.required],\r\n relationship: [elementValue.relationship],\r\n });\r\n }\r\n // temparr=[];\r\n removereferance(index)\r\n {\r\n \r\n let relationControl = this.generalForm.controls['applicant_relation'];\r\n \r\n \r\n \r\n \r\n relationControl.removeAt(index);\r\n // this.temparr = [];\r\n \r\n }\r\n // createApplicateOthers()\r\n // {\r\n // return this.fb.group(\r\n // {\r\n // Name:\r\n // })\r\n // }\r\n ConvertMonthintoYearforBusiness(e,controlIndex,flag){\r\n \r\n\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\nif(flag==1){\r\n let control: any = this.generalForm.get('companies') as FormArray;\r\n control = control.controls[controlIndex];\r\n let business_year = control.controls.business_years.value;\r\n control.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n control.controls.business_month.setValue(Math.floor(converted_month));\r\n }\r\n else if(flag==2){\r\n let ri_year = this.generalForm.controls.rental_income_rcv_in_years.value;\r\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(+ri_year + +Math.floor(converted_year));\r\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(Math.floor(converted_month));\r\n }\r\n}\r\ngetDateObjects(values: any, controlIndex) {\r\n let control: any = this.generalForm.get('companies') as FormArray;\r\n control.controls['business_years']=''\r\n control.controls['business_month']=''\r\n control = control.controls[controlIndex];\r\n let pd_initiation_date:string = this.pdDetails.pd_date_of_initiation.split('/').reverse().join(\"/\");\r\n let selected_date = this.pipe.transform(values, 'yyyy/MM/dd'); ;\r\n let diffInMs: number = Date.parse(pd_initiation_date) - Date.parse(selected_date);\r\n let diff: number = Math.floor(diffInMs / 1000);\r\n diff /= (60 * 60 * 24 * 30);\r\n diff=Math.abs(Math.round(diff));\r\n control.controls['business_years'].setValue(0);\r\n control.controls['business_month'].setValue(0);\r\n \r\n if(diff){\r\n control.controls['business_years'].setValue(Math.floor(diff / 12));\r\n control.controls['business_month'].setValue(Math.floor(diff % 12));\r\n }\r\n\r\n}\r\n submitData(answerData)\r\n {\r\n \r\n let saveRecords:any={}\r\n var valuesData_indi:any=[]\r\n\r\n var valuesData:any=[]\r\n var existData_indi=Object.keys(answerData.list_value).map(function(key){\r\n return answerData.list_value[key]\r\n })\r\n existData_indi.forEach((element)=>{\r\n valuesData_indi.push(element)\r\n })\r\n if(this.OldData_indi.length>0){\r\n this.OldData_indi.forEach((element)=>{\r\n valuesData_indi.push(element)\r\n })\r\n }\r\n\r\n var existData=Object.keys(answerData.company_value).map(function(key){\r\n return answerData.company_value[key]\r\n })\r\n existData.forEach((element)=>{\r\n valuesData.push(element)\r\n })\r\n if(this.OldData.length>0){\r\n this.OldData.forEach((element)=>{\r\n valuesData.push(element)\r\n })\r\n }\r\n \r\n saveRecords.individuals=valuesData_indi;\r\n saveRecords.companies=valuesData\r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.fk_createdby=this.users;\r\n \r\n \r\n saveRecords.persons_with_relationships=answerData.persons_with_relationships;\r\n saveRecords.company_with_relationships=answerData.company_with_relationships\r\n saveRecords.general_remark=answerData.general_remark;\r\n \r\n \r\n \r\n \r\n this.qustCat.saveForm(saveRecords).subscribe(dataResult=>{\r\n if(dataResult['dataStatus']==true){\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },3000);\r\n \r\n\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage('Error');\r\n }\r\n })\r\n \r\n /* Old Data\r\n if(this.generalForm.valid)\r\n {\r\n let saveRecords:any = {}\r\n let applicantList:any=[];\r\n let applicantRelationList:any=[];\r\n // this for applicant list for selected\r\n answerData.applicant_list.forEach((element,key) => {\r\n if(element.exist_status==1){\r\n applicantList.push({\r\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\r\n \"applicant_name\":element.applicant_name,\r\n }) \r\n }\r\n });\r\n // this is for selected applicant relation \r\n answerData.applicant_relation.forEach((element,key) => {\r\n applicantRelationList.push({\r\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\r\n \"applicant_name\":element.applicant_name,\r\n \"company_name\":element.company_name,\r\n \"company_relationship\":element.company_relationship,\r\n \"applicant_relation_to\":element.applicant_relation_to,\r\n \"relationship\":element.relationship,\r\n }) \r\n });\r\n \r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.general_remark=answerData.general_remark;\r\n saveRecords.selected_applicant=applicantList;\r\n saveRecords.applicant_relation=applicantRelationList;\r\n saveRecords.fk_createdby = this.users;\r\n this.qustCat.saveForm(saveRecords).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n this.navCtrl.pop();\r\n } \r\n })\r\n }*/\r\n }\r\n\r\n getGeneralForm()\r\n {\r\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n this.qustCat.retiverForm(records).subscribe(res=>{\r\n this.data_all=res['records'];\r\n let exist_companies:any;\r\n let exist_company_with_relationship:any;\r\n let companyControl = this.generalForm.get('company_value') as FormArray;\r\n companyControl.controls=[]\r\n this.lengthv=this.data_all;\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n \r\n this.generalForm.controls['general_remark'].setValue(this.data_all.general_remark);\r\n //\r\n\r\n var arrlist_indi:any=[] \r\n var exist_individuals=Object.keys(res['records'].individuals).map(function(key){\r\n return res['records'].individuals[key];\r\n }) \r\n if(exist_individuals.length>0){\r\n exist_individuals.forEach((element)=>{\r\n if(element.is_active != false){\r\n arrlist_indi.push(element);\r\n }\r\n else{\r\n this.OldData_indi.push(element)\r\n }\r\n })\r\n }\r\n this.initlistv(arrlist_indi,'get')\r\n \r\n \r\n if(this.data_all.persons_with_relationships != ''){\r\n this.initPersonRelationship(this.data_all.persons_with_relationships);\r\n }\r\n //Create Company with Relationship\r\n exist_company_with_relationship=Object.keys(res['records'].company_with_relationships).map(function(key){\r\n return res['records'].company_with_relationships[key];\r\n })\r\n \r\n if(this.customer_segment_abbr !='SE-RI')\r\n {\r\n if(exist_company_with_relationship.length>0){\r\n exist_company_with_relationship.forEach(key=>{\r\n this.initCompanyRelationShip(key)\r\n })\r\n }\r\n else if(exist_company_with_relationship.length==0){\r\n this.initCompanyRelationShip('');\r\n }\r\n //create Companies\r\n exist_companies=Object.keys(res['records'].companies).map(function(key){\r\n return res['records'].companies[key];\r\n })\r\n var arraylis:any=[]\r\n if(exist_companies.length>0){\r\n exist_companies.forEach((element,cindex)=>{\r\n if(element.is_active!=false){\r\n arraylis.push(element);\r\n }\r\n else{\r\n this.OldData.push(element);\r\n }\r\n })\r\n \r\n }\r\n this.initCompanyValue(arraylis,'get');\r\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(null);\r\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(null);\r\n }\r\n else if(this.customer_segment_abbr == 'SE-RI'){\r\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(res['records'].rental_income_rcv_in_years ? res['records'].rental_income_rcv_in_years:'');\r\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(res['records'].rental_income_rcv_in_month ? res['records'].rental_income_rcv_in_month:'');\r\n\r\n }\r\n\r\n // var arraylis:any=[]\r\n \r\n \r\n // if(exist_companies.length>0){\r\n // exist_companies.forEach((element,cindex)=>{\r\n // if(element.is_active!=false){\r\n // arraylis.push(element);\r\n // }\r\n // else{\r\n // this.OldData.push(element);\r\n // }\r\n // })\r\n \r\n // }\r\n // this.initCompanyValue(arraylis,'get');\r\n \r\n \r\n\r\n // if(this.data_all.company_with_relationships != ''){\r\n // this.initCompanyRelationShip(this.data_all.company_with_relationships);\r\n // }\r\n \r\n }\r\n else{\r\n console.log(\"Else data\",this.pd_applicants_details)\r\n this.pd_applicants_details.forEach((datas,index)=>{\r\n datas.is_applicant=true,\r\n datas.is_person_met = false;\r\n datas.is_new = false;\r\n datas.is_main_applicant = datas.applicant_type == '1' ? true : false;\r\n datas.is_active = true;\r\n datas.individuals_order_id = index + 1;\r\n // company_order_id = index+1,\r\n datas.age = '',\r\n datas.qualification = '',\r\n datas.course_name = ''\r\n if (datas.company_name != '' && datas.company_name != null) {\r\n console.log(\"company\");\r\n let setCompanyValues: any = { company_order_id: companyControl.controls.length + 1, company_name: datas.company_name, is_company_applicant: datas.is_company_applicant, business_entity_type: datas.business_entity_type, business_entity_type_other: datas.business_entity_type_other, business_years: datas.business_years, business_month: datas.business_month, business_date_object: datas.business_date_object, is_new: datas.is_new, is_active: true }\r\n companyControl.push(this.createCompanies(setCompanyValues))\r\n }\r\n });\r\n \r\n // this.lengthv.push(\"individuals\")\r\n // this.lengthv.push(\"companies\")\r\n // this.lengthv.push('persons_with_relationships')\r\n //this.lengthv.push(\"\")\r\n console.log(\"applicant\",this.lengthv)\r\n this.initlistv(this.pd_applicants_details,'get');\r\n this.initPersonRelationship(this.pd_applicants_details)\r\n // this.initCompanyValue(this.pd_applicants_details,'get');\r\n this.initCompanyRelationShip('')\r\n\r\n }\r\n })\r\n /*let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\r\n \r\n let generalDetails = res['records'];\r\n this.generalForm.controls['general_remark'].setValue(generalDetails.general_remark);\r\n\r\n let applicant_relation = Object.keys(res['records'].applicant_relation).map(function(key)\r\n {\r\n return res['records'].applicant_relation[key];\r\n });\r\n\r\n let selected_applicant = Object.keys(res['records'].selected_applicant).map(function(key)\r\n {\r\n return res['records'].selected_applicant[key].pd_co_applicant_id;\r\n });\r\n let applicantControl = this.generalForm.controls['applicant_list'];\r\n \r\n let actual_applicant = this.pd_applicants_details.map(item => item.pd_co_applicant_id);\r\n let checkApplicantExist =actual_applicant.map((id, index) => {\r\n if (selected_applicant.indexOf(id) < 0) {\r\n this.pd_applicants_details[index].exist_status=0;\r\n return this.pd_applicants_details[index];\r\n }\r\n else{\r\n this.pd_applicants_details[index].exist_status=1;\r\n this.pd_applicants_details[index].applicant_relation_to='';\r\n this.pd_applicants_details[index].relation='';\r\n return this.pd_applicants_details[index];\r\n }\r\n }).filter(item => item != undefined);\r\n this.getcoapplicantDetails(checkApplicantExist,applicant_relation);\r\n }else\r\n {\r\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\r\n \r\n }\r\n })*/\r\n }\r\n createCompanies(elementValue:any) {\r\n var name=this.businessEntityById(elementValue.business_entity_type)\r\n return this.fb.group({\r\n company_order_id: [elementValue.company_order_id],\r\n company_name: [elementValue.company_name,],\r\n company_messrs_name: ['M/s'],\r\n is_company_applicant:[elementValue.is_company_applicant],\r\n business_entity_type :[elementValue.business_entity_type,Validators.required],\r\n business_years: [elementValue.business_years, Validators.required],\r\n business_month: [elementValue.business_month],\r\n business_date_object: [elementValue.business_date_object],\r\n is_active: [elementValue.is_active],\r\n is_new:[elementValue.is_new],\r\n business_entity_type_name:[name]\r\n \r\n });\r\n }\r\n \r\n \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams,ViewController } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionGeneralOtherApplicantPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-general-other-applicant',\r\n templateUrl: 'pd-question-general-other-applicant.html',\r\n})\r\nexport class PdQuestionGeneralOtherApplicantPage {\r\n otherForm:FormGroup;\r\napplicantInfo:any={'pd_co_applicant_id':\"0\",'applicant_name':'','company_name':''};\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public viewCtrl:ViewController) {\r\n this.otherForm = this.fb.group(\r\n {\r\n otherName:this.fb.array([]),\r\n })\r\n this.addmore();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionGeneralOtherApplicantPage');\r\n }\r\n\r\n createName(elementValue:any)\r\n {\r\n return this.fb.group(\r\n {\r\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\r\n applicant_name: [elementValue.applicant_name, Validators.required],\r\n })\r\n }\r\n\r\n addmore()\r\n {\r\n if(this.otherForm.valid)\r\n {\r\n const control = this.otherForm.controls['otherName'];\r\n control.push(this.createName(this.applicantInfo));\r\n }\r\n }\r\n\r\n deleteappdata(index)\r\n {\r\n const control = this.otherForm.controls['otherName'];\r\n if(control.length==1){\r\n control.reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n }\r\n\r\n closeModal(){\r\n this.viewCtrl.dismiss(1); \r\n }\r\n submitData(answerData)\r\n {\r\n if(this.otherForm.valid){\r\n this.viewCtrl.dismiss(this.otherForm.value);\r\n }\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.ts","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n/**\r\n * Generated class for the PdPipe pipe.\r\n *\r\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\r\n */\r\n@Pipe({\r\n name: 'pdPipe',\r\n})\r\nexport class PdPipe implements PipeTransform {\r\n /**\r\n * Takes a value and makes it lowercase.\r\n */\r\n transform(value: any, searchItem:any):any {\r\n let findExistIndex = searchItem.existRelationList.filter(sVal=>sVal.relation_to==searchItem.currentApplicantID);\r\n if(findExistIndex.length>0){\r\n let check = value.filter(function(fVal){\r\n return !findExistIndex.some(function(sVal){\r\n return fVal.pd_co_applicant_id==searchItem.currentApplicantID || fVal.pd_co_applicant_id == sVal.pd_co_applicant_id;\r\n });\r\n })\r\n return check;\r\n }\r\n else {\r\n return value.filter(fVal=>fVal.pd_co_applicant_id!=searchItem.currentApplicantID);\r\n }\r\n \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/pd/pd.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\nimport { FormGroup, FormBuilder,FormArray,Validators,FormControl} from '@angular/forms';\r\nimport { ConstantsProvider } from '../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionNeighbourHoodPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-neighbour-hood',\r\n templateUrl: 'pd-question-neighbour-hood.html',\r\n})\r\nexport class PdQuestionNeighbourHoodPage {\r\n\r\n frequency: any;\r\n relationBusiness: any;\r\n users: any;\r\n FormId: any;\r\n pdDetails: any;\r\n neighbourhoodForm:FormGroup;\r\n check_type:any=[{'id':0,'type_name':'Neighbourhood'},{'id':1,'type_name':'Reference Check'}]\r\n finalRemarksList : any = [{'id': 1,'name': \"Positive\"},\r\n {'id': 2,'name': \"Negative\"},\r\n {'id': 3,'name': \"Insufficient information provided\"}];\r\n\r\n amtInWords:any=[];\r\n applicants:any;\r\n isDisplay:any = [];\r\n isDisplay2:any = [];\r\n existCompanyList: any=[];\r\n mergeCompanyApplicant: any=[];\r\n isOrganisationOwner: any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder, public constant: ConstantsProvider) {\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2);\r\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\r\n this.neighbourhoodForm = this.fb.group(\r\n {\r\n pdid:this.pdDetails.pd_id,\r\n formid:this.FormId.form_id,\r\n check_type:0,\r\n neighbourhood_list: this.fb.array([]),\r\n neighbourhood_status:[''],\r\n referencecheck_list: this.fb.array([]),\r\n neighbour_reference_remark:'' \r\n })\r\n this.users = this.aws.getlocale();\r\n \r\n \r\n this.getdropdown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console .log('ionViewDidLoad PdQuestionNeighbourHoodPage');\r\n this.getneighbourhood();\r\n }\r\n\r\n getdropdown()\r\n {\r\n this.qustCat.getcommondrop('RELATIONWITHBUSINESS').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.relationBusiness = res['records'].filter(rel=>rel.isactive==1);\r\n }\r\n });\r\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.frequency = res['records'].filter(frq=>frq.isactive==1);\r\n }\r\n })\r\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(res=>{\r\n if(res.dataStatus==true){\r\n this.existCompanyList=res.records.filter(val=>val.is_active == true)\r\n console.log(this.existCompanyList)\r\n }\r\n let modifyCompanyList:any=[]\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList=this.existCompanyList.map(element=>{\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName: 'COMPANIES', groupValues: modifyCompanyList })\r\n \r\n }\r\n let modifyApplicantList:any=[]\r\n if(this.applicants.length>0){\r\n modifyApplicantList=this.applicants.map(element=>{\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n })\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\r\n\r\n }\r\n console.log(\"company&Applicant\",this.mergeCompanyApplicant)\r\n })\r\n }\r\n inWords(val,i)\r\n {\r\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\r\n }\r\n keyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e,flag){\r\n if(flag == 2){\r\n\r\n let year = itemrow.controls.year_relation_applicant.value;\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n itemrow.controls.year_relation_applicant.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.months_relation_applicant.setValue(Math.floor(converted_month));\r\n }\r\n else if(flag == 1){\r\n \r\n let year = itemrow.controls.how_long_do_know_in_year.value;\r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n itemrow.controls.how_long_do_know_in_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.how_long_do_know_in_month.setValue(Math.floor(converted_month));\r\n }\r\n}\r\n\r\ntoggleVisibility(e,index,flag){ \r\n let val\r\n \r\n if(flag == 1){\r\n this.isDisplay[index] = e;\r\n }\r\n else if(flag==2){\r\n this.isDisplay2[index] = e;\r\n }\r\n}\r\n\r\ncheckOthers(values){\r\n if(values!=null) {\r\n return values==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n}\r\ncompareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n}\r\n\r\n\r\ngetOtherOrganisationOwner(value,i) {\r\n //console.log('value',value,'I',i);\r\nlet Ctrls = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n //console.log('ParCtrls',Ctrls);\r\nlet ChdCtrls:any = Ctrls.controls[i];\r\n // console.log('ChdCtrls',ChdCtrls);\r\n // return;\r\n\r\n\r\nlet Avaliablity = 1;\r\nconsole.log('val',value);\r\nif(value.length>0){\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){ \r\n Avaliablity = option.id;\r\n }\r\n });\r\n}\r\nif(Avaliablity == 0){\r\n// console.log('if Avaliablity',Avaliablity);\r\n\r\n ChdCtrls.controls.other_organisation_owner.setValidators([Validators.required]);\r\n this.isOrganisationOwner[i] = true;\r\n}else if(Avaliablity == 1){\r\n// console.log('else Avaliablity',Avaliablity);\r\n// console.log('esle this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\r\n ChdCtrls.controls.other_organisation_owner.setValue('');\r\n ChdCtrls.controls.other_organisation_owner.clearValidators();\r\n this.isOrganisationOwner[i] = false;\r\n// console.log('else this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\r\n}\r\n \r\nChdCtrls.controls.other_organisation_owner.updateValueAndValidity(); \r\n}\r\n createreferance()\r\n {\r\n return this.fb.group({\r\n reference_name: [null],\r\n mobile: ['',Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\r\n statecode:[null],\r\n landline: [null],\r\n location:[null],\r\n relationship_with:[null],\r\n others:[null],\r\n year_relation_applicant:[null],\r\n months_relation_applicant:[null],\r\n business_volume_amount:[null],\r\n business_volume_unit:[null],\r\n others_unit:[null],\r\n reference_final_remarks:[null],\r\n specify_final_remark:[null]\r\n });\r\n }\r\n addreferance()\r\n {\r\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\r\n control.push(this.createreferance());\r\n }\r\n\r\n removereferance(i)\r\n {\r\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\r\n if(control.length==1)\r\n {\r\n control.reset();\r\n }else{\r\n control.removeAt(i);\r\n }\r\n }\r\n\r\n createNeighbourhood(){\r\n return this.fb.group({\r\n neighbourhood_name: [null],\r\n do_know: [''],\r\n \r\n how_long_do_know_in_year: [''],\r\n how_long_do_know_in_month:[''],\r\n organisation_owner: [''],\r\n is_applicant_owner:[''],\r\n other_organisation_owner:[''],\r\n did_not_know_the_business_operation:[''],\r\n did_not_know_the_owner:[''],\r\n });\r\n }\r\n\r\n addneighbourhood()\r\n {\r\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n control.push(this.createNeighbourhood());\r\n }\r\n\r\n removeneighbourhood(i)\r\n {\r\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n if(control.length==1)\r\n {\r\n control.reset();\r\n }else{\r\n control.removeAt(i);\r\n }\r\n }\r\n\r\n submitData(answerData)\r\n {\r\n \r\n \r\n \r\n let saveRecords:any = {}\r\n let referencecheck_list:any=[];\r\n let neighbourhood_list:any=[];\r\n if(answerData.check_type==0){\r\n answerData.neighbourhood_list.forEach((element,key) => {\r\n neighbourhood_list.push({\r\n \"neighbourhood_name\":element.neighbourhood_name,\r\n \"do_know\":element.do_know,\r\n \"how_long_do_know_in_year\":element.how_long_do_know_in_year,\r\n \"how_long_do_know_in_month\":element.how_long_do_know_in_month,\r\n \"is_applicant_owner\":element.is_applicant_owner,\r\n \"organisation_owner\":element.organisation_owner,\r\n \"other_organisation_owner\":element.other_organisation_owner,\r\n \"did_not_know_the_business_operation\":element.did_not_know_the_business_operation,\r\n \"did_not_know_the_owner\":element.did_not_know_the_owner\r\n }) \r\n });\r\n saveRecords.neighbourhood_list=neighbourhood_list;\r\n \r\n }\r\n else{\r\n // this for referencecheck_list for selected\r\n answerData.referencecheck_list.forEach((element,key) => {\r\n referencecheck_list.push({\r\n \"reference_name\":element.reference_name,\r\n \"mobile\":element.mobile,\r\n \"landline\":element.statecode+'-'+element.landline,\r\n \"location\":element.location,\r\n \"relationship_with\":element.relationship_with,\r\n \"others\":element.others,\r\n \"year_relation_applicant\":element.year_relation_applicant,\r\n \"months_relation_applicant\":element.months_relation_applicant,\r\n \"business_volume_amount\":element.business_volume_amount,\r\n \"business_volume_unit\":element.business_volume_unit,\r\n \"others_unit\":element.others_unit,\r\n \"reference_final_remarks\":element.reference_final_remarks,\r\n \"specify_final_remark\":element.specify_final_remark\r\n }) \r\n });\r\n saveRecords.referencecheck_list=referencecheck_list;\r\n \r\n }\r\n saveRecords.pdid=answerData.pdid;\r\n saveRecords.formid=answerData.formid;\r\n saveRecords.check_type=answerData.check_type;\r\n saveRecords.fk_createdby = this.users;\r\n saveRecords.neighbourhood_status=answerData.neighbourhood_status\r\n saveRecords.neighbour_reference_remark=answerData.neighbour_reference_remark;\r\n\r\n this.qustCat.saveForm(saveRecords).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n \r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n })\r\n \r\n }\r\n\r\n getneighbourhood()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\r\n const control = this.neighbourhoodForm.controls['referencecheck_list']; \r\n const neicontrol = this.neighbourhoodForm.controls['neighbourhood_list'];\r\n \r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n let neighbourDetails = res['records'];\r\n // neighbourDetails.neighbourhood_list.=''\r\n \r\n if(neighbourDetails.check_type==0)\r\n {\r\n \r\n this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\r\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\r\n this.neighbourhoodForm.controls['neighbourhood_status'].setValue(neighbourDetails.neighbourhood_status)\r\n let neighbourhood_list = Object.keys(res['records'].neighbourhood_list).map(function(key)\r\n {\r\n return res['records'].neighbourhood_list[key];\r\n });\r\n neighbourhood_list.forEach((element,index)=>\r\n {\r\n this.toggleVisibility(element.did_not_know_the_business_operation,index,1);\r\n this.toggleVisibility(element.did_not_know_the_owner,index,2);\r\n neicontrol.push(this.createNeighbourhood());\r\n this.getOtherOrganisationOwner(element.organisation_owner,index)\r\n });\r\n this.neighbourhoodForm.controls['neighbourhood_list'].setValue(neighbourhood_list);\r\n \r\n\r\n }else\r\n {\r\n this.addneighbourhood();\r\n }\r\n if(neighbourDetails.check_type==1)\r\n {\r\n let referencecheck_list = Object.keys(res['records'].referencecheck_list).map(function(key)\r\n {\r\n return res['records'].referencecheck_list[key];\r\n });\r\n this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\r\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\r\n referencecheck_list.forEach((val,index)=>\r\n {\r\n let statecodesearch = val.landline.search(\"-\");\r\n referencecheck_list[index].statecode = val.landline.substr(0,statecodesearch);\r\n referencecheck_list[index].landline = val.landline.substr(+statecodesearch + 1,8);\r\n control.push(this.createreferance());\r\n this.amtInWords[index]=this.constant.convertNumberToWords(val.business_volume_amount);\r\n });\r\n this.neighbourhoodForm.controls['referencecheck_list'].setValue(referencecheck_list);\r\n \r\n }else\r\n {\r\n this.addreferance();\r\n }\r\n }else\r\n {\r\n this.addneighbourhood();\r\n this.addreferance();\r\n }\r\n })\r\n }\r\n\r\n\r\n}\r\n \n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup, FormBuilder,Validators,FormArray} from '@angular/forms';\r\n// import { t } from '@angular/core/src/render3';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../../providers/common-provider/toast';\r\n/**\r\n * Generated class for the PdQuestionFinalRemarkPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-final-remark',\r\n templateUrl: 'pd-question-final-remark.html',\r\n})\r\nexport class PdQuestionFinalRemarkPage {\r\n\r\n m_remarkTypeCustomerBehaviour:any=[];\r\n\r\n users:any;\r\n pdDetails:any;\r\n pdid:any;\r\n FormId:any;\r\n _finalRemarkForm:FormGroup;\r\n m_recommendationList: any=[];\r\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb:FormBuilder, public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id\r\n this.FormId=this.navParams.get('FormId');\r\n this.users=aws.getlocale()\r\n \r\n this._finalRemarkForm=this.fb.group({\r\n fk_createdby:[this.users],\r\n pdid:[this.pdid],\r\n formid:[this.FormId.form_id],\r\n final_custormer_remark_type:[null],\r\n final_other_customer_behaviour:[null],\r\n is_service_provided:[null],\r\n final_form_remarks:[null],\r\n pd_officers_recommendation:[null],\r\n others_pd_officers_recommendation:[''],\r\n // reason_for_positive:[''],\r\n // reason_for_negative:[''],\r\n // reason_for_refer_to_credit:[''],\r\n recommendation_positive:this.fb.array([]),\r\n recommendation_negative:this.fb.array([]),\r\n recommendation_refer_to_credit:this.fb.array([])\r\n \r\n })\r\n this.getDropDown();\r\n \r\n }\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionFinalRemarkPage');\r\n this.getFinalRemark();\r\n \r\n }\r\ngetDropDown(){\r\n this.qustcat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>{\r\n this.m_remarkTypeCustomerBehaviour=res['records'].filter(data=>data.isactive==1)\r\n })\r\n this.qustcat.getcommondrop('PDOFFICERRECOMMENDATIONS').subscribe(res=>{\r\n this.m_recommendationList=res['records']\r\n })\r\n}\r\ncreateRecomendationPositive(data){\r\n console.log(\"val\",data)\r\n return this.fb.group({\r\n reason_for_positive: data != null ? [data.reason_for_positive] : ['']\r\n })\r\n}\r\naddRecomendationPositive(){\r\n const control= this._finalRemarkForm.controls['recommendation_positive'];\r\n control.push(this.createRecomendationPositive(null))\r\n}\r\nremoveRecomendationPositive(index){\r\n const control= this._finalRemarkForm.controls['recommendation_positive'];\r\n control.removeAt(index);\r\n}\r\ncreateRecomendationNegative(data){\r\n return this.fb.group({\r\n reason_for_negative:data !=null ? [data.reason_for_negative] : ['']\r\n })\r\n}\r\naddRecomendationNegative(){\r\n const control= this._finalRemarkForm.controls['recommendation_negative']\r\n control.push(this.createRecomendationNegative(null))\r\n}\r\nremoveRecomendationNegative(index){\r\n const control= this._finalRemarkForm.controls['recommendation_negative']\r\n control.removeAt(index)\r\n}\r\ncreateRecomendationCreditRefer(data){\r\n return this.fb.group({\r\n reason_for_refer_to_credit:data!=null ? [data.reason_for_refer_to_credit] : ['']\r\n })\r\n}\r\naddRecomendationCreditRefer(){\r\n const control= this._finalRemarkForm.controls['recommendation_refer_to_credit']\r\n control.push(this.createRecomendationCreditRefer(null));\r\n}\r\nremoveRecomendationCreditRefer(index){\r\n const control= this._finalRemarkForm.controls['recommendation_refer_to_credit']\r\n control.removeAt(index)\r\n}\r\n\r\nRecommendationChange(e) {\r\n // console.log('Event',e);\r\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\r\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\r\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\r\n\r\n if (e == 1) {\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValidators([Validators.required]);\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n if (recommendationNegativeCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\r\n\r\n recommendationNegativeCtrl.removeAt(i + 1);\r\n\r\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\r\n\r\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\r\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\r\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\r\n\r\n\r\n }\r\n }\r\n\r\n if (recommendationPositiveCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\r\n recommendationPositiveCtrl.removeAt(i + 1);\r\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\r\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\r\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\r\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (recommendationReferToCredit.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationReferToCredit.controls.length; i++) {\r\n recommendationReferToCredit.removeAt(i + 1);\r\n\r\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\r\n\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\r\n }\r\n }\r\n \r\n\r\n }\r\n if (e == 2) {\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n if (recommendationReferToCredit.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationReferToCredit.controls.length; i++) {\r\n recommendationReferToCredit.removeAt(i + 1);\r\n\r\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\r\n\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n\r\n // this._finalRemarkForm.controls['reason_for_positive'].setValidators([Validators.required]);\r\n if (recommendationPositiveCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\r\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[i];\r\n recommendationPositiveCtrl.controls['reason_for_positive'].setValidators([Validators.required]);\r\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (recommendationNegativeCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\r\n\r\n recommendationNegativeCtrl.removeAt(i + 1);\r\n\r\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\r\n\r\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\r\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\r\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n if (e == 3) {\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n if (recommendationReferToCredit.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationReferToCredit.controls.length; i++) {\r\n recommendationReferToCredit.removeAt(i + 1);\r\n\r\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\r\n\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (recommendationPositiveCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\r\n recommendationPositiveCtrl.removeAt(i + 1);\r\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\r\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\r\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\r\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\r\n }\r\n }\r\n\r\n if (recommendationNegativeCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\r\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[i];\r\n recommendationNegativeCtrl.controls['reason_for_negative'].setValidators([Validators.required]);\r\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\r\n }\r\n }\r\n // this._finalRemarkForm.controls['reason_for_negative'].setValidators([Validators.required]);\r\n\r\n }\r\n if (e == 4) {\r\n\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\r\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\r\n\r\n if (recommendationReferToCredit.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationReferToCredit.controls.length; i++) {\r\n\r\n recommendationReferToCredit = recommendationReferToCredit.controls[i];\r\n\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValidators([Validators.required]);\r\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n\r\n if (recommendationNegativeCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\r\n\r\n recommendationNegativeCtrl.removeAt(i + 1);\r\n\r\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\r\n\r\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\r\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\r\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\r\n\r\n }\r\n }\r\n\r\n if (recommendationPositiveCtrl.controls.length > 0) {\r\n let i: number = 0;\r\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\r\n recommendationPositiveCtrl.removeAt(i + 1);\r\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\r\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\r\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\r\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\r\n }\r\n }\r\n }\r\n}\r\n getFinalRemark(){\r\n let saveRecords={'pd_id':this.pdid,'pd_form_id':this.FormId.form_id}\r\n this.qustcat.retiverForm(saveRecords).subscribe(data=>{\r\n if(data['dataStatus']==true){\r\n this._finalRemarkForm.controls.final_custormer_remark_type.setValue(data['records'].final_custormer_remark_type);\r\n this._finalRemarkForm.controls.final_other_customer_behaviour.setValue(data['records'].final_other_customer_behaviour);\r\n this._finalRemarkForm.controls.is_service_provided.setValue(data['records'].is_service_provided);\r\n this._finalRemarkForm.controls.pd_officers_recommendation.setValue(data['records'].pd_officers_recommendation);\r\n this._finalRemarkForm.controls.others_pd_officers_recommendation.setValue(data['records'].others_pd_officers_recommendation)\r\n // this._finalRemarkForm.controls.reason_for_positive.setValue(data['records'].reason_for_positive)\r\n // this._finalRemarkForm.controls.reason_for_refer_to_credit.setValue(data['records'].reason_for_refer_to_credit);\r\n // this._finalRemarkForm.controls.reason_for_negative.setValue(data['records'].reason_for_negative);\r\n if(data['records'].recommendation_positive.length>0){\r\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\r\n data['records'].recommendation_positive.forEach((val,index)=>{\r\n console.log(\"for\",val);\r\n if(val.reason_for_positive != null){\r\n let obj={'reason_for_positive':val.reason_for_positive};\r\n recommendationPositiveCtrl.push(this.createRecomendationPositive(obj));\r\n }\r\n })\r\n }\r\n if(data['records'].recommendation_negative.length>0){\r\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\r\n data['records'].recommendation_negative.forEach((val,index)=>{\r\n console.log(\"for\",val);\r\n let obj={'reason_for_negative':val.reason_for_negative};\r\n recommendationNegativeCtrl.push(this.createRecomendationNegative(obj))\r\n })\r\n }\r\n if(data['records'].recommendation_refer_to_credit.length>1){\r\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\r\n data['records'].recommendation_refer_to_credit.forEach(val=>{\r\n let obj={'reason_for_refer_to_credit':val.reason_for_refer_to_credit};\r\n recommendationReferToCredit.push(this.createRecomendationCreditRefer(obj))\r\n })\r\n }\r\n this._finalRemarkForm.controls.final_form_remarks.setValue(data['records'].final_form_remarks);\r\n }\r\n else{\r\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\r\n recommendationPositiveCtrl.push(this.createRecomendationPositive(null));\r\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\r\n recommendationNegativeCtrl.push(this.createRecomendationNegative(null));\r\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\r\n recommendationReferToCredit.push(this.createRecomendationCreditRefer(null));\r\n }\r\n })\r\n }\r\n saveFinalRemark(){\r\n if(this._finalRemarkForm.invalid){\r\n this.toast.pdTriggerappmessage(\"Please Fill all the Fields marked with '*' \")\r\n }\r\n else{\r\n var answerData=this._finalRemarkForm.value\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n this.qustcat.saveForm(answerData).subscribe(res=>{\r\n if(res['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\r\n }\r\n });\r\n }\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { PdQuestionSupplierInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { PdQuestionClientInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\nimport { PdQuestionStockInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionBusinessInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\r\nimport { PdQuestionBusinessAssetsPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\r\nimport {PdQuestionBusinessBankingPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\r\nimport {PdQuestionFinancialInfoPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessGroupPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-group',\r\n templateUrl: 'pd-question-business-group.html',\r\n})\r\nexport class PdQuestionBusinessGroupPage {\r\n \r\n FormId: any;\r\n pdDetails: any = [];\r\n existCompanyList: any = [];\r\n waitLoading:boolean;\r\n\r\n constructor(public navCtrl: NavController, \r\n public navParams: NavParams,\r\n public qustCat:QuestionCategoryProvider){\r\n \r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n this.getCompanyListForBusiness();\r\n\r\n }\r\n \r\n /** To Get General Form's Company List */\r\n getCompanyListForBusiness(): void{\r\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\r\n if(data.dataStatus){\r\n this.existCompanyList = data.records.filter(val =>val.is_active);\r\n this.waitLoading = true;\r\n }\r\n else {\r\n this.waitLoading = false;\r\n }\r\n })\r\n }\r\n\r\n /** To Get Related Form Details */\r\n OnSelectBusinessGroupForms(details: any, company: any) {\r\n \r\n this.pdDetails.company_id = company.company_order_id;\r\n this.pdDetails.company_name = company.company_name;\r\n this.pdDetails.business_entity_type = company.business_entity_type;\r\n this.pdDetails.business_entity_type_other = company.business_entity_type_other;\r\n this.pdDetails.business_years = company.business_years;\r\n this.pdDetails.business_month = company.business_month;\r\n \r\n if(details.form_id==1){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n }\r\n if(details.form_id==2){\r\n this.navCtrl.push(PdQuestionClientInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==11){\r\n this.navCtrl.push(PdQuestionStockInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==13){\r\n this.navCtrl.push(PdQuestionBusinessInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==14){\r\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==15){\r\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==21){\r\n this.navCtrl.push(PdQuestionBusinessBankingPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n if(details.form_id==22){\r\n this.navCtrl.push(PdQuestionBusinessAssetsPage,{'formDetails':details,'pdDetails':this.pdDetails});\r\n \r\n }\r\n\r\n\r\n}\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\r\nimport { FormBuilder, FormGroup,FormArray, Validators, FormControl } from '@angular/forms';\r\nimport { createPipe } from '@angular/compiler/src/core';\r\nimport { elementAt } from 'rxjs/operators';\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-info',\r\n templateUrl: 'pd-question-business-info.html',\r\n})\r\nexport class PdQuestionBusinessInfoPage {\r\n stateList:any=[];\r\n users: any;formdetails:any;\r\n FormId: any;\r\n pdDetails: any;\r\n businessForm:FormGroup;\r\n applicants:any=[];\r\n businessEntityTypeList: any ={\r\n business_entity_type_id:String,\r\n business_entity_type_name:String,\r\n sourcsection_labeleName:String\r\n }; \r\n generalExistEntityType:string\r\n generalExistEntityType_other:string;\r\n generalExistBusinessYear:Number;\r\n generalExistBusinessMonth:Number;\r\n pdid:any;\r\n step:number\r\n\r\n relationData: any = [];\r\n industryData: any = [];\r\n activityData: any = [];\r\n relativeNames: any;\r\n companyRelationShipList:any=[]\r\n countryDataList:any=[]\r\n exist_status:any;\r\n \r\n filterCityList : any = [];\r\n errorMessage:any=[];\r\n appxSalaryAmtInwords:any;\r\n titleData:any=[]\r\n personsList:any=[]\r\n \r\n ManufacturingChecked: boolean;\r\n RetailedChecked: boolean;\r\n WholeSalesChecked: boolean;\r\n ServiceChecked: boolean;\r\n ExportFlag: boolean=false;\r\n bankList: any=[];\r\n temp_additiondetailofposmachine:any=[]\r\n isreadonlyyear: any=[];\r\n isreadonlymonth: any=[];\r\n EntityTypeFlag:boolean=false\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\r\n this.getStateCityDet();\r\n this.pdDetails = this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id\r\n \r\n this.formdetails = this.navParams.get('formDetails');\r\n \r\n this.FormId = this.formdetails.form_id;\r\n this.users = this.aws.getlocale();\r\n \r\n this.applicants=this.pdDetails.applicat_details;\r\n \r\n this.generalExistEntityType=this.pdDetails.business_entity_type\r\n this.generalExistEntityType_other=this.pdDetails.business_entity_type_other\r\n this.generalExistBusinessYear=this.pdDetails.business_years\r\n this.step=0\r\n \r\n \r\n \r\n // this.initBusinessForm();\r\n // this.getBuisnessDetails();\r\n \r\n this.businessForm=this.fb.group({\r\n fk_createdby:[this.users],\r\n pdid:[this.pdid],\r\n formid:[this.FormId],\r\n company_id: this.pdDetails.company_id,\r\n partners:this.fb.array([]),\r\n persons_with_relationships:this.fb.array([]),\r\n select_business_activity_type:this.fb.array([]),\r\n manufacturing_activity_details:this.fb.array([]),\r\n retail_trading_activity_details:this.fb.array([]),\r\n wholesale_trading_activity_details:this.fb.array([]),\r\n service_provider_activity_details:this.fb.array([]),\r\n others_activity_details:this.fb.array([]),\r\n export_sale_of_total_sales:[''],\r\n // applicant_use_mobile_wallets:[''],\r\n // applicant_use_pos_machines:[''],\r\n // no_of_pos_machines:[''],\r\n seasonality:[''],\r\n employees_total: ['', Validators.compose([Validators.required])],\r\n employees_permanent: ['', Validators.compose([Validators.required])],\r\n employees_temporary: ['', Validators.compose([Validators.required])],\r\n employees_appx_salary:[''],\r\n was_the_company_name_board_sighted:['',Validators.compose([Validators.required])],\r\n officer_total: ['', Validators.compose([Validators.required])],\r\n shop_eat_act_cert: [''],\r\n gst_Regn_cert: [''],\r\n //export_import_cert: [''],\r\n // factory_cert: [''],\r\n //practice_cert: [''],\r\n pf_regn: [''],\r\n esic_regn: [''],\r\n other_documents: [''],\r\n documents: this.fb.array([]),\r\n business_remarks:['']\r\n\r\n\r\n\r\n \r\n })\r\n this.getdropdown();\r\n \r\n// this.initBusinessForm();\r\n\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessInfoPage');\r\n \r\n \r\n \r\n }\r\n getdropdown() {\r\n \r\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(data => {\r\n \r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.relationData.push(val);\r\n }\r\n })\r\n });\r\n \r\n this.qustCat.getcommondrop('INDUSTRYCLASSIFICATION').subscribe(data => {\r\n \r\n data['records'].forEach(val => {\r\n if (val.isactive == 1) {\r\n this.industryData.push(val);\r\n }\r\n })\r\n });\r\n \r\n this.qustCat.getcommondrop('TYPEOFACTIVITY').subscribe(data => {\r\n \r\n data['records'].forEach(val => {\r\n if (val.isactive == 1 && val.type_of_activity_id != 1) {\r\n this.activityData.push(val);\r\n }\r\n })\r\n });\r\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(data=>{\r\n let filterList = data['records'].filter(val=>val.business_entity_type_id==this.generalExistEntityType);\r\n this.businessEntityTypeList.business_entity_type_id = filterList[0].business_entity_type_id==1;\r\n this.businessEntityTypeList.business_entity_type_name = filterList[0].business_entity_type_id!=1 ? filterList[0].business_entity_type_name : this.generalExistEntityType_other;\r\n this.businessEntityTypeList.section_label = filterList[0].business_entity_type_id!=1 ? filterList[0].section_label : this.generalExistEntityType_other;\r\n \r\n if(this.businessEntityTypeList.business_entity_type_name == 'OPC (One Person Company)' || this.businessEntityTypeList.business_entity_type_name == 'Sole proprietorship'){ \r\n this.EntityTypeFlag = true;\r\n }\r\n\r\n\r\n });\r\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(data=>{\r\n this.companyRelationShipList=data['records'].filter(val=>val.isactive==1);\r\n \r\n });\r\n \r\n \r\n \r\n this.qustCat.getcommondrop('COUNTRY').subscribe(data=>{\r\n this.countryDataList=data['records'].filter(val=>val.isactive==1);\r\n \r\n });\r\n this.qustCat.getcommondrop('TITLES').subscribe(data=>{\r\n this.titleData=data['records'].filter(val=>val.isactive==1);\r\n })\r\n this.qustCat.getAllPersonsName(this.pdid).subscribe(data=>{\r\n if(data.dataStatus){\r\n \r\n this.personsList=data['record'].filter(val=>val.applicant_type==1)\r\n \r\n }\r\n })\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(data=>{\r\n this.bankList=data['records'].filter(val=>val.isactive ==1 && val.lender_type == 1);\r\n })\r\n \r\n}\r\ngetStateCityDet(){\r\nthis.qustCat.getStateCityDetails().subscribe(data=>{\r\n \r\n\r\n this.stateList=data.records\r\n \r\n this.getDetails();\r\n });\r\n \r\n \r\n}\r\nchangeOfStartedBusiness(members,i,e){\r\n if(e == 'yes'){\r\n members.controls.current_business_experiance_year.setValue(this.generalExistBusinessYear);\r\n this.isreadonlyyear[i] = this.generalExistBusinessYear != undefined ? true : false;\r\n members.controls.current_business_experiance_month.setValue(this.generalExistBusinessMonth);\r\n this.isreadonlymonth[i] = this.generalExistBusinessMonth != undefined ? true : false;\r\n }\r\n else{\r\n this.isreadonlyyear[i] =false;\r\n this.isreadonlymonth[i] = false;\r\n }\r\n }\r\n getDetails(){\r\n \r\n let params: any = {};\r\n params.pd_id = this.pdid;\r\n params.pd_form_id = 13\r\n params.company_id = this.pdDetails.company_id;\r\n this.qustCat.retiverForm(params).subscribe(data=>{\r\n let businessVal=data['records']\r\n let constVal: any;\r\n \r\n \r\n const Partnr:any = this.businessForm.controls['partners'];\r\n \r\n const control1:any = this.businessForm.controls['persons_with_relationships'];\r\n \r\n const business_activity:any = this.businessForm.controls['select_business_activity_type'];\r\n \r\n const manufacture_details:any= this.businessForm.controls['manufacturing_activity_details'];\r\n const retailControl: any = this.businessForm.controls['retail_trading_activity_details'];\r\n const wholesaleControl:any=this.businessForm.controls['wholesale_trading_activity_details'];\r\n const serviceProviderControl:any=this.businessForm.controls['service_provider_activity_details'];\r\n const othersControl:any=this.businessForm.controls['others_activity_details'];\r\n const otherDoc = this.businessForm.controls['documents'];\r\n //retailControl.push(this.manufactureDetails());\r\n //manufacture_details.push(this.manufactureDetails())\r\n \r\n // const india_sales:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.india_where_sale_done;\r\n //india_sales.push(this.indiaSalesDone())\r\n //const country_sale:any=this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.countries_where_export_done;\r\n // country_sale.push(this.createCountrySale());\r\n //const max_sale_state:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.max_sale_state_name;\r\n //max_sale_state.push(this.maxSaleState())\r\n\r\n if(data['status']==200){\r\n let DocArray: any;\r\n let PartnrArray=Object.keys(data['records'].partners).map(function(key){\r\n return data['records'].partners[key];\r\n })\r\n \r\n if(PartnrArray.length==0){\r\n Partnr.push(this.createPartners())\r\n }\r\n else{\r\n PartnrArray.forEach((datas,key) => {\r\n Partnr.push(this.createPartners());\r\n if(datas.partner_name=='Others') {\r\n Partnr.controls[key].addControl('partner_other_name', new FormControl('', Validators.required))\r\n }\r\n if(parseInt(datas.total_business_experiance) > parseInt(datas.current_business_experiance_year)) {\r\n Partnr.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\r\n }\r\n else {\r\n Partnr.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n });\r\n }\r\n if(data['records'].persons_with_relationships){\r\n let PartnrArray1=Object.keys(data['records'].persons_with_relationships).map(function (key){\r\n return data['records'].persons_with_relationships[key];\r\n })\r\n if(PartnrArray1.length>0){\r\n PartnrArray1.forEach((datas,key)=>{\r\n control1.push(this.createRelationShip());\r\n })\r\n businessVal.persons_with_relationships=PartnrArray1\r\n \r\n }\r\n else{\r\n //control1.push(this.createRelationShip());\r\n businessVal.persons_with_relationships=[]\r\n }\r\n }\r\n else{\r\n businessVal.persons_with_relationships=[]\r\n \r\n }\r\n \r\n\r\n if (data['records'].other_documents == 'yes') {\r\n DocArray = Object.keys(data['records'].documents).map(function (key) {\r\n return data['records'].documents[key];\r\n });\r\n DocArray.forEach(datas => {\r\n otherDoc.push(this.createDocument());\r\n });\r\n } else {\r\n DocArray = [{document: ''}];\r\n otherDoc.push(this.createDocument());\r\n }\r\n\r\n businessVal.pdid = this.pdid;\r\n businessVal.formid = 13;\r\n businessVal.company_id = this.pdDetails.company_id;\r\n businessVal.fk_createdby = this.users;\r\n //businessVal.designation = DesgnArray;\r\n businessVal.partners = PartnrArray;\r\n // businessVal.persons_with_relationships=PartnrArray1\r\n businessVal.documents=DocArray\r\n \r\n if(businessVal.employees_appx_salary){\r\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(businessVal.employees_appx_salary);\r\n }\r\n \r\n \r\n // this.businessForm.controls['partners']['controls'].value.partner_other_name='dd'\r\n // this.businessForm.setValue(businessVal);\r\n //this.businessForm.value.seasonality\r\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id}))\r\n let exist_activity_data: any=[];\r\n if(data['records'].select_business_activity_type){\r\n exist_activity_data=Object.keys(data['records'].select_business_activity_type).map(function(key) {\r\n return data['records'].select_business_activity_type[key].type_of_activity_id;\r\n });\r\n }\r\n \r\n let actual_businees_activity = activityData.map(item => item.type_of_activity_id);\r\n let check_exist_businees_activity =actual_businees_activity.map((id, index) => {\r\n if (exist_activity_data.indexOf(id) < 0) {\r\n activityData[index].exist_status=0;\r\n return activityData[index];\r\n }\r\n else{\r\n activityData[index].exist_status=1;\r\n return activityData[index];\r\n }\r\n }).filter(item => item != undefined);\r\n \r\n if(check_exist_businees_activity.length > 0)\r\n {\r\n check_exist_businees_activity.forEach((val,index) => {\r\n business_activity.push(this.createBusinessActivity(val));\r\n // this.businessForm.controls['select_business_activity_type'].value[index].exist_status=val.exist_status\r\n \r\n });\r\n \r\n businessVal.select_business_activity_type=check_exist_businees_activity;\r\n }\r\n // business_activity.push(this.createBusinessActivity())\r\n \r\n // this.businessForm.controls['select_business_activity_type'].setValue(check_exist_businees_activity)\r\n \r\n if(data['records'].manufacturing_activity_details){\r\n let selectedManufacturing=Object.keys(data['records'].manufacturing_activity_details).map(function(key){\r\n return data['records'].manufacturing_activity_details[key];\r\n });\r\n if(selectedManufacturing.length>0){\r\n selectedManufacturing.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedManufacturing.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('factory_cert');\r\n \r\n selectedManufacturing.forEach((element,index)=>{\r\n this.CheckExport(element.area_of_sale,'MActivity',index)\r\n manufacture_details.push(this.manufactureDetails())\r\n if(element.area_of_sale=='Within India'){\r\n manufacture_details.controls[index].addControl('india_where_sale_done',this.fb.array([]))\r\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n })\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n manufacture_details.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n\r\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n \r\n }\r\n });\r\n businessVal.manufacturing_activity_details=selectedManufacturing;\r\n \r\n \r\n }\r\n else{\r\n \r\n businessVal.manufacturing_activity_details=[];\r\n }\r\n }\r\n else{\r\n \r\n businessVal.manufacturing_activity_details=[];\r\n }\r\n \r\n if(data['records'].retail_trading_activity_details){ \r\n\r\n let selectedRetail = Object.keys(data['records'].retail_trading_activity_details).map(function (key) {\r\n return data['records'].retail_trading_activity_details[key];\r\n });\r\n if(selectedRetail.length > 0) {\r\n selectedRetail.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \r\n selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\r\n selectedRetail.forEach((element,index)=>{\r\n this.CheckExport(element.area_of_sale,'RActivity',index)\r\n retailControl.push(this.manufactureDetails());\r\n if(element.area_of_sale=='Within India'){\r\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n });\r\n businessVal.retail_trading_activity_details=selectedRetail;\r\n }\r\n else{\r\n businessVal.retail_trading_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.retail_trading_activity_details=[];\r\n }\r\n \r\n\r\n // update whole sale details\r\n if(data['records'].wholesale_trading_activity_details){ \r\n let selectedWholesale = Object.keys(data['records'].wholesale_trading_activity_details).map(function (key) {\r\n return data['records'].wholesale_trading_activity_details[key];\r\n });\r\n if(selectedWholesale.length > 0) {\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedWholesale.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \r\n selectedWholesale.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\r\n selectedWholesale.forEach((element,index)=>{\r\n this.CheckExport(element.area_of_sale,'WActivity',index)\r\n wholesaleControl.push(this.manufactureDetails());\r\n if(element.area_of_sale=='Within India'){\r\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n \r\n });\r\n businessVal.wholesale_trading_activity_details=selectedWholesale;\r\n }\r\n else{\r\n businessVal.wholesale_trading_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.wholesale_trading_activity_details=[];\r\n\r\n } \r\n \r\n \r\n if(data['records'].service_provider_activity_details){\r\n let selectedService=Object.keys(data['records'].service_provider_activity_details).map(function (key){\r\n return data['records'].service_provider_activity_details[key];\r\n })\r\n if(selectedService.length > 0) {\r\n selectedService.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('practice_cert');\r\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n selectedService.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \r\n selectedService.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\r\n \r\n selectedService.forEach((element,index)=>{\r\n this.CheckExport(element.area_of_sale,'SPActivity',index)\r\n serviceProviderControl.push(this.manufactureDetails());\r\n \r\n if(element.area_of_sale=='Within India'){\r\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n \r\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n }\r\n else if(element.area_of_sale=='Export'){\r\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n }\r\n else if(element.area_of_sale=='Both'){\r\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\r\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\r\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \r\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\r\n innercontrol.push(this.indiaSalesDone())\r\n });\r\n\r\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\r\n innercontrol.push(this.maxSaleState())\r\n });\r\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\r\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\r\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\r\n innercontrol.push(this.createCountrySale())\r\n });\r\n\r\n \r\n }\r\n });\r\n \r\n \r\n businessVal.service_provider_activity_details=selectedService;\r\n \r\n }\r\n else{\r\n businessVal.service_provider_activity_details=[];\r\n \r\n } \r\n }\r\n else {\r\n businessVal.service_provider_activity_details=[];\r\n\r\n }\r\n \r\n if(data['records'].others_activity_details){ \r\n\r\n // update others activity details\r\n let selectedOthers = Object.keys(data['records'].others_activity_details).map(function (key) {\r\n return data['records'].others_activity_details[key];\r\n });\r\n if(selectedOthers.length > 0) {\r\n selectedOthers.forEach((element,index)=>{\r\n othersControl.push(this.createOthersActivity());\r\n });\r\n businessVal.others_activity_details=selectedOthers;\r\n }\r\n else{\r\n businessVal.others_activity_details=[];\r\n } \r\n }\r\n else {\r\n businessVal.others_activity_details=[];\r\n\r\n } \r\n \r\n // dynamically add form group control\r\n if(data['dataStatus']){\r\n \r\n if(data['records'].seasonality.toUpperCase()=='YES'){\r\n this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required));\r\n this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)); }\r\n\r\n } \r\n\r\n // this.businessForm.controls['partners'].setValue(PartnrArray);\r\n //this.businessForm.controls['persons_with_relationships'].setValue(PartnrArray1)\r\n \r\n // this.businessForm.controls['manufacturing_activity_details'].setValue(businessVal.manufacturing_activity_details)\r\n if(businessVal.applicant_use_pos_machines == 'yes'){\r\n this.businessForm.controls.no_of_pos_machines.setValue(businessVal.no_of_pos_machines);\r\n const posControl: any = this.businessForm.controls['pos_machines_details'];\r\n for(let i = 1; i<= businessVal.no_of_pos_machines; i++ ){\r\n posControl.push(this.createPOSMachinesDetails(businessVal.pos_machines_details));\r\n }\r\n }\r\n \r\n this.businessForm.setValue(businessVal);\r\n \r\n \r\n }\r\n else{\r\n Partnr.push(this.createPartners());\r\n control1.push(this.createRelationShip())\r\n \r\n //otherDoc.push(this.createDocument());\r\n\r\n // find business activity type businees activity type list\r\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id,exist_status:0}))\r\n if(activityData.length > 0)\r\n {\r\n activityData.forEach(val => {\r\n business_activity.push(this.createBusinessActivity(val));\r\n });\r\n }\r\n\r\n }\r\n})\r\n // change business sessional\r\n this.businessForm.controls['seasonality'].valueChanges.subscribe(val => {\r\n val.toUpperCase()=='YES' ? this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required)) : this.businessForm.removeControl('peak_period_of_business');\r\n val.toUpperCase()=='YES' ? this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)) : this.businessForm.removeControl('month_of_business_run');\r\n });\r\n \r\n \r\n }\r\n\r\n filterCity(datasource: any,filterid:number) {\r\n \r\n \r\n if(filterid){\r\n let filter = this.stateList.filter(x=>x.state_id==filterid);\r\n return filter.length > 0 ? filter[0].cities : [];\r\n }\r\n}\r\n\r\n // filter max sale options\r\n filterMaxSaleState(datasource: any,filterValues:any){\r\n this.filterCityList = filterValues;\r\n if(filterValues){\r\n let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n let getStateValues = filterValues.filter(val =>val.state_name).map(mapVal => mapVal.state_name);\r\n let setStateFilter: any=[];\r\n setStateFilter = getStateValues.map(x => {\r\n let findIndex = getOriginalStateList.indexOf(x);\r\n return datasource[findIndex];\r\n });\r\n return setStateFilter.length > 0 ? setStateFilter : [];\r\n }\r\n }\r\n filterMaxSaleCities(datasource: any,filterValues:any,selectedCites: any) { \r\n let existCities: any = selectedCites.filter(cfVal=>cfVal.city_name!='').map(mcVal=>mcVal.city_name);\r\n existCities = [].concat.apply([], existCities);\r\n if(filterValues){\r\n let getOriginalStateList = datasource.map(dval => dval.state_id);\r\n \r\n let setCityFilter = filterValues.map(x => {\r\n let findIndex = getOriginalStateList.indexOf(x);\r\n findIndex = datasource[findIndex].cities;\r\n return findIndex;\r\n });\r\n \r\n let merged = [].concat.apply([], setCityFilter);\r\n \r\n if(merged.length>0){\r\n let check: any = merged.filter(function(fVal){\r\n return existCities.some(function(sVal){\r\n return fVal.city_id==sVal;\r\n });\r\n })\r\n return check;\r\n }\r\n else {\r\n return [];\r\n }\r\n }\r\n else {\r\n return [];\r\n }\r\n}\r\n\r\n\r\ncheckTotalEmployee(FormData){\r\n this.businessForm.controls['employees_total'].setValue((+FormData.value.employees_permanent ||0)+(+FormData.value.employees_temporary||0));\r\n }\r\n checkWithExistBusinessYear(e,i){\r\n if(e > this.generalExistBusinessYear){\r\n this.errorMessage[i] = \"Higher than Business Vintage\";\r\n }\r\n else{\r\n this.errorMessage[i] = '';\r\n }\r\n }\r\n\r\n// businees activity type change event\r\nchangeBusinessActivity(event: any){\r\n \r\n if(event.value.exist_status==true && event.value.type_of_activity_id==2){\r\n this.ManufacturingChecked = event.value.exist_status;\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.controls = [];\r\n manufacturingControl.setValue([]); \r\n \r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==2){\r\n this.ManufacturingChecked = event.value.exist_status;\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.push(this.manufactureDetails());\r\n \r\n \r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==3){\r\n this.RetailedChecked=event.value.exist_status\r\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.controls = [];\r\n retailControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==3){\r\n this.RetailedChecked=event.value.exist_status\r\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.push(this.manufactureDetails());\r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==4){\r\n this.WholeSalesChecked=event.value.exist_status\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.controls = [];\r\n wholesaleControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==4){\r\n this.WholeSalesChecked=event.value.exist_status\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.push(this.manufactureDetails());\r\n }\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==5){\r\n this.ServiceChecked=event.value.exist_status\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.controls = [];\r\n serviceControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==5){\r\n this.ServiceChecked=event.value.exist_status\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.push(this.manufactureDetails());\r\n }\r\n\r\n if(event.value.exist_status==true && event.value.type_of_activity_id==1){\r\n let othersControl = this.businessForm.controls['others_activity_details'];\r\n othersControl.controls = [];\r\n othersControl.setValue([]);\r\n }\r\n else if(event.value.exist_status==false && event.value.type_of_activity_id==1){\r\n let othersControl = this.businessForm.controls['others_activity_details'];\r\n othersControl.push(this.createOthersActivity());\r\n }\r\n // check activity type for make dosument sighted filed dynamically\r\n this.businessForm.value.manufacturing_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl(this.businessForm.value.export_import_cert, Validators.required)) : this.businessForm.removeControl('export_import_cert');\r\n this.businessForm.value.manufacturing_activity_details.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl(this.businessForm.value.factory_cert, Validators.required)) : this.businessForm.removeControl('factory_cert');\r\n this.businessForm.value.service_provider_activity_details.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl(this.businessForm.value.practice_cert, Validators.required)) : this.businessForm.removeControl('practice_cert');\r\n // check activity for extra question make dynamic\r\n \r\n this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl(this.businessForm.value.applicant_use_mobile_wallets)) : this.businessForm.removeControl('applicant_use_mobile_wallets');\r\n this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl(this.businessForm.value.applicant_use_pos_machines)) : this.businessForm.removeControl('applicant_use_pos_machines');\r\n \r\n\r\n if(this.ManufacturingChecked || this.ManufacturingChecked==undefined && this.RetailedChecked || this.RetailedChecked==undefined && this.WholeSalesChecked ||this.WholeSalesChecked==undefined && this.ServiceChecked || this.ServiceChecked==undefined){\r\n this.ExportFlag = false;\r\n }\r\n}\r\n\r\n\r\nchangeManufacturingAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n // change retail options\r\n changeRetailAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n// change whole options\r\nchangeWholesaleAreaSale(getDetails: any, getIndex){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n// change service provider \r\nchangeServiceArea(getDetails: any, getIndex) {\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n\r\n if(getDetails.value.area_of_sale==\"Within India\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \r\n\r\n }\r\n else if(getDetails.value.area_of_sale==\"Export\"){\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n else if(getDetails.value.area_of_sale==\"Both\") {\r\n control.controls[getIndex].removeControl('india_where_sale_done');\r\n control.controls[getIndex].removeControl('countries_where_export_done');\r\n control.controls[getIndex].removeControl('pan_india_options');\r\n control.controls[getIndex].removeControl('max_sale_state_name');\r\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\r\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\r\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\r\n }\r\n}\r\n\r\n\r\nchangePanIndiaOptions(type,selectedIndex,value) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n \r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==3){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n else if(type==4){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control.controls[selectedIndex].removeControl('india_where_sale_done');\r\n control.controls[selectedIndex].removeControl('max_sale_state_name');\r\n if(value=='Yes') {\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n else if(value=='No'){\r\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\r\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\r\n }\r\n}\r\n\r\n // update partner group other form control\r\n changePartnerGroup(value,key) {\r\n let control: any = this.businessForm.get('partners') as FormArray;\r\n value=='Others' ? control.controls[key].addControl('partner_other_name', new FormControl('', Validators.required)) : control.controls[key].removeControl('partner_other_name');\r\n }\r\n\r\n createDesignation(): FormGroup {\r\n return this.fb.group({\r\n sec_name: ['', Validators.compose([Validators.required])],\r\n sec_designation: ['', Validators.compose([Validators.required])],\r\n });\r\n}\r\nkeyPress(event: any) {\r\n const pattern = /[0-9]/;\r\n\r\n let inputChar = String.fromCharCode(event.charCode);\r\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\r\n event.preventDefault();\r\n }\r\n }\r\n getWorkExperience(event, key) {\r\n let current_experience = event.current_business_experiance_year=='' ? 0 : parseInt(event.current_business_experiance_year);\r\n let total_experience = event.total_business_experiance=='' ? 0 : parseInt(event.total_business_experiance);\r\n let control: any = this.businessForm.get('partners') as FormArray;\r\n if(total_experience > current_experience) {\r\n control.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\r\n }\r\n else if(total_experience < current_experience) {\r\n //control.controls[key].controls['total_business_experiance'].setValue(current_experience);\r\n control.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n\r\n else {\r\n control.controls[key].removeControl('total_business_previous_experience')\r\n }\r\n // let total ;\r\n // if(control.length > 0){\r\n // total = control.value.reduce((sum, val) => sum + +val.current_business_experiance_year, 0);\r\n // this.businessForm.controls.business_years.setValidators([Validators.required, Validators.min(+total)]);\r\n // this.businessForm.controls.business_years.updateValueAndValidity();\r\n // }\r\n}\r\nConvertMonthintoYear(itemrow,e){\r\n\r\n let year = itemrow.controls.current_business_experiance_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.current_business_experiance_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.current_business_experiance_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n\r\n\r\n\r\ncreatePartners(): FormGroup {\r\n return this.fb.group({\r\n partner_name: ['', Validators.compose([Validators.required])],\r\n // partner_other_name:[''],\r\n shareholding:[''],\r\n started_business:[''],\r\n current_business_experiance_year:[''],\r\n current_business_experiance_month:[''],\r\n total_business_experiance:[''],\r\n total_business_previous_experience:['']\r\n /* shareholding: ['', Validators.compose([Validators.required])],\r\n current_business_experiance: ['', Validators.compose([Validators.required])],\r\n total_business_experiance: ['', Validators.compose([Validators.required])],*/\r\n });\r\n}\r\ncreateRelationShip(): FormGroup {\r\n return this.fb.group({\r\n family_member_salutation:[''],\r\n family_member_name:[''],\r\n other_family_relationship_id:[''],\r\n relation_to_id:[''],\r\n relationship_with_company_id:[''],\r\n started_business:['']\r\n });\r\n}\r\ncreateBusinessActivity(details):FormGroup {\r\n return this.fb.group({\r\n type_of_activity_id: [details.type_of_activity_id, Validators.compose([Validators.required])],\r\n name: [details.name, Validators.compose([Validators.required])],\r\n exist_status:[details.exist_status==1 ? true : false]\r\n });\r\n}\r\ncreateServiceActivity(): FormGroup {\r\n return this.fb.group({\r\n main_products: ['', Validators.compose([Validators.required])],\r\n area_of_sale: ['', Validators.compose([Validators.required])],\r\n description: ['']\r\n });\r\n}\r\ncreateOthersActivity(): FormGroup {\r\n return this.fb.group({\r\n others_details: ['', Validators.compose([Validators.required])]\r\n });\r\n}\r\nmanufactureDetails():FormGroup{\r\n return this.fb.group({\r\n main_products:[''],\r\n area_of_sale:[''],\r\n description:['']\r\n // pan_india_options:[''],\r\n // india_where_sale_done:this.fb.array([]),\r\n //max_sale_state_name:this.fb.array([]),\r\n //countries_where_export_done:this.fb.array([])\r\n })\r\n}\r\nindiaSalesDone():FormGroup{\r\n return this.fb.group({\r\n state_name:[''],\r\n city_name:['']\r\n })\r\n}\r\nmaxSaleState():FormGroup{\r\n return this.fb.group({\r\n state_name:[''],\r\n city_name:['']\r\n })\r\n}\r\ncreateDocument() {\r\n return this.fb.group({\r\n document: ['']\r\n });\r\n}\r\naddDesignation() {\r\n const control = this.businessForm.controls['designation'];\r\n control.push(this.createDesignation());\r\n}\r\ndeleteDesignation(index) {\r\n const control = this.businessForm.controls['designation'];\r\n if(control.length==1){\r\n this.businessForm.controls['designation'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\naddPartnerDetails(event) {\r\n const control = this.businessForm.controls['partners'];\r\n event.stopPropagation()\r\n let length = control.length;\r\n this.step = length;\r\n \r\n control.push(this.createPartners());\r\n}\r\naddPersonRelationship(event){\r\n event.stopPropagation()\r\n const control=this.businessForm.controls['persons_with_relationships']\r\n let length=control.length\r\n this.step=length\r\n control.push(this.createRelationShip());\r\n}\r\ndeletePersonRelationship(index){\r\n const control=this.businessForm.controls['persons_with_relationships'];\r\n control.removeAt(index)\r\n}\r\ndeletePartnerDetails(index) {\r\n const control = this.businessForm.controls['partners'];\r\n if(control.length==1){\r\n this.businessForm.controls['partners'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\naddMoreManufacturing() {\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n manufacturingControl.push(this.manufactureDetails());\r\n}\r\nremoveManufacturing(index){\r\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\r\n if(manufacturingControl.length>1){\r\n manufacturingControl.removeAt(index)\r\n }\r\n else{\r\n manufacturingControl.reset();\r\n }\r\n}\r\naddMoreRetail(){\r\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\r\n retailControl.push(this.manufactureDetails());\r\n}\r\nremoveRetail(index){\r\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\r\n if(retailControl.length>1){\r\n retailControl.removeAt(index)\r\n }\r\n else{\r\n retailControl.reset();\r\n }\r\n}\r\naddMoreWholesale() {\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n wholesaleControl.push(this.manufactureDetails());\r\n}\r\nremoveWholesale(index){\r\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\r\n if(wholesaleControl.length>1){\r\n wholesaleControl.removeAt(index)\r\n }\r\n else{\r\n wholesaleControl.reset();\r\n }\r\n}\r\naddMoreServiceprovider() {\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n serviceControl.push(this.manufactureDetails());\r\n}\r\nremoveServiceProvider(index){\r\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\r\n if(serviceControl.length>1){\r\n serviceControl.removeAt(index)\r\n }\r\n else{\r\n serviceControl.reset();\r\n }\r\n}\r\naddMoreOthersActivity(){\r\n let othersControl = this.businessForm.controls['others_activity_details'];\r\n othersControl.push(this.createOthersActivity());\r\n}\r\ncreateCountrySale() {\r\n return this.fb.group({\r\n country_name: ['',Validators.compose([Validators.required])],\r\n approx_sale: ['', Validators.compose([Validators.required])]\r\n }); \r\n}\r\n\r\naddMoreState(mindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n \r\n\r\n}\r\nremoveState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n\r\naddRetailMoreState(rindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[rindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[rindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n}\r\nremoveRetailState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n// add more whole sale state\r\naddWholesaleMoreState(windex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[windex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[windex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n\r\n}\r\n// remove for whole sale\r\nremoveWholesaleState(mindex,sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\r\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n}\r\n // add more service provider\r\n addServiceMoreState(sindex,type) {\r\n if(type==1){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control = control.controls[sindex].get('india_where_sale_done') as FormArray;\r\n control.push(this.indiaSalesDone())\r\n }\r\n else if(type==2){\r\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control = control.controls[sindex].get('countries_where_export_done') as FormArray;\r\n control.push(this.createCountrySale())\r\n }\r\n }\r\n \r\n // remove service provider\r\n\r\nremoveServiceState(mindex,sindex,type){\r\n if(type==1){\r\n let control:any=this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control=control.controls[mindex].get('india_where_sale_done') as FormArray;\r\n control.removeAt(sindex);\r\n }\r\n else if(type==2){\r\n let control1:any=this.businessForm.get('service_provider_activity_details') as FormArray;\r\n control1=control1.controls[mindex].get('countries_where_export_done') as FormArray\r\n control1.removeAt(sindex)\r\n }\r\n}\r\naddDocuments() {\r\n const control = this.businessForm.controls['documents'];\r\n control.push(this.createDocument());\r\n}\r\ndeleteDocuments(index) {\r\n const control = this.businessForm.controls['documents'];\r\n if(control.length==1){\r\n this.businessForm.controls['documents'].reset();\r\n }else{\r\n control.removeAt(index);\r\n }\r\n}\r\n\r\nrelationChanged(event) {\r\n this.relativeNames = [];\r\n event.value.forEach(option => {\r\n this.relativeNames.push({member: option});\r\n });\r\n}\r\ncreatePOSMachinesDetails(data){\r\n if(data==null){\r\n return this.fb.group({\r\n pos_machines_financial_institution_name: [''],\r\n tid_no_of_pos_machine: [''],\r\n })\r\n }\r\n else{\r\n return this.fb.group({\r\n pos_machines_financial_institution_name: [data.pos_machines_financial_institution_name],\r\n tid_no_of_pos_machine: [data.tid_no_of_pos_machine],\r\n })\r\n }\r\n}\r\n\r\n public initBusinessForm(): void {\r\n this.businessForm = this.fb.group({\r\n pdid: this.pdDetails.pd_id,\r\n formid: this.FormId.form_id,\r\n fk_createdby: this.users,\r\n profession_name: ['', Validators.compose([Validators.required])],\r\n business_years: ['', Validators.compose([Validators.required])],\r\n industry: ['', Validators.compose([Validators.required])],\r\n type_of_activity: ['', Validators.compose([Validators.required])],\r\n seasonality: ['', Validators.compose([Validators.required])],\r\n designation: this.fb.array([]),\r\n partners: this.fb.array([]),\r\n employees_total: ['', Validators.compose([Validators.required])],\r\n employees_permanent: ['', Validators.compose([Validators.required])],\r\n employees_temporary: ['', Validators.compose([Validators.required])],\r\n officer_total: ['', Validators.compose([Validators.required])],\r\n officer_permanent: ['', Validators.compose([Validators.required])],\r\n officer_temporary: ['', Validators.compose([Validators.required])],\r\n invested_amount: ['', Validators.compose([Validators.required])],\r\n working_capital: ['', Validators.compose([Validators.required])],\r\n is_service_provided: ['', Validators.compose([Validators.required])],\r\n ownership_setup: ['', Validators.compose([Validators.required])],\r\n ownership_others: [''],\r\n rent_paid: [''],\r\n shop_eat_act_cert: ['', Validators.compose([Validators.required])],\r\n gst_Regn_cert: ['', Validators.compose([Validators.required])],\r\n export_import_cert: ['', Validators.compose([Validators.required])],\r\n factory_cert: ['', Validators.compose([Validators.required])],\r\n practice_cert: ['', Validators.compose([Validators.required])],\r\n pf_regn: ['', Validators.compose([Validators.required])],\r\n esic_regn: ['', Validators.compose([Validators.required])],\r\n other_documents: ['', Validators.compose([Validators.required])],\r\n documents: this.fb.array([]),\r\n business_remarks: ['', Validators.compose([Validators.required])],\r\n who_started: ['', Validators.compose([Validators.required])],\r\n main_person: ['', Validators.compose([Validators.required])],\r\n other_main_person: [''],\r\n family_members_involved: ['', Validators.compose([Validators.required])],\r\n before_business: ['', Validators.compose([Validators.required])],\r\n any_delays: ['', Validators.compose([Validators.required])],\r\n });\r\n}\r\n\r\nsubmitDetails() {\r\n\r\n if(this.EntityTypeFlag == true){\r\n let control: any = this.businessForm.controls['partners'];\r\n let control2:any = control.controls[0];\r\n\r\n control2.controls['shareholding'].clearValidators();\r\n control2.controls['shareholding'].updateValueAndValidity();\r\n control2.controls['shareholding'].setValue('100');\r\n\r\n \r\n // control.controls[0].removeControl('shareholding');\r\n // control.controls[0].removeControl('started_business');\r\n // control.controls[0].removeControl('current_business_experiance_year');\r\n // control.controls[0].removeControl('current_business_experiance_month');\r\n // control.controls[0].removeControl('total_business_experiance');\r\n \r\n control2.controls['started_business'].setValue('');\r\n\r\n control2.controls['current_business_experiance_year'].clearValidators();\r\n control2.controls['current_business_experiance_year'].updateValueAndValidity();\r\n control2.controls['current_business_experiance_year'].setValue('');\r\n\r\n control2.controls['current_business_experiance_month'].setValue('');\r\n\r\n control2.controls['total_business_experiance'].clearValidators();\r\n control2.controls['total_business_experiance'].updateValueAndValidity();\r\n control2.controls['total_business_experiance'].setValue('');\r\n // if(control2.controls['total_business_previous_experience'].value !=undefined){\r\n // control2.controls['total_business_previous_experience'].clearValidators();\r\n // control2.controls['total_business_previous_experience'].updateValueAndValidity();\r\n // control2.controls['total_business_previous_experience'].setValue('0');\r\n // }\r\n\r\n }\r\n\r\n \r\n let family: any = [];\r\n \r\n let design: any;\r\n //let records={'pdid':this.pdDetails.pd_id,'formid':this.FormId,'fk_createdby':this.users};\r\n let records:any;\r\n // records.pdid = this.pdDetails.pd_id;\r\n // records.formid = this.FormId;\r\n // records.fk_createdby = this.users;\r\n records=this.businessForm.value;\r\n\r\n //if(records.persons_with_relationships=='')\r\n if (records.other_documents == 'no') {\r\n delete records.documents;\r\n }\r\n if (records.rent_paid == '') {\r\n delete records.rent_paid;\r\n }\r\n if (records.ownership_others == '') {\r\n delete records.ownership_others;\r\n }\r\n // records.family_members_involved = this.relativeNames;\r\n \r\n\r\n let validationFlag : number = 0;\r\n\r\n //type 1: Checking manufacturing_activity_details \r\n if(records.manufacturing_activity_details.length > 0){\r\n\r\n records.manufacturing_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale!= \"Within India\"){ \r\n let ManufacturingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = ManufacturingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n \r\n }\r\n\r\n //type 3 checking wholesale_trading_activity_details\r\n if(records.wholesale_trading_activity_details.length > 0){\r\n\r\n records.wholesale_trading_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){ \r\n let WholesaleTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = WholesaleTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n //type 2 checking retail_trading_activity_details\r\n if(records.retail_trading_activity_details.length > 0){\r\n\r\n records.retail_trading_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){ \r\n let RetailTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = RetailTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n\r\n //type 4 checking service_provider_activity_details\r\n if(records.service_provider_activity_details.length > 0){\r\n\r\n records.service_provider_activity_details.forEach((val,index) => {\r\n if(val.area_of_sale != \"Within India\"){\r\n \r\n let ServiceProviderArray = Object.keys(val.countries_where_export_done).map(function (key) {\r\n return val.countries_where_export_done[key];\r\n });\r\n let total = ServiceProviderArray.reduce((sum, item) => sum + +item.approx_sale, 0);\r\n if(total > 100 || total < 100){\r\n validationFlag++;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n //validationFlag is greater then 0 means its display the notifer as warning\r\n if(validationFlag > 0){\r\n this.toast.pdTriggerappmessage(\"warning!! Approximate sales doesn't add upto 100%\");\r\n return;\r\n }\r\n\r\n records.select_business_activity_type = records.select_business_activity_type.filter(value=>value.exist_status==1);\r\n this.qustCat.saveForm(records).subscribe(data => {\r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },3000);\r\n }\r\n });\r\n}\r\n getBuisnessDetails()\r\n {\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}; \r\n this.qustCat.retiverForm(records).subscribe(data => {\r\n let businessVal = data['records'];\r\n \r\n let constVal: any;\r\n const Desgn = this.businessForm.controls['designation'];\r\n const Partnr = this.businessForm.controls['partners'];\r\n const otherDoc = this.businessForm.controls['documents'];\r\n\r\n if (data['status'] == 200) {\r\n let DocArray: any;\r\n let DesgnArray = Object.keys(data['records'].designation).map(function (key) {\r\n return data['records'].designation[key];\r\n });\r\n let PartnrArray = Object.keys(data['records'].partners).map(function (key) {\r\n return data['records'].partners[key];\r\n });\r\n\r\n let selectedMembers = Object.keys(data['records'].family_members_involved).map(function (key) {\r\n return data['records'].family_members_involved[key];\r\n });\r\n let enduse: any = [];\r\n let existRelative: any =[];\r\n selectedMembers.forEach(val => {\r\n enduse.push(val.member);\r\n existRelative.push(val);\r\n });\r\n this.relativeNames = existRelative;\r\n if (DesgnArray.length == 0) {\r\n Desgn.push(this.createDesignation());\r\n } else {\r\n DesgnArray.forEach(datas => {\r\n Desgn.push(this.createDesignation());\r\n });\r\n \r\n }\r\n if (PartnrArray.length == 0) {\r\n Partnr.push(this.createPartners());\r\n } else {\r\n PartnrArray.forEach(datas => {\r\n Partnr.push(this.createPartners());\r\n });\r\n }\r\n if (data['records'].other_documents == 'yes') {\r\n DocArray = Object.keys(data['records'].documents).map(function (key) {\r\n return data['records'].documents[key];\r\n });\r\n DocArray.forEach(datas => {\r\n otherDoc.push(this.createDocument());\r\n });\r\n } else {\r\n DocArray = [{document: ''}];\r\n otherDoc.push(this.createDocument());\r\n }\r\n if (data['records'].ownership_setup != 'others') {\r\n businessVal.ownership_others = '';\r\n }\r\n if (data['records'].ownership_setup != 'rented') {\r\n businessVal.rent_paid = '';\r\n }\r\n businessVal.family_members_involved = enduse;\r\n businessVal.pdid = this.pdDetails.pd_id;\r\n businessVal.formid = this.FormId.form_id;\r\n businessVal.fk_createdby = this.users;\r\n businessVal.designation = DesgnArray;\r\n businessVal.partners = PartnrArray;\r\n businessVal.documents = DocArray;\r\n\r\n this.businessForm.setValue(businessVal);\r\n } else {\r\n Desgn.push(this.createDesignation());\r\n Partnr.push(this.createPartners());\r\n otherDoc.push(this.createDocument());\r\n }\r\n\r\n });\r\n }\r\n setStep(index: number) {\r\n this.step = index;\r\n}\r\ninWords(e,flag){\r\n switch(flag){\r\n case 1 : \r\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n }\r\n }\r\n ManufacturingCounterArray: any = [];\r\nRetailCounterArray: any = [];\r\nWholeSaleCounterArray: any = [];\r\nServiceCounterArray: any = [];\r\n\r\n CheckExport(value,stringFlag,index){\r\n //this.ExportFlag=false\r\n const parentControl = this.businessForm.controls['select_business_activity_type'];\r\n const childControl = parentControl.controls[0];\r\n\r\n\r\n // childControl.forEach((datas,index) => {\r\n \r\n \r\n // // exist_status==true && event.value.type_of_activity_id\r\n\r\n // });\r\n\r\n \r\n\r\n \r\n \r\n if(!this.ManufacturingChecked){\r\n // console.log(\"Manu\")\r\n if(stringFlag == 'MActivity' && value == \"Both\"){\r\n this.ManufacturingCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'MActivity' && value != \"Both\"){\r\n this.ManufacturingCounterArray[index] = 0;\r\n }\r\n }else if (this.ManufacturingChecked && stringFlag == 'MActivity'){\r\n // console.log(\"manu\");\r\n this.ManufacturingCounterArray[index] = 0;\r\n }\r\n\r\n if(!this.RetailedChecked){ \r\n if(stringFlag == 'RActivity' && value == \"Both\"){\r\n this.RetailCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'RActivity' && value != \"Both\"){\r\n this.RetailCounterArray[index] = 0;\r\n }\r\n }\r\n else if(stringFlag == 'RActivity' && this.RetailedChecked){\r\n this.RetailCounterArray[index] = 0;\r\n }\r\n\r\n if(!this.WholeSalesChecked){\r\n if(stringFlag == 'WActivity' && value == \"Both\"){\r\n this.WholeSaleCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'WActivity' && value != \"Both\"){\r\n this.WholeSaleCounterArray[index] = 0;\r\n }\r\n }\r\n else if(stringFlag == 'WActivity' && this.WholeSalesChecked){\r\n this.WholeSaleCounterArray[index] = 0;\r\n }\r\n \r\n if(!this.ServiceChecked){\r\n \r\n if(stringFlag == 'SPActivity' && value == \"Both\")\r\n { \r\n this.ServiceCounterArray[index] = 1;\r\n }\r\n else if(stringFlag == 'SPActivity' && value != \"Both\"){\r\n this.ServiceCounterArray[index] = 0;\r\n }\r\n\r\n }else if(stringFlag == 'SPActivity'){\r\n this.ServiceCounterArray[index] = 0;\r\n } \r\n\r\n let SumOfManufacturingCounter = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n let SumOfRetailCounter = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n let SumOfWholeSaleCounter = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n let SumOfServiceCounter = this.ServiceCounterArray.reduce((sum, val) => sum + +val, 0);\r\n \r\n\r\n let overallCounter = SumOfManufacturingCounter + SumOfRetailCounter + SumOfWholeSaleCounter + SumOfServiceCounter ;\r\n \r\n\r\n this.ExportFlag = overallCounter > 0 ? true : false ;\r\n // console.log(this.ExportFlag);\r\n //console.log(overallCounter)\r\n\r\n}\r\nchangePOSMachinesAvailablity(e, flag) {\r\nconsole.log(e)\r\n e == 'yes'\r\n ? this.businessForm.addControl('no_of_pos_machines', new FormControl(''))\r\n : this.businessForm.removeControl('no_of_pos_machines');\r\n\r\n if (flag == 2) {\r\n e == 'yes'\r\n ? this.businessForm.controls.no_of_pos_machines.setValue('')\r\n : this.businessForm.removeControl('no_of_pos_machines');\r\n }\r\n\r\n}\r\ntoGetPOSMachinesDetails(e,flag){\r\n\r\n if(flag == 1){ this.businessForm.addControl('pos_machines_details', this.fb.array([])); }\r\n const control = this.businessForm.controls['pos_machines_details'];\r\n\r\n while (control.length !== 0) {\r\n control.removeAt(0);\r\n }\r\n\r\n if(e > 0 ){\r\n if(flag == 1){\r\n for(let i = 1 ; i<= e ; i++ ){\r\n control.push(this.createPOSMachinesDetails(null));\r\n }\r\n }\r\n else if(flag == 2){\r\n for(let i = 1 ; i<= e ; i++ ){\r\n control.push(this.createPOSMachinesDetails(this.temp_additiondetailofposmachine));\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service'\r\nimport { FormGroup,FormBuilder,FormArray, Validators} from '@angular/forms';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\r\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\r\nimport { ToastProvider } from '../../../../providers/common-provider/toast'\r\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessAssetsPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-assets',\r\n templateUrl: 'pd-question-business-assets.html',\r\n})\r\nexport class PdQuestionBusinessAssetsPage {\r\n currentYear:any=new Date().getFullYear();\r\n\r\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\r\n {'value': \"no\",'viewValue': \"No\"},\r\n {'value': \"nan\",'viewValue': \"NA\"}]\r\n\r\n company_id:any;\r\n pdDetails:any;\r\n formDetails : any;\r\n users:any;\r\n _businessAssetsQuesFrom:FormGroup;\r\n m_assets_type:any;\r\n m_propertyType:any;\r\n AssetValueInwords:any=[];\r\n appxMarketAmtInwords:any=[];\r\n RentAmtInwords:any=[]\r\n mergeCompanyApplicant:any=[];\r\n existCompanyList:any=[]\r\n applicants:any;\r\n data_all:any;\r\n CustSegAbbr: any;\r\n generalExistBusinessYear:Number;\r\n generalExistBusinessMonth:Number;\r\n yearErrorMessage: any=[];\r\n monthErrorMessage: any=[];\r\n addressLabel: any=[];\r\n placeholderName : any = []\r\n m_address_type:any=[]\r\n pageTitle: string;\r\n main_applicant: any;\r\n lender_applicant_id: any;\r\n subproduct_abbr: any;\r\n customer_segment_abbr: any;\r\n RentAmtInwordsForAddress: any =[];\r\n appxMarketAmtInwordsForAddress: any =[];\r\n isOtherOwnerForAddress : boolean = false;\r\n isOtherOwner: boolean = false;\r\n public m_vehicle_type = [];\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustcat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\r\n \r\n \r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.users=this.aws.getlocale();\r\n this.company_id=this.pdDetails.company_id;\r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\r\n this.generalExistBusinessYear = this.pdDetails.business_years;\r\n this.generalExistBusinessMonth = this.pdDetails.business_month;\r\n this.pageTitle = this.pdDetails.company_name + ' - ' +this.pageTitle ;\r\n this.main_applicant = this.pdDetails.applicant_name;\r\n this.lender_applicant_id = this.pdDetails.lender_applicant_id;\r\n this.subproduct_abbr = this.pdDetails.subproduct_abbr;\r\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\r\n this.getDropDown()\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessAssetsPage');\r\n this.getDetails()\r\n //this.getAddress()\r\n }\r\n getAddress(){\r\n let params:any={};\r\n params.pd_id=this.pdDetails.pd_id;\r\n params.pd_form_id='5'\r\n\r\n this.qustcat.retiverForm(params).subscribe(data => {\r\n const control= this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n if(data['status'] == 200) {\r\n \r\n \r\n if(data['records'].addresses.length > 0){\r\n data['records'].addresses.forEach((data,inx)=>{\r\n\r\n \r\n this.addressLabel[inx] = '';\r\n \r\n let selectedAddressType = this.m_address_type.filter(element =>element.address_type_id == data.address_type)[0];\r\n let address = data.address;\r\n let addressType = data.address_type != 1 ? selectedAddressType.address_type : data.address_type_others;\r\n \r\n this.placeholderName[inx] = 'Was any business activity seen at the '+addressType+' during PD visit?';\r\n let addressLabel = \" : \"+address+' / '+addressType ;\r\n let values={\r\n address_label:addressLabel,\r\n business_years: '',\r\n business_month: '',\r\n business_address_availability: '',\r\n business_is_pd_visited: '',\r\n business_pd_visited_remark: '', \r\n business_approximate_market_value: '',\r\n business_ownership_type: '',\r\n business_monthly_rented_amt: '',\r\n business_name_of_the_owner: '',\r\n business_name_of_the_other_owner: '',\r\n business_vintage: '',\r\n business_purchase_year: '',\r\n business_emi: ''\r\n }\r\n control.push(this.initBusinessDetailsWithdata(values));\r\n })\r\n }\r\n else{\r\n control.push(this.initBusinessDetails())\r\n }\r\n }\r\n else{\r\n control.push(this.initBusinessDetails());\r\n }\r\n });\r\n }\r\n getDropDown(){\r\n this.qustcat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\r\n this.m_address_type=data['records'].filter(val=>val.isactive == 1);\r\n })\r\n this.qustcat.getcommondrop('VEHICLETYPE').subscribe(\r\n data => {\r\n this.m_vehicle_type = data['records'].filter(data => data.is_active == 1);\r\n })\r\n \r\n this.qustcat.getcommondrop('ASSETTYPE').subscribe(data=>{\r\n this.m_assets_type=data['records'].filter(val=>val.isactive==1 && val.flag==1);\r\n \r\n })\r\n\r\n this.qustcat.getcommondrop('PROPERTIES').subscribe(data=>{\r\n this.m_propertyType=data['records'].filter(val=>val.isactive==1)\r\n })\r\n\r\n this.qustcat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\r\n if(data.dataStatus){\r\n this.existCompanyList=data['records'].filter(val=>val.is_active==true);\r\n \r\n }\r\n \r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n }\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\r\n\r\n }\r\n })\r\n\r\n \r\n \r\n }\r\n apiLoadFinish:boolean=false\r\n getDetails(){\r\n let params:any={};\r\n params.pd_id=this.pdDetails.pd_id\r\n params.company_id=this.company_id\r\n params.pd_form_id=22\r\n this.qustcat.retiverForm(params).subscribe(res=>{\r\n \r\n if(res['dataStatus']==true){\r\n \r\n //this.data_all=res['records']\r\n /* var assestArray=Object.keys(res['records'].business_assets_details).map(function(key){\r\n return res['records'].business_assets_details[key]\r\n });\r\n \r\n //this.formLoadData(assestArray)\r\n this._businessAssetsQuesFrom.controls['business_assets_form_remark'].setValue(res['records'].business_assets_form_remark);\r\n if(assestArray.length>0){\r\n for(let val of assestArray){\r\n let formData={\r\n business_assets_mode: val.business_assets_mode,\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_purchase_year: val. business_purchase_year,\r\n business_vintage : val.business_vintage,\r\n business_emi: val.business_emi,\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetailsWithdata(formData));\r\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length- 1)\r\n }\r\n }*/\r\n this.formLoadData(res['records'])\r\n }\r\n\r\n \r\n else{\r\n this.formLoadData(null);\r\n }\r\n this.apiLoadFinish=true\r\n \r\n \r\n })\r\n //this.formLoadData(null);\r\n \r\n }\r\n \r\n formLoadData(data){\r\n if(data==null){\r\n this._businessAssetsQuesFrom=this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n /* formid: ['22'],*/\r\n formid: [this.formDetails.form_id],\r\n company_id : [this.company_id],\r\n fk_createdby:[this.users],\r\n \r\n business_assets_for_address: this.fb.array([]),\r\n //this.createBusinessAssetsForAddress(),\r\n business_assets_details : this.fb.array([\r\n this.initBusinessDetails(),\r\n ]),\r\n business_assets_form_remark:['']\r\n });\r\n this.getAddress();\r\n this.loadDetails=true;\r\n }\r\n else{\r\n \r\n let value=data;\r\n this._businessAssetsQuesFrom=this.fb.group({\r\n pdid: [this.pdDetails.pd_id],\r\n /* formid: ['22'],*/\r\n formid: [this.formDetails.form_id],\r\n company_id : [this.company_id],\r\n fk_createdby:[this.users],\r\n // business_years:[value.business_years],\r\n // business_month:[value.business_month],\r\n // business_address_availability:[value.business_address_availability],\r\n // business_is_pd_visited:[value.business_is_pd_visited],\r\n // business_pd_visited_remark:[value.business_pd_visited_remark],\r\n business_assets_for_address: this.fb.array([]),\r\n business_assets_details : this.fb.array([]),\r\n business_assets_form_remark:[value.business_assets_form_remark || '']\r\n });\r\n // if (value.business_assets_for_address.business_address_availability == 'yes') {\r\n \r\n // this.addBusinessAssetsForAddress(value.business_assets_for_address);\r\n // }\r\n // else {\r\n // const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n // control.push(this.createBusinessAssetsForAddress());\r\n // } \r\n // this.addBusinessAssetsDetailsWithData(value.business_assets_details);\r\n this.addBusinessAssetsForAddress(value.business_assets_for_address);\r\n this.addBusinessAssetsDetailsWithData(value.business_assets_details);\r\n }\r\n\r\n this.loadDetails=true\r\n }\r\n\r\n initBusinessDetails(){\r\n return this.fb.group({\r\n address_label:[''],\r\n business_assets_mode:[''],\r\n business_details: this.fb.array([]),\r\n \r\n business_years:[''],\r\n business_month:[''],\r\n business_address_availability:[''],\r\n business_is_pd_visited:[''],\r\n business_pd_visited_remark:[''],\r\n \r\n business_approximate_market_value: [''],\r\n business_ownership_type:[''],\r\n business_monthly_rented_amt:[''],\r\n business_name_of_the_owner: [],\r\n business_name_of_the_other_owner: [],\r\n business_vintage: [''],\r\n business_purchase_year: ['',Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: [''],\r\n \r\n })\r\n }\r\n loadProperty() {\r\n return this.fb.group({\r\n property_type: [''],\r\n other_property_type: [''],\r\n address_of_the_property: ['']\r\n });\r\n }\r\n load_Four_Weeler() {\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [''],\r\n vehicle_type: [''],\r\n other_vehicle_type: ['']\r\n });\r\n }\r\n loadEquipmentManufacturingDescription() {\r\n return this.fb.group({\r\n equipment_manufacturing_description: ['']\r\n });\r\n }\r\n otherBusinessAssetsDescription() {\r\n return this.fb.group({\r\n any_other_assets: [''],\r\n any_other_asset_value : [''],\r\n any_other_asset_loan : [''], \r\n });\r\n }\r\n\r\n /** Add More Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\r\n addAssetDetails(e) {\r\n \r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetails());\r\n \r\n }\r\n /** To remove The Added Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\r\n removeAssetsDetails(i: number) {\r\n \r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.removeAt(i);\r\n\r\n}\r\n\r\ncreateBusinessAssetsForAddress(): FormGroup {\r\n return this.fb.group({\r\n address_label:[''],\r\n business_years:[''],\r\n business_month:[''],\r\n business_address_availability:[''],\r\n business_is_pd_visited:[''],\r\n business_pd_visited_remark:[''],\r\n\r\n business_approximate_market_value: [''],\r\n business_ownership_type: [''],\r\n business_monthly_rented_amt: [''],\r\n business_name_of_the_owner: [''],\r\n business_name_of_the_other_owner: [''],\r\n business_vintage: [''],\r\n business_purchase_year: ['', Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: ['']\r\n });\r\n}\r\n\r\n selectedAssetsType(e: any, i: any): void {\r\n let val = i;\r\n const arr = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\r\n arr.controls.splice(0);\r\n \r\n switch (e.value) {\r\n case '1': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.otherBusinessAssetsDescription());\r\n break;\r\n }\r\n case '2': {\r\n let val = i;\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadProperty());\r\n break;\r\n }\r\n case '3': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.load_Four_Weeler());\r\n break;\r\n }\r\n case '4': {\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadEquipmentManufacturingDescription());\r\n break;\r\n }\r\n \r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n loadPropertyWithData(data) { \r\n return this.fb.group({\r\n property_type: [data.property_type],\r\n other_property_type: [data.other_property_type],\r\n address_of_the_property: [data.address_of_the_property],\r\n });\r\n }\r\n load_Four_WeelerWithData(data){\r\n return this.fb.group({\r\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle],\r\n vehicle_type: [data.vehicle_type],\r\n other_vehicle_type: [data.other_vehicle_type]\r\n })\r\n }\r\n\r\n loadEquipmentManufacturingDescriptionWithData(data) {\r\n return this.fb.group({\r\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\r\n });\r\n }\r\n otherBusinessAssetsDescriptionWithData(data) {\r\n return this.fb.group({\r\n any_other_assets: [data.any_other_assets],\r\n any_other_asset_loan : [data.any_other_asset_loan],\r\n });\r\n }\r\n\r\n loadDetails:boolean\r\n addBusinessAssetsForAddress(data) {\r\n var result = Object.keys(data).map(function (key) {\r\n return data[key];\r\n });\r\n if (result.length > 0) {\r\n result.forEach((datas, index) => {\r\n this.RentAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_monthly_rented_amt);\r\n this.appxMarketAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_approximate_market_value);\r\n let Avaliablity = 1;\r\n \r\n if(datas.business_name_of_the_owner.length > 0){\r\n datas.business_name_of_the_owner.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){\r\n Avaliablity = option.id;\r\n }\r\n });\r\n }\r\n this.isOtherOwnerForAddress = Avaliablity == 0 ? true : false;\r\n });\r\n\r\n for (let val of result) {\r\n let vals = {\r\n address_label:val.address_label,\r\n business_years:val.business_years,\r\n business_month:val.business_month,\r\n business_address_availability:val.business_address_availability,\r\n business_is_pd_visited:val.business_is_pd_visited,\r\n business_pd_visited_remark:val.business_pd_visited_remark,\r\n\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_ownership_type: val.business_ownership_type,\r\n business_monthly_rented_amt: val.business_monthly_rented_amt,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_vintage: val.business_vintage,\r\n business_purchase_year: val.business_purchase_year,\r\n business_emi: val.business_emi\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddressWithData(vals));\r\n }\r\n } else {\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.push(this.createBusinessAssetsForAddress());\r\n }\r\n }\r\n addBusinessAssetsDetailsWithData(supp_data){\r\n var result=Object.keys(supp_data).map(function(key){\r\n return supp_data[key];\r\n })\r\n \r\n if(result.length>0){\r\n result.forEach((datas,index)=>{\r\n this.appxMarketAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_approximate_market_value)\r\n this.RentAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_monthly_rented_amt);\r\n });\r\n for(let val of result){\r\n let formData={\r\n address_label:val.address_label,\r\n business_assets_mode: val.business_assets_mode,\r\n\r\n business_years:val.business_year,\r\n business_month:val.business_month,\r\n business_address_availability:val.business_address_availability,\r\n business_is_pd_visited:val.business_is_pd_visited,\r\n business_pd_visited_remark:val.business_pd_visited_remark,\r\n\r\n business_approximate_market_value: val.business_approximate_market_value,\r\n business_ownership_type:val.business_ownership_type,\r\n business_monthly_rented_amt:val.business_monthly_rented_amt,\r\n business_name_of_the_owner: val.business_name_of_the_owner,\r\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\r\n business_purchase_year: val. business_purchase_year,\r\n business_vintage : val.business_vintage,\r\n business_emi: val.business_emi,\r\n };\r\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.push(this.initBusinessDetailsWithdata(formData));\r\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length - 1)\r\n }\r\n \r\n }\r\n this.loadDetails=true\r\n }\r\n\r\n createBusinessAssetsForAddressWithData(data): FormGroup {\r\n return this.fb.group({\r\n address_label:[data.address_label],\r\n business_years:[data.business_years],\r\n business_month:[data.business_month],\r\n business_address_availability:[data.business_address_availability],\r\n business_is_pd_visited:[data.business_is_pd_visited],\r\n business_pd_visited_remark:[data.business_pd_visited_remark],\r\n\r\n business_approximate_market_value: [data.business_approximate_market_value],\r\n business_ownership_type: [data.business_ownership_type],\r\n business_monthly_rented_amt: [data.business_monthly_rented_amt],\r\n business_name_of_the_owner: [data.business_name_of_the_owner],\r\n business_name_of_the_other_owner: [data.business_name_of_the_other_owner],\r\n business_vintage: [data.business_vintage],\r\n business_purchase_year: [data.business_purchase_year, Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n business_emi: [data.business_emi]\r\n });\r\n }\r\n\r\n initBusinessDetailsWithdata(data) {\r\n \r\n\r\n let formGroup= this.fb.group({\r\n address_label:[data.address_label],\r\n business_assets_mode: [data.business_assets_mode],\r\n \r\n business_years:[data.business_year],\r\n business_month:[data.business_month],\r\n business_address_availability:[data.business_address_availability],\r\n business_is_pd_visited:[data.business_is_pd_visited],\r\n business_pd_visited_remark:[data.business_pd_visited_remark],\r\n\r\n business_details: this.fb.array([]),\r\n business_approximate_market_value: [data.business_approximate_market_value],\r\n business_ownership_type : [data.business_ownership_type],\r\n business_monthly_rented_amt:[data.business_monthly_rented_amt],\r\n business_name_of_the_owner: [data.business_name_of_the_owner],\r\n business_name_of_the_other_owner:[data.business_name_of_the_other_owner || ''],\r\n // relation: [data.relation || ''],\r\n business_vintage: [data. business_vintage],\r\n business_purchase_year: [data. business_purchase_year,Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\r\n // purchase_month: [data.purchase_month],\r\n business_emi: [data.business_emi || ''],\r\n });\r\n return formGroup;\r\n }\r\n setBusinessAssetsDetailsWithData(assets_details_mode:any,datas:any,i:any){\r\n \r\n let val = i;\r\n let data = datas;\r\n const control=(this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\r\n control.controls.splice(0);\r\n\r\n switch (assets_details_mode) {\r\n case '2': {\r\n let business_property_datas : any;\r\n data.forEach((datas,i) => {\r\n business_property_datas = { 'property_type': datas.property_type, 'other_property_type': datas.other_property_type, 'address_of_the_property': datas.address_of_the_property };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadPropertyWithData(business_property_datas));\r\n break;\r\n }\r\n case '3': {\r\n let business_Four_Weeler_datas : any;\r\n data.forEach((datas,i) => {\r\n business_Four_Weeler_datas = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle, 'vehicle_type': datas.vehicle_type, 'other_vehicle_type': datas.other_vehicle_type };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.load_Four_WeelerWithData(business_Four_Weeler_datas));\r\n break;\r\n }\r\n case '4': {\r\n let equipment_manufacturing_description_datas : any;\r\n data.forEach((datas,i) => {\r\n equipment_manufacturing_description_datas= { 'equipment_manufacturing_description': datas.equipment_manufacturing_description };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.loadEquipmentManufacturingDescriptionWithData(equipment_manufacturing_description_datas));\r\n break;\r\n }\r\n \r\n case '1': {\r\n let array_datas : any;\r\n data.forEach((datas,i) => {\r\n this.AssetValueInwords[i] = this.cons.convertNumberToWords(+datas.any_other_asset_value);\r\n array_datas = {\r\n 'any_other_assets': datas.any_other_assets,\r\n // 'any_other_asset_value': datas.any_other_asset_value,\r\n 'any_other_asset_loan': datas.any_other_asset_loan,\r\n };\r\n });\r\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\r\n control.push(this.otherBusinessAssetsDescriptionWithData(array_datas));\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n public paymentModeTextBox: number;\r\n selectedPM(e) {\r\n this.paymentModeTextBox = e.value;\r\n // this.f.supplier_details.controls.get('payment_mode_value');\r\n }\r\n\r\n public freqPurchaseTextBox: number;\r\n selectedFreqPurchase(e) {\r\n this.freqPurchaseTextBox = e.value;\r\n }\r\n \r\n\r\n onSubmit(){\r\n var answerData=this._businessAssetsQuesFrom.value;\r\n //To Remove The \"Null\" With Key also\r\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\r\n\r\n this.qustcat.saveForm(answerData).subscribe(result=>{\r\n if(result['dataStatus']==true){\r\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! something went Wrong \");\r\n }\r\n })\r\n \r\n }\r\n // calculate vintage and purchase {}\r\n calculateVintagePurchase(value: any, controlKey: any, type: number) {\r\n if (type == 1) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 2) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\r\n }\r\n if (type == 3) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\r\n }\r\n else if (type == 4) {\r\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\r\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\r\n }\r\n }\r\n\r\n\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n\r\n // // check others\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n\r\n\r\n setRequiredValidation(value, item, flag,i) {\r\n\r\n if (flag == 1) {\r\n if (value == 'yes') {\r\n console.log(\"bu\",this._businessAssetsQuesFrom.controls);\r\n // this._businessAssetsQuesFrom.controls.business_assets_for_address.value[i].business_years.setValidators([Validators.required]);\r\n \r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.setValidators([Validators.required]);\r\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.setValidators([Validators.required]);\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.setValidators([Validators.required]);\r\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\r\n }\r\n else {\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_years.clearValidators();\r\n \r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.clearValidators();\r\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.clearValidators();\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.clearValidators();\r\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\r\n }\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_years.updateValueAndValidity();\r\n \r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.updateValueAndValidity();\r\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.updateValueAndValidity();\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.updateValueAndValidity();\r\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\r\n\r\n\r\n }\r\n // if(flag == 2){\r\n // value==1\r\n // ? item.controls.premises_type_others.setValidators([Validators.required])\r\n // : item.controls.premises_type_others.clearValidators();\r\n // item.controls.premises_type_others.updateValueAndValidity();\r\n // }\r\n if (flag == 3) {\r\n if (value == 'owned') {\r\n item.controls.business_monthly_rented_amt.clearValidators();\r\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\r\n }\r\n else {\r\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\r\n item.controls.business_name_of_the_owner.clearValidators();\r\n }\r\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\r\n item.controls.business_name_of_the_owner.updateValueAndValidity();\r\n }\r\n if (flag == 4) {\r\n let Avaliablity = 1;\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){ \r\n Avaliablity = option.id;\r\n }\r\n });\r\n if(Avaliablity == 0){\r\n \r\n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\r\n this.isOtherOwner = true;\r\n }else{\r\n \r\n item.controls.business_name_of_the_other_owner.setValue('');\r\n item.controls.business_name_of_the_other_owner.clearValidators();\r\n this.isOtherOwner = false;\r\n }\r\n \r\n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n\r\n // value == 0\r\n // ? item.controls.business_name_of_the_other_owner.setValidators([Validators.required])\r\n // : item.controls.business_name_of_the_other_owner.clearValidators();\r\n // item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n }\r\n if (flag == 5) {\r\n value == 1\r\n ? item.controls.other_vehicle_type.setValidators([Validators.required])\r\n : item.controls.other_vehicle_type.clearValidators();\r\n item.controls.other_vehicle_type.updateValueAndValidity();\r\n }\r\n if (flag == 6) {\r\n value == 1\r\n ? item.controls.other_property_type.setValidators([Validators.required])\r\n : item.controls.other_property_type.clearValidators();\r\n item.controls.other_property_type.updateValueAndValidity();\r\n\r\n value != ''\r\n ? item.controls.address_of_the_property.setValidators([Validators.required])\r\n : item.controls.address_of_the_property.clearValidators();\r\n item.controls.address_of_the_property.updateValueAndValidity();\r\n }\r\n if (flag == 7) {\r\n if (value == 'owned') {\r\n item.controls.business_monthly_rented_amt.clearValidators();\r\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\r\n }\r\n else {\r\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\r\n item.controls.business_name_of_the_owner.clearValidators();\r\n }\r\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\r\n item.controls.business_name_of_the_owner.updateValueAndValidity();\r\n }\r\n if(flag == 8){\r\n let Avaliablity = 1;\r\n value.forEach(option => {\r\n if(option.id == 0 && option.group_id == 2){\r\n \r\n Avaliablity = option.id;\r\n }\r\n });\r\n // isOtherOwner: boolean = false;\r\n if(Avaliablity == 0){\r\n \r\n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\r\n this.isOtherOwnerForAddress = true;\r\n }else{\r\n \r\n item.controls.business_name_of_the_other_owner.setValue('');\r\n item.controls.business_name_of_the_other_owner.clearValidators();\r\n this.isOtherOwnerForAddress = false;\r\n }\r\n \r\n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\r\n \r\n }\r\n\r\n }\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(e,ind){\r\n console.log( this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years)\r\n let business_year = this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.value;\r\n \r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n let Year = +business_year + +Math.floor(converted_year);\r\n \r\n if(Year > this.generalExistBusinessYear){\r\n this.yearErrorMessage[ind] = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue('');\r\n \r\n }\r\n else{\r\n if(Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth)\r\n {\r\n this.monthErrorMessage[ind] = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue('');\r\n \r\n }else{\r\n this.monthErrorMessage[ind] = '';\r\n this.yearErrorMessage[ind] = '';\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue(+business_year + +Math.floor(converted_year));\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue(Math.floor(converted_month));\r\n }\r\n }\r\n }\r\n\r\n checkWithExistBusinessYear(e,ind){\r\n \r\n if(+e > this.generalExistBusinessYear){\r\n this.yearErrorMessage[ind] = \"Higher than Business Vintage\";\r\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\r\n \r\n }\r\n else{\r\n this.yearErrorMessage[ind] = '';\r\n }\r\n }\r\n\r\n\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1:\r\n this.AssetValueInwords[i]=this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 : \r\n this.appxMarketAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 3:\r\n this.RentAmtInwords[i]=this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 9:\r\n this.RentAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 10:\r\n this.appxMarketAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormBuilder,FormGroup,FormArray,Validators} from '@angular/forms';\r\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service';\r\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\r\n// import { QueryState } from '@angular/core/src/render3/interfaces';\r\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\r\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\r\n\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessBankingPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business-banking',\r\n templateUrl: 'pd-question-business-banking.html',\r\n})\r\nexport class PdQuestionBusinessBankingPage {\r\npdDetails:any;\r\nm_btLenderList: any;\r\napplicants: any \r\nsalaryField: boolean;\r\nformDetails: any;\r\nform_id:any;\r\naccountType: any;\r\nusers: any;\r\nbankingForm:FormGroup;\r\npublic pd_cus_segment:string\r\ncompany_id:any;\r\n\r\npdid:any;\r\nitemRows:FormArray;\r\n\r\nexistCompanyList: any=[];\r\nmergeCompanyApplicant: any=[];\r\nstep:number\r\n amtInwords: any=[];\r\n emiAmtInwords: any=[];\r\n limitCaseFlag: any=[];\r\n\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws: AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails')\r\n \r\n this.pd_cus_segment=this.pdDetails.customer_segment_abbr.toUpperCase();\r\n this.pd_cus_segment=this.pd_cus_segment.substring(0,3)\r\n this.pdid=this.pdDetails.pd_id;\r\n this.formDetails=this.navParams.get('formDetails');\r\n this.form_id = this.formDetails.form_id;\r\n this.company_id=this.pdDetails.company_id\r\n \r\n this.applicants = this.pdDetails.applicat_details;\r\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\r\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \r\n\r\n this.users = this.aws.getlocale();\r\n this.step=0\r\n this.bankingForm = this.fb.group(\r\n {\r\n itemRows:this.fb.array([]),\r\n banking_form_remark:[''],\r\n });\r\n \r\n \r\n \r\n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\r\n \r\n \r\n this.getdropdown();\r\n this.retiveBankDetails();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessBankingPage');\r\n }\r\n getdropdown(){\r\n \r\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true)\r\n {\r\n this.accountType=res['records'];\r\n }\r\n });\r\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\r\n data => {\r\n if(data['dataStatus']==true){\r\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\r\n }\r\n });\r\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\r\n \r\n if(data['dataStatus']==true){\r\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\r\n \r\n }\r\n let modifyCompanyList : any=[];\r\n if(this.existCompanyList.length>0){\r\n modifyCompanyList = this.existCompanyList.map(element => {\r\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\r\n \r\n }\r\n })\r\n let modifyApplicantList: any=[];\r\n if(this.applicants.length > 0){\r\n modifyApplicantList = this.applicants.map(element => {\r\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\r\n });\r\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \r\n \r\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\r\n }\r\n }\r\n compareObjects(o1: any, o2: any) {\r\n if(o1.id == o2.id && o1.group_id == o2.group_id)\r\n return true;\r\n else return false\r\n }\r\n checkOthers(values){\r\n if(values!=null) {\r\n return values.id==0 ? true : false;\r\n }\r\n else {\r\n return false;\r\n }\r\n \r\n }\r\n selectedAccTypeChanges(event: any,i){\r\n \r\n if(event == 2 || event == 1) {\r\n this.limitCaseFlag[i] = false;\r\n \r\n // const control = this.bankingForm.controls['itemRows'];\r\n \r\n // control.controls[0].get('limit').clearValidators();\r\n // control.controls[0].get('limit').updateValueAndValidity();\r\n \r\n }\r\n else{\r\n this.limitCaseFlag[i] = true;\r\n }\r\n\r\n}\r\n /** To Convert Month into Year */\r\n ConvertMonthintoYear(itemrow,e){\r\n \r\n \r\n let year = itemrow.controls.vintage_year.value;\r\n \r\n let converted_month : number = e%12;\r\n let converted_year : number = e/12;\r\n\r\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\r\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\r\n \r\n}\r\n /** Amount InWords */\r\n inWords(e,i,flag){\r\n switch(flag){\r\n case 1 : \r\n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n case 2 :\r\n this.emiAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n setRequiredValidation(value,item,flag) {\r\n \r\n \r\n if(flag == 1){\r\n value==0\r\n ? item.controls.other_applicant.setValidators([Validators.required])\r\n : item.controls.other_applicant.clearValidators();\r\n item.controls.other_applicant.updateValueAndValidity();\r\n }\r\n if(flag == 2){\r\n value==1\r\n ? item.controls.other_bank.setValidators([Validators.required])\r\n : item.controls.other_bank.clearValidators();\r\n item.controls.other_bank.updateValueAndValidity();\r\n }\r\n \r\n }\r\n\r\n createBankItem(name) {\r\n \r\n return this.fb.group({\r\n applicant_name: [''],\r\n \r\n bank_name: [''],\r\n \r\n account_type: [''],\r\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\r\n limit: [''],\r\n other_bank:[''],\r\n other_applicant:[''],\r\n is_main: [''],\r\n vintage_year: [''],\r\n vintage_month: [''],\r\n \r\n });\r\n\r\n }\r\n addBankDetails(index,event) {\r\n // if(this.pd.valid){\r\n \r\n // if(this.items.length !=0)\r\n // {\r\n // this.neighbourAccess = true;\r\n // }\r\n \r\n event.stopPropagation()\r\n const control = this.bankingForm.controls['itemRows'];\r\n let length = control.length;\r\n this.step = length;\r\n \r\n control.push(this.createBankItem(''));\r\n \r\n \r\n \r\n }\r\n\r\n addmoreBankDetils()\r\n {\r\n \r\n this.itemRows = this.bankingForm.get('itemRows') as FormArray;\r\n \r\n this.itemRows.push(this.createBankItem('')); \r\n }\r\n\r\n removebank(i){\r\n const control = this.bankingForm.controls['itemRows'];\r\n if(control.length==1){\r\n control.reset();\r\n }\r\n else\r\n \r\n \r\n control.removeAt(i);\r\n }\r\n \r\n setStep(index: number) {\r\n this.step = index;\r\n }\r\n\r\n retiveBankDetails(){\r\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.form_id,'company_id':this.company_id}\r\n const control = this.bankingForm.controls['itemRows'];\r\n this.qustCat.retiverForm(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n var result = Object.keys(res['records'].banking_details).map(function(key) {\r\n return res['records'].banking_details[key];\r\n });\r\n \r\n this.bankingForm.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\r\n \r\n \r\n if(result.length == 0){\r\n \r\n control.push(this.createBankItem(''))\r\n }else\r\n {\r\n \r\n result.forEach((datas,index)=>\r\n {\r\n this. selectedAccTypeChanges(datas.account_type,index);\r\n if(datas.limit != ''){\r\n \r\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \r\n }\r\n this. selectedAccTypeChanges(datas.account_type,index);\r\n control.push(this.createBankItem(''));\r\n })\r\n \r\n this.bankingForm.controls['itemRows'].setValue(result);\r\n } \r\n }else\r\n {\r\n \r\n control.push(this.createBankItem(''));\r\n }\r\n });\r\n \r\n }\r\n\r\n savepdBank(answerData)\r\n {\r\n let records: any = {};\r\n records.pdid = this.pdDetails.pd_id;\r\n records.formid = this.form_id;\r\n records.fk_createdby = this.users;\r\n records.company_id=this.company_id;\r\n records.banking_details = answerData.itemRows;\r\n records.banking_form_remark = answerData.banking_form_remark;\r\n \r\n this.qustCat.saveForm(records).subscribe(data => {\r\n \r\n if(data['dataStatus']==true)\r\n {\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n setTimeout(()=>{\r\n this.navCtrl.pop();\r\n },2000);\r\n }\r\n else{\r\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\r\n }\r\n })\r\n \r\n }\r\n \r\n\r\n \r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { CameraProvider } from '../../providers/common-provider/camera';\r\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\n\r\n/**\r\n * Generated class for the PdGeneralImagesPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-general-images',\r\n templateUrl: 'pd-general-images.html',\r\n})\r\nexport class PdGeneralImagesPage {\r\n\r\n cameraArr:any = [];\r\n applicatentDetails: any;\r\n count:any = 0;\r\n saveAccess:boolean =false;\r\n FormId:any = '';\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public camera:CameraProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\r\n\r\n this.applicatentDetails = this.navParams.get('pdDetails');\r\n this.FormId = this.navParams.get('FormId');\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdGeneralImagesPage');\r\n }\r\n \r\n takePicture()\r\n {\r\n this.camera.getpicture().then(image=>\r\n {\r\n this.count = this.count+1;\r\n \r\n this.cameraArr.push({'image':image,'name':''});\r\n });\r\n }\r\n\r\n removeimage(i)\r\n {\r\n this.count = this.count - 1; \r\n this.cameraArr.splice(i,1);\r\n }\r\n\r\n docnames(doc,i,img)\r\n {\r\n \r\n this.cameraArr[i] = {'image':img,'Name':doc};\r\n // console.log(JSON.stringify(this.pddocdata)); \r\n }\r\n savePDImages()\r\n {\r\n \r\n this.saveAccess = true;\r\n let records :any = {'pd_id':this.applicatentDetails.pd_id,'formid':''};\r\n records.images = this.cameraArr;\r\n this.qustCat.savePDImages(records).subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.saveAccess = false;\r\n this.navCtrl.pop();\r\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\r\n } \r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-general-images/pd-general-images.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, ViewController } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../../providers/pdtrigger/pdtrigger';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { PdListPage } from '../../pd-list/pd-list';\r\nimport {ToastProvider} from '../../../providers/common-provider/toast'\r\n\r\n/**\r\n * Generated class for the BouncedRejectPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-bounced-reject',\r\n templateUrl: 'bounced-reject.html',\r\n})\r\nexport class BouncedRejectPage {\r\n\r\n users: any;\r\n bounseMaster: any;\r\n pdDetails: any;\r\n status: any;\r\n bounce_reason:any;\r\n bounce_reason_others:any = '';\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public viewCtrl:ViewController,\r\n public aws:AwsServiceProvider,public pdservice:PdtriggerProvider,\r\n public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public toast:ToastProvider) {\r\n // this.pdDetails = this.navParams.get('appdetails');\r\n // this.status = this.navParams.get('status');\r\n this.pdDetails=this.navParams.get('details')\r\n // console.log(this.pdDetails)\r\n this.users = this.aws.getlocale();\r\n this.getDropdown();\r\n \r\n }\r\n\r\n getDropdown()\r\n {\r\n \r\n \r\n this.qustCat.getcommondrop('BOUNCEMASTER').subscribe(res=>\r\n {\r\n if(res['dataStatus']==true){\r\n this.bounseMaster = res['records'].filter(bouns=>bouns.isactive==1);\r\n console.log(this.bounseMaster);\r\n }\r\n })\r\n \r\n }\r\n updatePDStatus()\r\n {\r\n if(this.bounce_reason !=null && this.bounce_reason !=1)\r\n {\r\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.pdDetails.pd_status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\r\n // console.log(this.bounce_reason)\r\n // console.log(this.bounce_reason_others);\r\n console.log(data);\r\n this.toast.pdTriggerappmessage(\"Thank You\");\r\n this.pdservice.updatepdStatus(data).subscribe(res=>\r\n {\r\n // this.updateStatus = res;\r\n if(res['dataStatus'] == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n else if(this.bounce_reason == 1 && this.bounce_reason_others != '' && this.bounce_reason_others !=null )\r\n {\r\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.pdDetails.pd_status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\r\n // console.log(this.bounce_reason)\r\n // console.log(this.bounce_reason_others);\r\n console.log(data);\r\n this.toast.pdTriggerappmessage(\"Thank You\");\r\n this.pdservice.updatepdStatus(data).subscribe(res=>\r\n {\r\n // this.updateStatus = res;\r\n if(res['dataStatus'] == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n \r\n \r\n\r\n else{\r\n this.toast.pdTriggerappmessage(\"Please Choose the Reason to Reject\");\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/bounced-reject/bounced-reject.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SQLite, SQLiteObject } from'@ionic-native/sqlite';\r\n/*\r\n Generated class for the DatabaseProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class DatabaseProvider {\r\n database:SQLiteObject;\r\n constructor(public http: HttpClient,public sql:SQLite) {\r\n console.log('Hello DatabaseProvider Provider');\r\n this.createnewdb();\r\n }\r\n\r\n createnewdb()\r\n {\r\n // alert('function in');\r\n this.sql.create(\r\n {\r\n name:'sinnedge',\r\n location:'defalut',\r\n }).then((db:SQLiteObject)=>\r\n {\r\n db.executeSql('CREATE TABLE IF NOT EXISTS expense(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)').then(res => \r\n {\r\n // alert('db create');\r\n this.getuserDetails();\r\n })\r\n .catch(e => console.log(e));\r\n })\r\n }\r\n getuserDetails()\r\n {\r\n // alert('getusers');\r\n this.sql.create(\r\n {\r\n name:'sineedge',\r\n location:'default',\r\n }).then((db:SQLiteObject)=>\r\n {\r\n db.executeSql('select * from expense ORDER BY rowid DESC').then((res)=>\r\n {\r\n console.log(res);\r\n })\r\n })\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/database/database.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\n/**\r\n * Generated class for the PasswordPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-password',\r\n templateUrl: 'password.html',\r\n})\r\nexport class PasswordPage {\r\n commonImage: string;\r\n newpassword: any;\r\n confirmPassword: any;\r\n pin:any;\r\n Username:any;\r\n Password:any;\r\n \r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public commonconstant:ConstantsProvider) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.Username = this.navParams.get('Username');\r\n this.Password = this.navParams.get('Password');\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PasswordPage');\r\n }\r\n setNewPassword(newpass)\r\n {\r\n if(newpass !='' && newpass !=null && newpass !== undefined){\r\n let auth = { 'Username': this.Username, 'Password': this.Password, 'newpassword': newpass };\r\n console.log(auth);\r\n this.aws.dologin(auth).subscribe(res => {\r\n console.log(res);\r\n this.navCtrl.setRoot(PdListPage);\r\n // this.router.navigate(['/home']);\r\n }, err => {\r\n this.toast.pdTriggerappmessage(err.message);\r\n // alert(err.message);\r\n })\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter the new Password');\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/password/password.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, MenuController,ToastController } from 'ionic-angular';\r\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\n\r\nimport { PdListPage } from '../pd-list/pd-list';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { ToastProvider } from '../../providers/common-provider/toast';\r\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\n\r\nimport { LoadingProvider } from '../../providers/common-provider/loading';\r\nimport { ConstantsProvider } from '../../providers/constants/constants';\r\n/**\r\n * Generated class for the AuthPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n \r\n\r\n@Component({\r\n selector: 'page-auth',\r\n templateUrl: 'auth.html',\r\n})\r\nexport class AuthPage {\r\n pinAccess: any;\r\n newpindetails: any;\r\n userDetails: any;\r\npin:any;\r\n mpinaccess:boolean =false;\r\n newpassword:any;\r\n ConfirmPassword:any;\r\n commonImage:any;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public Menu:MenuController,public fb:FormBuilder,public shared:CognitoServiceProvider,public toast:ToastProvider,public faio:FingerprintAIO,public aws:AwsServiceProvider,public loadingCtrl:LoadingProvider,public commonconstant:ConstantsProvider) {\r\n this.commonImage = this.commonconstant.commonimage;\r\n this.shared.refresh();\r\n this.getuserDetails();\r\n \r\n\r\n \r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad AuthPage');\r\n }\r\n ionViewDidEnter(){\r\n this.Menu.enable(false);\r\n }\r\n ionViewWillLeave(){\r\n this.Menu.enable(true);\r\n }\r\n getuserDetails()\r\n {\r\n this.loadingCtrl.pdloader('loading...');\r\n let userid = this.aws.getlocale();\r\n this.aws.getuserprofile(userid).subscribe(res=>{\r\n this.userDetails = res;\r\n if(this.userDetails.dataStatus == true)\r\n { \r\n this.loadingCtrl.loading.dismiss();\r\n this.userDetails = this.userDetails.records;\r\n if(this.userDetails[0].role_name ==\"PD Executive\" || this.userDetails[0].role_name == \"PD Officer\"){\r\n //localStorage.setItem('userDetails',JSON.stringify(this.userDetails[0]));\r\n if(this.userDetails[0].mpin ==null)\r\n {\r\n \r\n this.mpinaccess = true;\r\n \r\n }else\r\n {\r\n this.mpinaccess = false;\r\n }\r\n }else{\r\n \r\n this.toast.pdTriggerappmessage('This App only for PD Officers');\r\n localStorage.clear();\r\n }\r\n }else{\r\n this.toast.pdTriggerappmessage('')\r\n }\r\n //console.log(this.mpinaccess);\r\n });\r\n }\r\n setnewpin(newpin)\r\n {\r\n console.log(\"set Pin\")\r\n this.aws.userpinupdate(newpin).subscribe(res=>\r\n {\r\n this.newpindetails = res;\r\n if(this.newpindetails.dataStatus == true)\r\n {\r\n this.navCtrl.setRoot(PdListPage); \r\n }\r\n })\r\n }\r\n /**Finger print */\r\n \r\n checkpin(pin) {\r\n console.log(\"Check pin\",pin);\r\n if(pin !='' && pin !=null)\r\n {\r\n if(this.userDetails[0].mpin == pin)\r\n {\r\n console.log(\"Entering List page\")\r\n this.navCtrl.setRoot(PdListPage);\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The Correct PIN');\r\n }\r\n }else\r\n {\r\n this.toast.pdTriggerappmessage('Enter The PIN');\r\n }\r\n\r\n \r\n \r\n }\r\n checkfingerprint()\r\n {\r\n console.log(\"Check Finger\");\r\n this.faio.show({\r\n clientId: 'Fingerprint-Demo',\r\n clientSecret: 'password', // Only Android\r\n localizedFallbackTitle: 'Use Pin', // Only iOS\r\n localizedReason: 'Please authenticate',\r\n disableBackup:true,\r\n })\r\n .then((result: any) => {\r\n this.navCtrl.setRoot(PdListPage);\r\n })\r\n .catch((error: any) => {\r\n this.toast.pdTriggerappmessage('err: '+ error);\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/auth/auth.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { LoadingController } from 'ionic-angular';\r\n/*\r\n Generated class for the LoadingProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class LoadingProvider {\r\n\r\n loading: any;\r\n constructor(public http: HttpClient,public loadingCtrl:LoadingController) {\r\n console.log('Hello LoadingProvider Provider');\r\n }\r\n\r\n pdloader(content)\r\n {\r\n this.loading = this.loadingCtrl.create({\r\n content: content\r\n });\r\n\r\n this.loading.present();\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/loading.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app.module';\r\nimport { enableProdMode } from '@angular/core';\r\nenableProdMode();\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { BrowserModule } from '@angular/platform-browser';\r\nimport { ErrorHandler, NgModule } from '@angular/core';\r\nimport { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';\r\n\r\nimport { MyApp } from './app.component';\r\n\r\n\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { SplashScreen } from '@ionic-native/splash-screen';\r\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\r\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\r\nimport { SQLite } from '@ionic-native/sqlite';\r\nimport { DatabaseProvider } from '../providers/database/database';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\nimport {\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule\r\n} from '@angular/material';\r\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AuthGuard } from '../providers/_guard/auth.guard';\r\nimport { TokenInterceptor } from '../providers/_guard/token.interceptor';\r\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\r\nimport { ConstantsProvider } from '../providers/constants/constants';\r\nimport { AuthPage } from '../pages/auth/auth';\r\nimport { LoginPage } from '../pages/login/login';\r\nimport { PdListPage } from '../pages/pd-list/pd-list';\r\nimport { PdQuestionCategoryPage } from '../pages/pd-question-category/pd-question-category';\r\nimport { PdQuestionPage } from '../pages/pd-question/pd-question';\r\nimport { GoogleplaytabPage } from '../pages/googleplaytab/googleplaytab';\r\nimport { PasswordPage } from '../pages/password/password';\r\nimport { PdAllocationPage } from '../pages/pd-allocation/pd-allocation';\r\nimport { InputPage } from '../pages/input/input';\r\nimport { ToastProvider } from '../providers/common-provider/toast';\r\nimport { PdtriggerProvider } from '../providers/pdtrigger/pdtrigger';\r\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\r\n\r\nimport { LaunchNavigator } from '@ionic-native/launch-navigator';\r\nimport { OtpPage } from '../pages/otp/otp';\r\nimport { QuestionCategoryProvider } from '../providers/question-category/question-category';\r\n\r\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\r\nimport { IonicImageViewerModule } from 'ionic-img-viewer';\r\nimport { CameraProvider } from '../providers/common-provider/camera';\r\nimport { LoadingProvider } from '../providers/common-provider/loading';\r\nimport { Camera } from '@ionic-native/camera';\r\n\r\nimport { PdQuestionAddressPage } from '../pages/pd-question/pd-question-address/pd-question-address';\r\nimport { PdQuestionAssestsPage } from '../pages/pd-question/pd-question-assests/pd-question-assests';\r\nimport { PdQuestionBankingPage } from '../pages/pd-question/pd-question-banking/pd-question-banking';\r\nimport { PdQuestionCurrentLoansPage } from '../pages/pd-question/pd-question-current-loans/pd-question-current-loans';\r\nimport { PdQuestionEmpInfoPage } from '../pages/pd-question/pd-question-emp-info/pd-question-emp-info';\r\nimport { PdQuestionFamilyPage } from '../pages/pd-question/pd-question-family/pd-question-family';\r\n\r\nimport { PdQuestionLoansPage } from '../pages/pd-question/pd-question-loans/pd-question-loans';\r\nimport { PdQuestionFinancialInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\r\nimport { PdQuestionOtherIncomePage } from '../pages/pd-question/pd-question-other-income/pd-question-other-income';\r\nimport { PdQuestionSupplierInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\r\nimport { Geolocation } from '@ionic-native/geolocation';\r\nimport { PdQuestionPersonalInfoPage } from '../pages/pd-question/pd-question-personal-info/pd-question-personal-info';\r\nimport { PdQuestionStockInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\r\nimport { PdQuestionClientInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\r\n// import { DatePicker } from '@ionic-native/date-picker';\r\nimport { PdQuestionBusinessInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\r\nimport { PdQuestionRentalInfoPage } from '../pages/pd-question/pd-question-rental-info/pd-question-rental-info';\r\nimport { PdQuestionAssessedInfoPage } from '../pages/pd-question/pd-question-assessed-info/pd-question-assessed-info';\r\nimport { PdQuestionAssessedDailySalesPage } from '../pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\r\nimport { PdQuestionAssessedSalesPage } from '../pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales';\r\nimport { PdQuestionAssessedHouseholdPage } from '../pages/pd-question/pd-question-assessed-household/pd-question-assessed-household';\r\nimport { PdQuestionAssessedPurchasePage } from '../pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase';\r\nimport { PdQuestionAssessedDashPage } from '../pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\r\nimport { BouncedRejectPage } from '../pages/input/bounced-reject/bounced-reject';\r\nimport { PdQuestionAssessedBusinessPage } from '../pages/pd-question/pd-question-assessed-business/pd-question-assessed-business';\r\nimport { PdQuestionLenderRepresentativePage } from '../pages/pd-question/pd-question-lender-representative/pd-question-lender-representative';\r\nimport { PdQuestionGeneralInfoPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-info';\r\nimport { PdQuestionGeneralOtherApplicantPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant';\r\nimport { PdQuestionNeighbourHoodPage } from '../pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\r\nimport { PdQuestionFinalRemarkPage } from '../pages/pd-question/pd-question-final-remark/pd-question-final-remark';\r\n\r\nimport { PdQuestionBusinessPage } from '../pages/pd-question/pd-question-business/pd-question-business'\r\nimport { PdQuestionBusinessGroupPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-group'\r\nimport { PdQuestionBusinessAssetsPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\r\nimport {PdQuestionBusinessBankingPage} from '../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\r\nimport { PdPipe } from '../pipes/pd/pd';\r\nimport { PdQuestionAssessedBusinessIncomePage } from '../pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income';\r\nimport { PdGeneralImagesPage } from '../pages/pd-general-images/pd-general-images';\r\nimport { PdQuestionSalaryInfoPage } from '../pages/pd-question/pd-question-salary-info/pd-question-salary-info';\r\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\r\n\r\n@NgModule({\r\n declarations: [\r\n MyApp,\r\n AuthPage,\r\n LoginPage,\r\n PdListPage,\r\n PdQuestionCategoryPage,\r\n PdQuestionPage,\r\n GoogleplaytabPage,\r\n PasswordPage,\r\n PdAllocationPage,\r\n InputPage,\r\n OtpPage,\r\n PdQuestionAddressPage,\r\n PdQuestionAssestsPage,\r\n PdQuestionBankingPage,\r\n PdQuestionCurrentLoansPage,\r\n PdQuestionEmpInfoPage,\r\n PdQuestionFamilyPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionLoansPage,\r\n PdQuestionFinancialInfoPage,\r\n PdQuestionOtherIncomePage,\r\n PdQuestionSupplierInfoPage,\r\n PdQuestionPersonalInfoPage,\r\n PdQuestionStockInfoPage,\r\n PdQuestionClientInfoPage,\r\n PdQuestionRentalInfoPage,\r\n PdQuestionAssessedInfoPage,\r\n PdQuestionAssessedDailySalesPage,\r\n PdQuestionAssessedSalesPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionAssessedHouseholdPage,\r\n PdQuestionAssessedPurchasePage,\r\n PdQuestionAssessedDashPage,\r\n BouncedRejectPage,\r\n PdQuestionAssessedBusinessPage,\r\n PdQuestionLenderRepresentativePage,\r\n PdQuestionGeneralInfoPage,\r\n PdQuestionGeneralOtherApplicantPage,\r\n PdQuestionNeighbourHoodPage,\r\n PdQuestionFinalRemarkPage,\r\n PdQuestionBusinessPage,\r\n PdQuestionBusinessGroupPage,\r\n PdQuestionBusinessAssetsPage,\r\n PdQuestionBusinessBankingPage,\r\n PdQuestionAssessedBusinessIncomePage,\r\n PdGeneralImagesPage,\r\n PdQuestionSalaryInfoPage,\r\n ],\r\n imports: [\r\n BrowserModule,ReactiveFormsModule,FormsModule,\r\n IonicModule.forRoot(MyApp),\r\n BrowserAnimationsModule,\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatDatepickerModule,\r\n MatDialogModule,MatListModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatStepperModule,HttpClientModule,IonicImageViewerModule\r\n ],\r\n bootstrap: [IonicApp],\r\n entryComponents: [\r\n MyApp,\r\n AuthPage,\r\n LoginPage,\r\n PdListPage,\r\n PdQuestionCategoryPage,\r\n PdQuestionPage,\r\n GoogleplaytabPage,\r\n PasswordPage,\r\n PdAllocationPage,\r\n InputPage,\r\n OtpPage,\r\n PdQuestionAddressPage,\r\n PdQuestionAssestsPage,\r\n PdQuestionBankingPage,\r\n PdQuestionCurrentLoansPage,\r\n PdQuestionEmpInfoPage,\r\n PdQuestionFamilyPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionLoansPage,\r\n PdQuestionFinancialInfoPage,\r\n PdQuestionOtherIncomePage,\r\n PdQuestionSupplierInfoPage,\r\n PdQuestionPersonalInfoPage,\r\n PdQuestionStockInfoPage,\r\n PdQuestionClientInfoPage,\r\n PdQuestionRentalInfoPage,\r\n PdQuestionAssessedInfoPage,\r\n PdQuestionAssessedDailySalesPage,\r\n PdQuestionAssessedSalesPage,\r\n PdQuestionBusinessInfoPage,\r\n PdQuestionAssessedHouseholdPage,\r\n PdQuestionAssessedPurchasePage,\r\n PdQuestionAssessedDashPage,\r\n BouncedRejectPage,\r\n PdQuestionAssessedBusinessPage,\r\n PdQuestionLenderRepresentativePage,\r\n PdQuestionGeneralInfoPage,\r\n PdQuestionGeneralOtherApplicantPage,\r\n PdQuestionNeighbourHoodPage,\r\n PdQuestionFinalRemarkPage,\r\n PdQuestionBusinessPage,\r\n PdQuestionBusinessGroupPage,\r\n PdQuestionBusinessAssetsPage,\r\n PdQuestionBusinessBankingPage,\r\n PdQuestionAssessedBusinessIncomePage,\r\n PdGeneralImagesPage,\r\n PdQuestionSalaryInfoPage,\r\n \r\n ],\r\n providers: [\r\n StatusBar,AwsServiceProvider,AuthGuard,TokenInterceptor,ToastProvider,\r\n ConstantsProvider,CognitoServiceProvider,SplashScreen,PdtriggerProvider,FingerprintAIO,SQLite,AndroidPermissions,\r\n {\r\n provide:HTTP_INTERCEPTORS,\r\n useClass: TokenInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: ErrorHandler,\r\n useClass: IonicErrorHandler\r\n },LaunchNavigator,\r\n AwsServiceProvider,\r\n QuestionCategoryProvider,\r\n CameraProvider,Camera,\r\n PdPipe,LocationAccuracy,\r\n LoadingProvider,Geolocation,\r\n DatabaseProvider\r\n ]\r\n})\r\nexport class AppModule {}\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { Component, ViewChild } from '@angular/core';\r\nimport { Nav, Platform } from 'ionic-angular';\r\nimport { StatusBar } from '@ionic-native/status-bar';\r\nimport { SplashScreen } from '@ionic-native/splash-screen';\r\nimport { LoginPage } from '../pages/login/login';\r\nimport { PdListPage } from '../pages/pd-list/pd-list';\r\nimport { MethodCall } from '@angular/compiler';\r\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\r\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\r\nimport { PasswordPage } from '../pages/password/password';\r\nimport { AuthPage } from '../pages/auth/auth';\r\nimport {AlertController} from 'ionic-angular'\r\nimport { platformBrowser } from '@angular/platform-browser';\r\n// import { AndroidPermissions } from '@ionic-native/android-permissions';\r\n\r\n\r\n@Component({\r\n templateUrl: 'app.html'\r\n})\r\nexport class MyApp {\r\n userDetails: any;\r\n userAccess:boolean = false;\r\n @ViewChild(Nav) nav: Nav;\r\n\r\n rootPage: any = LoginPage;\r\n public alertShown:boolean=false\r\n\r\n pages: Array<{title: string,icon:any, method: any}>;\r\n\r\n constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen,public aws:AwsServiceProvider,public shared:CognitoServiceProvider,public AWS:AwsServiceProvider\r\n ,public alertCtrl:AlertController) {\r\n this.initializeApp();\r\n\r\n // used for an example of ngFor and navigation\r\n this.pages = [ \r\n // { title: 'Home', component: HomePage, icon: 'home' },\r\n { title: 'Home', icon: 'home',method:()=>this.menulist(1) },\r\n { title: 'Logout', icon: 'md-exit',method:()=>this.menulist(2)}\r\n ];\r\n\r\n\r\n }\r\n\r\n initializeApp() {\r\n this.platform.ready().then(() => {\r\n // Okay, so the platform is ready and our plugins are available.\r\n // Here you can do any higher level native things you might need.\r\n this.statusBar.styleDefault();\r\n if (this.platform.is('android')) {\r\n this.statusBar.overlaysWebView(false);\r\n this.statusBar.backgroundColorByHexString('#db4437');\r\n \r\n }\r\n this.splashScreen.hide();\r\n\r\n this.shared.getAccessToken().then(()=>{\r\n this.getuserDetails();\r\n this.rootPage = AuthPage\r\n }).catch(()=>{\r\n setTimeout(() => {\r\n this.rootPage = LoginPage;\r\n }, 1000);\r\n });\r\n \r\n });\r\n this.platform.registerBackButtonAction(()=>{\r\n if(this.nav.length()==1){\r\n if(this.alertShown==false){\r\n //this.presentConfirm(); \r\n let alert=this.alertCtrl.create({\r\n title:'Confirm Exit',\r\n message:'Do You Want Exit ?',\r\n buttons:[\r\n {\r\n text:'Cancel',\r\n role:'cancel',\r\n handler:()=>{\r\n console.log(\"Cancel clicked\");\r\n this.alertShown=false\r\n alert.dismiss\r\n }\r\n },\r\n {\r\n text:'Yes',\r\n handler:()=>{\r\n console.log(\"Exit\");\r\n this.platform.exitApp();\r\n }\r\n }\r\n ]\r\n });\r\n alert.present();\r\n this.alertShown=true\r\n }\r\n }\r\n else{\r\n this.nav.pop()\r\n }\r\n });\r\n }\r\n\r\n presentConfirm(){\r\nlet alert=this.alertCtrl.create({\r\n title:'Confirm Exit',\r\n message:'Do You Want Exit ?',\r\n buttons:[\r\n {\r\n text:'Cancel',\r\n role:'cancel',\r\n handler:()=>{\r\n console.log(\"Cancel clicked\");\r\n // this.alertShown=false\r\n alert.dismiss\r\n }\r\n },\r\n {\r\n text:'Yes',\r\n handler:()=>{\r\n console.log(\"Exit\");\r\n this.platform.exitApp();\r\n }\r\n }\r\n ]\r\n});\r\n alert.present();\r\n // this.alertShown=true;\r\n }\r\n getuserDetails()\r\n {\r\n \r\n let userid = this.aws.getlocale();\r\n this.aws.getuserprofile(userid).subscribe(res=>{\r\n this.userDetails = res;\r\n if(this.userDetails.dataStatus == true)\r\n { \r\n this.userAccess = true;\r\n this.userDetails = this.userDetails.records[0];\r\n \r\n }\r\n \r\n });\r\n }\r\n menulist(id){\r\n //alert();\r\n switch(id)\r\n {\r\n case 1:\r\n this.nav.setRoot(PdListPage);\r\n break;\r\n case 2:\r\n this.AWS.logout().subscribe(()=>{\r\n \r\n this.nav.setRoot(LoginPage);\r\n });\r\n break;\r\n case 3:\r\n break;\r\n case 4:\r\n break;\r\n}\r\n}\r\n logout()\r\n {\r\n // this.aws.logout();\r\n this.nav.setRoot(LoginPage);\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { Injectable } from '@angular/core';\r\n// import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\n\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard {\r\n \r\n constructor() { \r\n\r\n \r\n }\r\n\r\n // canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n // // if (this.shared.getToken()) {\r\n // alert(\"if\");\r\n // // this.router.navigate(['']);\r\n // return true\r\n // } else {\r\n // alert(\"else\");\r\n // this.router.navigate(['/login']);\r\n // return false;\r\n // }\r\n // }\r\n getlogin(){\r\n // if (this.shared.getToken()) {\r\n // // alert(\"if\");\r\n // //alert();\r\n // return true;\r\n // } else {\r\n // // alert(\"else\");\r\n \r\n // //this.myGlobalServiceNav.setRoot(LoginPage);\r\n // this.shared.isloggin = false;\r\n // return false;\r\n \r\n \r\n // }\r\n }\r\n // canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n \r\n \r\n // }\r\n\r\n // public getToken(): string {\r\n // return localStorage.getItem('token');\r\n // }\r\n\r\n // public logOut() {\r\n // localStorage.clear();\r\n // if(localStorage.getItem('token') === null){\r\n // this.router.navigate(['/login']);\r\n // }\r\n // }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/auth.guard.ts","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHeaders\r\n} from '@angular/common/http';\r\n// import { AuthGuard } from './auth.guard';\r\nimport { Observable, of} from 'rxjs';\r\n\r\n// import { Router } from '@angular/router';\r\n\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\nimport { HttpErrorResponse } from \"@angular/common/http\";\r\n\r\nimport { CognitoServiceProvider } from '../aws-service/cognito.service';\r\n\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor{\r\n constructor(public shared:CognitoServiceProvider ) {\r\n \r\n }\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // request = request.clone({\r\n // setHeaders: {\r\n // Authorization: `${this.auth.getToken()}`\r\n // }\r\n // });\r\n let token:any;\r\n this.shared.refresh();\r\n token = this.shared.getToken() || null;\r\n \r\n token = token.getIdToken().getJwtToken();\r\n \r\n //console.log(token);\r\n let requests = request.clone({\r\n headers:new HttpHeaders({\r\n \r\n 'Authorization': 'sparqvenba2018',\r\n 'Token':token,\r\n 'From':'1',\r\n \r\n \r\n }) \r\n \r\n });\r\n \r\n return next.handle(requests).pipe(\r\n catchError(this.handleError('role', []))\r\n )\r\n }\r\n\r\n private handleError (operation = 'operation', result?: T) {\r\n return (error: any): Observable => {\r\n if(error instanceof HttpErrorResponse){\r\n console.error(\"Error: \" + error.status);\r\n if(error.status == 401){\r\n localStorage.clear();\r\n // this.router.navigate(['/authentication/login']);\r\n }\r\n return of(result as T);\r\n }\r\n };\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/token.interceptor.ts","import { Component ,ViewChild} from '@angular/core';\r\nimport { IonicPage, NavController, NavParams , Slides , Content, Platform } from 'ionic-angular';\r\n\r\n/**\r\n * Generated class for the GoogleplaytabPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-googleplaytab',\r\n templateUrl: 'googleplaytab.html',\r\n})\r\nexport class GoogleplaytabPage {\r\n\r\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\r\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\r\n\r\n SwipedTabsIndicator :any= null;\r\n tabTitleWidthArray :any= [];\r\n tabElementWidth_px :number= 50;\r\n screenWidth_px :number= 0;\r\n isRight :boolean= true;\r\n isLeft:boolean= true;\r\n tabs:any=[];\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform) {\r\n this.tabs=[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"9\",\"10\",\"11\"];\r\n console.log('Width: ' + platform.width());\r\n this.screenWidth_px=platform.width();\r\n \r\n}\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad GoogleplaytabPage');\r\n }\r\n ionViewDidEnter() {\r\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\r\n for (let i in this.tabs)\r\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\r\n\r\n this.selectTab(0);\r\n }\r\n\r\n scrollIndicatiorTab()\r\n {\r\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\r\n }\r\n\r\n selectTab(index)\r\n {\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n this.SwipedTabsSlider.slideTo(index);\r\n }\r\n\r\n calculateDistanceToSpnd(index)\r\n {\r\n var result=0;\r\n for (var _i = 0; _i < index; _i++) {\r\n result=result+this.tabTitleWidthArray[_i];\r\n }\r\n return result;\r\n }\r\n\r\n updateIndicatorPosition() {\r\n var index=this.SwipedTabsSlider.getActiveIndex();\r\n if( this.SwipedTabsSlider.length()==index)\r\n index=index-1;\r\n\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\r\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\r\n\r\n }\r\n\r\n updateIndicatorPositionOnTouchEnd()\r\n {\r\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\r\n }\r\n\r\n animateIndicator($event)\r\n {\r\n\r\n this.isLeft=false;\r\n this.isRight=false;\r\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\r\n if($event.progress < currentSliderCenterProgress)\r\n {\r\n this.isLeft=true;\r\n this.isRight=false;\r\n\r\n } if($event.progress > currentSliderCenterProgress)\r\n {\r\n this.isLeft=false;\r\n this.isRight=true;\r\n }\r\n\r\n if(this.SwipedTabsSlider.isEnd())\r\n this.isRight=false;\r\n\r\n if( this.SwipedTabsSlider.isBeginning())\r\n this.isLeft=false;\r\n\r\n if(this.isRight)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\r\n +'px,0,0)';\r\n\r\n if(this.isLeft)\r\n this.SwipedTabsIndicator.style.webkitTransform =\r\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\r\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\r\n +'px,0,0)';\r\n\r\n if(!this.isRight && !this.isLeft)\r\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n \r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/googleplaytab/googleplaytab.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\n\r\n/**\r\n * Generated class for the PdAllocationPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-allocation',\r\n templateUrl: 'pd-allocation.html',\r\n})\r\nexport class PdAllocationPage {\r\npdFullDetails:any = [];\r\n constructor(public navCtrl: NavController, public navParams: NavParams) {\r\n \r\n this.pdFullDetails = this.navParams.get('pdDetails');\r\n console.log(this.pdFullDetails);\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdAllocationPage');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-allocation/pd-allocation.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category'\r\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service'\r\n\r\n/**\r\n * Generated class for the PdQuestionBusinessPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-business',\r\n templateUrl: 'pd-question-business.html',\r\n})\r\nexport class PdQuestionBusinessPage {\r\n pdDetails:any;\r\n pdid:any;\r\n users:any;\r\n FormId:any;\r\n existCompanyList:any=[]\r\n\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider) {\r\n this.pdDetails=this.navParams.get('pdDetails');\r\n this.pdid=this.pdDetails.pd_id;\r\n this.FormId=this.navParams.get('FormId');\r\n this.users=this.aws.getlocale\r\n\r\n this.getDropDown();\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionBusinessPage');\r\n }\r\ngetDropDown(){\r\n this.qustcat.getCompaniesListsForBusiness(this.pdid).subscribe(res=>{\r\n this.existCompanyList=res['records'].filter(data=>data.is_active == true && data.is_company_applicant == true);\r\n console.log(this.existCompanyList);\r\n })\r\n}\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business/pd-question-business.ts","import { Component } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\r\nimport { FormGroup,FormBuilder,FormArray } from '@angular/forms';\r\n\r\n/**\r\n * Generated class for the PdQuestionSalaryInfoPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-question-salary-info',\r\n templateUrl: 'pd-question-salary-info.html',\r\n})\r\nexport class PdQuestionSalaryInfoPage {\r\n\r\n salaryDetails:FormGroup\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\r\n \r\n this.salaryDetails = this.fb.group(\r\n {\r\n gross:[null],\r\n netTakeHome:[null],\r\n bounsIncentive:[null],\r\n salaryDate:[null],\r\n anydelays:[null], \r\n })\r\n }\r\n\r\n ionViewDidLoad() {\r\n console.log('ionViewDidLoad PdQuestionSalaryInfoPage');\r\n }\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.ts","import { Injectable } from '@angular/core';\r\n\r\n// import { CanActivateChild, Router } from '@angular/router';\r\nimport {\r\n AuthenticationDetails,\r\n CognitoUserPool,\r\n CognitoUser,\r\n \r\n} from \"amazon-cognito-identity-js\";\r\n// import { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\r\n\r\n// import { environment } from '../../environments/environment';\r\n\r\nimport { BehaviorSubject,Observable,of } from 'rxjs';\r\n\r\nconst sineedge_poolData = { \r\n UserPoolId: \"ap-south-1_y7dt3iEaX\", //ap-south-1_qQ85yQZJO UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"291qt4smn5pql6o8cc2hi201lj\" // ClientName: SINEEDGE_DEV_WEB\r\n};\r\nconst sineedgedev_poolData = {\r\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\r\n}\r\nconst lender_poolData = {\r\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\r\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\r\n};\r\nconst vendor_poolData = {\r\n UserPoolId: \"\",\r\n ClientId: \"\"\r\n}\r\nconst sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\r\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\r\nconst sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\r\n\r\n/**\r\n* Identity PoolID \r\n*/\r\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\r\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\r\nconst vendorIdenttiy = \"\";\r\n// serviceProvider\r\nconst apiurl = \"http://ssa.sineedge.com/sparqapi/api/\";\r\n// const apiurl = \"http://localhost/sparqapi/api/\";\r\n\r\n@Injectable()\r\n\r\nexport class CognitoServiceProvider {\r\n public loggedIn :boolean = false;\r\n // public static _REGION = environment.region;\r\n\r\n // public static _IDENTITY_POOL_ID = environment.identityPoolId;\r\n // public static _USER_POOL_ID = environment.UserPoolId;\r\n // public static _CLIENT_ID = environment.ClientId;\r\n\r\n // public static _POOL_DATA: any = {\r\n // UserPoolId: CognitoService._USER_POOL_ID,\r\n // ClientId: CognitoService._CLIENT_ID\r\n // };\r\n \r\n\r\n // public cognitoCreds: AWS.CognitoIdentityCredentials;\r\nisloggin:boolean = false; \r\n\r\n\r\n \r\n\r\n \r\n constructor() { \r\n \r\n }\r\n getCurrentUser() {\r\n \r\n return sineedgedevUserpool.getCurrentUser();\r\n}\r\n get isLoggedIn() {\r\n if(sineedgedevUserpool.getCurrentUser() !=null){\r\n this.loggedIn = true;\r\n }else{\r\n this.loggedIn = false;\r\n }\r\n return this.loggedIn; // {2}\r\n }\r\n \r\nrefresh() {\r\n let tokenexp:boolean;\r\n \r\n if(this.getCurrentUser() !=null){\r\n \r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n }\r\n\r\n else {\r\n if (session.isValid()) {\r\n tokenexp = session.isValid();\r\n of(tokenexp)\r\n console.log(\"CognitoUtil: refreshed successfully\");\r\n \r\n } else {\r\n tokenexp = session.isValid();\r\n console.log(\"CognitoUtil: refreshed but session is still not valid\");\r\n \r\n }\r\n }\r\n \r\n return tokenexp;\r\n \r\n });\r\n }else{\r\n this.loggedIn = false;\r\n }\r\n}\r\ngetAccessToken(){\r\n this.refresh();\r\n return new Promise((resolve, reject) => {\r\n let jwttoken = '';\r\n if (this.getCurrentUser() != null) {\r\n //console.log(JSON.stringify(this.getCurrentUser()));\r\n // console.log('76 if');\r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n jwttoken ='';\r\n // console.log('81 if')\r\n reject(err);\r\n }\r\n else {\r\n if (session.isValid()) {\r\n // console.log('85 else if');\r\n jwttoken = session;\r\n resolve();\r\n } else {\r\n \r\n }\r\n }\r\n });\r\n }\r\n else {\r\n //console.log(\"else\");\r\n reject();\r\n }\r\n});\r\n}\r\n\r\ngetToken():any {\r\n let isloggin = false;\r\n let jwttoken = '';\r\n if (this.getCurrentUser() != null) {\r\n \r\n this.getCurrentUser().getSession(function (err, session) {\r\n if (err) {\r\n // console.log(\"CognitoUtil: Can't set the credentials:\" + err);\r\n isloggin = false;\r\n //console.log('81 if')\r\n }\r\n else {\r\n //alert('function else');\r\n if (session.isValid()) {\r\n // console.log('85 else if');\r\n jwttoken = session;\r\n isloggin = true;\r\n } else {\r\n \r\n isloggin = false;\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n // console.log(\"else\");\r\n isloggin = false;\r\n }\r\n return jwttoken;\r\n}\r\n\r\n\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/cognito.service.ts","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport {\r\n AuthenticationDetails,\r\n CognitoUserPool,\r\n CognitoUser,\r\n \r\n} from \"amazon-cognito-identity-js\";\r\n\r\n\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport \"rxjs/add/operator/map\";\r\nimport { CognitoServiceProvider } from './cognito.service';\r\nimport { ConstantsProvider } from '../constants/constants';\r\nimport { UrlResolver } from '@angular/compiler';\r\nconst sineedgedev_poolData = {\r\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\r\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\r\n}\r\nconst lender_poolData = {\r\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\r\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\r\n};\r\nconst vendor_poolData = {\r\n UserPoolId: \"ap-south-1_K57yPaWxV\",\r\n ClientId: \"\"\r\n}\r\n// const sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\r\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\r\n const sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\r\n\r\n/**\r\n* Identity PoolID \r\n*/\r\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\r\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\r\nconst vendorIdenttiy = \"ap-south-1:5ad3ce43-4260-4273-87b2-e6a377b8e874\";\r\n\r\nconst currentDate = new Date().toJSON().slice(0,19).replace('T',' ');\r\n\r\n\r\n@Injectable()\r\nexport class AwsServiceProvider {\r\napiurl:any;\r\n constructor(public http:HttpClient,public shared:CognitoServiceProvider,public con:ConstantsProvider) {\r\n this.apiurl = con.apiurl();\r\n }\r\n\r\n dologin(authenticationData) {\r\n // alert();\r\n //(authenticationData);\r\n const authenticationDetails = new AuthenticationDetails(authenticationData);\r\n let Newpassword = authenticationData.newpassword;\r\n let attributesData = [];\r\n const userData = {\r\n Username: authenticationData.Username, // User email id\r\n Pool: sineedgedevUserpool // user Pool ID\r\n };\r\n let cognitoUser = new CognitoUser(userData);\r\n return Observable.create(observer => {\r\n cognitoUser.authenticateUser(authenticationDetails, {\r\n newPasswordRequired: (userAttributes, requiredAttributes) => { // new password set \r\n cognitoUser.completeNewPasswordChallenge(\r\n Newpassword,\r\n attributesData,\r\n {\r\n onSuccess: function (result) {\r\n observer.next(result);\r\n observer.complete();\r\n },\r\n onFailure: function (err) {\r\n //(err);\r\n observer.error(err);\r\n //LoginComponent.prototype.open();\r\n }\r\n }\r\n );\r\n },\r\n onSuccess: function (result) { // success user login\r\n // let accessToken = result.getAccessToken().getJwtToken();\r\n ////(result);\r\n //window.localStorage.setItem('Currentuser', '1');\r\n observer.next(result);\r\n observer.complete();\r\n this.shared.isloggin = true;\r\n },\r\n onFailure: function (err) { // error user login\r\n\r\n //alert(err.message);\r\n observer.error(err);\r\n }\r\n });\r\n });\r\n }\r\n userforgotpass(auth) {\r\n ////(auth);\r\n const userData = {\r\n Username: auth.Username,\r\n Pool: sineedgedevUserpool\r\n };\r\n let cognitoUser = new CognitoUser(userData);\r\n return Observable.create(observe => {\r\n cognitoUser.forgotPassword({\r\n onSuccess: function (data) {\r\n // successfully initiated reset password request\r\n //('CodeDeliveryData from forgotPassword: ' + data);\r\n observe.next(data);\r\n },\r\n onFailure: function (err) {\r\n alert(err.message || JSON.stringify(err));\r\n },\r\n //Optional automatic callback\r\n inputVerificationCode: function (data) {\r\n //('Code sent to: ' + data);\r\n var verificationCode = prompt('Please input verification code ', '');\r\n var newPassword = prompt('Enter new password ', '');\r\n cognitoUser.confirmPassword(verificationCode, newPassword, {\r\n onSuccess() {\r\n //('Password confirmed!');\r\n },\r\n onFailure(err) {\r\n //('Password not confirmed!');\r\n }\r\n });\r\n }\r\n });\r\n });\r\n\r\n\r\n }\r\n /**\r\n * End of the function \r\n */\r\n\r\n /**\r\n * Logout function\r\n */\r\n logout(){\r\n \r\n return Observable.create(observe=>{\r\n this.shared.getCurrentUser().signOut(); \r\n \r\n observe.next();\r\n \r\n observe.complete();\r\n });\r\n }\r\n\r\n\r\n /**\r\n * Config function\r\n */\r\n // getconfig() {\r\n // let session:any = this.shared.getAccessToken() || \"\";\r\n \r\n // let config = \"\";\r\n // config += AWS.config.region = \"ap-south-1\";\r\n // config += AWS.config.credentials = new AWS.CognitoIdentityCredentials({\r\n // IdentityPoolId: sineedgeIdentity, // for sineedge_DEV\r\n // Logins: {\r\n // \"cognito-idp.ap-south-1.amazonaws.com/ap-south-1_qQ85yQZJO\": session\r\n // .getIdToken()\r\n // .getJwtToken()\r\n // }\r\n // // NOTE: getSession must be called to authenticate user before calling getUserAttributes\r\n // });\r\n // return config;\r\n // }\r\n\r\n getlocale(){\r\n let session:any = this.shared.getToken() || null;\r\n let userid = session.idToken.payload.locale;\r\n return userid;\r\n }\r\n getuserprofile(userid)\r\n {\r\n \r\n \r\n // alert();\r\n \r\n //console.log(cogusers.idToken.payload.locale);\r\n let roles = {'userid':userid}; \r\n \r\n \r\n // let request = new RequestOptions({headers:headers});\r\n return this.http.post(this.apiurl+'getUsersDetails',roles);\r\n \r\n }\r\n\r\n userpinupdate(pin)\r\n {\r\n let userid = this.getlocale(); \r\n let records = {'mpin':pin,'updatedon':currentDate,'fk_updatedby':userid,'userid':userid};\r\n let formdata = new FormData();\r\n \r\n formdata.append('records',JSON.stringify(records));\r\n return this.http.post(this.apiurl+'updateExistUser',formdata);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/aws-service.ts","import { Component,ViewChild } from '@angular/core';\r\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\r\nimport { InputPage } from '../input/input';\r\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\r\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\r\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\r\nimport { parseDate } from 'ionic-angular/util/datetime-util';\r\nimport { PdAllocationPage } from '../pd-allocation/pd-allocation';\r\nimport { OtpPage } from '../otp/otp';\r\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\r\nimport { DatabaseProvider } from '../../providers/database/database';\r\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\r\n/**\r\n * Generated class for the PdListPage page.\r\n *\r\n * See https://ionicframework.com/docs/components/#navigation for more info on\r\n * Ionic pages and navigation.\r\n */\r\n\r\n\r\n@Component({\r\n selector: 'page-pd-list',\r\n templateUrl: 'pd-list.html',\r\n})\r\nexport class PdListPage {\r\n\r\n @ViewChild('slider') slider:Slides;\r\n searchinprogress: any;\r\n searchpast: any;\r\n pdschduleDetails: any;\r\n bgColorPast: any = [];\r\n bgColor: any = [];\r\n pdinprogress: any=[];\r\n pdlistdetails: any=[];\r\n viewchange: boolean;\r\n pdlist:any = \"0\";\r\n pdlistaccess:boolean = null;\r\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public pdofficer:PdtriggerProvider,public shared:CognitoServiceProvider,public db:DatabaseProvider,public androidPermissions:AndroidPermissions) {\r\n //this.getlenderpddetails(); \r\n // this.getpdTriggerdetails();\r\n \r\n }\r\n selectedTab(ind)\r\n {\r\n this.slider.slideTo(ind)\r\n }\r\n moveButton(event){\r\n this.pdlist=event._snapIndex.toString();\r\n }\r\n\r\n ionViewDidLoad() {\r\n \r\n console.log('ionViewDidLoad PdListPage');\r\n this.db.getuserDetails();\r\n this.setpermission();\r\n }\r\n ionViewCanEnter()\r\n {\r\n console.log(\"Pd list ionViewCanEnter\")\r\n this.getpdTriggerdetails();\r\n }\r\n filter(view){\r\n if(!view){\r\n this.viewchange = true;\r\n }else{\r\n this.viewchange = false;\r\n this.pdinprogress = this.pdinprogress;\r\n this.pdschduleDetails = this.pdschduleDetails;\r\n }\r\n \r\n //alert(this.viewchange);\r\n }\r\n pdlistsearch(searchbar) {\r\n \r\n this.pdinprogress = this.searchinprogress;\r\n this.pdschduleDetails = this.searchpast;\r\n // reset countries list with initial call\r\n //this.pdinprogress = this.countriesInitial;\r\n // set q to the value of the searchbar\r\n var q = searchbar.target.value;\r\n\r\n // if the value is an empty string don't filter the items\r\n \r\n if(this.pdlist == \"inpro\"){\r\n if (q.trim() == '') {\r\n return ;\r\n }else{\r\n this.pdinprogress = this.searchinprogress.filter((v) => {\r\n if (v.applicat_details !== undefined && v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1 || v.pd_status.toLowerCase().indexOf(q.toLowerCase())>-1 || v.city_name != null && v.city_name.toLowerCase().indexOf(q.toLowerCase())>-1 || v.lender_applicant_id.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n return true;\r\n }\r\n return false;\r\n })\r\n }\r\n }else\r\n {\r\n if (q.trim() == '') {\r\n \r\n return ;\r\n }else{\r\n this.pdschduleDetails = this.searchpast.filter((v) => {\r\n if (v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1\r\n || v.pd_status.toLowerCase().indexOf(q.toLowerCase())>-1|| v.city_name.toLowerCase().indexOf(q.toLowerCase())>-1 || v.lender_applicant_id.toLowerCase().indexOf(q.toLowerCase())>-1) {\r\n \r\n return true;\r\n }\r\n \r\n return false;\r\n })\r\n }\r\n \r\n}\r\n}\r\n newpage(){\r\n this.navCtrl.push(InputPage);\r\n }\r\n getpdTriggerdetails()\r\n {\r\n \r\n let userid = this.aws.getlocale();\r\n //.log(\"User\",userid)\r\n\r\n this.pdofficer.getpddetails(userid).subscribe(res=>\r\n {\r\n this.pdlistdetails = res;\r\n if(this.pdlistdetails.dataStatus == true)\r\n {\r\n \r\n \r\n this.pdlistaccess = true;\r\n this.pdschduleDetails = this.pdlistdetails.records.filter(sch=>sch.pd_status ==\"ACCEPTED\" || sch.pd_status ==\"SCHEDULED\" || sch.pd_status ==\"INITIATED\" || sch.pd_status ==\"STARTED\" || sch.pd_status ==\"INPROGRESS\" && sch.applicat_details);\r\n this.searchpast = this.pdschduleDetails;\r\n \r\n this.pdinprogress = this.pdlistdetails.records.filter(allocate=>allocate.pd_status == \"ALLOCATED\");\r\n this.searchinprogress = this.pdinprogress;\r\n \r\n this.random_bg_color();\r\n this.random_ng_past();\r\n }else\r\n {\r\n this.pdlistaccess = false;\r\n this.pdlistdetails = \"No Records Found\";\r\n }\r\n })\r\n }\r\n\r\n random_bg_color() {\r\n for(let id of this.pdinprogress){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColor.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n \r\n return this.bgColor;\r\n }\r\n random_ng_past()\r\n {\r\n for(let id of this.pdschduleDetails){\r\n var x = Math.floor(Math.random() * 256);\r\n var y = Math.floor(Math.random() * 256);\r\n var z = Math.floor(Math.random() * 256);\r\n this.bgColorPast.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\r\n \r\n }\r\n }\r\n doRefresh(refresher) {\r\n this.bgColor = [];\r\n this.pdschduleDetails = [];\r\n this.pdinprogress = [];\r\n \r\n this.shared.refresh();\r\n this.getpdTriggerdetails();\r\n setTimeout(() => {\r\n \r\n refresher.complete();\r\n }, 2000);\r\n }\r\n \r\n PdAllocation(pddetails)\r\n {\r\n \r\n if(pddetails.pd_status == 'STARTED')\r\n {\r\n this.navCtrl.push(OtpPage,{'pdDetails':pddetails});\r\n }else if(pddetails.pd_status == 'INPROGRESS'){\r\n this.navCtrl.push(PdQuestionCategoryPage,{'pdDetails':pddetails});\r\n }else{\r\n this.navCtrl.push(InputPage,{'pdDetails':pddetails});\r\n }\r\n }\r\n\r\n setpermission()\r\n {\r\n // let permission = this.androidPermissions.PERMISSION; \r\n // let premission_list = [\r\n // permission.ACCESS_LOCATION_EXTRA_COMMANDS,\r\n // permission.CAMERA,\r\n\r\n\r\n // ];\r\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS).then(\r\n result => console.log('Has permission?',result.hasPermission),\r\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS)\r\n );\r\n \r\n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-list/pd-list.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport {ConstantsProvider} from '../constants/constants';\r\n\r\n/*\r\n Generated class for the PdtriggerProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n\r\n// const apiurl = 'http://ssa.sineedge.com/sparqapi/api/'\r\n@Injectable()\r\nexport class PdtriggerProvider {\r\n apiurl:any;\r\n constructor(public http: HttpClient,public constants:ConstantsProvider) {\r\n this.apiurl = constants.apiurl();\r\n console.log('Hello PdtriggerProvider Provider');\r\n }\r\n\r\n \r\n\r\n /**get dropdonw list */\r\n\r\n /**Get list of PD Trigger */\r\n\r\n getpddetails(userid)\r\n { \r\n console.log(userid);\r\n return this.http.get(this.apiurl+'listLessPDDetails/get?pdofficerid='+userid);\r\n }\r\n\r\n getFullPDdetails(pdid)\r\n {\r\n return this.http.post(this.apiurl+'getFullPDDetails',pdid);\r\n }\r\n\r\n updatepdStatus(dataStatus)\r\n {\r\n let records = {'records':dataStatus};\r\n return this.http.post(this.apiurl+'updatePDMaster',records);\r\n }\r\n\r\n saveCurrentLocation(data)\r\n {\r\n let records = {'records':data};\r\n return this.http.post(this.apiurl+'savePDOfficerCurrentLocation',data);\r\n }\r\n\r\n checkotp(otpDetails)\r\n {\r\n let records = {'records':otpDetails};\r\n return this.http.post(this.apiurl+'checkOTP',records); \r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/pdtrigger/pdtrigger.ts","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Toast, ToastController } from 'ionic-angular';\r\n\r\n/*\r\n Generated class for the ToastProvider provider.\r\n\r\n See https://angular.io/guide/dependency-injection for more info on providers\r\n and Angular DI.\r\n*/\r\n@Injectable()\r\nexport class ToastProvider {\r\n\r\n constructor(public http: HttpClient,public toast:ToastController) {\r\n console.log('Hello ToastProvider Provider');\r\n }\r\n pdTriggerappmessage(mess){\r\n let valalert = this.toast.create({\r\n message:mess, \r\n duration: 3000, \r\n position: 'bottom',\r\n dismissOnPageChange: true,\r\n });\r\n\r\n valalert.present();\r\n} \r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/toast.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["../../src/providers/question-category/question-category.ts","../../src/pages/pd-question-category/pd-question-category.ts","../../src/pages/otp/otp.ts","../../src/providers/common-provider/camera.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts","../../src/providers/constants/constants.ts","../../node_modules/@angular/core/esm5 lazy","../../src lazy","../../src/pages/login/login.ts","../../src/pages/input/input.ts","../../src/pages/pd-question/pd-question.ts","../../src/pages/pd-question/pd-question-address/pd-question-address.ts","../../src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.ts","../../src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts","../../src/pages/pd-question/pd-question-loans/pd-question-loans.ts","../../src/pages/pd-question/pd-question-banking/pd-question-banking.ts","../../src/pages/pd-question/pd-question-family/pd-question-family.ts","../../src/pages/pd-question/pd-question-assests/pd-question-assests.ts","../../src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts","../../src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts","../../src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts","../../src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts","../../src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts","../../src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts","../../src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts","../../src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.ts","../../src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts","../../src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.ts","../../src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts","../../src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","../../src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts","../../src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.ts","../../src/pipes/pd/pd.ts","../../src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts","../../src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts","../../src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts","../../src/pages/pd-general-images/pd-general-images.ts","../../src/pages/input/bounced-reject/bounced-reject.ts","../../src/providers/database/database.ts","../../src/pages/password/password.ts","../../src/pages/auth/auth.ts","../../src/providers/common-provider/loading.ts","../../src/app/main.ts","../../src/app/app.module.ts","../../src/app/app.component.ts","../../src/providers/_guard/auth.guard.ts","../../src/providers/_guard/token.interceptor.ts","../../src/pages/googleplaytab/googleplaytab.ts","../../src/pages/pd-allocation/pd-allocation.ts","../../src/pages/pd-question/pd-question-business/pd-question-business.ts","../../src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.ts","../../src/providers/aws-service/cognito.service.ts","../../src/providers/aws-service/aws-service.ts","../../src/pages/pd-list/pd-list.ts","../../src/providers/pdtrigger/pdtrigger.ts","../../src/providers/common-provider/toast.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { ConstantsProvider } from '../constants/constants';\n\n/*\n Generated class for the QuestionCategoryProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class QuestionCategoryProvider {\napiurl:any;\n constructor(public http: HttpClient,public constant:ConstantsProvider) {\n console.log('Hello QuestionCategoryProvider Provider');\n this.apiurl = constant.apiurl();\n }\n \n \n getLoadTemplate(pdid)\n {\n return this.http.get(this.apiurl+'loadFullTemplate?pd_id='+pdid);\n }\n saveQusetion(saveData)\n {\n let records = {'records':[saveData]};\n return this.http.post(this.apiurl+'savePDQuestions',records);\n }\n\n \n getAnswerTemplate(qustDetails)\n {\n return this.http.post(this.apiurl+'getAnswersForPD',qustDetails);\n }\n\n /***\n * Get PD Questions dropdown api\n * sriram\n */\n getcommondrop(tableName)\n {\n let masters = {'master_name':tableName}\n return this.http.post(this.apiurl+'getListOfMaster',masters);\n }\n\n saveForm(records)\n { let record = {'records':records};\n return this.http.post(this.apiurl+'savePDFormDetails',record);\n }\n\n retiverForm(records)\n {\n return this.http.post(this.apiurl+'getPDFormDetails',records);\n }\n\n /**Assessed Form Details API */\n saveassessedForms(api,saveData)\n {\n return this.http.post(this.apiurl+api,saveData);\n }\n\n retiverassessedForm(api,records)\n {\n return this.http.post(this.apiurl+api,records);\n }\n\n updatePdApplicant(editData: any) {\n // editData.fk_updatedby = this._aws.getlocale();\n // editData.updatedon = currentdate;\n return this.http.post(this.apiurl + \"updatePDApplicants\", {\"pd_applicant_details\": editData})\n\n \n}\n\ngetEndUseForLoan(pdid:any,subproduct){\n return this.http.post(this.apiurl+ \"getEndUseOfLoan\",{ \"records\":{ \"pd_id\" : pdid,\"sub_product_id\":subproduct}})\n}\ngetCompaniesListsForBusiness(pdid:any){\n return this.http.post(this.apiurl+ \"getCompaniesListsForBusiness\", { \"records\":{ \"pd_id\" : pdid}})\n}\ngetStateWiseCities(stateid:any){\n return this.http.post(this.apiurl + \"getListOfStatesAndCities\", { \"records\":{ \"state_id\" : stateid}})\n}\ngetAllPersonsName(pdid:any){\n return this.http.post(this.apiurl + \"getAllPersonsName\", {\"pd_id\" : pdid})\n \n}\ngetStateCityDetails(){\n return this.http.post(this.apiurl + \"getListOfStatesCities\",\"\")\n}\ngetAssetsWithLoanFromBusiness(pdid:any){\n return this.http.post(this.apiurl + \"getAssetsWithLoanFromBusiness\",{ \"pd_id\" : pdid})\n\n}\n\n\ngetTypeofActivityForSuppliedInfoForm(pd_id: any,company_id:any){\n return this.http.post(this.apiurl+\"getTypeOfActivetyFromBusinessForm\", {\"records\": { \"pd_id\" : pd_id,\"company_id\":company_id }});\n}\n\n/** For Stock Details \n * To Get The Products With TypeofActivity From Business \n **/\nstockFormAccess(pdid: any,companyid: any) {\n // { \"pd_id\":\"104\",\"company_id\":\"1\"}\n return this.http.post(this.apiurl + \"getProductsFromBusiness\", {\"pd_id\" : pdid ,\"company_id\":companyid });\n}\n\n\n\n/*****Save Images */\nsavePDImages(imagesDetails)\n{ \n let record = {'records':imagesDetails};\n return this.http.post(this.apiurl+'savePDPhotos',record);\n}\ngetFamilyDetails(pdid:any){\n return this.http.post(this.apiurl+'getFamilyDetails',{\"pd_id\":pdid})\n}\ngetAddressDetails(pdid:any){\n return this.http.post(this.apiurl+'getPDAddress',{'pd_id':pdid})\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/question-category/question-category.ts","import { Component, ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { GoogleplaytabPage } from '../googleplaytab/googleplaytab';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { PdQuestionPage } from '../pd-question/pd-question';\nimport Chart from 'chart.js';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { PdQuestionAddressPage } from '../pd-question/pd-question-address/pd-question-address';\nimport { PdQuestionEmpInfoPage } from '../pd-question/pd-question-emp-info/pd-question-emp-info';\nimport { PdQuestionCurrentLoansPage } from '../pd-question/pd-question-current-loans/pd-question-current-loans';\nimport { PdQuestionLoansPage } from '../pd-question/pd-question-loans/pd-question-loans';\n\nimport { PdQuestionBankingPage } from '../pd-question/pd-question-banking/pd-question-banking';\nimport { PdQuestionFamilyPage } from '../pd-question/pd-question-family/pd-question-family';\nimport { PdQuestionAssestsPage } from '../pd-question/pd-question-assests/pd-question-assests';\nimport { PdQuestionOtherIncomePage } from '../pd-question/pd-question-other-income/pd-question-other-income';\nimport { PdQuestionSupplierInfoPage } from '../pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\nimport { PdQuestionPersonalInfoPage } from '../pd-question/pd-question-personal-info/pd-question-personal-info';\nimport { PdQuestionStockInfoPage } from '../pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\nimport { PdQuestionFinancialInfoPage } from '../pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\nimport { PdQuestionClientInfoPage } from '../pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\nimport { PdQuestionRentalInfoPage } from '../pd-question/pd-question-rental-info/pd-question-rental-info';\nimport { PdQuestionAssessedInfoPage } from '../pd-question/pd-question-assessed-info/pd-question-assessed-info';\nimport { PdQuestionAssessedDashPage } from '../pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\nimport { PdQuestionLenderRepresentativePage } from '../pd-question/pd-question-lender-representative/pd-question-lender-representative';\nimport { PdQuestionGeneralInfoPage } from '../pd-question/pd-question-general-info/pd-question-general-info';\nimport { PdQuestionNeighbourHoodPage } from '../pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\nimport { PdQuestionFinalRemarkPage } from '../pd-question/pd-question-final-remark/pd-question-final-remark';\nimport { PdQuestionBusinessPage } from '../pd-question/pd-question-business/pd-question-business'\nimport { PdQuestionBusinessGroupPage } from '../pd-question/pd-question-business-group/pd-question-business-group'\n/**\n * Generated class for the PdQuestionCategoryPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\n\n\n@Component({\n selector: 'page-pd-question-category',\n templateUrl: 'pd-question-category.html',\n})\nexport class PdQuestionCategoryPage {\n searchTempForm: any;\n searchQuestion: any;\n viewchange: boolean;\n templateAccess: boolean;\n bgColortempForm: any=[];\n bgColorqustCat: any=[];\n // @ViewChild('doughnutCanvas') doughnutCanvas;\n pdinfo: any;\nquestionList:any;\nquestionCate:any;\nquestionCateAccess:boolean = null;\nquestionfinishedList:any =[];\npddetails:any;\noverallqustioncountAccess:boolean = true;\ndoughnutChart: any;\ncompletedAccess:any;\nsearchitem:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public templateget:QuestionCategoryProvider,public aws:AwsServiceProvider, public shared:CognitoServiceProvider,public toast:ToastProvider,public pdstatusprovide:PdtriggerProvider) {\n this.pddetails = this.navParams.get('pdDetails');\n \n \n }\n\n ionViewCanEnter()\n {\n this.getcategoryList(); \n }\n // doughuntChart()\n // {\n // this.doughnutChart = new Chart(this.doughnutCanvas.nativeElement, {\n \n // type: 'doughnut',\n // data: {\n // // labels: [\"Red\", \"Blue\", \"Yellow\", \"Green\", \"Purple\", \"Orange\"],\n // datasets: [{\n // label: '# of Votes',\n // data: [12],\n // backgroundColor: [\n // // 'rgba(255, 99, 132, 0.2)',\n // 'rgba(54, 162, 235, 0.2)',\n // // 'rgba(255, 206, 86, 0.2)',\n // // 'rgba(75, 192, 192, 0.2)',\n // // 'rgba(153, 102, 255, 0.2)',\n // // 'rgba(255, 159, 64, 0.2)'\n // ],\n // hoverBackgroundColor: [\n // \"#FF6384\",\n // \"#36A2EB\",\n // \"#FFCE56\",\n // \"#FF6384\",\n // \"#36A2EB\",\n // \"#FFCE56\"\n // ]\n // }]\n // }\n\n // });\n // }\n ionViewDidLoad() {\n this.shared.refresh();\n //this.doughuntChart();\n console.log('ionViewDidLoad PdQuestionCategoryPage');\n }\n \n getcategoryList()\n {\n let j = 1;\n this.templateget.getLoadTemplate(this.pddetails.pd_id).subscribe(res=>\n {\n this.questionCate = res;\n if(this.questionCate.dataStatus == true)\n {\n \n this.questionCate = this.questionCate.records;\n this.random_ng_past(); \n if(this.questionCate.question_answers !='' && this.questionCate.template_forms!='')\n {\n this.questionCateAccess = true;\n this.templateAccess = true;\n this.questionCate = this.questionCate;\n this.searchQuestion = this.questionCate.question_answers;\n\n if(this.questionCate.counts.overall_answered_count !=0 && this.questionCate.counts.overall_question_count !=0 && this.questionCate.counts.overall_answered_count == this.questionCate.counts.overall_question_count)\n {\n this.overallqustioncountAccess = false;\n }else\n {\n this.overallqustioncountAccess = true;\n }\n \n \n \n \n \n }else if(this.questionCate.template_forms!='')\n {\n this.templateAccess = true;\n this.questionCate = this.questionCate;\n this.searchTempForm = this.questionCate.template_forms\n // if(this.questionCate.counts.overall_answered_count !=0 && this.questionCate.counts.overall_question_count !=0 && this.questionCate.counts.overall_answered_count == this.questionCate.counts.overall_question_count)\n // {\n // this.overallqustioncountAccess = false;\n // }else\n // {\n // this.overallqustioncountAccess = true;\n // }\n }\n else\n {\n this.questionCateAccess = false;\n this.templateAccess = false; \n this.questionCate = \"No Template Available\";\n }\n }\n })\n }\n random_ng_past()\n {\n for(let id of this.questionCate.question_answers){\n var a = Math.floor(Math.random() * 256);\n var b = Math.floor(Math.random() * 256);\n var c = Math.floor(Math.random() * 256);\n this.bgColorqustCat.push(\"rgb(\" + a + \",\" + b + \",\" + c + \")\");\n \n }\n for(let id of this.questionCate.template_forms){\n var x = Math.floor(Math.random() * 256);\n var y = Math.floor(Math.random() * 256);\n var z = Math.floor(Math.random() * 256);\n this.bgColortempForm.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\n \n }\n }\n questionsTag(categroyId){\n \n this.pdinfo = this.pddetails; \n \n this.questionCate = this.questionCate.question_answers.filter(cate=>cate.fk_question_category_id == categroyId)[0];\n // if(this.questionCate.questions.length !=\"0\"){\n this.navCtrl.push(PdQuestionPage,{'questionDetails':this.questionCate,'pdDetails':this.pdinfo});\n \n // }else\n // {\n // this.getcategoryList();\n // this.toast.pdTriggerappmessage('No Question Available');\n // }\n }\n\n tempQustionTag(categroyId)\n {\n this.pdinfo = this.pddetails; \n let formName = this.questionCate.template_forms.filter(temp=>temp.form_id==categroyId)[0];\n if(categroyId ==5)\n {\n this.navCtrl.push(PdQuestionAddressPage,{'FormId':formName,'pdDetails':this.pdinfo});\n \n }else if(categroyId==12){\n this.navCtrl.push(PdQuestionEmpInfoPage,{'FormId':formName,'pdDetails':this.pdinfo});\n }else if(categroyId==10)\n {\n this.navCtrl.push(PdQuestionLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==8){\n this.navCtrl.push(PdQuestionCurrentLoansPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==13)\n {\n this.navCtrl.push(PdQuestionBusinessGroupPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n \n }else if(categroyId==7)\n {\n this.navCtrl.push(PdQuestionBankingPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n\n }else if(categroyId==6)\n {\n this.navCtrl.push(PdQuestionFamilyPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId ==4){\n this.navCtrl.push(PdQuestionAssestsPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==9){\n this.navCtrl.push(PdQuestionOtherIncomePage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==1){\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==3){\n this.navCtrl.push(PdQuestionPersonalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==11)\n {\n this.navCtrl.push(PdQuestionStockInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==14)\n {\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId ==2)\n {\n this.navCtrl.push(PdQuestionClientInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId ==17)\n {\n this.navCtrl.push(PdQuestionRentalInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }\n else if(categroyId==16)\n {\n this.navCtrl.push(PdQuestionAssessedDashPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==15)\n {\n this.navCtrl.push(PdQuestionLenderRepresentativePage,{'FormId':formName,'pdDetails':this.pdinfo}); \n \n }else if(categroyId==18)\n {\n this.navCtrl.push(PdQuestionGeneralInfoPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }else if(categroyId==19)\n {\n this.navCtrl.push(PdQuestionNeighbourHoodPage,{'FormId':formName,'pdDetails':this.pdinfo}); \n }\n else if(categroyId==20)\n {\n this.navCtrl.push(PdQuestionFinalRemarkPage,{'FormId':formName,'pdDetails':this.pdinfo});\n }\n }\n filter(view){\n if(!view){\n this.viewchange = true;\n }else{\n this.viewchange = false;\n }\n //alert(this.viewchange);\n }\n pdlistsearch(searchbar) {\n // this.questionCate = this.searchQuestion;\n // this.questionCate.template_forms = this.searchTempForm;\n // reset countries list with initial call\n //this.pdinprogress = this.countriesInitial;\n // set q to the value of the searchbar\n var q = searchbar.target.value;\n\n // if the value is an empty string don't filter the items\n if(this.searchQuestion !== undefined){\n if (q.trim() == '') {\n return ;\n }else{\n // this.questionCate.question_answers = this.searchQuestion.filter((v) => {\n // if (v.category_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\n // return true;\n // }\n // })\n }\n }else\n {\n if (q.trim() == '') {\n return ;\n }else{\n// this.questionCate.template_forms = this.searchTempForm.filter((v) => {\n// if (v.form_name.toLowerCase().indexOf(q.toLowerCase())>-1) {\n// return true;\n// }\n// })\n }\n }\n}\n completed()\n {\n let users = this.aws.getlocale();\n \n let data = {'pd_id':this.questionCate.pdmaster_details.pd_id,'pd_status':'COMPLETED','fk_updatedby':users,'updatedon':currentdate};\n \n this.pdstatusprovide.updatepdStatus(data).subscribe(res=>\n {\n this.completedAccess = res;\n if(this.completedAccess.dataStatus == true)\n {\n this.navCtrl.setRoot(PdListPage);\n }\n })\n }\n doRefresh(refresher) {\n this.questionCate = [];\n this.questionfinishedList = [];\n this.shared.refresh();\n this.getcategoryList();\n setTimeout(() => {\n refresher.complete();\n }, 2000);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question-category/pd-question-category.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, MenuController, AlertController } from 'ionic-angular';\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../providers/constants/constants';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Geolocation } from '@ionic-native/geolocation'; \nimport { AndroidPermissions } from '@ionic-native/android-permissions';\n\n/**\n * Generated class for the OtpPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-otp',\n templateUrl: 'otp.html',\n})\nexport class OtpPage {\n\n \n timeLimit: any;\n reason_otp: any;\n users: any;\n timerOn: boolean = true;\n balance_time: string;\n otpStatus: any;\n pin:any;\n otpStatusAccess:boolean = true;\n applicatentDetails: any;\n commonImage:any;\n maxtime: any=30;\n \n reasonForm:FormGroup\n constructor(public navCtrl: NavController, public navParams: NavParams,public pddetails:PdtriggerProvider,public toast:ToastProvider,public Menu:MenuController,public commonconstant:ConstantsProvider,public aws:AwsServiceProvider,public alertCtrl:AlertController,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public geolocation:Geolocation,public androidPermissions:AndroidPermissions) {\n this.commonImage = this.commonconstant.commonimage;\n this.applicatentDetails = this.navParams.get('pdDetails');\n this.reasonForm = this.fb.group(\n {\n reason:[null,Validators.compose([Validators.required])],\n others_reason:[null],\n })\n this.getDropdown();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad OtpPage');\n }\n ionViewDidEnter(){\n //this.Menu.enable(false);\n this.setPermission();\n this.timer(120);\n \n }\n\n setPermission()\n {\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(\n result => console.log('Has permission?',result.hasPermission),\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)\n );\n \n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\n\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION).then(\n result => console.log('Has permission?',result.hasPermission),\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION)\n );\n \n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\n }\n ionViewWillLeave(){\n //this.Menu.enable(true);\n clearTimeout(this.timeLimit);\n }\n getDropdown()\n {\n this.qustCat.getcommondrop('OTPREJECTION').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.reason_otp = res['records'].filter(otp=>otp.isactive==1);\n console.log(this.reason_otp);\n \n }\n })\n }\n checkotp(otp)\n {\n let data = {'pd_id':this.applicatentDetails.pd_id,'OTP':otp,'fk_updatedby':this.users};\n this.pddetails.checkotp(data).subscribe(res=>\n {\n console.log(\"Otp\",res)\n this.otpStatus = res;\n if(this.otpStatus.dataStatus == true)\n {\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\n }else\n {\n this.toast.pdTriggerappmessage('Enter the Correct OTP');\n }\n })\n }\n\n timer(remaining) {\n // console.log(remaining);\n let m:any = Math.floor(remaining / 60);\n let s:any = remaining % 60;\n \n m = m < 10 ? '0' + m : m;\n s = s < 10 ? '0' + s : s;\n // var balance_time = m + ':' + s;\n this.balance_time = m + ':' + s;\n remaining -=1;\n // console.log(this.balance_time);\n if(remaining >= 0 && this.timerOn) {\n this.timeLimit = setTimeout(()=> {\n this.timer(remaining);\n }, 1000);\n return;\n }\n \n if(!this.timerOn) {\n // Do validate stuff here\n return;\n }\n \n // Do timeout stuff here\n this.users = this.aws.getlocale();\n let data:any;\n let alert = this.alertCtrl.create({\n title: 'OTP Expired ',\n message: 'Do you want sure resend OTP',\n buttons: [\n {\n text: 'OTP Without Start',\n \n handler: () => {\n \n this.otpStatusAccess = false;\n }\n },\n {\n text: 'Resend OTP',\n handler: () => {\n \n this.geolocation.getCurrentPosition().then((resp) => {\n let currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\n data = {'pd_id':this.applicatentDetails.pd_id,'pd_status':'STARTED','mobile_no':this.applicatentDetails.applicat_details[0].mobile_no,'fk_updatedby':this.users,'link':currentPosPDofficer};\n console.log(data);\n this.pddetails.updatepdStatus(data).subscribe(res=>\n {\n this.timer(60);\n })\n });\n // console.log('Buy clicked');\n \n } \n }\n \n ]\n \n });\n alert.present();\n }\n \n saveotpreasno()\n {\n console.log(this.reasonForm.value);\n if(this.reasonForm.valid)\n {\n let data = {'pd_id':this.applicatentDetails.pd_id,'reason':this.reasonForm.value.reason,'other_reason':this.reasonForm.value.others_reason,'fk_updatedby':this.users};\n this.pddetails.checkotp(data).subscribe(res=>\n {\n this.otpStatus = res;\n if(this.otpStatus.dataStatus == true)\n {\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.applicatentDetails});\n }else\n {\n // this.toast.pdTriggerappmessage('Enter the Correct OTP');\n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/otp/otp.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Camera } from '@ionic-native/camera';\n/*\n Generated class for the CameraProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class CameraProvider {\n\n constructor(public http: HttpClient,public camera:Camera) {\n console.log('Hello CameraProvider Provider');\n }\n getpicture() \n {\n const options = {\n quality: 100,\n destinationType: this.camera.DestinationType.DATA_URL,\n targetWidth: 500,\n targetHeight: 500,\n correctOrientation: true\n };\n\n // If set to crop, restricts the image to a square of 600 by 600\n \n\n return this.camera.getPicture(options).then(imageData => {\n const base64Image = 'data:image/png;base64,' + imageData;\n // console.log(base64Image);\n return base64Image;\n }, error => {\n console.log('CAMERA ERROR -> ' + JSON.stringify(error));\n });\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/camera.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionSupplierInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n@Component({\n selector: 'page-pd-question-supplier-info',\n templateUrl: 'pd-question-supplier-info.html',\n})\n\nexport class PdQuestionSupplierInfoPage {\n users: any;\n pdDetails: any;\n formDetails: any;\n company_id: any;\n form_id: any;\n questionDetails: any;\n supplierInfoForm: FormGroup;\n\n business_manufacturingProducts: any = [];\n business_tradingProducts: any = [];\n m_titleList: any = [];\n m_paymentList: any = [];\n m_companyRelationShipList: any = [];\n\n noRecordsFound: Boolean = false;\n public submitted = false;\n errorMessage: any = '';\n\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider) {\n\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.formDetails = this.navParams.get('formDetails');\n this.form_id = this.formDetails.form_id;\n this.company_id = this.pdDetails.company_id;\n this.users = this.aws.getlocale();\n\n\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdDetails.pd_id, this.company_id).subscribe(data => {\n\n if (data.dataStatus) {\n\n let datas = data.records;\n this.initFormLoadDetails(datas.type_of_activity);\n this.business_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\n // this.business_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\n\n let api = Object.keys(datas.type_of_activity).map(function (key) {\n return datas.type_of_activity[key];\n });\n\n if (api.length > 0) {\n api.forEach(val => {\n if (val.type_of_activity_id == 3) {\n if (val.prodcuts) {\n this.business_tradingProducts.push(val.prodcuts);\n }\n }\n\n if (val.type_of_activity_id == 4) {\n if (val.prodcuts) {\n this.business_tradingProducts.push(val.prodcuts);\n }\n }\n });\n }\n\n this.business_tradingProducts = [].concat.apply([], this.business_tradingProducts);\n\n } else {\n this.toast.pdTriggerappmessage('No Category Records Found.!');\n this.noRecordsFound = false;\n this.errorMessage = data.msg;\n }\n }, err => {\n this.toast.pdTriggerappmessage('No Category Records Found.!');\n this.noRecordsFound = false;\n this.errorMessage = 'No Records Found , Something went Wrong!';\n })\n this.getdropList();\n }\n\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionSupplierInfoPage');\n }\n\n\n serviceProviderForm: Boolean = false;\n initFormLoadDetails(record) {\n let params: any = {};\n params.pd_id = this.pdDetails.pd_id;\n params.pd_form_id = this.form_id;\n params.company_id = this.company_id;\n\n this.qustCat.retiverForm(params).subscribe(\n data => {\n if (data['dataStatus'] == true) {\n let dataForm = data['records'];\n if (dataForm !== undefined) {\n this.supplierInfoForm = this.fb.group({\n pdid: [this.pdDetails.pd_id],\n formid: [this.form_id],\n company_id: [this.company_id],\n fk_createdby: [this.users],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\n });\n let arr = record.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\n // return dataForm.main_raw_materials[key];\n // });\n if(dataForm.manufacturing_details[0] != null){\n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\n\n this.initManufacturingProductsDetails(api_main_raw_materials);\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(dataForm.manufacturing_details[0].main_raw_materials_total_payments_percent_on_credit || null);\n }\n else{\n this.initManufacturingProductsDetails(null);\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null)\n }\n }\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr1.length > 0) {\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\n // return dataForm.trading_products[key];\n // });\n if(dataForm.trade_details[0] != null){\n let api_trading_products = dataForm.trade_details[0].trading_products;\n this.initTradingProductsDetails(api_trading_products);\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trade_details[0].trading_products_total_payments_percent_on_credit || null);\n }\n else{\n this.initTradingProductsDetails(null);\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\n }\n }\n this.noRecordsFound = true;\n } else {\n this.supplierInfoForm = this.fb.group({\n pdid: [this.pdDetails.pd_id],\n formid: [this.form_id],\n company_id: [this.company_id],\n fk_createdby: [this.users],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\n });\n let arr = record.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n this.initManufacturingProductsDetails(null);\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\n }\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr1.length > 0) {\n this.initTradingProductsDetails(null);\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trading_products_total_payments_percent_on_credit || null);\n }\n this.noRecordsFound = true;\n }\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\n if (arr2.length > 0) {\n this.serviceProviderForm = true;\n }\n } else {\n this.supplierInfoForm = this.fb.group({\n pdid: [this.pdDetails.pd_id],\n formid: [this.form_id],\n company_id: [this.company_id],\n fk_createdby: [this.users],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\n supplier_info_form_remark: []\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\n });\n let arr = record.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n this.initManufacturingProductsDetails(null);\n this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\n }\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr1.length > 0) {\n this.initTradingProductsDetails(null);\n this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\n }\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\n if (arr2.length > 0) {\n this.serviceProviderForm = true;\n }\n this.noRecordsFound = true;\n }\n }, err => {\n\n }\n );\n }\n\n manufacturingForm: Boolean = false;\n manufacturingFormCreation(val) {\n let arr = val.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n this.manufacturingForm = true;\n return this.fb.group({\n main_raw_materials: this.fb.array([]),\n main_raw_materials_total_payments_percent_on_credit: []\n })\n // }\n } else {\n return;\n }\n }\n\n tradingForm: Boolean = false;\n tradingFormCreation(val) {\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr.length > 0) {\n this.tradingForm = true;\n return this.fb.group({\n trading_products: this.fb.array([]),\n trading_products_total_payments_percent_on_credit: []\n });\n } else {\n return;\n }\n }\n\n initManufacturingProductsDetails(datas) {\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\n if (datas === null) {\n control.push(this.initManufacturingProducts(null));\n } else {\n datas.forEach((val, inx) => {\n this.checkCard(val.manufacturing_payment_type, 1, inx);\n control.push(this.initManufacturingProducts(val));\n });\n }\n }\n\n initManufacturingProducts(records) {\n if (records === null) {\n return this.fb.group({\n manufacturing_raw_material_name: [''],\n manufacturing_supplier_name: [''],\n person_title_name: [''],\n person_designation: [''],\n other_person_designation: [''],\n manufacturing_contact_person_name: [''],\n manufacturing_contact_person_mobile_number: [''],\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\n manufacturing_payment_type: [''],\n manufacturing_payment_mode: [''],\n manufacturing_credit_days_from: [''],\n manufacturing_credit_days_to: [''],\n manufacturing_frequency_of_purchase: [''],\n person_stdcode: [''],\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\n person_landline: [''],\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\n\n })\n } else {\n return this.fb.group({\n manufacturing_raw_material_name: [records.manufacturing_raw_material_name || null],\n manufacturing_supplier_name: [records.manufacturing_supplier_name || null],\n person_title_name: [records.person_title_name || null],\n person_designation: [records.person_designation || null],\n other_person_designation: [records.other_person_designation || null],\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],\n //Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\n manufacturing_payment_mode: [records.manufacturing_payment_mode],\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null],\n manufacturing_frequency_of_purchase: [records.manufacturing_frequency_of_purchase || null],\n person_stdcode: [records.person_stdcode || null],\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\n person_landline: [records.person_landline || null],\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\n })\n }\n }\n\n initTradingProductsDetails(datas) {\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\n\n if (datas === null) {\n control.push(this.initTradingProducts(null));\n } else {\n datas.forEach((val, inx) => {\n this.checkCard(val.trade_product_payment_type, 2, inx);\n control.push(this.initTradingProducts(val));\n });\n }\n }\n\n initTradingProducts(records) {\n if (records === null) {\n return this.fb.group({\n trade_product_name: [''],\n trade_supplier_name: [''],\n person_title_name: [''],\n person_designation: [''],\n other_person_designation: [''],\n trade_product_contact_person_name: [''],\n trade_product_contact_person_mobile_number: [''],\n //,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\n person_stdcode: [null],\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\n person_landline: [null],\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\n trade_product_payment_type: [''],\n trade_product_payment_mode: [''],\n trade_product_frequency_of_purchase: [''],\n trade_product_credit_days_from: [''],\n trade_product_credit_days_to: [''],\n })\n } else {\n return this.fb.group({\n trade_product_name: [records.trade_product_name],\n person_title_name: [records.person_title_name],\n person_designation: [records.person_designation],\n other_person_designation: [records.other_person_designation],\n trade_supplier_name: [records.trade_supplier_name],\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],\n //, Validators.compose([Validators.minLength(10),Validators.maxLength(10)])\n person_stdcode: [records.person_stdcode],\n //, Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])\n person_landline: [records.person_landline],\n //, Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])\n trade_product_payment_type: [records.trade_product_payment_type],\n trade_product_payment_mode: [records.trade_product_payment_mode],\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\n })\n }\n }\n\n addMoreRawMaterials(e): void {\n // e.stropPropagation();\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\n\n control.push(this.initManufacturingProducts(null));\n }\n\n removeRawMaterials(inx): void {\n const control = this.supplierInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\n control.removeAt(inx);\n }\n\n addMoretradeProduct(e): void {\n // e.stropPropagation();\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\n\n control.push(this.initTradingProducts(null));\n }\n\n removeTradingProduct(inx): void {\n const control = this.supplierInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\n control.removeAt(inx);\n }\n\n\n getdropList() {\n\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\n data => {\n this.m_companyRelationShipList = data['records'].filter(data => data.isactive == 1);\n });\n\n this.qustCat.getcommondrop('TITLES').subscribe(\n data => {\n this.m_titleList = data['records'].filter(data => data.isactive == 1);\n });\n\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\n data => {\n this.m_paymentList = data['records'].filter(data => data.isactive == 1);\n });\n }\n\n\n saveSupplierInfo(FormValues) {\n\n var answerFormValues = FormValues;\n\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\n\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\n if (responsed['status'] == 200) {\n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n } else {\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\n }\n });\n\n }\n\n selectedPersonDesignation(items, e, flag) {\n if (flag == 1) {\n e == 1 ? '' : '';\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\n // items.controls['other_person_designation'].updateValueAndValidity();\n }\n else if (flag == 2) {\n e == 1 ? '' : '';\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\n // items.controls['other_person_designation'].updateValueAndValidity();\n }\n }\n\n mfgCreditCardFlag: boolean = false;\n trdCreditCardFlag: boolean = false;\n mfgCounter: any = [];\n trdCounter: any = [];\n checkCard(e, flag, index) {\n if (flag == 2 && e == 3) {\n this.trdCounter[index] = 1;\n }\n else if (flag == 2 && e != 3) {\n this.trdCounter[index] = 0;\n }\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\n this.trdCreditCardFlag = TRD > 0 ? true : false;\n\n if (flag == 1 && e == 3) {\n this.mfgCounter[index] = 1;\n }\n else if (flag == 1 && e != 3) {\n this.mfgCounter[index] = 0;\n }\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\n }\n\n selectedPaymentTerms(items, e, flag) {\n if (flag == 2) {\n if (e == 3) {\n // items.controls['trade_product_credit_days_from'].setValidators([Validators.required]);\n // items.controls['trade_product_credit_days_to'].setValidators([Validators.required]);\n }\n else {\n items.controls['trade_product_credit_days_from'].clearValidators();\n items.controls['trade_product_credit_days_from'].setValue('');\n items.controls['trade_product_credit_days_to'].clearValidators();\n items.controls['trade_product_credit_days_to'].setValue('');\n }\n items.controls['trade_product_credit_days_from'].updateValueAndValidity();\n items.controls['trade_product_credit_days_to'].updateValueAndValidity();\n }\n else if (flag == 1) {\n if (e == 3) { //items.controls['manufacturing_credit_days_from'].setValidators([Validators.required]);\n //items.controls['manufacturing_credit_days_to'].setValidators([Validators.required]);\n }\n else {\n items.controls['manufacturing_credit_days_from'].clearValidators();\n items.controls['manufacturing_credit_days_from'].setValue('');\n items.controls['manufacturing_credit_days_to'].clearValidators();\n items.controls['manufacturing_credit_days_to'].setValue('');\n }\n items.controls['manufacturing_credit_days_from'].updateValueAndValidity();\n items.controls['manufacturing_credit_days_to'].updateValueAndValidity();\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\nimport { FormArray, FormGroup, FormBuilder } from '@angular/forms';\nimport { ConstantsProvider } from '../../../../providers/constants/constants';\n\n/**\n * Generated class for the PdQuestionStockInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-stock-info',\n templateUrl: 'pd-question-stock-info.html',\n})\nexport class PdQuestionStockInfoPage {\n\n uomData: any;\n rawmaterial: any;\n users: any;\n formDetails: any;\n pdDetails: any;\n company_id : any;\n pdid:any;\n stockForm: FormGroup;\n noRecordsFound: Boolean;\n errorMessage: any = '';\n M_rawValueInWords : any = []; \n M_goodsValueInWords : any = [];\n R_tradedGoodsValueInWords : any = [];\n T_tradedGoodsValueInWords : any = [];\n mrmCommentFlag:any=[];\n mfgCommentFlag:any=[];\n rtrdCommentFlag:any=[];\n wtrdCommentFlag:any=[];\n serviceProviderForm: Boolean = false;\n suppliers_raw_materials : any = [];\n suppliers_retail_trade_details : any = [];\n suppliers_wholesale_trade_details : any = [];\n suppliers_finished_goods : any =[];\n finishedAndTradedGoodsCommentCard:boolean;\n\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.formDetails=this.navParams.get('formDetails');\n this.users = this.aws.getlocale();\n this.company_id=this.pdDetails.company_id;\n this.pdid=this.pdDetails.pd_id;\n this.qustCat.stockFormAccess(this.pdid,this.company_id).subscribe(data => {\n if(data.dataStatus == true){\n this.initstockForm(data.record);\n }\n else if(data.dataStatus == false)\n {\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID '+ this.company_id ); \n this.noRecordsFound = false;\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id +'! ....';\n return;\n }\n else{\n this.toast.pdTriggerappmessage('Fill Business Form First! / No Company Found at this ID '+ this.company_id ); \n this.noRecordsFound = false;\n this.errorMessage = 'Fill Business Form First! / No Company Found at this ID' + this.company_id +'! ....';\n return;\n }\n }, err => {\n this.toast.pdTriggerappmessage('Business Type Of Activity Not Available Please Check Business Information.!');\n this.noRecordsFound = false;\n this.errorMessage = 'No Records Found , Something went Wrong!';\n })\n this.getdropdown();\n }\n\n public initstockForm(record){\n let api = Object.keys(record.from_business).map(function (key) {\n return record.from_business[key];\n });\n\n let type3 = record.from_business.filter(data => data.type_of_activity_id == 3);\n let type3length = type3[0].hasOwnProperty(\"products\") ? type3[0].products.length : 0;\n let type4 = record.from_business.filter(data => data.type_of_activity_id == 4);\n let type4length = type4[0].hasOwnProperty(\"products\") ? type4[0].products.length : 0;\n\n\n let rm_api = record.from_supplier;\n let params: any = {};\n params.pd_id = this.pdid;\n params.pd_form_id = this.formDetails.form_id;\n params.company_id = this.company_id;\n this.qustCat.retiverForm(params).subscribe(value => {\n if (value['status'] == 200) {\n let dataForm = value['records']; \n if(dataForm !== undefined) {\n this.stockForm = this.fb.group({\n pdid: [this.pdid],\n formid: [this.formDetails.form_id],\n company_id: [this.company_id],\n fk_createdby:[this.users],\n stock_remarks: [dataForm.stock_remarks],\n\n // is_sufficiant_raw:[dataForm.is_sufficiant_raw],\n // rawmaterial_remarks:[dataForm.rawmaterial_remarks],\n is_sufficiant_finished_and_traded_goods:[dataForm.is_sufficiant_finished_and_traded_goods],\n finished_and_traded_goods_remarks:[dataForm.finished_and_traded_goods_remarks],\n\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n retail_details : this.fb.array([this.retailFormCreation(type3length)]),\n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\n });\n if(api.length > 0){ \n api.forEach(val => {\n if (val.type_of_activity_id == 2) {\n if(val.products){\n if(dataForm.manufacturing_details[0].manufacturing_finished_goods ){this.finishedAndTradedGoodsCommentCard = true;}\n let manufacturing_temparr = [];\n manufacturing_temparr['manufacturing_raw_materials'] = dataForm.manufacturing_details[0].manufacturing_raw_materials; \n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(dataForm.manufacturing_details[0].is_sufficiant_raw),\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(dataForm.manufacturing_details[0].rawmaterial_remarks);\n manufacturing_temparr['manufacturing_finished_goods'] = dataForm.manufacturing_details[0].manufacturing_finished_goods; \n this.initManufacturingDetails(manufacturing_temparr);\n }\n }\n if (val.type_of_activity_id == 3) {\n if(val.products){\n this.finishedAndTradedGoodsCommentCard = true;\n let retail_temparr = [];\n retail_temparr['retail_traded_goods'] = dataForm.retail_details[0].retail_traded_goods;\n \n this.initRetailDetails(retail_temparr);\n }\n }\n if (val.type_of_activity_id == 4) {\n if(val.products){\n this.finishedAndTradedGoodsCommentCard = true;\n let trading_temparr = [];\n trading_temparr['trading_traded_goods'] = dataForm.trade_details[0].trading_traded_goods;\n console.log(\"Trade\",trading_temparr)\n this.initTradingDetails(trading_temparr);\n }\n }\n if (val.type_of_activity_id == 5) {\n if(val.products){\n this.serviceProviderForm = true;\n }\n }\n });\n this.noRecordsFound = true;\n }\n }\n else{\n this.stockForm = this.fb.group({\n pdid: [this.pdid],\n formid: [this.formDetails.form_id],\n company_id: [this.company_id],\n fk_createdby:[this.users],\n stock_remarks: [''],\n // is_sufficiant_raw:[''],\n // rawmaterial_remarks:[''],\n is_sufficiant_finished_and_traded_goods:[''],\n finished_and_traded_goods_remarks:[''],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n retail_details : this.fb.array([this.retailFormCreation(type3length)]),\n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\n });\n if(api.length > 0){ \n api.forEach(val => {\n if (val.type_of_activity_id == 2) {\n if(val.products){\n this.finishedAndTradedGoodsCommentCard = true;\n this.suppliers_finished_goods = val.products;\n this.initManufacturingDetails(null); \n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(dataForm.manufacturing_details[0].is_sufficiant_raw.value || null),\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(dataForm.manufacturing_details[0].rawmaterial_remarks || null); \n }\n }\n if (val.type_of_activity_id == 3) {\n if(val.products){\n this.finishedAndTradedGoodsCommentCard = true;\n this.suppliers_retail_trade_details = val.products;\n this.initRetailDetails(null);\n }\n }\n if (val.type_of_activity_id == 4) {\n if(val.products){\n this.finishedAndTradedGoodsCommentCard = true;\n this.suppliers_wholesale_trade_details =val.products;\n this.initTradingDetails(null);\n }\n }\n if (val.type_of_activity_id == 5) {\n if(val.products){\n // this.suppliers_service_product = val.products;\n this.serviceProviderForm = true;\n } \n }\n });\n this.noRecordsFound = true;\n }\n }\n }\n else {\n console.log(\"Record\",record)\n this.stockForm = this.fb.group({\n pdid: [this.pdid],\n formid: [this.formDetails.form_id],\n company_id: [this.company_id],\n fk_createdby:[this.users],\n stock_remarks: [''],\n\n // is_sufficiant_raw:[''],\n // rawmaterial_remarks:[''],\n is_sufficiant_finished_and_traded_goods:[''],\n finished_and_traded_goods_remarks:[''],\n \n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n retail_details : this.fb.array([this.retailFormCreation(type3length)]),\n \n trade_details: this.fb.array([this.tradingFormCreation(type4length)]),\n });\n if(api.length > 0){ \n api.forEach(val => {\n if (val.type_of_activity_id == 2) {\n if(val.products){\n this.finishedAndTradedGoodsCommentCard = true;\n this.suppliers_finished_goods = val.products;\n this.suppliers_raw_materials = rm_api;\n this.initManufacturingDetails(null); \n this.stockForm.controls['manufacturing_details']['controls'][0].controls['is_sufficiant_raw'].setValue(null);\n this.stockForm.controls['manufacturing_details']['controls'][0].controls['rawmaterial_remarks'].setValue(null);\n }\n }\n if (val.type_of_activity_id == 3) {\n if(val.products){\n this.finishedAndTradedGoodsCommentCard = true;\n this.suppliers_retail_trade_details= val.products;\n this.initRetailDetails(null);\n }\n }\n if (val.type_of_activity_id == 4) {\n if(val.products){\n this.finishedAndTradedGoodsCommentCard = true;\n this.suppliers_wholesale_trade_details = val.products;\n this.initTradingDetails(null);\n }\n }\n if (val.type_of_activity_id == 5) {\n if(val.products){\n // this.suppliers_service_product = val.products;\n this.serviceProviderForm = true;\n } \n } \n });\n this.noRecordsFound = true;\n }\n }\n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionStockInfoPage');\n }\n\n\n getdropdown()\n {\n this.qustCat.getcommondrop('UOM').subscribe(data => {\n if(data['dataStatus']==true){\n this.uomData = data['records'].filter(uom=>uom.isactive==1);\n }\n });\n }\n\n manufacturingForm: Boolean = false;\n manufacturingFormCreation(record) {\n let arr = record.from_business.filter(data => data.type_of_activity_id == 2);\n let rm_arr = record.from_supplier;\n //console.log(\"Manufacturing \",arr);\n if (arr.length > 0) {\n this.manufacturingForm = true;\n return this.fb.group({\n is_sufficiant_raw: [],\n rawmaterial_remarks:[],\n manufacturing_raw_materials: this.fb.array([]),\n manufacturing_finished_goods: this.fb.array([]),\n })\n } else {\n return;\n }\n }\n\n retailForm: Boolean = false;\n retailFormCreation(val) {\n //let arr = val.filter(data => data.type_of_activity_id == 3);\n let arr=val\n console.log(\"retail Form \",arr);\n if (arr > 0) {\n // if(arr.products != undefined){\n this.retailForm = true;\n return this.fb.group({\n retail_traded_goods: this.fb.array([])\n }); \n // }else{\n // this.retailForm = false;\n // return;\n // } \n } else {\n return this.fb.group({\n retail_traded_goods: this.fb.array([])\n }); \n // return;\n }\n }\n\n tradingForm: Boolean = false;\n tradingFormCreation(val) {\n let arr=val\n //let arr = val.filter(data => data.type_of_activity_id == 4);\n \n if (arr > 0) {\n \n // if(arr.products === undefined){\n \n // this.tradingForm = false;\n // return;\n // }\n this.tradingForm = true;\n return this.fb.group({\n trading_traded_goods: this.fb.array([])\n }); \n } else {\n return this.fb.group({\n trading_traded_goods: this.fb.array([])\n }); \n // return;\n }\n }\n\n initManufacturingDetails(datas) {\n const rawMaterial = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\n const finishedGoods = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials']; \n if(datas === null){\n if(this.suppliers_raw_materials.length > 0){\n this.suppliers_raw_materials.forEach(val => {\n let Ref_RawMaterials : any = {'raw_name': val,\n 'stock_observed':'',\n 'raw_quantity': '',\n 'raw_uom': '',\n 'other_uom': '',\n 'raw_value': '',\n 'is_sufficiant_raw': '',\n 'rawmaterial_remarks':''};\n rawMaterial.push(this.createRawmaterial(Ref_RawMaterials)); \n });\n }\n else{ \n rawMaterial.push(this.createRawmaterial(null)); \n } \n if(this.suppliers_finished_goods.length > 0){\n this.suppliers_finished_goods.forEach(val => {\n let Ref_Finished_Goods : any = {'goods_name': val,\n 'goods_observed': '',\n 'goods_quantity': '',\n 'goods_uom': '',\n 'goods_other_uom': '',\n 'goods_value': '',\n 'is_sufficiant_goods': '',\n 'finishedgoods_remarks':''};\n finishedGoods.push(this.createGoods(Ref_Finished_Goods)); \n });\n }\n else{ \n finishedGoods.push(this.createGoods(null)); \n }\n } else {\n if(datas.manufacturing_raw_materials != undefined){\n datas.manufacturing_raw_materials.forEach((val,index) => {\n if(val.raw_value){\n this.inWords(val.raw_value,1,index);\n }\n this.checkComments(val.is_sufficiant_raw,1,index);\n rawMaterial.push(this.createRawmaterial(val)); \n });\n }\n else{\n rawMaterial.push(this.createRawmaterial(null)); \n }\n if(datas.manufacturing_finished_goods != undefined){ \n datas.manufacturing_finished_goods.forEach((val,index) => {\n if(val.goods_value){\n this.inWords(val.goods_value,2,index);\n }\n this.checkComments(val.is_sufficiant_goods,2,index);\n finishedGoods.push(this.createGoods(val)); \n \n });\n }\n else{\n finishedGoods.push(this.createGoods(null)); \n }\n }\n }\n\n createRawmaterial(records) {\n if(records === null) {\n return this.fb.group({\n raw_name: [''],\n stock_observed:[''],\n raw_quantity: [''],\n raw_uom: [''],\n other_uom : [''],\n raw_value: [''],\n is_sufficiant_raw: [''],\n rawmaterial_remarks:['']\n })\n } else { \n return this.fb.group({\n raw_name: [records.raw_name],\n stock_observed:[records.stock_observed],\n raw_quantity: [records.raw_quantity],\n raw_uom: [records.raw_uom],\n other_uom : [records.other_uom],\n raw_value: [records.raw_value],\n is_sufficiant_raw: [records.is_sufficiant_raw],\n rawmaterial_remarks:[records.rawmaterial_remarks]\n })\n }\n }\n \n initRetailDetails(datas) {\n const tradedGoods = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\n if(datas === null){\n if(this.suppliers_retail_trade_details.length > 0){\n // this.rawMaterialAccess = true;\n this.suppliers_retail_trade_details.forEach(val => {\n let Ref_Trade_Goods : any = {\n 'traded_goods_name': val,\n 'traded_goods_observed': '',\n 'traded_goods_quantity': '',\n 'traded_goods_uom': '',\n 'traded_goods_other_uom': '',\n 'estimated_traded_goods_value': '',\n 'is_sufficiant_traded_goods': '',\n 'traded_goods_remarks':''};\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods)); \n });\n }\n else{ \n tradedGoods.push(this.createTradedGoods(null)); \n }\n } else {\n if(datas.retail_traded_goods !== undefined){\n datas.retail_traded_goods.forEach((val,index) => {\n if(val.estimated_traded_goods_value){\n this.inWords(val.estimated_traded_goods_value,3,index);\n }\n this.checkComments(val.is_sufficiant_traded_goods,3,index);\n tradedGoods.push(this.createTradedGoods(val)); \n });\n }\n else{\n tradedGoods.push(this.createTradedGoods(null)); \n }\n }\n }\n\n\n createGoods(records) {\n if(records === null) {\n return this.fb.group({\n goods_name: [''],\n goods_observed: [''],\n goods_quantity: [''],\n goods_uom: [''],\n goods_other_uom: [''],\n goods_value: [''],\n is_sufficiant_goods: [''],\n finishedgoods_remarks:['']\n });\n }\n else {\n return this.fb.group({\n goods_name: [records.goods_name],\n goods_observed: [records.goods_observed],\n goods_quantity: [records.goods_quantity],\n goods_uom: [records.goods_uom],\n goods_other_uom: [records.goods_other_uom],\n goods_value: [records.goods_value],\n is_sufficiant_goods: [records.is_sufficiant_goods],\n finishedgoods_remarks:[records.finishedgoods_remarks]\n })\n }\n }\n\n initTradingDetails(datas) {\n const tradedGoods = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods']; \n if(datas === null){\n if(this.suppliers_wholesale_trade_details.length > 0){\n this.suppliers_wholesale_trade_details.forEach(val => {\n let Ref_Trade_Goods : any = {\n 'traded_goods_name': val,\n 'traded_goods_observed': '',\n 'traded_goods_quantity': '',\n 'traded_goods_uom': '',\n 'traded_goods_other_uom': '',\n 'estimated_traded_goods_value': '',\n 'is_sufficiant_traded_goods': '',\n 'traded_goods_remarks':''};\n tradedGoods.push(this.createTradedGoods(Ref_Trade_Goods)); \n });\n }\n else{ \n tradedGoods.push(this.createTradedGoods(null)); \n }\n\n } else {\n if(datas.trading_traded_goods !==undefined)\n {\n datas.trading_traded_goods.forEach((val,index) => { \n if(val.estimated_traded_goods_value){\n this.inWords(val.estimated_traded_goods_value,4,index);\n }\n this.checkComments(val.is_sufficiant_traded_goods,4,index);\n tradedGoods.push(this.createTradedGoods(val)); \n });\n }\n else{\n tradedGoods.push(this.createTradedGoods(null)); \n }\n }\n }\n\n createTradedGoods(records) {\n if(records === null) {\n return this.fb.group({\n traded_goods_name: [''],\n traded_goods_observed: [''],\n traded_goods_quantity: [''],\n traded_goods_uom: [''],\n traded_goods_other_uom: [''],\n estimated_traded_goods_value: [''],\n is_sufficiant_traded_goods: [''],\n traded_goods_remarks:['']\n });\n }\n else {\n return this.fb.group({\n traded_goods_name: [records.traded_goods_name],\n traded_goods_observed: [records.traded_goods_observed],\n traded_goods_quantity: [records.traded_goods_quantity],\n traded_goods_uom: [records.traded_goods_uom],\n traded_goods_other_uom: [records.traded_goods_other_uom],\n estimated_traded_goods_value: [records.estimated_traded_goods_value],\n is_sufficiant_traded_goods: [records.is_sufficiant_traded_goods],\n traded_goods_remarks:[records.traded_goods_remarks]\n })\n }\n }\n \n /** Manufacturing -> To Add More Raw Material Details */\n addRawMaterials(flag) {\n if(flag==1){\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\n control.push(this.createRawmaterial(null));\n }\n }\n\n /** Manufacturing -> To Remove Raw Material Details */\n deleteRawMaterials(index,flag) {\n if(flag==1){\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_raw_materials'];\n control.removeAt(index);\n }\n }\n\n /** Manufacturing -> To Add More Finished Goods */\n addGoods(flag) {\n if(flag == 1){\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\n control.push(this.createGoods(null));\n }\n }\n\n /** Manufacturing -> To Remove Finished Goods */\n deleteGoods(index,flag) {\n if(flag == 1){\n const control = this.stockForm.controls['manufacturing_details']['controls'][0].controls['manufacturing_finished_goods'];\n control.removeAt(index);\n }\n }\n\n /**\n * Case 1 Retail Traded -> To Add More trade Goods\n * Case 2 wholesale Traded -> To Add More trade Goods\n */\n addTradedGoods(flag) {\n switch(flag){\n case 1: {\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\n control.push(this.createTradedGoods(null));\n break;\n }\n case 2: {\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\n control.push(this.createTradedGoods(null));\n break;\n }\n default: {\n break;\n }\n }\n }\n\n /**\n * Case 1 Retail Traded -> To remove trade Goods\n * Case 2 wholesale Traded -> To remove trade Goods\n */\n deleteTradedGoods(index,flag) {\n switch(flag){\n case 1: {\n const control = this.stockForm.controls['retail_details']['controls'][0].controls['retail_traded_goods'];\n control.removeAt(index);\n break;\n }\n case 2: {\n const control = this.stockForm.controls['trade_details']['controls'][0].controls['trading_traded_goods'];\n control.removeAt(index);\n break;\n }\n default: {\n break;\n }\n }\n \n //const control = this.stockForm.controls['traded_goods'];\n\n }\n\n checkComments(e,flag,index){\n if(flag == 1 && e=='no'){\n this.mrmCommentFlag[index] = true;\n }\n else if(flag == 1 && e!='no'){\n this.mrmCommentFlag[index] = false;\n }\n if(flag == 2 && e=='no'){\n this.mfgCommentFlag[index] = true;\n }\n else if(flag == 2 && e!='no'){\n this.mfgCommentFlag[index] = false;\n }\n if(flag == 3 && e=='no'){\n this.rtrdCommentFlag[index] = true;\n }\n else if(flag == 3 && e!='no'){\n this.rtrdCommentFlag[index] = false;\n }\n if(flag == 4 && e=='no'){\n this.wtrdCommentFlag[index] = true;\n }\n else if(flag == 4 && e!='no'){\n this.wtrdCommentFlag[index] = false;\n }\n }\n\n /** To Save/Edited Popup Data */\n saveStockInfo(answerFormValues) {\n //To Remove The \"Null\" With Key also\n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\n if(responsed['status'] == 200) { \n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }else{\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!'); \n }\n });\n }\n\n inWords(e,flag:number,i){\n switch(flag){\n case 1 :\n this.M_rawValueInWords[i] = this.constant.convertNumberToWords(e); \n break;\n case 2 : \n this.M_goodsValueInWords[i] = this.constant.convertNumberToWords(e); \n break;\n case 3 : \n this.R_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); \n break;\n case 4 : \n this.T_tradedGoodsValueInWords[i] = this.constant.convertNumberToWords(e); \n break;\n default:\n break;\n }\n}\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.ts","import { Component,ViewEncapsulation } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service'\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\nimport {QuestionCategoryProvider} from '../../../../providers/question-category/question-category'\nimport { FormGroup,Validators,FormBuilder, FormArray } from '@angular/forms'\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionFinancialInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-financial-info',\n templateUrl: 'pd-question-financial-info.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class PdQuestionFinancialInfoPage {\n \n public financialForm: FormGroup;\n\n pdDetails:any;\n FormId:any;\n users:any;\n company_id:any;\n isDisplay:boolean;\n customerCommentsFlag:boolean;\n FY_annualSalesInwords: any =[]\n FY_netProfitAmtInwords: any=[]\n FY_netLossAmtInwords: any=[]\n AV_annualSalesInwords: any=[]\n AV_netProfitAmtInwords: any=[]\n AV_netLossAmtInwords: any=[]\n AV_netProfitAmtFrmInwords: any=[]\n AV_netProfitAmtToInwords: any=[]\n AV_netLossAmtFrmInwords: any=[]\n AV_netLossAmtToInwords: any=[]\n AV_SalesFrmInwords: any=[]\n AV_SalesToInwords: any=[]\n AV_SalesInwords: any=[];\n AV_marginProfitAmtInwords: any=[];\n AV_marginLossAmtInwords: any=[];\n formDetails: any;\n\n av : any =[{id:6, name:'Letter of Credit'},\n {id:2, name:'Bank Guarantee'},\n {id:3, name:'Cash Credit Limit'},\n {id:7, name:'OD Limit'},\n {id:4, name:'Factoring'},\n {id:5, name:'Forfaiting'},\n {id:1, name:'Others'}]\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,\n public toast:ToastProvider, public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\n this.pdDetails=this.navParams.get('pdDetails');\n this.formDetails=this.navParams.get('formDetails');\n this.FormId = this.formDetails.form_id;\n // this.FormId=this.navParams.get('FormId');\n this.company_id=this.pdDetails.company_id\n this.users=this.aws.getlocale();\n \n this.initFinancialForm()\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionFinancialInfoPage');\n this.getDetails()\n }\n\n selectedStatement(e :any):void{\n\n if(e == 'yes'){\n\n this.isDisplay = true;\n this.financialForm.controls['is_financial_customer'].setValue('');\n \n }\n else if(e == 'no'){\n\n this.isDisplay = false;\n this.financialForm.controls['is_financial_customer'].setValue('no');\n // this.selectedFinancialCustomer('no');\n \n const statementControl = this.financialForm.controls['date_per_financial'];\n \n while (statementControl.length !== 0) {\n statementControl.removeAt(0);\n }\n const control = this.financialForm.controls['estimated_value'];\n control.push(this.createValue('')); \n this.financialForm.controls['financial_starting_year'].setValue('');\n this.financialForm.controls['financial_no_of_year'].setValue('');\n\n // alert((new Date()).getFullYear());\n // let year1 = (new Date()).getFullYear();\n // let year2 = ((new Date()).getFullYear() + 1); \n // let Year = year1 +'-'+ year2;\n \n }\n\n}\n /** fin customer data from Fin statement*/\n selectedFinancialCustomer(e: any): void {\n if(e == 'yes'){\n const control = this.financialForm.controls['estimated_value'];\n\n while (control.length !== 0) {\n control.removeAt(0);\n }\n }\n else if (e == 'no'){\n const control = this.financialForm.controls['estimated_value'];\n control.push(this.createValue('')); \n }\n }\n\n selectedProfitOrLossType(e,detail){\n \n if(e.value == 1){\n detail.controls.financial_net_loss.setValue('');\n detail.controls.financial_margin_of_loss.setValue('');\n }\n else if(e.value == 2){\n detail.controls.financial_net_profit.setValue('');\n detail.controls.financial_margin_of_profit.setValue('');\n }\n}\n\n\n /** For Auto-generating FinYear */\n dynamicalFinYear($event){\n \n let e = $event.target.value;\n if(e == 1){\n this.customerCommentsFlag = false;\n }\n else{\n this.customerCommentsFlag = true;\n }\n\n let startingYear = this.financialForm.controls['financial_starting_year'].value;\n\n const control = this.financialForm.controls['date_per_financial'];\n\n while (control.length !== 0) {\n control.removeAt(0);\n }\n\n if(e > 0 ){\n for(let i = 1 ; i<= e ; i++ ){\n let Year = (+startingYear+(i-1)) +'-'+ ((+startingYear)+(+i));\n control.push(this.createDate(Year));\n }\n }\n}\n\n\n initFinancialForm(){\n this.financialForm = this.fb.group({\n pdid: this.pdDetails.pd_id,\n formid: this.FormId,\n company_id: this.company_id,\n fk_createdby: this.users,\n financial_remarks: [''],\n is_financial_statements:[''],\n is_financial_customer:[''],\n financial_starting_year : ['',Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\n financial_no_of_year : [''],\n financial_reason: [''],\n financial_customer:[''],\n receive_the_money_in_days:[''],\n pay_the_money_in_days:[''],\n unsold_stock_lies_in_days:[''],\n is_there_working_capital_available:[''],\n working_capital_facilities_availed:[''],\n reason_for_working_capital_facilities_availed:[''],\n // same_as_financial_statements:[''],\n date_per_financial: this.fb.array([]),\n estimated_value: this.fb.array([])\n });\n }\n createDate(date){\n return this.fb.group({\n financial_year: [date, Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\n financial_annual_sale: ['', Validators.compose([Validators.pattern(/^[0-9\\(\\)]+$/)])],\n finanical_profit_or_loss:[''],\n financial_net_profit: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\n financial_net_loss: ['', Validators.compose([Validators.pattern(/^-?[1-9]\\d*|0$/)])],\n financial_margin_of_profit: [''],\n financial_margin_of_loss: [''],\n financial_variation: [''],\n financial_profit_to_sale_variation:[''],\n financial_annualsales_variation : [''],\n })\n }\n /** CREATING financial Customer ( financial_year AutoGenerate ) */\n createValue(date) {\n return this.fb.group({\n \n // estimate_year: ['', Validators.compose([Validators.pattern(/^[0-9]{4}-[0-9]{2}$/)])],\n estimate_sales_from: [''],\n estimate_sales_to: [''],\n estimate_sales_average: [''],\n estimate_profit_or_loss:[''],\n estimate_net_margin_availablity:[''],\n estimate_profit_range_from:[''],\n estimate_profit_range_to:[''],\n estimate_profit_margin_percent:[''],\n estimate_profit_margin:[''],\n estimate_net_profit_from:[''],\n estimate_net_profit_to:[''],\n estimate_net_profit_percent:[''],\n estimate_net_profit:[''],\n estimate_loss_range_from:[''],\n estimate_loss_range_to:[''],\n estimate_loss_margin_percent:[''],\n estimate_loss_margin:[''],\n estimate_net_loss_from:[''],\n estimate_net_loss_to:[''],\n estimate_net_loss_percent:[''],\n estimate_net_loss:[''],\n estimate_reason_for_loss:[''],\n // estimate_receive_the_money_in_days:[''],\n // estimate_pay_the_money_in_days:[''],\n // estimate_unsold_stock_lies_in_days:[''],\n // estimate_working_capital_facilities_availed:[''],\n // reason_for_working_capital_facilities_availed:[''],\n // is_there_working_capital_available:['']\n\n });\n}\nsubmitDetails(){\n \n \n if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 1){\n \n this.financialForm.value.date_per_financial['financial_net_profit'].setValidators([Validators.required]);\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity();\n \n this.financialForm.value.date_per_financial['financial_net_loss'].clearValidators();\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\n \n this.financialForm.value.date_per_financial['financial_margin_of_profit'].setValidators([Validators.required]);\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity();\n \n this.financialForm.value.date_per_financial['financial_margin_of_loss'].clearValidators();\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\n \n }else if(this.financialForm.value.date_per_financial['finanical_profit_or_loss'] == 2) {\n \n this.financialForm.value.date_per_financial['financial_net_profit'].clearValidators();\n this.financialForm.value.date_per_financial['financial_net_profit'].updateValueAndValidity(); \n \n this.financialForm.value.date_per_financial['financial_net_loss'].setValidators([Validators.required]);\n this.financialForm.value.date_per_financial['financial_net_loss'].updateValueAndValidity();\n \n this.financialForm.value.date_per_financial['financial_margin_of_profit'].clearValidators();\n this.financialForm.value.date_per_financial['financial_margin_of_profit'].updateValueAndValidity(); \n \n this.financialForm.value.date_per_financial['financial_margin_of_loss'].setValidators([Validators.required]);\n this.financialForm.value.date_per_financial['financial_margin_of_loss'].updateValueAndValidity();\n \n}\n let records=this.financialForm.value;\n this.qustCat.saveForm(records).subscribe(res=>{\n if(res['status']== 200){\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n else{\n this.toast.pdTriggerappmessage(\"Warning !! Something went Wrong\");\n }\n },err=>{\n this.toast.pdTriggerappmessage(\"Server is not Responding\");\n })\n}\n getDetails(){\n const financeDate=this.financialForm.controls['date_per_financial']\n //financeDate.push(this.createDate(''))\n const estimate= this.financialForm.controls['estimated_value']\n //estimate.push(this.createValue(''))\n let params:any={}\n params.pd_id=this.pdDetails.pd_id\n params.pd_form_id=this.FormId\n params.company_id=this.company_id\n this.qustCat.retiverForm(params).subscribe(value=>{\n if(value['dataStatus']==true){\n let retrieveData=value['records'];\n if(value['records'].is_financial_statements == 'yes'){\n let result=Object.keys(value['records'].date_per_financial).map(function(key) {\n return value['records'].date_per_financial[key]\n })\n if(result.length>0){\n this.customerCommentsFlag=result.length == 1 ? false : true\n result.forEach((val,index)=>{\n this.FY_annualSalesInwords[index]=this.cons.convertNumberToWords(val.financial_annual_sale);\n this.FY_netProfitAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_profit);\n this.FY_netLossAmtInwords[index]=this.cons.convertNumberToWords(val.financial_net_loss)\n financeDate.push(this.createDate(''));\n });\n retrieveData.date_per_financial=result;\n }\n else{\n financeDate.push(this.createDate(''))\n }\n }\n let result_val=Object.keys(value['records'].estimated_value).map(function(key){\n return value['records'].estimated_value[key]\n });\n if(result_val.length>0){\n result_val.forEach((val,index)=>{\n this.AV_SalesInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_average));\n this.AV_SalesFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_from));\n this.AV_SalesToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_sales_to));\n this.AV_marginProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\n this.AV_netProfitAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\n this.AV_netProfitAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\n this.AV_netProfitAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_profit));\n this.AV_marginLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_loss_margin));\n this.AV_netLossAmtFrmInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\n this.AV_netLossAmtToInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_profit_margin));\n this.AV_netLossAmtInwords[index] = this.cons.convertNumberToWords(Math.round(val.estimate_net_loss));\n estimate.push(this.createValue(''))\n });\n retrieveData.estimated_value=result_val\n }\n else{\n estimate.push(this.createValue(''));\n }\n retrieveData.pdid=this.pdDetails.pd_id\n retrieveData.company_id=this.company_id\n retrieveData.fk_createdby=this.users\n retrieveData.formid=this.FormId\n this.financialForm.setValue(retrieveData)\n }\n else {\n //financial_date.push(this.createDate());\n //estimated_val.push(this.createValue(''));\n }\n })\n }\n\n /**\n * New Calculation for Finanical Statement \n **/\n calculationForFinanicalStatement(){\n \n let parentArray = this.financialForm.controls['date_per_financial'];\n // let prev_annual_sale : any = '';\n // let prev_profit_margin : any = '';\n // let prev_loss_margin : any = '';\n // let prev_profit_amt : any = '';\n // let prev_loss_amt : any = '';\n // let profit_margin : any = '';\n // let loss_margin : any = '';\n // let annual_sale : any = '';\n // let profit_amt : any = '';\n // let loss_amt : any = '';\n let prev_annual_sale : any = '';\n let prev_profit_margin : any = [];\n let prev_loss_margin : any = [];\n let prev_profit_amt : any = '';\n let prev_loss_amt : any = '';\n let profit_margin : any = '';\n let loss_margin : any = '';\n let annual_sale : any = '';\n let profit_amt : any = '';\n let loss_amt : any = '';\n\n parentArray.value.forEach((val,index) => {\n\n let childArray : any = parentArray.controls[index];\n annual_sale = val.financial_annual_sale;\n \n /** Calculating Sale Variation Based on Prev.Year ( Datas returns in percentage ) \n * Label name = \" Sale Variation from Previous Year in % \"\n */\n \n if (index != 0) { \n if(annual_sale != ''){\n let annual_sale_variation = (( annual_sale - prev_annual_sale)/prev_annual_sale) * 100 ;\n let final_annual_sale_variation = (annual_sale_variation!= Infinity) ? !(Number.isNaN(annual_sale_variation)) ? annual_sale_variation.toFixed(2): 0.00 : 0.00;\n childArray.controls.financial_annualsales_variation.setValue(final_annual_sale_variation);\n }\n }\n else{\n childArray.controls.financial_annualsales_variation.setValue(0.00);\n }\n \n\n prev_annual_sale = annual_sale;\n /******************************************** Calculation Sale Variation ends Here ******************************************************************************************************/\n\n\n profit_amt = val.financial_net_profit;\n loss_amt = val.financial_net_loss;\n\n /** Calculating Profit's Variation - STARTS HERE\n * Label name = \"Profit Variation from Previous Year in %\"\n */\n if((profit_amt != '' || loss_amt != '') && index != 0) {\n if(+profit_amt > +annual_sale){\n childArray.controls.financial_margin_of_profit.setValue('');\n } \n else{\n loss_amt = val.financial_net_loss != 0 ? val.financial_net_loss * (-1) : val.financial_net_loss;\n prev_loss_amt = prev_loss_amt != 0 ? prev_loss_amt * (-1) : prev_loss_amt ;\n\n let variation = (((profit_amt != '' ? profit_amt : loss_amt ) - (prev_profit_amt != '' ? prev_profit_amt : prev_loss_amt ))/ (prev_profit_amt != '' ? Math.abs(prev_profit_amt) : Math.abs(prev_loss_amt))) * 100; \n let final_variation = variation!= Infinity ? !(Number.isNaN(variation)) ? variation.toFixed(2) : 0.00 : 0.00 ;\n childArray.controls.financial_variation.setValue(final_variation);\n\n }\n }\n prev_profit_amt = val.financial_net_profit != '' ? val.financial_net_profit : 0;\n prev_loss_amt = val.financial_net_loss !='' ? val.financial_net_loss : 0 ;\n /********************************* Calculating Profit's Variation - ENDS HERE **************************************************************/\n\n /** Calculating Net Profit (or) Net Loss (and) Sales's Profit Variation \n * Label name = \"Net Profit to Sales in % (or) Net Loss to Sales in % \n **/\n let SelectedlossOrProfit = val.finanical_profit_or_loss;\n \n if(SelectedlossOrProfit == 1){\n\n loss_margin = '';\n childArray.controls.financial_margin_of_loss.setValue('');\n \n if (annual_sale != '' && val.financial_net_profit != '') {\n if(+profit_amt>+annual_sale){\n // alert(\"profit is greater than Annual Sale \");\n this.toast.pdTriggerappmessage(\"profit is greater than Annual Sale \")\n childArray.controls.financial_net_profit.setValue(0);\n childArray.controls.financial_margin_of_profit.setValue('');\n childArray.controls.financial_profit_to_sale_variation.setValue('');\n childArray.controls.financial_variation.setValue('');\n }\n else{\n profit_margin = (val.financial_net_profit / val.financial_annual_sale) * 100;\n childArray.controls.financial_margin_of_profit.setValue(profit_margin!= Infinity ? !(Number.isNaN(profit_margin)) ? profit_margin.toFixed(2):0:0);\n \n }\n }\n }\n else if(SelectedlossOrProfit == 2){\n profit_margin = '';\n childArray.controls.financial_margin_of_profit.setValue('');\n \n if (annual_sale != '' && val.financial_net_loss != '') {\n if(+val.financial_net_loss>+annual_sale){\n // alert(\"Loss is greater than Annual Sale \");\n this.toast.pdTriggerappmessage(\"Loss is greater than Annual Sale \")\n childArray.controls.financial_net_loss.setValue(0);\n childArray.controls.financial_margin_of_loss.setValue('');\n childArray.controls.financial_profit_to_sale_variation.setValue('');\n childArray.controls.financial_variation.setValue('');\n }\n if(+loss_amt>+annual_sale){\n childArray.controls.financial_net_loss.setValue(0);\n childArray.controls.financial_margin_of_loss.setValue('');\n childArray.controls.financial_profit_to_sale_variation.setValue('');\n childArray.controls.financial_variation.setValue('');\n }\n else{\n \n\n loss_margin = (val.financial_net_loss/val.financial_annual_sale) * 100 * (-1);\n\n\n childArray.controls.financial_margin_of_loss.setValue(loss_margin != Infinity ? !(Number.isNaN(loss_margin)) ? loss_margin.toFixed(2) : 0 : 0);\n \n }\n }\n }\n\n prev_profit_margin[index] = val.financial_margin_of_profit != '' ? val.financial_margin_of_profit: 0;\n prev_loss_margin[index] = val.financial_margin_of_loss !='' ? val.financial_margin_of_loss : 0 ;\n \n // if(index != 0 ){\n \n // let variation_percent = (((profit_margin != '' ? profit_margin : loss_margin ) - (prev_profit_margin != '' ? prev_profit_margin : prev_loss_margin ))/ (prev_profit_margin != '' ? Math.abs(prev_profit_margin) : Math.abs(prev_loss_margin))) * 100; \n \n // let final_variation_percent = variation_percent != Infinity ? !(Number.isNaN(variation_percent)) ? variation_percent.toFixed(2) :0: 0;\n \n // childArray.controls.financial_profit_to_sale_variation.setValue(final_variation_percent);\n\n // }\n\n /**************************** Calculating Net Profit (or) Net Loss - ENDS HERE **************************************************************/\n\n /** Calculating Sales's Profit Variation \n * Label name = \"Variation of Profit % over sales\"\n **/\n \n if ((profit_margin != '' || loss_margin != '') && index != 0) {\n \n\n loss_margin = loss_margin !== undefined ? loss_margin : 0;\n profit_margin = profit_margin !== undefined ? profit_margin:0;\n let temp_prev_loss_margin = prev_loss_margin[index-1] !== undefined ? prev_loss_margin[index-1] : 0 ;\n let temp_prev_profit_margin = prev_profit_margin[index-1] !== undefined ? prev_profit_margin[index-1] : 0 ;\n\n \n if(annual_sale != ''){\n\n \n let a = (profit_margin != '' ? profit_margin : loss_margin ) - (temp_prev_profit_margin != 0 ? temp_prev_profit_margin : temp_prev_loss_margin);\n let b = a / (temp_prev_profit_margin != 0 ? Math.abs(temp_prev_profit_margin) : Math.abs(temp_prev_loss_margin));\n let c = b * 100;\n \n let final_percent = c != Infinity ? !(Number.isNaN(c)) ? c != -Infinity ? c.toFixed(2) : 0 : 0 : 0 ;\n \n childArray.controls.financial_profit_to_sale_variation.setValue(final_percent);\n }\n }\n /**************************** Calculating Sales's Profit Variation - ENDS HERE **************************************************************/\n\n\n });\n }\n\n confirmAlert(i, details){\n\n let estimate_sales_from = +details.value.estimate_sales_from;\n let estimate_sales_to = +details.value.estimate_sales_to;\n\n if (estimate_sales_from != null && estimate_sales_to != null){\n \n if(+estimate_sales_from>+estimate_sales_to){\n // alert(\"Given To value is lower than From Value\");\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\n details.controls.estimate_sales_to.setValue('');\n details.controls.estimate_sales_average.setValue('');\n return;\n }\n\n let C = (estimate_sales_to - estimate_sales_from)\n let D = (C / estimate_sales_from) * 100;\n \n if(estimate_sales_from <= 5000000){\n if(D > 20){\n var r = confirm(\"Given Sales Range is greater than 20%\");\n if (r == true) {\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \n }else{\n details.controls.estimate_sales_to.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\n }\n }\n else if(estimate_sales_from > 5000000 && estimate_sales_from <= 10000000){\n if(D > 15){\n var r = confirm(\"Given Sales Range is greater than 15%\");\n if (r == true) {\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \n }else{\n details.controls.estimate_sales_to.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\n }\n }\n else if(estimate_sales_from > 10000000){\n if(D > 10){\n var r = confirm(\"Given Sales Range is greater than 10%\");\n if (r == true) {\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0); \n }else{\n details.controls.estimate_sales_to.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\n }\n }\n else{\n details.controls.estimate_sales_to.setValue(estimate_sales_to!= Infinity ? estimate_sales_to:0);\n }\n\n // if(D >= 30){\n // var r = confirm(\"Given Sales Range is greater than 30%\");\n // if (r == true) {\n // details.controls.estimate_sales_to.setValue(estimate_sales_to); \n // }else{\n // details.controls.estimate_sales_to.setValue('');\n // return;\n // }\n // }\n // else{\n // details.controls.estimate_sales_to.setValue(estimate_sales_to);\n // }\n }\n this.calculateSalesAverage(i, details);\n }\n\n calculateSalesAverage(i, details){\n \n let estimate_sales_from = details.value.estimate_sales_from;\n let estimate_sales_to = details.value.estimate_sales_to;\n\n if(estimate_sales_from != '' && estimate_sales_to != ''){\n\n let range1 = +estimate_sales_from/10;\n \n let lower = (+estimate_sales_from)+range1;\n let higer = ((+estimate_sales_to + +estimate_sales_from) / 2);\n\n if(lower > higer){\n details.controls.estimate_sales_average.setValue(higer!= Infinity ? higer.toFixed(2):0);\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_sales_average.setValue(lower!= Infinity ? lower.toFixed(2):0);\n this.AV_SalesInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n }\n \n }\n else{\n details.controls.estimate_sales_average.setValue('');\n }\n\n }\n calculateMarginProfit( i, details){\n\n let sales_average = details.value.estimate_sales_average;\n if(sales_average == ''){\n // alert(\"Considered Sales Average is Empty\");\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\n details.controls.estimate_profit_range_from.setValue('');\n details.controls.estimate_profit_range_to.setValue('');\n details.controls.estimate_profit_margin.setValue('');\n details.controls.estimate_profit_margin_percent.setValue('');\n return;\n }\n let estimate_profit_range_from = details.value.estimate_profit_range_from;\n if(+estimate_profit_range_from > 100){\n // alert('Given Profit percent is More Than 100');\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\n details.controls.estimate_profit_range_from.setValue('');\n details.controls.estimate_profit_range_to.setValue('');\n details.controls.estimate_profit_margin.setValue('');\n details.controls.estimate_profit_margin_percent.setValue('');\n return;\n\n }\n \n let estimate_profit_range_to = details.value.estimate_profit_range_to;\n \n if(+estimate_profit_range_to > 100){\n // alert('Given Profit percent is More Than 100');\n this.toast.pdTriggerappmessage(\"Given Profit percent is More Than 100\")\n details.controls.estimate_profit_range_to.setValue('');\n details.controls.estimate_profit_margin.setValue('');\n details.controls.estimate_profit_margin_percent.setValue('');\n return;\n\n }\n\n if (sales_average != '' && estimate_profit_range_from != '' && estimate_profit_range_to != ''){\n if(+estimate_profit_range_from>+estimate_profit_range_to){\n // alert(\"Given To value is lower than From Value\");\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\n details.controls.estimate_profit_range_to.setValue('');\n details.controls.estimate_profit_margin.setValue('');\n details.controls.estimate_profit_margin_percent.setValue('');\n return;\n }\n\n \n let profit_percent = (estimate_profit_range_to + estimate_profit_range_from)/2; \n let Profit_Average = (profit_percent*sales_average)/100;\n let difference = (estimate_profit_range_to - estimate_profit_range_from);\n\n if(difference > 3){\n var r = confirm(\"Given Profit Percent Range is greater than 3\");\n if (r == true) {\n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \n }else{\n details.controls.estimate_profit_range_to.setValue('');\n details.controls.estimate_profit_margin.setValue('');\n details.controls.estimate_profit_margin_percent.setValue('');\n return;\n }\n }\n \n details.controls.estimate_profit_margin.setValue(Profit_Average!= Infinity ? Math.round(Profit_Average):0);\n details.controls.estimate_profit_margin_percent.setValue(profit_percent!= Infinity ? profit_percent.toFixed(2):0);\n this.AV_marginProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(Profit_Average)); \n // details.controls.estimate_profit_margin.setValue(Math.round(Profit_Average));\n // details.controls.estimate_profit_margin_percent.setValue(profit_percent.toFixed(2));\n \n \n \n }\n \n }\n\n\n calculateProfitAmount( i, details){\n\n let sales_average = details.value.estimate_sales_average;\n if(sales_average == ''){\n //alert(\"Considered Sales Average is Empty\");\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\n details.controls.estimate_net_profit_from.setValue('');\n details.controls.estimate_net_profit_to.setValue('');\n details.controls.estimate_net_profit.setValue('');\n details.controls.estimate_net_profit_percent.setValue('');\n return;\n }\n\n let estimate_net_profit_from = details.value.estimate_net_profit_from;\n let estimate_net_profit_to = details.value.estimate_net_profit_to;\n\n if(+estimate_net_profit_to>+sales_average){\n \n //alert(\"Given Profit is Greater than Sales\");\n this.toast.pdTriggerappmessage(\"Given Profit is Greater than Sales\")\n details.controls.estimate_net_profit_from.setValue('');\n details.controls.estimate_net_profit_to.setValue('');\n details.controls.estimate_net_profit.setValue('');\n details.controls.estimate_net_profit_percent.setValue('');\n return;\n }\n\n\n if (sales_average != '' && estimate_net_profit_from != '' && estimate_net_profit_to != ''){\n if(+estimate_net_profit_from>+estimate_net_profit_to){\n // alert(\"Given To value is lower than From Value\");\n this.toast.pdTriggerappmessage(\"Given To value is lower than From Value\")\n details.controls.estimate_net_profit_to.setValue('');\n details.controls.estimate_net_profit.setValue('');\n details.controls.estimate_net_profit_percent.setValue('');\n return;\n }\n \n let C = (estimate_net_profit_to - estimate_net_profit_from)\n let D = (C / estimate_net_profit_from) * 100;\n \n let range1 = +estimate_net_profit_from/10;\n \n let lower = (+estimate_net_profit_from)+range1;\n let higer = ((+estimate_net_profit_to + +estimate_net_profit_from) / 2);\n\n if(estimate_net_profit_from <= 5000000){\n if(D >= 20){\n var r = confirm(\"Given Profit Range is greater than 20%\");\n if (r == true) {\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\n }else{\n details.controls.estimate_net_profit_to.setValue('');\n details.controls.estimate_net_profit.setValue('');\n details.controls.estimate_net_profit_percent.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0);\n }\n\n if(lower > higer){\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let Profit_percent = (higer/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let Profit_percent = (lower/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n }\n else if(estimate_net_profit_from > 5000000 || estimate_net_profit_from <= 10000000){\n if(D >= 15){\n var r = confirm(\"Given Sales Range is greater than 15%\");\n if (r == true) {\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \n \n }else{\n details.controls.estimate_net_profit_to.setValue('');\n details.controls.estimate_net_profit.setValue('');\n details.controls.estimate_net_profit_percent.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \n }\n\n if(lower > higer){\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let Profit_percent = (higer/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let Profit_percent = (lower/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n\n }\n else if(estimate_net_profit_from > 10000000){\n if(D >= 10){\n var r = confirm(\"Given Sales Range is greater than 10%\");\n if (r == true) {\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \n }else{\n details.controls.estimate_net_profit_to.setValue('');\n details.controls.estimate_net_profit.setValue('');\n details.controls.estimate_net_profit_percent.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \n }\n\n if(lower > higer){\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let Profit_percent = (higer/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let Profit_percent = (lower/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n }\n else{\n details.controls.estimate_net_profit_to.setValue(estimate_net_profit_to!= Infinity ? estimate_net_profit_to:0); \n if(lower > higer){\n details.controls.estimate_net_profit.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let Profit_percent = (higer/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_profit.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let Profit_percent = (lower/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(Profit_percent!= Infinity ? Profit_percent.toFixed(2):0);\n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n }\n \n }\n \n}\n\ncalculateMarginLoss( i, details){\n\n let sales_average = details.value.estimate_sales_average;\n if(sales_average == ''){\n // alert(\"Considered Sales Average is Empty\");\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\n details.controls.estimate_loss_range_from.setValue('');\n details.controls.estimate_loss_range_to.setValue('');\n details.controls.estimate_loss_margin.setValue('');\n details.controls.estimate_loss_margin_percent.setValue('');\n return;\n }\n // else{\n let estimate_loss_range_from = details.value.estimate_loss_range_from;\n if(+estimate_loss_range_from > 100){\n // alert('Given Loss Percent is more than 100');\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\n details.controls.estimate_loss_range_from.setValue('');\n details.controls.estimate_loss_range_to.setValue('');\n details.controls.estimate_loss_margin.setValue('');\n details.controls.estimate_loss_margin_percent.setValue('');\n return;\n\n }\n \n let estimate_loss_range_to = details.value.estimate_loss_range_to;\n if(+estimate_loss_range_to > 100){\n // alert('Given Loss Percent is more than 100');\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100 \")\n details.controls.estimate_loss_range_from.setValue('');\n details.controls.estimate_loss_range_to.setValue('');\n details.controls.estimate_loss_margin.setValue('');\n details.controls.estimate_loss_margin_percent.setValue('');\n return;\n\n }\n \n\n if (sales_average != '' && estimate_loss_range_from != '' && estimate_loss_range_to != ''){\n \n if(+estimate_loss_range_from>+estimate_loss_range_to){\n //alert(\"Given Loss Percent is more than 100\");\n this.toast.pdTriggerappmessage(\"Given Loss Percent is more than 100\")\n details.controls.estimate_loss_range_to.setValue('');\n details.controls.estimate_loss_margin.setValue('');\n details.controls.estimate_loss_margin_percent.setValue('');\n return;\n }\n \n let loss_percent = (estimate_loss_range_to + estimate_loss_range_from)/2;\n let loss_Average = (loss_percent*sales_average)/100;\n let difference = (estimate_loss_range_to - estimate_loss_range_from)\n\n // details.controls.estimate_loss_margin.setValue(Math.round(loss_Average));\n // details.controls.estimate_loss_margin_percent.setValue(loss_percent.toFixed(2));\n \n // this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \n\n if(difference > 3){\n var r = confirm(\"Given Loss Percent Range is greater than 3\");\n if (r == true) {\n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n \n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \n }else{\n details.controls.estimate_loss_range_to.setValue('');\n details.controls.estimate_loss_margin.setValue('');\n details.controls.estimate_loss_margin_percent.setValue('');\n return;\n }\n } \n \n details.controls.estimate_loss_margin.setValue(loss_Average!= Infinity ? Math.round(loss_Average):0);\n details.controls.estimate_loss_margin_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_marginLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(loss_Average)); \n }\n\n}\n\n\ncalculateLossAmount( i, details){\n\n let sales_average = details.value.estimate_sales_average;\n if(sales_average == ''){\n // alert(\"Considered Sales Average is Empty\");\n this.toast.pdTriggerappmessage(\"Considered Sales Average is Empty\")\n details.controls.estimate_net_loss_from.setValue('');\n details.controls.estimate_net_loss_to.setValue('');\n details.controls.estimate_net_loss.setValue('');\n details.controls.estimate_net_loss_percent.setValue('');\n return;\n }\n\n let estimate_net_loss_from = details.value.estimate_net_loss_from;\n let estimate_net_loss_to = details.value.estimate_net_loss_to;\n\n if(+estimate_net_loss_to > +sales_average){\n \n // alert(\"Given Loss is Greater than Sales\");\n this.toast.pdTriggerappmessage(\"Given Loss is Greater than Sales\")\n details.controls.estimate_net_loss_from.setValue('');\n details.controls.estimate_net_loss_to.setValue('');\n details.controls.estimate_net_loss.setValue('');\n details.controls.estimate_net_loss_percent.setValue('');\n return;\n }\n\n \n if (sales_average != '' && estimate_net_loss_from != '' && estimate_net_loss_to != ''){\n if(+estimate_net_loss_from > +estimate_net_loss_to){\n //alert(\"Given To value is Lower than From Value\");\n this.toast.pdTriggerappmessage(\"Given To value is Lower than From Value\")\n details.controls.estimate_net_loss_to.setValue('');\n details.controls.estimate_net_loss.setValue('');\n details.controls.estimate_net_loss_percent.setValue('');\n return;\n }\n\n \n \n // if(+estimate_net_loss_to > +estimate_net_loss_from){\n // alert(\"loss is greater than sales\");\n // details.controls.estimate_net_loss_to.setValue('');\n // details.controls.estimate_net_loss.setValue('');\n // details.controls.estimate_net_loss_percent.setValue('');\n // return;\n // }\n \n \n let C = (estimate_net_loss_to - estimate_net_loss_from)\n let D = (C / estimate_net_loss_from) * 100;\n \n let range1 = +estimate_net_loss_from/10;\n \n let lower = (+estimate_net_loss_from)+range1;\n let higer = ((+estimate_net_loss_to + +estimate_net_loss_from) / 2);\n\n if(estimate_net_loss_from <= 5000000){\n if(D >= 20){\n var r = confirm(\"Given Profit Range is greater than 20%\");\n if (r == true) {\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\n \n }else{\n details.controls.estimate_net_loss_to.setValue('');\n details.controls.estimate_net_loss.setValue('');\n details.controls.estimate_net_loss_percent.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0);\n }\n\n if(lower > higer){\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let loss_percent = (higer/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let loss_percent = (lower/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n\n }\n else if(estimate_net_loss_from > 5000000 || estimate_net_loss_from <= 10000000){\n if(D >= 15){\n var r = confirm(\"Given Sales Range is greater than 15%\");\n if (r == true) {\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \n }else{\n details.controls.estimate_net_loss_to.setValue('');\n details.controls.estimate_net_loss.setValue('');\n details.controls.estimate_net_loss_percent.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \n }\n\n if(lower > higer){\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let loss_percent = (higer/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let loss_percent = (lower/sales_average)*100;\n details.controls.estimate_net_profit_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n }\n else if(estimate_net_loss_from > 10000000){\n if(D >= 10){\n var r = confirm(\"Given Sales Range is greater than 10%\");\n if (r == true) {\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \n }else{\n details.controls.estimate_net_loss_to.setValue('');\n details.controls.estimate_net_loss.setValue('');\n details.controls.estimate_net_loss_percent.setValue('');\n return;\n }\n }\n else{\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \n \n }\n if(lower > higer){\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let loss_percent = (higer/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let loss_percent = (lower/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n } \n \n }\n else{\n details.controls.estimate_net_loss_to.setValue(estimate_net_loss_to!= Infinity ? estimate_net_loss_to:0); \n if(lower > higer){\n details.controls.estimate_net_loss.setValue(higer!= Infinity ? higer.toFixed(2):0);\n let loss_percent = (higer/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(higer)); \n }\n else{\n details.controls.estimate_net_loss.setValue(lower!= Infinity ? lower.toFixed(2):0);\n let loss_percent = (lower/sales_average)*100;\n details.controls.estimate_net_loss_percent.setValue(loss_percent!= Infinity ? loss_percent.toFixed(2):0);\n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(Math.round(lower)); \n }\n }\n \n }\n \n}\n\n \n\n\n \n\n /** On Key Press Event For Input Field */\n keyPress(event: any) {\n //const pattern = /[0-9\\-\\.\\ ]/;\n const pattern = /[0-9\\.]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n /** To Convert Amount into Words */\n inWords(e,i,flag:number){\n\n switch(flag){\n case 1 :\n this.FY_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \n // this.placeholderName[i] = 'Weekly Instalment Amount'; break;\n break;\n case 2 : \n this.FY_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \n //alert('Fin net Profit'+this.FY_netProfitAmtInwords[i]);\n break;\n case 3 : \n this.FY_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \n // alert('Fin net Loss'+this.FY_netLossAmtInwords[i]);\n break;\n case 4 : \n this.AV_annualSalesInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 5 : \n this.AV_netProfitAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 6 : \n this.AV_netLossAmtInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 7 : \n this.AV_netProfitAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 8 : \n this.AV_netProfitAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 9 : \n this.AV_netLossAmtFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 10 : \n this.AV_netLossAmtToInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 11 : \n this.AV_SalesFrmInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 12 : \n this.AV_SalesToInwords[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n default:\n break;\n }\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionClientInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-client-info',\n templateUrl: 'pd-question-client-info.html',\n})\nexport class PdQuestionClientInfoPage {\n\n users: any;\n pdDetails: any;\n formDetails: any;\n pdid: any;\n company_id: any;\n questionDetails: any;\n clientInfoForm: FormGroup;\n\n\n\n\n public submitted = false;\n\n public m_paymentType = [];\n\n companyRelationShipList: any = [];\n\n titleList: any = [];\n noRecordsFound: Boolean = false;\n errorMessage: any = '';\n m_manufacturingProducts: any = [];\n m_tradingProducts: any = [];\n m_suplierProducts: any = [];\n\n\n constructor(public navCtrl: NavController, public navParams: NavParams, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider, public fb: FormBuilder) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.formDetails = this.navParams.get('formDetails');\n this.users = this.aws.getlocale();\n this.pdid = this.pdDetails.pd_id;\n this.company_id = this.pdDetails.company_id;\n\n this.qustCat.getTypeofActivityForSuppliedInfoForm(this.pdid, this.company_id).subscribe(data => {\n\n if (data.dataStatus) {\n\n let datas = data.records;\n this.m_manufacturingProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 2) { return data } }).map(data => [...data.prodcuts]);\n // this.m_tradingProducts = datas.type_of_activity.filter(data=>{if(data.type_of_activity_id == 3){return data}}).map(data=> [...data.prodcuts]);\n this.m_suplierProducts = datas.type_of_activity.filter(data => { if (data.type_of_activity_id == 5) { return data } }).map(data => [...data.prodcuts]);\n let api = Object.keys(datas.type_of_activity).map(function (key) {\n return datas.type_of_activity[key];\n });\n if (api.length > 0) {\n api.forEach(val => {\n if (val.type_of_activity_id == 3) {\n if (val.prodcuts) {\n this.m_tradingProducts.push(val.prodcuts);\n }\n }\n\n if (val.type_of_activity_id == 4) {\n if (val.prodcuts) {\n this.m_tradingProducts.push(val.prodcuts);\n }\n }\n });\n }\n this.m_tradingProducts = [].concat.apply([], this.m_tradingProducts);\n\n this.initFormLoadDetails(datas.type_of_activity);\n\n } else {\n this.toast.pdTriggerappmessage('No Category Records Found.!');\n this.noRecordsFound = false;\n this.errorMessage = data.msg;\n }\n }, err => {\n this.toast.pdTriggerappmessage('No Category Records Found.!');\n this.noRecordsFound = false;\n this.errorMessage = 'No Records Found , Something went Wrong!';\n });\n\n this.getdropList();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionClientInfoPage');\n }\n\n initFormLoadDetails(record) {\n let params: any = {};\n params.pd_id = this.pdid;\n params.pd_form_id = this.formDetails.form_id;\n params.company_id = this.company_id;\n this.qustCat.retiverForm(params).subscribe(\n data => {\n if (data['dataStatus']) {\n let dataForm = data['records'];\n if (dataForm !== undefined) {\n this.clientInfoForm = this.fb.group({\n pdid: [this.pdid],\n formid: [this.formDetails.form_id],\n company_id: [this.company_id],\n fk_createdby: [this.users],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\n });\n // Load form details for manufacturing\n let arr = record.filter(data => data.type_of_activity_id == 2);\n // if(dataForm.manufacturing_details[0].main_raw_materials){\n if (arr.length > 0) {\n // let api_main_raw_materials = Object.keys(dataForm.main_raw_materials).map(function (key) {\n // return dataForm.main_raw_materials[key];\n // });\n if(dataForm.manufacturing_details){\n console.log(dataForm)\n \n let api_main_raw_materials = dataForm.manufacturing_details[0].main_raw_materials;\n\n this.initManufacturingProductsDetails(api_main_raw_materials);\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(dataForm.manufacturing_details[0].main_raw_materials_total_payments_percent_on_credit || null);\n }\n else{\n console.log(\"NO Data\",dataForm)\n this.initManufacturingProductsDetails(null)\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue( null);\n }\n }\n // }\n\n // Load form details for the wholeshale trading details\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr1.length > 0) {\n // let api_trading_products = Object.keys(dataForm.trading_products).map(function (key) {\n // return dataForm.trading_products[key];\n // });\n if(dataForm.trade_details){\n let api_trading_products = dataForm.trade_details[0].trading_products;\n\n this.initTradingProductsDetails(api_trading_products);\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(dataForm.trade_details[0].trading_products_total_payments_percent_on_credit || null);\n }\n else{\n this.initTradingProductsDetails(null);\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue( null);\n }\n }\n\n // Load form details for the service provider prduct details \n let arr2 = record.filter(data => data.type_of_activity_id == 5);\n if (arr2.length > 0) {\n // let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\n // return dataForm.service_products[key];\n // });\n if(dataForm.service_provider_details){\n let api_service_provider_products = dataForm.service_provider_details[0].service_products;\n this.initServiceProviderProductsDetails(api_service_provider_products);\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(dataForm.service_provider_details[0].service_products_total_payments_percent_on_credit || null);\n }\n else{\n this.initServiceProviderProductsDetails(null)\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\n }\n }\n // Load form details for the retail trading details\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\n // if (arr3.length > 0) {\n // this.retaildTradingForm = true;\n // }\n this.noRecordsFound = true;\n } else {\n this.clientInfoForm = this.fb.group({\n pdid: [this.pdid],\n formid: [this.formDetails.form_id],\n company_id: [this.company_id],\n fk_createdby: [this.users],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\n supplier_info_form_remark: [dataForm.supplier_info_form_remark || null]\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\n });\n let arr = record.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n this.initManufacturingProductsDetails(null);\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\n }\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr1.length > 0) {\n this.initTradingProductsDetails(null);\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\n }\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\n if (arr2.length > 0) {\n let api_service_provider_products = Object.keys(dataForm.service_products).map(function (key) {\n return dataForm.service_products[key];\n });\n this.initServiceProviderProductsDetails(api_service_provider_products);\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\n }\n // Load form details for the retail trading details\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\n // if (arr3.length > 0) {\n // this.retaildTradingForm = true;\n // }\n this.noRecordsFound = true;\n }\n } else {\n this.clientInfoForm = this.fb.group({\n pdid: [this.pdid],\n formid: [this.formDetails.form_id],\n company_id: [this.company_id],\n fk_createdby: [this.users],\n manufacturing_details: this.fb.array([this.manufacturingFormCreation(record)]),\n trade_details: this.fb.array([this.tradingFormCreation(record)]),\n service_provider_details: this.fb.array([this.serviceProviderFormCreation(record)]),\n supplier_info_form_remark: []\n // wholesale_trade_details: this.fb.array([this.tradingFormCreation(record)]),\n });\n let arr = record.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n this.initManufacturingProductsDetails(null);\n this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials_total_payments_percent_on_credit'].setValue(null);\n }\n let arr1 = record.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr1.length > 0) {\n this.initTradingProductsDetails(null);\n this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products_total_payments_percent_on_credit'].setValue(null);\n }\n let arr2 = record.filter(data => data.type_of_activity_id == 5);\n if (arr2.length > 0) {\n this.initServiceProviderProductsDetails(null);\n this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products_total_payments_percent_on_credit'].setValue(null);\n }\n // Load form details for the retail trading details\n let arr3 = record.filter(data => data.type_of_activity_id == 3);\n // if (arr3.length > 0) {\n // this.retaildTradingForm = true;\n // }\n this.noRecordsFound = true;\n }\n }, err => {\n\n }\n );\n }\n\n manufacturingForm: Boolean = false;\n manufacturingFormCreation(val) {\n let arr = val.filter(data => data.type_of_activity_id == 2);\n if (arr.length > 0) {\n this.manufacturingForm = true;\n return this.fb.group({\n main_raw_materials: this.fb.array([]),\n main_raw_materials_total_payments_percent_on_credit: []\n })\n // }\n } else {\n return;\n }\n }\n\n tradingForm: Boolean = false;\n tradingFormCreation(val) {\n // let arr = val.filter(data => data.type_of_activity_id == 4);\n let arr = val.filter(data => data.type_of_activity_id == 3 || data.type_of_activity_id == 4);\n if (arr.length > 0) {\n this.tradingForm = true;\n return this.fb.group({\n trading_products: this.fb.array([]),\n trading_products_total_payments_percent_on_credit: []\n });\n } else {\n return;\n }\n }\n\n serviceProviderForm: Boolean = false;\n serviceProviderFormCreation(val) {\n let arr = val.filter(data => data.type_of_activity_id == 5);\n if (arr.length > 0) {\n this.serviceProviderForm = true;\n return this.fb.group({\n service_products: this.fb.array([]),\n service_products_total_payments_percent_on_credit: []\n });\n } else {\n return;\n }\n }\n\n initManufacturingProductsDetails(datas) {\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\n if (datas === null) {\n control.push(this.initManufacturingProducts(null));\n } else {\n datas.forEach((val, inx) => {\n this.checkCard(val.manufacturing_payment_type, 1, inx);\n control.push(this.initManufacturingProducts(val));\n });\n // for (let val of datas) {\n // control.push(this.initManufacturingProducts(val));\n // }\n }\n }\n\n initManufacturingProducts(records) {\n if (records === null) {\n return this.fb.group({\n manufacturing_product_name: [''],\n manufacturing_client_name: [''],\n manufacturing_contact_person_name: [''],\n manufacturing_contact_person_mobile_number: [''],//,Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n manufacturing_payment_type: [''],\n manufacturing_payment_mode: [''],\n // manufacturing_credit_days: [''],\n person_title_name: [''],\n person_designation: [''],\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\n other_person_designation: [''],\n manufacturing_credit_days_from: [''],\n manufacturing_credit_days_to: ['']\n })\n } else {\n return this.fb.group({\n manufacturing_product_name: [records.manufacturing_product_name || null],\n manufacturing_client_name: [records.manufacturing_client_name || null],\n manufacturing_contact_person_name: [records.manufacturing_contact_person_name || null],\n manufacturing_contact_person_mobile_number: [records.manufacturing_contact_person_mobile_number || null],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n manufacturing_payment_type: [records.manufacturing_payment_type || null],\n manufacturing_payment_mode: [records.manufacturing_payment_mode || null],\n manufacturing_credit_days: [records.manufacturing_credit_days || null],\n person_title_name: [records.person_title_name || null],\n person_designation: [records.person_designation || null],\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\n other_person_designation: [records.other_person_designation || null],\n manufacturing_credit_days_from: [records.manufacturing_credit_days_from || null],\n manufacturing_credit_days_to: [records.manufacturing_credit_days_to || null]\n })\n }\n }\n\n initTradingProductsDetails(datas) {\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\n if (datas === null) {\n control.push(this.initTradingProducts(null));\n } else {\n datas.forEach((val, inx) => {\n this.checkCard(val.trade_product_payment_type, 2, inx);\n control.push(this.initTradingProducts(val));\n });\n // for (let val of datas) {\n // control.push(this.initTradingProducts(val));\n // }\n }\n }\n\n initTradingProducts(records) {\n if (records === null) {\n return this.fb.group({\n trade_product_name: [''],\n trade_client_name: [''],\n trade_product_contact_person_name: [''],\n trade_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n trade_product_payment_type: [''],\n trade_product_payment_mode: [''],\n trade_product_frequency_of_purchase: [''],\n trade_product_credit_days_from: [''],\n trade_product_credit_days_to: [''],\n person_title_name: [''],\n person_designation: [''],\n person_stdcode: [''],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\n other_person_designation: [''],\n })\n } else {\n return this.fb.group({\n trade_product_name: [records.trade_product_name],\n trade_client_name: [records.trade_client_name],\n trade_product_contact_person_name: [records.trade_product_contact_person_name],\n trade_product_contact_person_mobile_number: [records.trade_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n trade_product_payment_type: [records.trade_product_payment_type],\n trade_product_payment_mode: [records.trade_product_payment_mode],\n trade_product_frequency_of_purchase: [records.trade_product_frequency_of_purchase],\n trade_product_credit_days_from: [records.trade_product_credit_days_from],\n trade_product_credit_days_to: [records.trade_product_credit_days_to],\n person_title_name: [records.person_title_name || null],\n person_designation: [records.person_designation || null],\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\n other_person_designation: [records.other_person_designation || null],\n })\n }\n }\n\n initServiceProviderProductsDetails(datas) {\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\n if (datas === null) {\n control.push(this.initServiceProviderProducts(null));\n } else {\n datas.forEach((val, inx) => {\n this.checkCard(val.service_provider_product_payment_type, 3, inx);\n control.push(this.initServiceProviderProducts(val));\n });\n // for (let val of datas) {\n // control.push(this.initServiceProviderProducts(val));\n // }\n }\n }\n\n initServiceProviderProducts(records) {\n if (records === null) {\n return this.fb.group({\n service_provider_product_name: [''],\n service_provider_client_name: [''],\n service_provider_product_contact_person_name: [''],\n service_provider_product_contact_person_mobile_number: [''],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n service_provider_product_payment_type: [''],\n service_provider_product_payment_mode: [''],\n service_provider_product_frequency_of_purchase: [''],\n service_provider_product_credit_days_from: [''],\n service_provider_product_credit_days_to: [''],\n person_title_name: [''],\n person_designation: [''],\n person_stdcode: [''], //Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\n person_landline: [''],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\n other_person_designation: [''],\n })\n } else {\n return this.fb.group({\n service_provider_product_name: [records.service_provider_product_name],\n service_provider_client_name: [records.service_provider_client_name],\n service_provider_product_contact_person_name: [records.service_provider_product_contact_person_name],\n service_provider_product_contact_person_mobile_number: [records.service_provider_product_contact_person_mobile_number],//Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n service_provider_product_payment_type: [records.service_provider_product_payment_type],\n service_provider_product_payment_mode: [records.service_provider_product_payment_mode],\n service_provider_product_frequency_of_purchase: [records.service_provider_product_frequency_of_purchase],\n service_provider_product_credit_days_from: [records.service_provider_product_credit_days_from],\n service_provider_product_credit_days_to: [records.service_provider_product_credit_days_to],\n person_title_name: [records.person_title_name || null],\n person_designation: [records.person_designation || null],\n person_stdcode: [records.person_stdcode || null],// Validators.compose([Validators.minLength(3),Validators.maxLength(5),Validators.pattern('^[0-9]*$')])],\n person_landline: [records.person_landline || null],// Validators.compose([Validators.minLength(6),Validators.maxLength(8),Validators.pattern('^[0-9]*$')])],\n other_person_designation: [records.other_person_designation || null],\n })\n }\n }\n\n addMoreRawMaterials(e): void {\n // e.stropPropagation();\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\n\n control.push(this.initManufacturingProducts(null));\n }\n\n removeRawMaterials(inx): void {\n const control = this.clientInfoForm.controls['manufacturing_details']['controls'][0].controls['main_raw_materials'];\n control.removeAt(inx);\n }\n\n addMoretradeProduct(e): void {\n // e.stropPropagation();\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\n\n control.push(this.initTradingProducts(null));\n }\n\n removeTradingProduct(inx): void {\n const control = this.clientInfoForm.controls['trade_details']['controls'][0].controls['trading_products'];\n control.removeAt(inx);\n }\n\n addMoreServiceProduct(e): void {\n // e.stropPropagation();\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\n\n control.push(this.initServiceProviderProducts(null));\n }\n\n removeServiceProduct(inx): void {\n const control = this.clientInfoForm.controls['service_provider_details']['controls'][0].controls['service_products'];\n control.removeAt(inx);\n }\n\n getdropList() {\n\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(\n data => {\n this.companyRelationShipList = data['records'].filter(data => data.isactive == 1);\n });\n\n this.qustCat.getcommondrop('TITLES').subscribe(\n data => {\n this.titleList = data['records'].filter(data => data.isactive == 1);\n });\n\n this.qustCat.getcommondrop('PAYMENTMODE').subscribe(\n data => {\n this.m_paymentType = data['records'].filter(data => data.isactive == 1);\n });\n }\n // saveclientDetails(answerData)\n // {\n // let records:any ={};\n\n // records.pdid = this.pdDetails.pd_id;\n // records.formid = this.FormId.form_id;\n // records.fk_createdby = this.users;\n\n // records.client_details = answerData.clientArray;\n\n // this.qustCat.saveForm(records).subscribe(res=>\n // {\n // if(res['dataStatus']==true)\n // {\n // this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n // this.navCtrl.pop();\n // }\n // });\n\n\n // }\n /** To Save/Edited Popup Data */\n saveClientInfo(answerFormValues) {\n \n Object.keys(answerFormValues).forEach((key) => (answerFormValues[key] == null) && delete answerFormValues[key]);\n if (answerFormValues.manufacturing_details[0] == null) {\n delete answerFormValues['manufacturing_details'];\n }\n if (answerFormValues.trade_details[0] == null) {\n delete answerFormValues['trade_details'];\n }\n if (answerFormValues.service_provider_details[0] == null) {\n delete answerFormValues['service_provider_details'];\n }\n\n //To Remove The \"Null\" With Key also\n Object.keys(answerFormValues).forEach((key) => { if (answerFormValues[key] === null || answerFormValues[key] === undefined || answerFormValues[key] === '') { delete answerFormValues[key] }; });\n this.qustCat.saveForm(answerFormValues).subscribe(responsed => {\n if (responsed['status'] == 200) {\n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n } else {\n this.toast.pdTriggerappmessage('Something Wents Wrong Try Again.!');\n }\n });\n\n }\n\n selectedPersonDesignation(items, e, flag) {\n if (flag == 1) {\n // e==1 ? items.controls['other_person_designation'].setValidators([Validators.required])\n // : items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\n // items.controls['other_person_designation'].updateValueAndValidity();\n }\n else if (flag == 2) {\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\n // items.controls['other_person_designation'].updateValueAndValidity();\n }\n else if (flag == 3) {\n // e==1 ?items.controls['other_person_designation'].setValidators([Validators.required])\n // :items.controls['other_person_designation'].clearValidators(),items.controls['other_person_designation'].setValue('');\n // items.controls['other_person_designation'].updateValueAndValidity();\n }\n }\n\n mfgCreditCardFlag: boolean = false;\n trdCreditCardFlag: boolean = false;\n spCreditCardFlag: boolean = false;\n mfgCounter: any = [];\n trdCounter: any = [];\n spCounter: any = [];\n checkCard(e, flag, index) {\n\n if (flag == 3 && e == 3) {\n this.spCounter[index] = 1;\n }\n else if (flag == 3 && e != 3) {\n this.spCounter[index] = 0;\n }\n let SP = this.spCounter.reduce((sum, val) => sum + +val, 0);\n this.spCreditCardFlag = SP > 0 ? true : false;\n\n if (flag == 2 && e == 3) {\n this.trdCounter[index] = 1;\n }\n else if (flag == 2 && e != 3) {\n this.trdCounter[index] = 0;\n }\n let TRD = this.trdCounter.reduce((sum, val) => sum + +val, 0);\n this.trdCreditCardFlag = TRD > 0 ? true : false;\n\n if (flag == 1 && e == 3) {\n this.mfgCounter[index] = 1;\n }\n else if (flag == 1 && e != 3) {\n this.mfgCounter[index] = 0;\n }\n let MFG = this.mfgCounter.reduce((sum, val) => sum + +val, 0);\n this.mfgCreditCardFlag = MFG > 0 ? true : false;\n\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\n/*\n Generated class for the ConstantsProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class ConstantsProvider {\npublic commonimage = \"http://ssa.sineedge.com/sparqapi/logo/avatar.jpg\";\n constructor(public http: HttpClient) {\n console.log('Hello ConstantsProvider Provider');\n }\n\n apiurl()\n {\n let testapiurl = 'http://ssa.sineedge.com/sparqtest/api/';\n let devapiurl = 'http://ssa.sineedge.com/sparqapi/api/';\n let localapiurl = 'http://192.168.0.9/sparqapi/api/';\n return devapiurl;\n }\n\n getcurrentDate()\n {\n var today = new Date();\n var time = today.getHours() + \":\" + today.getMinutes() + \":\" + today.getSeconds();\n var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();\n var time = today.getHours() + \":\" + today.getMinutes();\n let CurrentDate = date+\"T00:00\";\n return CurrentDate.toString();\n }\n \n convertNumberToWords(amount) {\n var words = new Array();\n words[0] = '';\n words[1] = 'One';\n words[2] = 'Two';\n words[3] = 'Three';\n words[4] = 'Four';\n words[5] = 'Five';\n words[6] = 'Six';\n words[7] = 'Seven';\n words[8] = 'Eight';\n words[9] = 'Nine';\n words[10] = 'Ten';\n words[11] = 'Eleven';\n words[12] = 'Twelve';\n words[13] = 'Thirteen';\n words[14] = 'Fourteen';\n words[15] = 'Fifteen';\n words[16] = 'Sixteen';\n words[17] = 'Seventeen';\n words[18] = 'Eighteen';\n words[19] = 'Nineteen';\n words[20] = 'Twenty';\n words[30] = 'Thirty';\n words[40] = 'Forty';\n words[50] = 'Fifty';\n words[60] = 'Sixty';\n words[70] = 'Seventy';\n words[80] = 'Eighty';\n words[90] = 'Ninety';\n amount = amount.toString();\n var atemp = amount.split(\".\");\n var number = atemp[0].split(\",\").join(\"\");\n var n_length = number.length;\n let value:any = \"\";\n var words_string = \"\";\n if (n_length <= 9) {\n var n_array:any = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0);\n var received_n_array = new Array();\n for (var i = 0; i < n_length; i++) {\n received_n_array[i] = number.substr(i, 1);\n }\n for (var i = 9 - n_length, j = 0; i < 9; i++, j++) {\n n_array[i] = received_n_array[j];\n }\n for (var i = 0, j = 1; i < 9; i++, j++) {\n if (i == 0 || i == 2 || i == 4 || i == 7) {\n if (n_array[i] == 1) {\n n_array[j] = 10 + parseInt(n_array[j]);\n n_array[i] = 0;\n }\n }\n }\n value = \"\";\n for (var i = 0; i < 9; i++) {\n if (i == 0 || i == 2 || i == 4 || i == 7) {\n value = n_array[i] * 10;\n } else {\n value = n_array[i];\n }\n if (value != 0) {\n words_string += words[value] + \" \";\n }\n if ((i == 1 && value != 0) || (i == 0 && value != 0 && n_array[i + 1] == 0)) {\n words_string += \"Crores \";\n }\n if ((i == 3 && value != 0) || (i == 2 && value != 0 && n_array[i + 1] == 0)) {\n words_string += \"Lakhs \";\n }\n if ((i == 5 && value != 0) || (i == 4 && value != 0 && n_array[i + 1] == 0)) {\n words_string += \"Thousand \";\n }\n if (i == 6 && value != 0 && (n_array[i + 1] != 0 && n_array[i + 2] != 0)) {\n words_string += \"Hundred and \";\n } else if (i == 6 && value != 0) {\n words_string += \"Hundred \";\n }\n }\n words_string = words_string.split(\" \").join(\" \");\n }\n return words_string;\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/constants/constants.ts","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 246;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/core/esm5 lazy\n// module id = 246\n// module chunks = 0","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 289;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src lazy\n// module id = 289\n// module chunks = 0","import { Component,OnInit, ViewEncapsulation } from '@angular/core';\nimport { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\nimport { AlertController } from 'ionic-angular';\n// import {Validators, FormBuilder, FormGroup } from '@angular/forms';\n// import { GridPage } from '../grid/grid';\n\n\nimport { FingerprintAIO ,FingerprintOptions} from '@ionic-native/fingerprint-aio';\nimport { Camera } from '@ionic-native/camera';\n// import { Component, OnInit, ViewEncapsulation } from '@angular/core';\n\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\n// import { CustomValidators } from 'ng2-validation';\n\nimport { MatDialog, MatDialogRef, MatDialogConfig } from '@angular/material';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { PasswordPage } from '../password/password';\nimport { ToastProvider } from '../../providers/common-provider/toast';\n\n\n@Component({\n selector: 'page-login',\n templateUrl: 'login.html',\n})\nexport class LoginPage {\n users: any;\nchangepass: FormGroup;\nemail: string;\npassword: string;\nnewpassword: any;\nconfirmPassword: any;\nchangePassword: any;\nstatus: Boolean = false;\nconfig: MatDialogConfig = {\n disableClose: false,\n width: '',\n height: '',\n position: {\n top: '',\n bottom: '',\n left: '',\n right: ''\n }\n};\nconstructor( public aws: AwsServiceProvider, public dialog: MatDialog,\npublic shared:CognitoServiceProvider,public navCtrl:NavController,public Menu:MenuController\n,public toast:ToastProvider) {\n \n}\nngOnInit(){\n //this.loggedInCheck();\n \n}\nionViewDidEnter(){\n this.Menu.enable(false);\n}\nionViewWillLeave(){\n this.Menu.enable(true);\n}\n/**\n* @param email\n* @param password\n* AWS login service\n*/\nlogin() {\n // console.log(this.email);\n if(this.email !==undefined && this.password !==undefined && this.email !='' && this.password !='' && this.email !=null && this.password !=null ){\n let auth = { 'Username': this.email, 'Password': this.password };\n this.aws.dologin(auth).subscribe(awsres => {\n let userid = this.aws.getlocale();\n \n this.aws.getuserprofile(userid).subscribe(usersres=>\n {\n this.users = usersres; \n \n if (this.users.dataStatus == true) {\n \n if(this.users.records[0].role_name == \"PD Officer\" || this.users.records[0].role_name == \"PD Executive\"){\n this.navCtrl.setRoot(PdListPage);\n \n }else\n {\n \n this.toast.pdTriggerappmessage('This App only for PD Officers');\n localStorage.clear();\n }\n\n \n }\n });\n }, err => {\n console.log(JSON.stringify(err.message));\n if (err.message == \"New password is required.\") {\n //console.log(\"if\");\n this.navCtrl.setRoot(PasswordPage,{'Username':this.email,'Password':this.password});\n } else {\n console.log(JSON.stringify(err.message));\n this.toast.pdTriggerappmessage(JSON.stringify(err.message));\n\n }\n //alert(err.message);\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter Email or Password');\n }\n}\n/**\n * New password set\n * Defalut aws function \n * @param email password,newpassword\n */\n// newpassopen() {\n// let dialogRef = this.dialog.open(NewPasswordDialog, this.config);\n// dialogRef.afterClosed().subscribe(result => {\n// if (result !== undefined) {\n// let auth = { 'Username': this.email, 'Password': this.password, 'newpassword': result };\n// console.log(auth);\n// this.aws.dologin(auth).subscribe(res => {\n// console.log(res);\n// // this.router.navigate(['/home']);\n// }, err => {\n// // alert(err.message);\n\n// })\n// }\n// });\n// }\n\nforgotopen() {\n this.status = true;\n}\n\n\nforgotpassword() {\n\n let auth = { 'Username': this.email };\n console.log(auth);\n // this.aws.userforgotpass(auth).subscribe(res => {\n // console.log(res);\n\n // })\n}\nloggedInCheck(){\n //alert(this.shared.isLoggedIn);\n if(this.shared.isLoggedIn){\n alert(\"if\");\n // this.router.navigate(['/home']);\n return false;\n }else{\n alert(\"else\");\n \n return true;\n }\n}\n\n}\n\n// ======================= END ==============================\n/**\n* New password Dialog\n*/\n\n// const newpassword = new FormControl('', Validators.required);\n// const confirmPassword = new FormControl('');\n\n// @Component({\n// selector: 'app-jazz-dialog',\n// template: `\n//
New Password Change.
\n\n// \n// \n \n// \n\n\n//
\n// \n// \n// \n\n// Passwords do not math.\n\n//
\n \n// \n \n \n// `\n// })\n// export class NewPasswordDialog {\n\n// newpassword: any = newpassword;\n// confirmPassword: any = confirmPassword;\n// jazzMessage = 'Jazzy jazz jazz';\n\n// constructor(public dialogRef: MatDialogRef) {\n\n// }\n\n\n// }\n\n\n\n// @Component({\n// selector: 'app-jazz-dialog',\n// template: `\n//
Forgot Password
\n\n// \n// \n \n// \n\n\n\n//
\n \n// \n \n \n// `\n// })\n// export class ForgotPass {\n\n// newpassword: any = newpassword;\n// confirmPassword: any = confirmPassword;\n// jazzMessage = 'Jazzy jazz jazz';\n\n// constructor(public dialogRef: MatDialogRef) {\n\n// }\n\n// }\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/login/login.ts","import { Component, ElementRef,ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams,AlertController, Content } from 'ionic-angular';\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\n// import {MomentDateAdapter} from '@angular/material-moment-adapter';\nimport {DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE} from '@angular/material/core';\nimport {MatDatepicker} from '@angular/material/datepicker';\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { Platform } from '@angular/cdk/platform';\nimport {LaunchNavigator,LaunchNavigatorOptions } from '@ionic-native/launch-navigator'; \nimport { AuthPage } from '../auth/auth';\n\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { OtpPage } from '../otp/otp';\n\nimport { Geolocation, PositionError, Geoposition } from '@ionic-native/geolocation';\nimport {DatePipe } from '@angular/common';\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { observable, Observable } from 'rxjs';\nimport { ERR_PLUGIN_NOT_INSTALLED } from '@ionic-native/core';\nimport { ConstantsProvider } from '../../providers/constants/constants';\nimport { PdGeneralImagesPage } from '../pd-general-images/pd-general-images';\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\nimport {BouncedRejectPage} from '../../pages/input/bounced-reject/bounced-reject'\n\n\n/**\n * Generated class for the InputPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\nconst currentdate = new Date().toJSON().slice(0,19);\n\n\n@Component({\n selector: 'page-input',\n templateUrl: 'input.html',\n})\n\n\nexport class InputPage {\n enableStartPD: boolean;\n diffInHours: number;\n updatestarted: any;\n updateinitiated: any;\n appdata: any;\n users: any;\n initiatedAccess: boolean = false;\n scheduleAccess: boolean = false;\napplicatentDetails:any;\nmaxdate :any;\npipe = new DatePipe('en-US');\nupdateStatus:any;\nscheduleDate:any;\nupdateSchedule:any;\nacceptedAccess:boolean = false;\nstartedAccess:boolean = false;\ntimeOut:any = 15*1000;\ntimeInterval:any;\ncurrentPosPDofficer:any;\nother_applicant:any;\n@ViewChild('focusinp') input_focus ;\n@ViewChild('scroll') scrolltop : Content;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\n public statusBar:StatusBar,public platform: Platform,public launchNavigator:LaunchNavigator,\n public aws:AwsServiceProvider,public pdDetails:PdtriggerProvider,public geolocation:Geolocation,\n public alertCtrl:AlertController,public locationAccuracy:LocationAccuracy,public toast:ToastProvider,\n public constant:ConstantsProvider,public androidPermissions:AndroidPermissions, ) {\n\n this.maxdate = this.pipe.transform(new Date(),'yyyy-MM-ddThh:mm').toString();\n \n /***Header value pass */\n this.statusBar.styleDefault();\n \n this.statusBar.overlaysWebView(false);\n this.statusBar.backgroundColorByHexString('#db4437');\n let timeStart:string = this.pipe.transform(new Date(),'dd/MM/yyyy hh:mm a');\n \n \n this.applicatentDetails = this.navParams.get('pdDetails');\n \n this.getFullPD();\n \n \n if(this.applicatentDetails.pd_status == 'ALLOCATED')\n {\n this.acceptedAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\n {\n this.scheduleAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\n {\n \n this.initiatedAccess = true;\n }\n //console.log(this.initiatedAccess);\n if(this.applicatentDetails.pd_status == 'INITIATED')\n {\n this.startedAccess = true;\n this.getenableAccuracy();\n \n }\n this.users = this.aws.getlocale();\n }\n\n \n ionViewDidLoad() {\n this.setPermission();\n \n }\n ionViewCanLeave()\n {\n clearInterval(this.timeInterval);\n }\n locationnavicate(address)\n {\n this.launchNavigator.navigate(address);\n }\n\n setPermission()\n {\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION).then(\n result => console.log('Has permission?',result.hasPermission),\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_COARSE_LOCATION)\n );\n \n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\n\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION).then(\n result => console.log('Has permission?',result.hasPermission),\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION)\n );\n \n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_FINE_LOCATION, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\n }\n\n getFullPD()\n {\n let records = {'pdid':this.applicatentDetails.pd_id};\n this.pdDetails.getFullPDdetails(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.other_applicant=res['records'].applicants_details\n console.log(this.other_applicant);\n let courrentDateTime: string = this.pipe.transform(new Date(), 'yyyy-MM-dd HH:mm'); \n let scheduledDateTime: string= res['records'].pd_master_details[0].scheduled_on_for_validation;\n let diffInMs: number = Date.parse(courrentDateTime) - Date.parse(scheduledDateTime);\n let diffInHours: number = Math.floor(diffInMs / 1000 / 60 / 60);\n \n if(diffInHours <=-4){\n this.enableStartPD=true;\n }\n else\n {\n this.enableStartPD = false;\n }\n } \n })\n \n }\n pdStatus(status,appdetails)\n {\n let data :any;\n \n if(status == 'BOUNCED')\n {\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\n this.navCtrl.push(BouncedRejectPage,{'details':data})\n // this.pdDetails.updatepdStatus(data).subscribe(res=>\n // {\n // this.updateStatus = res;\n // if(this.updateStatus.dataStatus == true)\n // {\n // this.navCtrl.setRoot(PdListPage); \n // }\n // })\n }else if(status == 'ACCEPTED')\n {\n data = {'pd_id':appdetails.pd_id,'pd_status':status,'fk_updatedby':this.users,'updatedon':currentdate};\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateStatus = res;\n if(this.updateStatus.dataStatus == true)\n {\n this.getNewpdupdate();\n this.scheduleAccess = true;\n \n }else\n {\n this.scheduleAccess = false;\n }\n })\n }\n \n }\n\n pdschedule(scheduledate,appdetails)\n {\n \n let data :any;\n console.log(scheduledate);\n if(scheduledate != undefined){\n let schDate = scheduledate.slice(0,19).replace('T',' ');\n console.log(schDate);\n data = {'pd_id':appdetails.pd_id,'pd_status':'SCHEDULED','scheduled_on':schDate,'fk_updatedby':this.users,'updatedon':currentdate};\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateSchedule = res;\n if(this.updateSchedule.dataStatus == true)\n {\n this.getNewpdupdate();\n this.initiatedAccess = true;\n }\n });\n }\n else{\n this.toast.pdTriggerappmessage(\"Please Choose the Schedule Date\");\n this.input_focus.setFocus();\n //this.input_focus.scrollToTop();\n this.scrolltop.scrollTop;\n }\n}\n\n getenableAccuracy()\n {\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\n\n if(canRequest) {\n // the accuracy option will be ignored by iOS\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\n () => {\n this.getcurrentLocation();\n },\n error => alert('Error requesting location permissions'+JSON.stringify(error))\n );\n }\n \n });\n }\n getcurrentLocation() \n {\n let data:any;\n let options = {\n frequency: 3000, \n enableHighAccuracy: true,\n timeOut:1000,\n };\n \n this.timeInterval = setInterval(()=>{\n this.currentPosPDofficer = '';\n this.geolocation.getCurrentPosition(options).then((resp) => {\n // resp.coords.latitude\n // resp.coords.longitude\n if((resp as Geoposition).coords !=undefined){\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\n // this.toast.pdTriggerappmessage(this.currentPosPDofficer);\n console.log(this.currentPosPDofficer);\n data = {'pd_id':this.applicatentDetails.pd_id,'link':this.currentPosPDofficer};\n\n\n this.pdDetails.saveCurrentLocation(data).subscribe(res=>\n {\n // this.updateinitiated = res;\n // if(this.updateinitiated.dataStatus == true)\n // { \n // // this.getNewpdupdate();\n // // this.startedAccess = true;\n // }else\n // {\n // this.startedAccess = false;\n // }\n })\n }\n }).catch((error)=>{\n this.toast.pdTriggerappmessage(error.message);\n })\n \n },this.timeOut);\n }\n pdreschedule()\n {\n this.scheduleAccess = true;\n this.initiatedAccess = false;\n }\n pdinitiated(appdetails)\n { let data:any;\n\n this.locationAccuracy.canRequest().then((canRequest: boolean) => {\n\n if(canRequest) {\n // the accuracy option will be ignored by iOS\n this.locationAccuracy.request(this.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY).then(\n () => {\n this.geolocation.getCurrentPosition().then((resp) => {\n // resp.coords.latitude\n // resp.coords.longitude\n \n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\n data = {'pd_id':appdetails.pd_id,'pd_status':'INITIATED','mobile_no':appdetails.applicat_details[0].mobile_no,'officerName':appdetails.pd_allocated_to,'firstName':appdetails.applicat_details[0].applicant_name,'fk_updatedby':this.users,'updatedon':currentdate,'link':this.currentPosPDofficer};\n\n\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {\n this.updateinitiated = res;\n if(this.updateinitiated.dataStatus == true)\n { \n this.getNewpdupdate();\n this.getcurrentLocation();\n this.startedAccess = true;\n }else\n {\n this.startedAccess = false;\n }\n })\n }).catch((error) => {\n console.log('Error getting location', error);\n });\n },error => alert('Error requesting location permissions'+JSON.stringify(error))\n );\n }\n \n });\n }\n\n startPdDiscussion(appdetails)\n {\n let data:any;\n let alert = this.alertCtrl.create({\n title: 'Starting PD Officer',\n message: 'Are you starting the Discussions',\n buttons: [\n {\n text: 'No',\n role: 'cancel',\n handler: () => {\n \n // console.log('Cancel clicked');\n // this.toast.pdTriggerappmessage('')\n }\n },\n {\n text: 'YES',\n handler: () => {\n this.geolocation.getCurrentPosition().then((resp) => {\n this.currentPosPDofficer = resp.coords.latitude+\",\"+resp.coords.longitude;\n \n data = {'pd_id':appdetails.pd_id,'pd_status':'STARTED','mobile_no':appdetails.applicat_details[0].mobile_no,'fk_updatedby':this.users,'updatedon':currentdate,'link':this.currentPosPDofficer};\n console.log(data);\n this.pdDetails.updatepdStatus(data).subscribe(res=>\n {this.updatestarted = res;\n if(this.updatestarted.dataStatus == true)\n {\n clearInterval(this.timeInterval);\n this.navCtrl.setRoot(OtpPage,{'pdDetails':appdetails});\n }\n \n })\n // console.log('Buy clicked');\n })\n } \n }\n ]\n });\n alert.present();\n }\n getNewpdupdate()\n {\n this.acceptedAccess = false;\n this.initiatedAccess = false;\n this.scheduleAccess = false;\n this.startedAccess = false;\n this.pdDetails.getpddetails(this.users).subscribe(res=>\n {\n this.appdata = res;\n if(this.appdata.dataStatus == true)\n {\n this.applicatentDetails = this.appdata.records.filter(app=>app.pd_id == this.applicatentDetails.pd_id)[0];\n if(this.applicatentDetails.pd_status == 'ALLOCATED')\n {\n this.acceptedAccess = true;\n }\n if(this.applicatentDetails.pd_status == 'ACCEPTED')\n {\n this.scheduleAccess = true;\n this.toast.pdTriggerappmessage(\"Accepted Successfully\")\n }\n if(this.applicatentDetails.pd_status == 'SCHEDULED')\n {\n this.initiatedAccess = true;\n this.getFullPD();\n this.toast.pdTriggerappmessage(\"Scheduled Successfully\")\n }\n\n if(this.applicatentDetails.pd_status == 'INITIATED')\n {\n this.startedAccess = true;\n this.toast.pdTriggerappmessage(\"Initiated Successfully\")\n }\n }\n })\n }\n\n camerasetup()\n {\n this.navCtrl.push(PdGeneralImagesPage,{'pdDetails':this.applicatentDetails});\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/input.ts","import { Component, ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams,Slides , Content, Platform } from 'ionic-angular';\nimport { FormBuilder,FormGroup,FormArray, Validators} from '@angular/forms';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\n\nimport { CameraProvider } from '../../providers/common-provider/camera';\nimport { ToastProvider } from '../../providers/common-provider/toast';\n/**\n * Generated class for the PdQuestionPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\nconst currentdate = new Date().toJSON().slice(0,19).replace('T',' ');\n\n\n@Component({\n selector: 'page-pd-question',\n templateUrl: 'pd-question.html',\n})\nexport class PdQuestionPage {\n \n docqustid: any;\n docName: any = [];\n docArray: any = [];\n imageArray:any = [];\n questionCate: any;\n qustCate: any;\n pdinfo: any;\n items: FormArray;\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\n\n SwipedTabsIndicator :any= null;\n tabTitleWidthArray :any= [];\n tabElementWidth_px :number= 50;\n screenWidth_px :number= 0;\n isRight :boolean= false;\n isLeft:boolean= false;\n tabs:any=[];\n \n questionDetails: any;\n questionAnswer:FormGroup;\n questionanotherData:FormGroup;\n userid:any;\n questionId:any;\n qustType:any;\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform,public fb:FormBuilder,public qstDetails:QuestionCategoryProvider,public aws:AwsServiceProvider,public camera:CameraProvider,public toast:ToastProvider) {\n \n this.screenWidth_px=platform.width();\n\n \n this.questionAnswer = this.fb.group(\n {\n answerDetails:[null],\n items:this.fb.array([]),\n })\n this.questionanotherData = this.fb.group(\n {\n questionRemarks:[null]\n })\n this.getpdQuestionDetails();\n this.userid = this.aws.getlocale();\n}\n\n ionViewDidLoad() {\n }\n ionViewDidEnter() {\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\n for (let i in this.tabs)\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\n\n this.selectTab(0);\n }\n\n ionViewWillLeave() {\n this.navCtrl.setRoot(PdQuestionCategoryPage,{'pdDetails':this.pdinfo});\n }\n\n scrollIndicatiorTab()\n {\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\n // let answerDetails = this.questionAnswer.value;\n // let remarks = this.questionanotherData.value;\n if(this.isLeft)\n {\n //this.prev(answerDetails,remarks,this.questionDetails);\n }\n if(this.isRight)\n {\n //this.saveQuestionDetails(answerDetails,remarks,this.questionDetails);\n }\n }\n\n selectTab(index)\n {\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n this.SwipedTabsSlider.slideTo(index);\n \n }\n\n calculateDistanceToSpnd(index)\n {\n var result=0;\n for (var _i = 0; _i < index; _i++) {\n result=result+this.tabTitleWidthArray[_i];\n }\n return result;\n }\n\n updateIndicatorPosition() {\n var index=this.SwipedTabsSlider.getActiveIndex();\n if( this.SwipedTabsSlider.length()==index)\n index=index-1;\n\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n \n }\n\n updateIndicatorPositionOnTouchEnd()\n {\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\n }\n\n animateIndicator($event)\n {\n \n this.isLeft=false;\n this.isRight=false;\n \n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\n if($event.progress < currentSliderCenterProgress)\n {\n this.isLeft=true;\n this.isRight=false;\n\n } if($event.progress > currentSliderCenterProgress)\n {\n this.isLeft=false;\n this.isRight=true;\n }\n\n if(this.SwipedTabsSlider.isEnd())\n this.isRight=false;\n\n if( this.SwipedTabsSlider.isBeginning())\n this.isLeft=false;\n\n if(this.isRight)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\n +'px,0,0)';\n\n if(this.isLeft)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\n +'px,0,0)';\n\n if(!this.isRight && !this.isLeft)\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\n \n \n }\n /**\n * Pd Discussion Qustion Load\n */\n getpdQuestionDetails()\n {\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdinfo = this.navParams.get('pdDetails');\n for(let qustimage of this.questionDetails.questions)\n { \n if(qustimage.images !==undefined){\n for(let image of qustimage.images)\n {\n image.questionId = qustimage.fk_question_id; \n this.docArray.push(image);\n }\n for(let answers of qustimage.answers)\n {\n if(qustimage.fk_question_answertype == 3)\n {\n this.items = this.questionAnswer.get('items') as FormArray;\n \n this.items.push(this.getquestionAnswer(answers));\n \n \n }\n }\n }\n }\n for(let i=1;i<=this.questionDetails.questions_count;i++){\n let j = i.toString();\n this.tabs.push(j);\n }\n }\n\ngetquestionAnswer(answers)\n{\n return this.fb.group(\n {\n \"pd_detail_answer_id\":answers.pd_detail_answer_id,\n \"pd_answer_id\":answers.question_answer_id,\n \"pd_answer\": answers.answer,\n \"pd_answer_weightage\": answers.template_answer_weightage,\n \"fk_pd_id\":this.pdinfo.pd_id,\n \"fk_pd_detail_id\":answers.fk_pd_detail_id,\n \"checkbox\":(answers.isactive == null?false:true)\n \n \n })\n}\n // count = 0;\n getDocUpload(qustid)\n {\n // this.docqustid = qustId;\n this.camera.getpicture().then(res=>\n {\n if(res !== undefined){\n this.docArray.push({'pd_document_name':res,'pd_document_title':'','questionId':qustid});\n }\n });\n // this.count++;\n }\n docnames(name,id,image,qustid)\n {\n this.docArray[id] = {'pd_document_name':image,'pd_document_title':name,'questionId':qustid};\n }\n removeimage(index){\n //for(let i=0;i<=this.igrimage.length;i++){\n //if(this.igrimage[i]== this.igrimage[index]){\n this.docArray.splice(index,1);\n //}\n //}\n }\n saveQuestionDetails(answerDetails,questionRemarks,questionDetails)\n {\n \n for(let docs of this.docArray)\n {\n \n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\n // return true;\n }else\n {\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\n \n }\n }\n if(answerDetails.answerDetails !=null){\n //alert('answers');\n let pd_id = this.pdinfo.pd_id;\n let catid = questionDetails.fk_question_category_id;\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\n let qut_id = qt_id.fk_question_id;\n let qustName = qt_id.question;\n let qut_weightage = qt_id.question_weightage;\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\n let pd_answer = answerDetails.answerDetails.answer;\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\n let pd_remarks = questionRemarks.questionRemarks;\n let updatedby:any='';\n let updateon:any='';\n let createdby:any='';\n let createon:any='';\n let pd_details_id:any='';\n let pd_detail_answer_id:any = '';\n if(qt_id.pd_detail_id ==null)\n {\n createdby = this.userid;\n createon = currentdate;\n pd_details_id = '';\n }else\n {\n pd_details_id = qt_id.pd_detail_id;\n updatedby = this.userid;\n updateon = currentdate;\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\n }\n let saveRecords = \n {\n \"pd_detail_id\": pd_details_id,\n\t\t\"fk_pd_id\": pd_id,\n\t\t\"fk_category_id\": catid,\n\t\t\"fk_question_id\": qut_id,\n\t\t\"pd_question\": qustName,\n \"pd_question_weightage\": qut_weightage,\n \"question_remark\": pd_remarks,\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\n \"pd_answer_id\":ans_id,\n\t\t\"pd_answer\": pd_answer,\n\t\t\"pd_answer_weightage\": qut_weightage,\n \"fk_pd_id\":pd_id,\n \"fk_pd_detail_id\":pd_details_id,\n\n }],\n\t\t\n\t\t\"fk_createdon\": createon,\n\t\t\"createdby\": createdby,\n\t\t\"fk_updatedon\": updateon,\n \"updatedby\": updatedby,\n \"images\": this.imageArray || \"\",\n \n\n };\n \n // this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\n // {\n // this.qustCate = res;\n // if(this.qustCate.dataStatus == true){\n // this.SwipedTabsSlider.slideNext();\n // this.docArray = [];\n // this.getcategoryList(qt_id,pd_id);\n // }\n // })\n // }else\n // {\n \n // this.SwipedTabsSlider.slideNext(); \n }\n } \n\n getcategoryList(qustinfo,pdId)\n {\n let qustDetails = {\"question_id\":qustinfo.fk_question_id, \"pd_id\":pdId, \"template_id\":qustinfo.fk_template_id, \"category_id\":qustinfo.fk_template_question_category_id\n };\n let answerData:any;\n this.qstDetails.getAnswerTemplate(qustDetails).subscribe(res=>\n {\n answerData = res;\n if(answerData.dataStatus == true)\n {\n \n // answerData = answerData.records;\n // let eachquestion = this.questionDetails.questions.filter(qust=>qust.question_id == answerData.question_id)[0];\n // eachquestion['answers'] = answerData.answers; \n \n // this.questionDetails =\n // this.imageArray = answerData.images;\n // for(let docs of this.imageArray)\n // {\n // this.docArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title,'questionId':''})\n // }\n this.questionanotherData.controls['questionRemarks'].setValue(answerData.question_remark);\n }\n });\n }\n prev(answerDetails,questionRemarks,questionDetails) {\n for(let docs of this.docArray)\n {\n \n if(docs.pd_document_title !='' && docs.pd_document_title != null && docs.pd_document_title !== undefined){\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':docs.pd_document_title});\n // return true;\n }else\n {\n //alert();\n this.imageArray.push({'pd_document_name':docs.pd_document_name,'pd_document_title':\"docNames\"});\n \n }\n }\n if(answerDetails.answerDetails !=null){\n //alert('answers');\n let pd_id = this.pdinfo.pd_id;\n let catid = questionDetails.fk_question_category_id;\n let qt_id = questionDetails.questions.filter(qst=>qst.template_question_id == answerDetails.answerDetails.fk_template_question_id)[0];\n let qut_id = qt_id.fk_question_id;\n let qustName = qt_id.question;\n let qut_weightage = qt_id.question_weightage;\n let ans_id = answerDetails.answerDetails.fk_question_answer_id;\n let pd_answer = answerDetails.answerDetails.answer;\n let ans_weightage = answerDetails.answerDetails.template_answer_weightage;\n let pd_remarks = questionRemarks.questionRemarks;\n let updatedby:any='';\n let updateon:any='';\n let createdby:any='';\n let createon:any='';\n let pd_details_id:any='';\n let pd_detail_answer_id:any = '';\n if(qt_id.pd_detail_id ==null)\n {\n createdby = this.userid;\n createon = currentdate;\n pd_details_id = '';\n }else\n {\n pd_details_id = qt_id.pd_detail_id;\n updatedby = this.userid;\n updateon = currentdate;\n pd_detail_answer_id = answerDetails.answerDetails.pd_detail_answer_id;\n }\n let saveRecords = \n {\n \"pd_detail_id\": pd_details_id,\n \"fk_pd_id\": pd_id,\n \"fk_category_id\": catid,\n \"fk_question_id\": qut_id,\n \"pd_question\": qustName,\n \"pd_question_weightage\": qut_weightage,\n \"question_remark\": pd_remarks,\n \"answers\":[{\"pd_detail_answer_id\": pd_detail_answer_id,\n \"pd_answer_id\":ans_id,\n \"pd_answer\": pd_answer,\n \"pd_answer_weightage\": qut_weightage,\n \"fk_pd_id\":pd_id,\n \"fk_pd_detail_id\":pd_details_id,\n\n }],\n \n \"fk_createdon\": createon,\n \"createdby\": createdby,\n \"fk_updatedon\": updateon,\n \"updatedby\": updatedby,\n \"images\": this.imageArray || \"\",\n \n\n };\n \n this.qstDetails.saveQusetion(saveRecords).subscribe(res=>\n {\n this.qustCate = res;\n if(this.qustCate.dataStatus == true){\n this.SwipedTabsSlider.slidePrev();\n this.docArray = [];\n this.getcategoryList(qt_id,pd_id);\n }\n })\n }else{\n if(this.SwipedTabsSlider.getActiveIndex()!=0){\n this.SwipedTabsSlider.slidePrev();\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, AlertController } from 'ionic-angular';\nimport {FormBuilder,FormControl,FormArray, FormGroup,Validators} from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { Observable } from 'rxjs';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants';\nimport { timeInterval } from 'rxjs/operators';\n/**\n * Generated class for the PdQuestionAddressPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n@Component({\n selector: 'page-pd-question-address',\n templateUrl: 'pd-question-address.html',\n})\nexport class PdQuestionAddressPage {\n\n // additional_premises: any=[];\n // bussiness_address_type: any=[];\n // formPremisesCityArray: any=[];\n // tempArr: any[];\n // cityData: any = [];\n // PremisesLabel: any=[];\n // formPremisesArray: any=[];\n // z:number = 0;\n \n // PremisesOtherFlag: boolean;\n CITY: any;\n residence: any;\n FormId: any;\n getaddressDetails: any;\n users: any;\n address: string;\n custBehaviour: any;\n cmtlocality: any;\n\n //placeholderName : any = 'Estimated area of the (Address Type)';\n placeholderName:any=[];\n premisesRentAmtInwords:any=[];\n rentAmtInwords : any ;\n\n locality: any = [];\n pdlocation: any = [];\n pdDetails: any;\n questionDetails: any;\n pdQuestionAddress:FormGroup;\n addressTypes:any=[];\n addressRemarksAccess:boolean = false;\n items:FormArray;\n pdState: any;\n pdCity: any;\n pdPincode: any;\n pdOtherPincode: any;\n cityData: any=[];\n pincodeData: any=[];\n stateData: any=[];\n uomData: any=[];\n addressesList: any;\n // counts:number = 1;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider,public alerCtrl:AlertController,public constant:ConstantsProvider) {\n \n this.questionDetails = this.navParams.get('questionDetails');\n \n this.pdDetails = this.navParams.get('pdDetails');\n \n this.FormId = this.navParams.get('FormId');\n\n this.users = this.aws.getlocale();\n\n // if(this.pdDetails.addressline2 ! =null || this.pdDetails.addressline3 !=null){\n // this.address = this.pdDetails.addressline1+','+this.pdDetails.addressline2+','+this.pdDetails.addressline3;\n // }else{\n // this.address = this.pdDetails.addressline1+', - , -'; \n // }\n // this.pdState = this.pdDetails.fk_state;\n // this.getCityAndPincodeDetails(this.pdState);\n // this.pdCity = this.pdDetails.fk_city;\n // this.pdPincode = this.pdDetails.pincode_id;\n \n // this.pdOtherPincode = this.pdPincode == 1 ? this.pdDetails.other_pincode : '';\n \n this.getdropdownlist();\n\n this.pdQuestionAddress = this.fb.group(\n {\n addresses:this.fb.array([]),\n address_form_remark:['']\n // address_ownership:[null],\n // other_ownership:[null],\n // rent_amt:[null],\n // other_premises_bussiness_activity : [null],\n // bussiness_activity_remark:[null],\n // bussiness_activity:[null],\n // bussiness_address_type:[null],\n // bussiness_address_type_others:[null], \n // business_years:[null],\n // business_month:[null],\n // additional_address_units: this.fb.array([]),\n \n });\n this.getaddressForm(); \n //this.loadPD()\n }\n\n ionViewDidLoad() {\n //this.addUnits();\n console.log(\"ionViewDidLoad PdQuestionAddressPage\")\n \n }\n\n ionViewWillLeave()\n {\n \n\n // let method = this.alerCtrl.create({\t\t\t\n // message: 'Do You Want Save',\n // buttons: [\n // {\n // text: 'Save',\n // cssClass: 'method-color',\n // handler: () => {\n // \n // }\n // },\n // {\n // text: 'Cancel',\n // cssClass: 'method-color',\n // handler: () => {\n // \n // this.navCtrl.pop(); \n // }\n // }\n // ]\n // });\n // method.present()\n \n \n \n }\n\n /** To Get City And Pincode Data For Address Form \n * Param 'stateID' -> selected StateId\n */\n getCityAndPincodeDetails(stateID: string,i) {\n this.qustCat.getStateWiseCities(stateID).subscribe(data => {\n if (data.status == 200) {\n this.cityData[i] = data.records.cities;\n this.pincodeData[i] = data.records.pincode;\n }\n });\n }\n\n\n\n getdropdownlist()\n {\n // this.addressTypes = [\n \n // {'id':'Office','Name':'Office'},\n // {'id':'Clinic','Name':'Clinic'},\n // {'id':'Factory','Name':'Factory'},\n // {'id':'Warehouse','Name':'Warehouse'},\n // {'id':'Shop','Name':'Shop'},\n // {'id':'ResidencecumOffice','Name':'ResidencecumOffice'},\n // {'id':'Residence','Name':'Residence'},\n // {'id':'OTHERS','Name':'OTHERS'}\n // ];\n\n \n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.addressTypes = res['records'].filter(add=>add.isactive==1); \n }\n \n })\n \n this.qustCat.getcommondrop('PDLOCATIONAPPROACH').subscribe(res=>\n {\n this.pdlocation = res;\n if(this.pdlocation.dataStatus == true)\n {\n this.pdlocation = this.pdlocation.records.filter(loca=>loca.isactive ==1);\n }\n })\n this.qustCat.getcommondrop('COMMENTSONLOCALITY').subscribe(res=>\n {\n this.cmtlocality = res;\n if(this.cmtlocality.dataStatus ==true)\n {\n this.cmtlocality = this.cmtlocality.records.filter(loc=>loc.isactive ==1);\n }\n });\n\n \n // this.qustCat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>\n // {\n // this.custBehaviour = res;\n // if(this.custBehaviour.dataStatus == true)\n // {\n // this.custBehaviour = this.custBehaviour.records.filter(cust=>cust.isactive ==1);\n // }\n // })\n this.qustCat.getcommondrop('LOCALITY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.locality = res['records'].filter(loc=>loc.isactive==1);\n }\n })\n\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.residence = res['records'].filter(red=>red.isactive==1);\n }\n })\n this.qustCat.getcommondrop('CITY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.CITY = res['records'].filter(red=>red.isactive==1);\n }\n })\n this.qustCat.getcommondrop('STATE').subscribe(res=>{\n this.stateData=res['records'].filter(val=>val.isactive == 1);\n })\n this.qustCat.getcommondrop('UOM').subscribe(res=>{\n this.uomData=res['records'].filter(val=>val.isactive == 1 && val.is_land_uom != 0)\n })\n \n }\n\n // checkaddress(value)\n // {\n // \n // if(value==\"OTHERS\")\n // {\n // this.addressRemarksAccess = true;\n // }else\n // {\n // this.addressRemarksAccess = false;\n // }\n // }\n\n // createItem(): FormGroup {\n // return this.fb.group({\n // name: [null],\n // do_you_know: [null],\n // how_long: [null],\n // is_owner: [null],\n // });\n // };\n \n createUnits(val): FormGroup {\n if(val==null){\n return this.fb.group({\n no_of_additional_units: [''],\n premises_type: [''],\n premises_type_others: [''],\n premises_city: [''],\n // premises_ownership: [''],\n //premises_ownership_others: [''],\n //premises_rent_amt:[''],\n premises_remarks: [''],\n });\n }\n else{\n \n return this.fb.group({\n no_of_additional_units: [val.no_of_additional_units],\n premises_type: [val.premises_type],\n premises_type_others: [val.premises_type_others],\n premises_city: [val.premises_city],\n // premises_ownership: [val.premises_ownership],\n // premises_ownership_others: [val.other_ownership],\n // premises_rent_amt:[val.rent_amt],\n premises_remarks: [val.premises_remarks],\n });\n \n }\n }\n\n addUnits() {\n this.items = this.pdQuestionAddress.get('additional_address_units') as FormArray;\n this.items.push(this.createUnits(null));\n}\n\n\n removeUnits(i){\n this.items.removeAt(i);\n }\n\n ConvertMonthintoYear(e){\n \n let business_year = this.pdQuestionAddress.controls.business_years.value;\n\n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n this.pdQuestionAddress.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\n this.pdQuestionAddress.controls.business_month.setValue(Math.floor(converted_month));\n \n }\n initAddress(AddressDetails){\n if(AddressDetails != null){\n return this.fb.group({\n address: [AddressDetails.address, Validators.compose([Validators.required])],\n address_type: [AddressDetails.address_type, Validators.compose([Validators.required])],\n address_type_others: [AddressDetails.address_type_others],\n state: [AddressDetails.state],\n city: [AddressDetails.city],\n pincode: [AddressDetails.pincode],/** ,Validators.compose([Validators.minLength(6),Validators.maxLength(6)]) */\n pincode_others: [AddressDetails.pincode_others, Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],\n locality: [AddressDetails.locality, Validators.compose([Validators.required])],\n locality_others: [AddressDetails.locality_others],\n locality_mixuse: [AddressDetails.locality_mixuse],\n pd_location: [AddressDetails.pd_location, Validators.compose([Validators.required])],\n comment_locality: [AddressDetails.comment_locality, Validators.compose([Validators.required])],\n estimated_area: [AddressDetails.estimated_area],\n uom: [AddressDetails.uom],\n uom_others: [AddressDetails.uom_others] \n })\n }\n else{\n return this.fb.group({\n address: ['', Validators.compose([Validators.required])],\n address_type: ['', Validators.compose([Validators.required])],\n address_type_others: [''],\n state: [''],\n city: [''],\n pincode: [''],\n pincode_others: ['', Validators.compose([Validators.minLength(6), Validators.maxLength(6)])],\n locality: ['', Validators.compose([Validators.required])],\n locality_others: [''],\n locality_mixuse: [''],\n pd_location: ['', Validators.compose([Validators.required])],\n comment_locality: ['', Validators.compose([Validators.required])],\n estimated_area: [''],\n uom: [''],\n uom_others: [''] \n });\n }\n \n }\n /** On Key Press Event For Numbers */\n keyPress(event: any) {\n const pattern = /[0-9]/;\n \n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n inWords(e,i){ \n \n this.premisesRentAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\n \n }\n\n inWordsForRent(e){\n \n this.rentAmtInwords = this.constant.convertNumberToWords(e.target.value);\n }\n\n selectedAddressType(e: any,i){\n this.placeholderName[i] = 'Estimated area of the ' + e;\n }\n\n\n savepdQuestion(answerData)\n {\n let records: any = {};\n // records.address = answerData.address;\n // if(answerData.address_type_others != null){\n // records.address_type_others = answerData.address_type_others;\n // }\n // // records.state =answerData.state\n // records.city = answerData.city\n\n // records.pincode = answerData.pincode\n // records.pincode_others = answerData.pincode== 1 ?\n // this.pdQuestionAddress.controls.pincode_others.value : '';\n\n // records.address_type = answerData.address_type;\n // records.locality = answerData.locality;\n \n // records.locality_others = answerData.locality == 1 ?\n // this.pdQuestionAddress.controls.locality_others.value : '';\n\n // records.locality_mixuse = answerData.locality == 5 ?\n // this.pdQuestionAddress.controls.locality_mixuse.value : '';\n\n // records.pd_location = answerData.pd_location;\n // records.comment_locality = answerData.comment_locality;\n // records.other_comment_locality = answerData.other_comment_locality;\n // records.estimated_area = answerData.estimated_area;\n\n // records.uom = answerData.uom;\n // records.uom_others = answerData.uom == 1 ?\n // this.pdQuestionAddress.controls.uom_others.value : '';\n // records.customer_behaviour = answerData.customer_behaviour;\n // records.neighbourhood = answerData.neighbourhood;\n console.log(\"Answer DAta\",answerData)\n records.addresses=answerData.addresses\n records.address_form_remark=answerData.address_form_remark\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.address_form_remark = answerData.address_form_remark;\n // records.address_ownership = answerData.address_ownership;\n // records.other_ownership = answerData.other_ownership;\n // records.rent_amt = answerData.rent_amt;\n // records.other_premises_bussiness_activity = answerData.other_premises_bussiness_activity;\n // records.bussiness_activity = answerData.bussiness_activity;\n // records.bussiness_activity_remark = answerData.bussiness_activity_remark;\n // records.business_years = answerData.business_years;\n // records.business_month = answerData.business_month;\n \n // records.additional_address_units = answerData.additional_address_units;\n \n \n \n this.qustCat.saveForm(records).subscribe(data => {\n \n // let params: any = {};\n // params.pd_id = '250';\n // params.pd_form_id = '250';\n \n // setTimeout(function(){\n // this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n // },5000)\n if(data['dataStatus']==true){\n this.toast.pdTriggerappmessage('Record Saved Successfully');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000); \n }\n },err=>{\n this.toast.pdTriggerappmessage('Something went wrong ');\n });\n }\n\n getaddressForm()\n {\n \n let res:any;\n\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n \n this.qustCat.retiverForm(records).subscribe(res=>\n {\n const control=this.pdQuestionAddress.controls['addresses']\n this.getaddressDetails = res;\n \n if(this.getaddressDetails.dataStatus ==true){\n if(this.getaddressDetails.records.addresses ){\n \n this.getaddressDetails = this.getaddressDetails.records.addresses;\n\n if(this.getaddressDetails.length == 0 ){\n control.push(this.initAddress(''));\n }\n else{\n this.getaddressDetails.forEach((datas,index)=>{\n \n let val={\n 'address': datas.address,\n 'address_type': datas.address_type,\n 'address_type_others': datas.address_type_others,\n 'state': datas.state,\n 'city': datas.city,\n 'pincode': datas.pincode,\n 'pincode_others': datas.pincode_others,\n 'locality': datas.locality,\n 'locality_others': datas.locality_others,\n 'locality_mixuse': datas.locality_mixuse,\n 'pd_location': datas.pd_location,\n 'comment_locality': datas.comment_locality,\n 'estimated_area': datas.estimated_area,\n 'uom': datas.uom,\n 'uom_others': datas.uom_others\n }\n this.getCityAndPincodeDetails(datas.state,index)\n let selectedAddressType = this.addressTypes.filter(element => element.address_type_id == datas.address_type)[0];\n this.selectedAddressType(selectedAddressType.address_type,index);\n if (datas.address_type == 1) {\n this.selectedAddressType(datas.address_type_others,index);\n }\n control.push(this.initAddress(val))\n })\n this.pdQuestionAddress.controls.address_form_remark.setValue(res['records'].address_form_remark);\n }\n // if(this.getaddressDetails.additional_address_units != null){\n // var result = Object.keys(res['records'].additional_address_units).map(function(key) {\n // // return res['records'].additional_address_units[key];\n // //for slicing the automatically created\n \n // });\n // //this.removeUnits(0);\n // }\n\n // let control = this.pdQuestionAddress.get('additional_address_units') as FormArray;\n\n // this.pdQuestionAddress.controls['address'].setValue(this.getaddressDetails.address);\n // this.pdQuestionAddress.controls['state'].setValue(this.getaddressDetails.state)\n\n // if (this.getaddressDetails.state != '') {\n // this.getCityAndPincodeDetails(this.getaddressDetails.state);\n // this.pdQuestionAddress.controls.city.setValue(this.getaddressDetails.city);\n // this.pdQuestionAddress.controls.pincode.setValue(this.getaddressDetails.pincode);\n // if (this.getaddressDetails.pincode == 1) {\n // this.pdQuestionAddress.controls.pincode_others.setValue(this.getaddressDetails.pincode_others);\n // this.pdQuestionAddress.controls.pincode_others.setValidators([Validators.required]);\n // this.pdQuestionAddress.controls.pincode_others.updateValueAndValidity();\n // }\n // }\n // this.pdQuestionAddress.controls['pd_location'].setValue(this.getaddressDetails.pd_location);\n // this.pdQuestionAddress.controls['address_type'].setValue(this.getaddressDetails.address_type);\n // let selectedAddressType = this.addressTypes.filter(element =>element.address_type_id == this.getaddressDetails.address_type);\n // this.selectedAddressType(selectedAddressType);\n\n // if(this.getaddressDetails.address_type != null) {\n // this.pdQuestionAddress.controls['address_type_others'].setValue(this.getaddressDetails.address_type_others);\n // this.selectedAddressType(this.getaddressDetails.address_type_others);\n // }\n\n // this.pdQuestionAddress.controls['comment_locality'].setValue(this.getaddressDetails.comment_locality);\n\n // if(this.getaddressDetails.comment_locality != null){\n // this.pdQuestionAddress.controls['other_comment_locality'].setValue(this.getaddressDetails.other_comment_locality);\n // }\n // // this.pdQuestionAddress.controls.customer_behaviour.setValue(this.getaddressDetails.customer_behaviour);\n // this.pdQuestionAddress.controls['locality'].setValue(this.getaddressDetails.locality);\n // if(this.getaddressDetails.locality == 1 ){\n // this.pdQuestionAddress.controls['locality_others'].setValue(this.getaddressDetails.locality_others);\n // }\n // if(this.getaddressDetails.locality == 5){\n // this.pdQuestionAddress.controls['locality_mixuse'].setValue(this.getaddressDetails.locality_mixuse)\n // }\n \n // this.pdQuestionAddress.controls.estimated_area.setValue(this.getaddressDetails.estimated_area);\n // this.pdQuestionAddress.controls.uom.setValue(this.getaddressDetails.uom);\n // if (this.getaddressDetails.uom == 1) {\n // this.pdQuestionAddress.controls.uom_others.setValue(this.getaddressDetails.uom_others);\n // this.pdQuestionAddress.controls.uom_others.setValidators([Validators.required])\n // this.pdQuestionAddress.controls.uom_others.updateValueAndValidity();\n // }\n // this.pdQuestionAddress.controls['address_form_remark'].setValue(this.getaddressDetails.address_form_remark);\n // // this.pdQuestionAddress.controls['address_ownership'].setValue(this.getaddressDetails.address_ownership);\n // this.pdQuestionAddress.controls['other_ownership'].setValue(this.getaddressDetails.other_ownership);\n // this.pdQuestionAddress.controls['rent_amt'].setValue(this.getaddressDetails.rent_amt);\n // if(this.getaddressDetails.rent_amt != null){\n // this.rentAmtInwords = this.constant.convertNumberToWords(this.getaddressDetails.rent_amt);\n // }\n // this.pdQuestionAddress.controls['other_premises_bussiness_activity'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\n // if(this.getaddressDetails['other_premises_bussiness_activity'] !=null) {\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue(this.getaddressDetails.other_premises_bussiness_activity);\n // } \n // else{\n // this.pdQuestionAddress.controls['bussiness_activity_remark'].setValue('');\n // }\n // this.pdQuestionAddress.controls['bussiness_activity'].setValue(this.getaddressDetails.bussiness_activity);\n\n // this.pdQuestionAddress.controls['business_years'].setValue(this.getaddressDetails.business_years);\n // this.pdQuestionAddress.controls['business_month'].setValue(this.getaddressDetails.business_month);\n \n \n \n\n /* if(this.getaddressDetails.bussiness_activity == 'yes') {\n \n if (result.length == 0) {\n \n control.push(this.createUnits(null));\n } else {*/\n \n //for(let val of this.getaddressDetails.additional_address_units){\n //control.push(this.createUnits(val));\n //}\n //result.forEach((datas,index) => {\n \n //this.premisesRentAmtInwords[index] = this.constant.convertNumberToWords(datas.premises_rent_amt);\n //this.pdQuestionAddress.controls['additional_address_units'].setValue(datas);\n \n //});\n \n //}\n \n // }\n\n }\n else{\n control.push(this.initAddress(''))\n }\n }\n else\n this.loadPD();\n });\n }\n loadPD(){\n const control=this.pdQuestionAddress.controls['addresses']\n this.qustCat.getAddressDetails(this.pdDetails.pd_id).subscribe(res=>{\n if(res.dataStatus == true){\n this.addressesList = res.records.filter(item => item.isactive == 1);\n console.log('this.addressesList',this.addressesList);\n if(this.addressesList.length > 0){\n this.addressesList.forEach((datas,index)=>{\n let obj ={\n 'address': datas.addressline1,\n 'address_type': '',\n 'address_type_others': '',\n 'state': datas.fk_state,\n 'city': datas.fk_city,\n 'pincode': datas.pincode_id,\n 'pincode_others': datas.other_pincode,\n 'locality': '',\n 'locality_others': '',\n 'locality_mixuse':'',\n 'pd_location': '',\n 'comment_locality': '',\n 'estimated_area': '',\n 'uom': '',\n 'uom_others': ''\n }\n this.getCityAndPincodeDetails(datas.fk_state,index)\n control.push(this.initAddress(obj))\n })\n }\n else{\n control.push(this.initAddress(''))\n }\n }\n else{\n control.push(this.initAddress(''))\n }\n })\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-address/pd-question-address.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport {FormBuilder,FormControl,FormArray, FormGroup} from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionEmpInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-emp-info',\n templateUrl: 'pd-question-emp-info.html',\n})\nexport class PdQuestionEmpInfoPage {\n questionDetails: any;\n pdDetails: any;\n empInfo:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\n \n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n\n this.empInfo = this.fb.group(\n {\n nameOfEmp:[null],\n yearWithEmp:[null],\n empMet:[null],\n designationOfEmp:[null],\n salaryConfirm:[null],\n actualSalary:[null],\n attRegisterSeen:[null],\n salaryRegisterSeen:[null]\n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionEmpInfoPage');\n }\n\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.ts","import { Component, ApplicationInitStatus } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup,FormArray,FormBuilder,Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport {ConstantsProvider} from '../../../providers/constants/constants'\n/**\n * Generated class for the PdQuestionCurrentLoansPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-current-loans',\n templateUrl: 'pd-question-current-loans.html',\n})\nexport class PdQuestionCurrentLoansPage {\napplicants: any;\n placeholderName: any = [];\n lenderData: any;\n frequencyData: any;\n loanTypeData:any;\n FormId: any;\n users: any;\n pdDetails: any;\n questionDetails: any;\n currentLoans:FormGroup;\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n pdid:number;\n amtInwords: any=[];\n emiAmtInwords: any=[];\n dataFromAssets : any = [];\n labelArr : any = [];\n investmentTypeData: any=[];\n addressTypeData: any;\n propertyTypeData: any;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider, public aws:AwsServiceProvider,public constant:ConstantsProvider) {\n\n console.log(\"other\",this.applicants);\n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.FormId = this.navParams.get('FormId');\n this.applicants = this.pdDetails.applicat_details.filter(val=>val.pd_co_applicant_id != 0);\n \n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n \n console.log(\"Applicant\",this.applicants)\n\n this.getdropdown();\n // this.applicants.push\n \n this.users = this.aws.getlocale();\n this.currentLoans = this.fb.group(\n {\n existing_loan: [null],\n currentloan_remarks:[null],\n loan_details: this.fb.array([])\n });\n \n \n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n this.getcurrentLoans()\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(res=>\n {\n this.lenderData = res['records'].filter(len=>len.isactive==1);\n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n this.frequencyData = res['records'].filter(frq=>frq.isactive==1);\n });\n this.qustCat.getcommondrop('EXISTINGLOANTYPES').subscribe(val=>{\n this.loanTypeData=val['records'].filter(loan=>loan.isactive == 1 );\n });\n\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n // console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n }\n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n //modifyCompanyList.push({'id':\"0\",'name':'Others','group_id':1})\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n // console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n }\n })\n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n // this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n // modifyApplicantList.push()\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n \n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n }\n\n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(data => {\n this.investmentTypeData=data['records'].filter(val=>val.isactive == 1);\n \n \n });\n this.qustCat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\n this.addressTypeData=data['records'].filter(val=>val.isactive ==1 );\n })\n this.qustCat.getcommondrop('PROPERTIES').subscribe(data=>{\n this.propertyTypeData=data['records'].filter(val=>val.isactive ==1);\n })\n }\n \n exitsCheck(val)\n { \n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n if(val ==\"Yes\")\n {\n \n this.addLoanDetails();\n }\n\n }\n createLoanDetail(data) {\n return this.fb.group({\n label: data == null ? [''] : [data.label],\n other_frequency:[''],\n loan_amount: [''],\n frequency:[''],\n emi: [''],\n loan_type: [''],\n others_loan_type:[''],\n loan_taken_by:[''],\n others_loan_taken:[''],\n lender: [''],\n others_lender:[''],\n original_tenure: [''],\n current_balance_tenure: [''],\n elapsed_tenure:[],\n });\n}\naddLoanDetails() {\n const control = this.currentLoans.controls['loan_details'];\n control.push(this.createLoanDetail(null));\n}\ndeleteLoanDetails(index) {\n const control = this.currentLoans.controls['loan_details'];\n if(control.length==1)\n {\n this.currentLoans.controls['loan_details'].reset();\n }else{\n control.removeAt(index);\n }\n}\ncompareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n}\ncheckOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n}\ncheckTenure(details){\n let originalTenure = details.value.original_tenure;\n // alert(originalTenure);\n details.controls.current_balance_tenure.setValidators([Validators.required, Validators.max(+originalTenure)]);\n details.controls.current_balance_tenure.updateValueAndValidity();\n // details.controls.current_balance_tenure.setValidators([Validators.max(+originalTenure)]);\n // details.controls.current_balance_tenure.updateValueAndValidity(); \n // let BalanceTenure = details.value.current_balance_tenure;\n // if( originalTenure < BalanceTenure){\n // alert('Greater');\n // details.controls.current_balance_tenure.setValue('');\n // alert('validation setted For');\n // details.controls.current_balance_tenure.setValidators([Validators.min(+originalTenure)]);\n // details.controls.current_balance_tenure.updateValueAndValidity(); \n \n \n // }\n}\ncalculateTenure(details)\n{\n let ElapsedValues;\n \n if(details.value.original_tenure != null && details.value.original_tenure != '' && details.value.current_balance_tenure != null && details.value.current_balance_tenure != ''){\n ElapsedValues = details.value.original_tenure - details.value.current_balance_tenure ;\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\n }\n\n}\nkeyPress(event: any) {\n const pattern = /[0-9]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n}\ninWords(e,i,flag){\n switch(flag){\n case 1 : \n this.amtInwords[i] = this.constant.convertNumberToWords(e.target.value);\n break;\n case 2 :\n this.emiAmtInwords[i] = this.constant.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n }\n}\n\n\nselectedfrequency(e,i){\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n \n // alert('function in');\n \n \n switch(+e){\n case 1: this.placeholderName[i] = 'Instalment Amount'; break;\n case 2: this.placeholderName[i] = 'Annual Instalment Amount'; break;\n case 3: this.placeholderName[i] = 'Halfyearly Instalment Amount'; break;\n case 4: this.placeholderName[i] = 'Fortnightly Instalment Amount'; break;\n case 5: this.placeholderName[i] = 'Daily Instalment Amount'; break;\n case 6: this.placeholderName[i] = 'Quarterly Instalment Amount'; break;\n case 7: this.placeholderName[i] = 'Monthly Instalment Amount'; break;\n default: this.placeholderName[i] = 'Instalment Amount'; break;\n}\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n}\n\nsubmitCurrentloan(answerData) {\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.existing_loan = answerData.existing_loan;\n records.loan_details = answerData.loan_details;\n records.currentloan_remarks = answerData.currentloan_remarks;\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n this.qustCat.saveForm(records).subscribe(data => {\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n\n \n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n });\n}\n getcurrentLoans()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n const control = this.currentLoans.controls['loan_details'];\n if(res['dataStatus']==true )\n {\n let currentLoanDetails = res['records'];\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n if(res['records'].loan_details !== undefined && res['records'].loan_details !=null && res['records'].loan_details !=''){\n var result = Object.keys(res['records'].loan_details).map(function(key) {\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n return res['records'].loan_details[key];\n \n });\n \n this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan);\n this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks);\n const control = this.currentLoans.controls['loan_details'];\n if(currentLoanDetails.existing_loan != 'No')\n {\n if(result.length ==0)\n {\n control.push(this.createLoanDetail(null));\n }else\n {\n result.forEach((datas,index)=>\n {\n // let objs = { \n // 'label': datas.label,\n // 'loan_amount': datas.loan_amount,\n // 'frequency':datas.frequency,\n // 'other_frequency':datas.other_frequency,\n // 'emi': datas.emi,\n // 'loan_type': datas.loan_type,\n // 'others_loan_type': datas.others_loan_type,\n // 'loan_taken_by':datas.loan_taken_by,\n // 'others_loan_taken':datas.others_loan_taken,\n // 'lender': datas.lender,\n // 'others_lender':datas.others_lender,\n // 'original_tenure': datas.original_tenure,\n // 'current_balance_tenure': datas.current_balance_tenure,\n // 'elapsed_tenure':datas.elapsed_tenure\n // }\n control.push(this.createLoanDetail(null));\n this.selectedfrequency(datas.frequency,index);\n if(datas.loan_amount!=''){\n this.amtInwords[index]=this.constant.convertNumberToWords(datas.loan_amount);\n }\n if(datas.emi!=''){\n this.emiAmtInwords[index]=this.constant.convertNumberToWords(datas.emi);\n }\n })\n\n this.currentLoans.controls['loan_details'].setValue(result);\n \n }\n }\n }\n else\n {\n this.currentLoans.controls['existing_loan'].setValue(currentLoanDetails.existing_loan);\n this.currentLoans.controls['currentloan_remarks'].setValue(currentLoanDetails.currentloan_remarks);\n }\n\n }\n else {\n // console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n this.qustCat.getAssetsWithLoanFromBusiness(this.pdid).subscribe(data=>{\n console.log('Enter');\n\n if(data.dataStatus == true){\n \n console.log(\"dataStatus\",data.dataStatus);\n \n let AssetData = data.record;\n console.log(AssetData)\n \n // console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n if(AssetData.business_address_asset.length > 0){\n AssetData.business_address_asset.map(element=>{\n this.dataFromAssets.push({mode:0,\n mode_name:element.address_label,\n details:[],\n owner_name:element.business_name_of_the_owner,\n form_type:'Data From Bussiness Address'})\n })\n }\n\n if(AssetData.business_assets.length>0){\n AssetData.business_assets.map(element => {\n this.dataFromAssets.push({mode:element.business_assets_mode,\n mode_name:element.business_assets_mode_name,\n details:element.business_details,\n owner_name:element.business_name_of_the_owner,\n form_type:'Data From Business Assets'})\n });\n }\n\n if(AssetData.other_assests.length > 0){\n AssetData.other_assests.map(element => {\n this.dataFromAssets.push({mode:element.assets_mode,\n mode_name:element.assets_mode_name,\n details:element.details,\n owner_name:element.name_of_the_owner,\n form_type:'Data From Other Asset'\n })\n })\n }\n \n console.log(\"DAta\",this.dataFromAssets);\n // id: \"4\", name: \"Equipments and machinaries\", isactive: \"1\", flag: \"1\", is_others: \"0\"\n // id: \"7\", name: \"Investments\", isactive: \"1\", flag: \"0\", is_others: \"0\"\n // id: \"6\", name: \"Life Insurance Policy\", isactive: \"1\", flag: \"0\", is_others: \"0\"\n // id: \"2\", name: \"Property\", isactive: \"1\", flag: \"1\", is_others: \"0\"\n // id: \"3\", name: \"Vehicle\", isactsive: \"1\", flag: \"1\", is_others: \"0\"\n // id: \"1\", name: \"Others\", isactive: \"1\", flag: \"1\", is_others: \"1\"}\n \n if(this.dataFromAssets.length > 0){ \n let labelarray : any = [];\n \n this.dataFromAssets.forEach((val,index) => {\n if(val.mode == 0){\n console.log(\"0\")\n let owner = val.owner_name.map((e => {\n return e.name.split(',')\n }));\n // labelarray[index] = ' : '+owner +' - '+ val.mode_name.split(\"/\")[0] + ' ( ' + val.mode_name.split(\"/\")[1] + ' )';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name;\n } \n if(val.mode == 1){\n console.log(\"1\")\n let data;\n let owner: any = \"Owner Not Mentioned\";\n val.details.forEach((v,index) => {\n data = v.any_other_assets;\n });\n if(val.owner_name.length>0 ){\n owner = val.owner_name.map((e => {\n return e.name.split(',')\n }));\n }\n \n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\n }\n if(val.mode == 2){\n console.log(\"2\")\n let owner: any = \"Owner Not Mentioned\";\n let data;\n val.details.forEach((v,index) => {\n data = v.property_type_name;\n if(v.property_type != 1){\n if(val.form_type == 'Data From Business Assets'){\n data = this.addressTypeData.filter(item => item.address_type_id == v.property_type)[0].address_type;\n }\n else if(val.form_type == 'Data From Other Asset'){\n data = this.propertyTypeData.filter(item => item.id == v.property_type)[0].name;\n }\n else{\n data = '';\n }\n }else{\n data=v.other_property_type;\n }\n if(val.owner_name.length>0){\n owner = val.owner_name.map((e => {\n return e.name.split(',')\n }));\n }\n \n });\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\n }\n if(val.mode == 3){\n console.log(\"3\")\n let data;\n let owner: any = \"Owner Not Mentioned\";\n val.details.forEach((v,index) => {\n data = v.manufacturer_model_vehicle;\n });\n if(val.owner_name.length>0){\n owner = val.owner_name.map((e => {\n return e.name.split(',')\n }));\n }\n \n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\n }\n if(val.mode == 4){\n console.log(\"4\")\n let data;\n let owner: any = \"Owner Not Mentioned\";\n val.details.forEach((v,index) => {\n data = v.equipment_manufacturing_description;\n });\n if(val.owner_name.length>0 ){\n owner = val.owner_name.map((e => {\n return e.name.split(',')\n }));\n }\n \n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : '+owner +' - '+ val.mode_name + description;\n }\n if(val.mode == 6){\n console.log(\"6\")\n let owner:any=\"Owner Not Mentioned\";\n if(val.owner_name.length>0)\n {\n owner=val.owner_name.map((e=>{\n return e.name.split(',')\n }));\n }\n // else {\n // owner = val.owner_name;\n // }\n labelarray[index] = ' : '+owner+' - '+ val.mode_name;\n }\n if(val.mode == 7){\n console.log(\"7\")\n let data;\n let owner: any = \"Owner Not Mentioned\";\n val.details.forEach((v,index) => {\n data = v.investments_type != 1 \n ? this.investmentTypeData.filter(data => data.id == v.investments_type)[0].name \n : v.other_investments_type ;\n\n });\n if(val.owner_name.length>0){\n owner = val.owner_name.map((e => {\n return e.name.split(',')\n }));\n }\n console.log(\"exit\",owner)\n let description = data != '' ? '( '+ data +' )' : '';\n labelarray[index] = ' : ' + owner + ' - '+ val.mode_name + description;\n var vals= owner + ' - '+ val.mode_name \n console.log(\"labelarr\",labelarray[index])\n console.log(vals)\n }\n });\n const control = this.currentLoans.controls['loan_details'];\n this.labelArr = labelarray;\n let arr : any = [];\n if(this.labelArr.length > 0){\n this.currentLoans.controls['existing_loan'].setValue('Yes');\n this.labelArr.forEach((v,index) => {\n console.log(\"Label\",v);\n arr = { \n 'label': v,\n 'loan_amount': '',\n 'frequency':'',\n 'other_frequency':'',\n 'emi': '',\n 'loan_type': '',\n 'others_loan_type': '',\n 'loan_taken_by':'',\n 'others_loan_taken':'',\n 'lender': '',\n 'others_lender':'',\n 'original_tenure': '',\n 'current_balance_tenure': '',\n 'elapsed_tenure':''\n }\n control.push(this.createLoanDetail(arr));\n });\n // this.currentLoanForm.controls['existing_loan'].setValue(arr);\n }\n }\n else{\n console.log('ionViewDidLoad PdQuestionCurrentLoansPage');\n control.push(this.createLoanDetail(null));\n }\n \n }\n });\n }\n })\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormArray, FormBuilder, Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants';\n\n/**\n * Generated class for the PdQuestionLoansPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-loans',\n templateUrl: 'pd-question-loans.html',\n})\nexport class PdQuestionLoansPage {\n enduse: any = [];\n propertyType: any;\n mortagetypeAccess: boolean;\n mortageAccess: boolean = false;\n mortageCardAccess: boolean;\n topUpAmtInWords: any;\n ownContributionInWords: any;\n valAsPerAgmtInWords: any;\n balTxrfAmtInWords: any;\n loanAmtInWords: any;\n\n emiAmtInWords:any;\n emvAmtInWords:any;\n\n m_btLenderList: any;\n applicants: any;\n m_endUseofLoad: any;\n m_sourceofamount: any;\n m_mortageTypeProperty: any;\n m_statusofCunstruction: any;\n ownerNames: any=[];\n isOtherPurpose: boolean=false;\n endUserList: any=[];\n pdDetails: any;\n FormId: any;\n productAbbr:any;\n loanDetailsForm: FormGroup;\n users: any;\n mergeCompanyApplicant:any=[];\n existCompanyList:any;\n m_endUseOFTopUpList:any=[]\n isContribution: boolean = false;\n\n \n isOtherSource: boolean = false;\n isPLSource: boolean = false;\n\n sourceList:any=[];\n pdid:number;\n m_endUseForLoan:any;\n subProductData: any=[];\n\n\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb: FormBuilder, public qustCat: QuestionCategoryProvider, public aws: AwsServiceProvider, public toast: ToastProvider,public constant:ConstantsProvider) {\n this.FormId = this.navParams.get('FormId');\n this.pdDetails = this.navParams.get('pdDetails');\n this.applicants = this.pdDetails.applicat_details\n this.productAbbr = this.pdDetails.product_abbr;\n this.users = this.aws.getlocale();\n this.pdid=this.pdDetails.pd_id;\n this.getDropdown();\n\n this.loanDetailsForm = this.fb.group({\n loan_amount: [this.pdDetails.loan_amount],\n loan_tenure:[''],\n sub_product:[''],\n end_use: ['', Validators.compose([Validators.required])],\n end_use_other: [''],\n is_transfer: ['', Validators.compose([Validators.required])],\n //is_topup: ['', Validators.compose([Validators.required])],\n // is_topup: [''],\n balance_transfer_amount: [''],\n topup_amount: [''],\n end_use_topup:[''],\n other_end_use_topup:[''],\n lender: [''],\n other_bt_lender : [''],\n own_contribution: ['', Validators.compose([Validators.required])],\n source: [''],\n //personal_loan_source:[''],\n other_source:[''],\n //lender_name_type: [''],\n emi_level: ['', Validators.compose([Validators.required])],\n property_type: ['', Validators.compose([Validators.required])],\n property_type_others:[''],\n owner_name: ['', Validators.compose([Validators.required])],\n construction_status: ['', Validators.compose([Validators.required])],\n //percentage_of_construction : [''],\n emv_per_customer: ['', Validators.compose([Validators.required])],\n //value_per_agreement: ['', Validators.compose([Validators.required])],\n loandetails_remarks: ['', Validators.compose([Validators.required])],\n });\n console.log(this.pdDetails.loanAmount)\n if(this.loanDetailsForm.controls['loan_amount'] !=null){\n this.loanAmtInWords=this.constant.convertNumberToWords(this.pdDetails.loan_amount);\n }\n \n if(this.pdDetails.product_abbr !=\"BL\" || this.pdDetails.product_abbr !=\"PL\" || this.pdDetails.product_abbr !=\"LL\")\n {\n this.mortagetypeAccess = true;\n }else\n {\n this.mortagetypeAccess = false;\n }\n \n \n if(this.productAbbr == 'PL' || this.productAbbr == 'BL' || this.productAbbr == 'LAP'){\n this.isContribution = true;\n }\n \n }\n\n\n ionViewDidLoad() {\n console .log('ionViewDidLoad PdQuestionLoansPage');\n this.getLoanDetails();\n }\n\n\n getDropdown() {\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\n data => {\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\n })\n this.qustCat.getEndUseForLoan(this.pdid,this.pdDetails.fk_subproduct_id).subscribe(data=>{\n \n this.m_endUseForLoan=data['records'].filter(data=>data.isactive==1);\n \n });\n this.qustCat.getcommondrop('STATUSOFCONSTRUCTION').subscribe(\n data => {\n this.m_statusofCunstruction = data['records'].filter(data => data.isactive == 1);\n });\n\n this.qustCat.getcommondrop('MORTAGEPROPERTIES').subscribe(\n data => {\n if(data['dataStatus']==true){\n let that = this;\n this.m_mortageTypeProperty = data['records'].filter(\n function(data){\n \n if(that.pdDetails.product_abbr !=\"LAP\" && data.group_name==that.pdDetails.product_abbr && data.isactive==1 )\n {\n return data;\n \n }else if(that.pdDetails.product_abbr ==\"LAP\" && data.sub_group_name==that.pdDetails.subproduct_name)\n {\n return data;\n }else\n {\n return ;\n }\n });\n // this.mortage_type(this.propertyType);\n }\n });\n this.qustCat.getcommondrop('SOURCEOFBALANCETRANSFER').subscribe(\n data => {\n this.m_sourceofamount = data['records'].filter(data => data.isactive == 1);\n });\n this.qustCat.getcommondrop('SUBPRODUCTS').subscribe(\n subdata => {\n if(subdata['dataStatus']==true){\n let that = this;\n this.m_endUseofLoad = subdata['records'].filter(\n function(data)\n {\n if(that.pdDetails.fk_product_id == data.fk_product_id && data.isactive==1)\n {\n return data;\n }\n });\n this.endUserChange(this.enduse);\n }\n });\n \n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n }\n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n }\n })\n \n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n if(this.productAbbr != 'LAP'){\n this.mergeCompanyApplicant.push({groupName:'OTHERS',groupValues:[{id:0,name:'Not Yet Finalised',group_id:2}]})\n }\n }\n this.qustCat.getcommondrop('ENDUSEOFTOPUP').subscribe(data=>{\n this.m_endUseOFTopUpList=data['records'].filter(val=>val.is_active == 1)\n })\n this.qustCat.getcommondrop('SUBPRODUCTS').subscribe(data=>{\n this.subProductData=data['records'].filter(val=>val.isactive ==1);\n console.log(this.subProductData);\n })\n \n \n \n }\n\n selectedBalancesTransferChanges(event: any){\n // if(event.value == 'no') { \n // this.loanDetailsForm.controls['is_topup'].clearValidators();\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\n // this.loanDetailsForm.controls['is_topup'].setValue('');\n //}\n //else if(event.value == 'yes'){\n // this.loanDetailsForm.controls['is_topup'].setValidators([Validators.required]);\n //this.loanDetailsForm.controls['is_topup'].updateValueAndValidity();\n // }\n if (event.value == 'no') {\n this.loanDetailsForm.controls['source'].setValidators([Validators.required]);\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\n\n this.loanDetailsForm.controls['own_contribution'].setValidators([Validators.required]);\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\n \n this.loanDetailsForm.controls['other_bt_lender'].setValue('');\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(''); \n this.loanDetailsForm.controls['lender'].setValue('');\n this.loanDetailsForm.controls['topup_amount'].setValue('');\n this.loanDetailsForm.controls['end_use_topup'].setValue('');\n this.loanDetailsForm.controls['other_end_use_topup'].setValue('');\n this.topUpAmtInWords=''\n\n }\n else if (event.value == 'yes') {\n this.loanDetailsForm.controls['source'].setValue('');\n this.loanDetailsForm.controls['source'].clearValidators();\n this.loanDetailsForm.controls['source'].updateValueAndValidity();\n \n this.loanDetailsForm.controls['own_contribution'].setValue('');\n this.loanDetailsForm.controls['own_contribution'].clearValidators();\n this.loanDetailsForm.controls['own_contribution'].updateValueAndValidity();\n \n this.isOtherSource = false;\n this.loanDetailsForm.controls['other_source'].setValue('');\n \n }\n\n}\n \n mortage_type(mortage_value)\n {\n \n let mortagetypes = this.m_mortageTypeProperty.filter(mor=>mor.mortage_property_id==mortage_value)[0];\n var property_name=mortagetypes.property_name\n if(property_name=='Others (Please Specify)')\n {\n this.mortageAccess = true;\n }else\n {\n this.mortageAccess = false; \n }\n \n \n }\n compareObjects(o1: any, o2: any){\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n \n }\n\n\n loanCalc()\n {\n let BtAmount = this.loanDetailsForm.value.balance_transfer_amount;\n let loanAmount = this.loanDetailsForm.value.loan_amount;\n let topupAmt ;\n if(BtAmount !=null && BtAmount !='' && loanAmount !=null && loanAmount!='')\n {if (loanAmount >= BtAmount) {\n topupAmt = loanAmount - BtAmount;\n this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\n \n this.topUpAmtInWords = this.constant.convertNumberToWords(topupAmt);\n } else {\n this.toast.pdTriggerappmessage('warning !! Balances Transfer Amount is greater than Loan Amount Please check.!');\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue('');\n this.balTxrfAmtInWords = '';\n this.loanDetailsForm.controls['topup_amount'].setValue('');\n this.topUpAmtInWords = '';\n } }\n //this.loanDetailsForm.controls['topup_amount'].setValue(topupAmt);\n }\n subProductChange(event){\n this.qustCat.getEndUseForLoan(this.pdid,event).subscribe(res=>{\n this.m_endUseForLoan=res['records'].filter(data=>data.isactive==1);\n })\n }\n endUserChange(event) {\n //this.endUserList = [];\n event.forEach(option => {\n let othresData = this.m_endUseForLoan.filter(sub=>sub.enduse_of_loan_id==option)[0];\n othresData = othresData.enduse_of_loan.substr(0,6).toLowerCase();\n this.endUserList.push({ end_use: option });\n if (othresData == 'others') {\n \n this.isOtherPurpose = true;\n return ;\n }else\n {\n this.isOtherPurpose = false;\n \n }\n });\n }\n ownerNameChange(event) {\n this.ownerNames = [];\n event.value.forEach(option => {\n this.ownerNames.push({ owner_name: option });\n });\n }\n sourceChange(evt) {\n\n // this.isOtherSource = (evt.some(e => e == 4) == true) ? true : false ;\n // this.isPLSource = (evt.some(e => e == 3) == true) ? true : false ;\n\n this.isOtherSource = evt.some(e => e == 1) // this return true or false Only;\n this.isPLSource = evt.some(e => e == 3) // this return true or false Only;\n\n this.sourceList = [];\n\n evt.forEach(option => {\n this.sourceList.push({source: option});\n });\n}\n inWords(e,flag:number){\n switch(flag){\n case 1 :\n this.loanAmtInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 2 : \n this.balTxrfAmtInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 3 :\n this.valAsPerAgmtInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 4 :\n this.ownContributionInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 5 :\n this.topUpAmtInWords = this.constant.convertNumberToWords(e.target.value); \n break;\n case 6:\n this.emiAmtInWords=this.constant.convertNumberToWords(e.target.value);\n break;\n case 7:\n this.emvAmtInWords=this.constant.convertNumberToWords(e.target.value);\n default:\n break;\n }\n}\n submitLoanDetails() {\n // if(this.loanDetailsForm.valid){\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.loan_amount = this.loanDetailsForm.controls['loan_amount'].value;\n records.loan_tenure=this.loanDetailsForm.controls['loan_tenure'].value;\n records.sub_product=this.loanDetailsForm.controls['sub_product'].value;\n // get end user final group data\n let dataEnd_user_data = [];\n this.loanDetailsForm.controls['end_use'].value.forEach(element => {\n dataEnd_user_data.push({end_use: element})\n });\n records.end_use_group = dataEnd_user_data;\n\n if (this.isOtherPurpose) {\n records.end_use_other = this.loanDetailsForm.controls['end_use_other'].value;\n }\n records.is_transfer = this.loanDetailsForm.controls['is_transfer'].value;\n // records.is_topup = this.loanDetailsForm.controls['is_topup'].value;\n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\n records.balance_transfer_amount = this.loanDetailsForm.controls['balance_transfer_amount'].value;\n }\n else if(this.loanDetailsForm.controls['is_transfer'].value == 'no'){\n records.own_contribution = this.loanDetailsForm.controls['own_contribution'].value;\n \n let dataSource_list=[];\n if(this.loanDetailsForm.controls['source'].value != '')\n {\n \n this.loanDetailsForm.controls['source'].value.forEach(element => {\n dataSource_list.push({sources : element})\n });\n }\n records.source_group=dataSource_list;\n \n }\n //if (this.loanDetailsForm.controls['is_topup'].value == 'yes') {\n records.topup_amount = this.loanDetailsForm.controls['topup_amount'].value;\n //}\n if(records.topup_amount > 0){\n records.end_use_topup = this.loanDetailsForm.controls['end_use_topup'].value;\n if(records.end_use_topup == 1){\n records.other_end_use_topup = this.loanDetailsForm.controls['other_end_use_topup'].value;\n }\n }\n \n if (this.loanDetailsForm.controls['is_transfer'].value == 'yes') {\n records.lender = this.loanDetailsForm.controls['lender'].value;\n }\n if(this.loanDetailsForm.controls['lender'].value == 1){\n records.other_bt_lender = this.loanDetailsForm.controls['other_bt_lender'].value;\n } \n \n \n\n \n /* records.source = this.loanDetailsForm.controls['source'].value;\n if (this.loanDetailsForm.controls['source'].value == 'other') {\n records.lender_name_type = this.loanDetailsForm.controls['lender_name_type'].value;\n }*/\n if(this.isOtherSource){\n records.other_source=this.loanDetailsForm.controls['other_source'].value;\n }\n else{\n records.other_source = ''; \n }\n \n records.emi_level = this.loanDetailsForm.controls['emi_level'].value;\n if(this.mortageCardAccess == true){\n records.property_type = this.loanDetailsForm.controls['property_type'].value;\n if(this.loanDetailsForm.value.property_type_others !='' && this.loanDetailsForm.value.property_type_others !=null){\n records.property_type_others = this.loanDetailsForm.controls['property_type_others'].value;\n };\n // records.owner_name_group = this.ownerNames;\n if(this.loanDetailsForm.controls['owner_name'].value != ''){\n let dataOwner_name = [];\n this.loanDetailsForm.controls['owner_name'].value.forEach(element => {\n dataOwner_name.push({owner_name: element})\n });\n records.owner_name_group = dataOwner_name;\n }\n else{\n records.owner_name_group='';\n }\n \n records.construction_status = this.loanDetailsForm.controls['construction_status'].value;\n // records.percentage_of_construction = this.loanDetailsForm.controls['percentage_of_construction'].value;\n \n }else{\n records.property_type = null;\n records.property_type_others = null;\n records.owner_name_group = null;\n records.construction_status = null;\n records.emv_per_customer = null;\n }\n records.emv_per_customer = this.loanDetailsForm.controls['emv_per_customer'].value;\n //records.value_per_agreement = this.loanDetailsForm.controls['value_per_agreement'].value;\n records.loandetails_remarks = this.loanDetailsForm.controls['loandetails_remarks'].value;\n this.qustCat.saveForm(records).subscribe(data => {\n if(data['dataStatus']== true){\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n else{\n this.toast.pdTriggerappmessage('Error');\n }\n // this.notifier.notify('success', 'Saved Successfully.');\n })\n // }else\n // {\n // this.toast.pdTriggerappmessage('Enter The All Field');\n // }\n }\n\n getLoanDetails() {\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\n\n this.qustCat.retiverForm(records).subscribe(value => {\n if (value['dataStatus'] == true) {\n let loanDetails = value['records'];\n let result = Object.keys(loanDetails.end_use_group).map(function (key) {\n return loanDetails.end_use_group[key];\n });\n \n\n //this.enduse\n result.forEach(val => {\n this.enduse.push(val.end_use);\n //this.endUserList.push({'end_use':val.end_use});\n });\n let ownername: any = [];\n if(loanDetails.owner_name_group != null){\n let owner = Object.keys(loanDetails.owner_name_group).map(function (key) {\n return loanDetails.owner_name_group[key];\n });\n owner.forEach(val => {\n ownername.push(val.owner_name);\n this.ownerNames.push({'end_use':val.end_use});\n });\n }\n this.loanDetailsForm.controls['loan_amount'].setValue(loanDetails.loan_amount);\n this.loanDetailsForm.controls['loan_tenure'].setValue(loanDetails.loan_tenure);\n if(loanDetails.loan_amount){ this.loanAmtInWords = this.constant.convertNumberToWords(loanDetails.loan_amount); }\n this.loanDetailsForm.controls['sub_product'].setValue(loanDetails.sub_product)\n this.loanDetailsForm.controls['end_use'].setValue(this.enduse);\n this.endUserChange(this.enduse);\n\n if (loanDetails.end_use_other!='') {\n //this.endUserChange(this.enduse);\n // this.isOtherPurpose=true;\n this.loanDetailsForm.controls['end_use_other'].setValue(loanDetails.end_use_other);\n }\n \n this.loanDetailsForm.controls['is_transfer'].setValue(loanDetails.is_transfer);\n if (loanDetails.balance_transfer_amount) {\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\n this.balTxrfAmtInWords = this.constant.convertNumberToWords(loanDetails.balance_transfer_amount); \n }\n if (loanDetails.topup_amount) {\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\n this.topUpAmtInWords = this.constant.convertNumberToWords(loanDetails.topup_amount); \n if(loanDetails.topup_amount > 0){\n this.loanDetailsForm.controls['end_use_topup'].setValue(loanDetails.end_use_topup);\n if (loanDetails.end_use_topup == 1) {\n this.loanDetailsForm.controls['other_end_use_topup'].setValue(loanDetails.other_end_use_topup);\n }\n } \n }\n // this.loanDetailsForm.controls['is_topup'].setValue(loanDetails.is_topup);\n if (loanDetails.balance_transfer_amount) {\n this.loanDetailsForm.controls['balance_transfer_amount'].setValue(loanDetails.balance_transfer_amount);\n }\n if (loanDetails.topup_amount) {\n this.loanDetailsForm.controls['topup_amount'].setValue(loanDetails.topup_amount);\n }\n if (loanDetails.lender) {\n this.loanDetailsForm.controls['lender'].setValue(loanDetails.lender);\n }\n this.loanDetailsForm.controls['own_contribution'].setValue(loanDetails.own_contribution);\n if(loanDetails.own_contribution)\n {\n this.ownContributionInWords = this.constant.convertNumberToWords(loanDetails.own_contribution);\n }\n //this.loanDetailsForm.controls['source'].setValue(loanDetails.source);\n if(loanDetails.is_transfer!='yes')\n {\n let source=Object.keys(loanDetails.source_group).map(function(key){\n return loanDetails.source_group[key];\n });\n let dbsourcelist:any=[];\n source.forEach(val=>{\n dbsourcelist.push(val.sources);\n });\n this.loanDetailsForm.controls['source'].setValue(dbsourcelist);\n this.sourceChange(dbsourcelist);\n if(loanDetails.other_source) {\n // this.isOtherSource = true;\n this.loanDetailsForm.controls['other_source'].setValue(loanDetails.other_source);\n }\n \n \n }\n\n/* if (loanDetails.lender_name_type) {\n this.loanDetailsForm.controls['lender_name_type'].setValue(loanDetails.lender_name_type);\n }*/\n \n if(loanDetails.emi_level){\n this.loanDetailsForm.controls['emi_level'].setValue(loanDetails.emi_level);\n this.emiAmtInWords=this.constant.convertNumberToWords(loanDetails.emi_level);\n }\n this.loanDetailsForm.controls['other_bt_lender'].setValue(loanDetails.other_bt_lender); \n this.loanDetailsForm.controls['property_type'].setValue(loanDetails.property_type);\n this.propertyType =loanDetails.property_type;\n if(loanDetails.property_type !=null){\n this.mortage_type(this.propertyType);\n if(this.mortageCardAccess == true){\n this.loanDetailsForm.controls['property_type_others'].setValue(loanDetails.property_type_others); \n // this.mortage_type(loanDetails.property_type_others);\n \n }\n this.loanDetailsForm.controls['owner_name'].setValue(ownername);\n this.loanDetailsForm.controls['construction_status'].setValue(loanDetails.construction_status);\n this.loanDetailsForm.controls['emv_per_customer'].setValue(loanDetails.emv_per_customer);\n if(loanDetails.emv_per_customer)\n {\n this.emvAmtInWords=this.constant.convertNumberToWords(loanDetails.emv_per_customer);\n }\n }\n // this.loanDetailsForm.controls['value_per_agreement'].setValue(loanDetails.value_per_agreement);\n this.loanDetailsForm.controls['loandetails_remarks'].setValue(loanDetails.loandetails_remarks);\n } else {\n\n }\n })\n if(this.productAbbr == 'BL' || this.productAbbr == 'PL' || this.productAbbr == 'LL'){\n this.mortageCardAccess = false;\n this.loanDetailsForm.controls['owner_name'].setValue('');\n this.loanDetailsForm.controls['owner_name'].clearValidators();\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\n \n }else{\n this.mortageCardAccess = true;\n this.loanDetailsForm.controls['owner_name'].setValidators([Validators.required]);\n this.loanDetailsForm.controls['owner_name'].updateValueAndValidity();\n \n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-loans/pd-question-loans.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, FormArray } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\nimport { ConstantsProvider } from '../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionBankingPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-banking',\n templateUrl: 'pd-question-banking.html',\n // changeDetection:ChangeDetectionStrategy.OnPush\n})\nexport class PdQuestionBankingPage {\n \n m_btLenderList: any;\n applicants: any ;\n salaryField: boolean;\n FormId: any;\n accountType: any;\n users: any;\n bankDetails:FormGroup;\n pdDetails: any;\n pdid:any;\n bankitems:FormArray;\n\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n limitCaseFlag: any=[];\n amtInwords: any=[];\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public cons: ConstantsProvider) {\n //this.applicants.pop();\n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.FormId = this.navParams.get('FormId');\n this.applicants = this.pdDetails.applicat_details;\n this.applicants = this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \n \n \n // alert();\n this.users = this.aws.getlocale();\n this.bankDetails = this.fb.group(\n {\n bankitems:this.fb.array([]),\n banking_form_remark:[null],\n });\n \n \n \n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\n \n \n this.getdropdown();\n this.retiveBankDetails();\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBankingPage');\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.accountType=res['records'];\n }\n });\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\n data => {\n if(data['dataStatus']==true){\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\n }\n });\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n \n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n \n }\n // let modifyCompanyList : any=[];\n // if(this.existCompanyList.length>0){\n // modifyCompanyList = this.existCompanyList.map(element => {\n // return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n // });\n // this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n \n //}\n })\n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n \n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n }\n }\n selectedAccTypeChanges(event: any,i){\n \n if(event == 2 || event == 1) {\n this.limitCaseFlag[i] = false;\n \n // const control = this.bankingForm.controls['itemRows'];\n \n // control.controls[0].get('limit').clearValidators();\n // control.controls[0].get('limit').updateValueAndValidity();\n \n }\n else{\n this.limitCaseFlag[i] = true;\n }\n\n}\n\n/** Amount InWords */\ninWords(e,i,flag){\n switch(flag){\n case 1 : \n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n }\n}\n\n /** To Convert Month into Year */\n ConvertMonthintoYear(itemrow,e){\n \n \n let year = itemrow.controls.vintage_year.value;\n \n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\n \n}\n compareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n }\n checkOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n }\n createBankItem(name) {\n \n return this.fb.group({\n applicant_name: [''],\n bank_name: [''],\n account_type: [''],\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\n limit: [''],\n other_bank:[''],\n other_applicant:[''],\n //is_main: [''],\n vintage_year: [''],\n vintage_month: [''],\n \n });\n\n }\n \n addBankDetails() {\n // if(this.pd.valid){\n \n // if(this.items.length !=0)\n // {\n // this.neighbourAccess = true;\n // }\n \n \n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\n \n this.bankitems.push(this.createBankItem(''));\n \n \n \n }\n\n addmoreBankDetils()\n {\n \n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\n \n this.bankitems.push(this.createBankItem('')); \n }\n\n removebank(i){\n\n if(this.bankitems.length==1){\n this.bankitems.reset();\n }\n else\n this.bankitems.removeAt(i);\n }\n\n savepdBank(answerData)\n {\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.banking_details = answerData.bankitems;\n records.banking_form_remark = answerData.banking_form_remark;\n \n this.qustCat.saveForm(records).subscribe(data => {\n \n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n })\n \n }\n\n retiveBankDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n var result = Object.keys(res['records'].banking_details).map(function(key) {\n return res['records'].banking_details[key];\n });\n this.bankDetails.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\n this.bankitems = this.bankDetails.get('bankitems') as FormArray;\n \n if(result.length ==0){\n \n this.bankitems.push(this.createBankItem(''))\n }else\n {\n \n \n \n \n result.forEach((datas,index)=>\n {\n this.selectedAccTypeChanges(+datas.account_type,index)\n if(datas.limit != ''){\n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \n } \n // this.selectedBorrower(datas.applicant_name,index);\n this.bankitems.push(this.createBankItem(''));\n })\n this.bankDetails.controls['bankitems'].setValue(result);\n }\n \n \n }else\n {\n \n this.addBankDetails();\n }\n });\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-banking/pd-question-banking.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\nimport { ConstantsProvider } from '../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionFamilyPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-family',\n templateUrl: 'pd-question-family.html',\n})\nexport class PdQuestionFamilyPage {\n\n\n earningStatus = [{\n type: 'Earning',\n id: 1\n}, {\n type: 'Non Earning',\n id: 2\n}]\nearning_gross_income_per_month:any;\n\n nofamily:number;\ndata:any;\n familyAddStatus: boolean;\n ownerShip: any;\n cusSeg: any;\n FormId: any;\n users: any;\n pdDetails: any;\n occupationData: any;\n membersitem: FormArray;\n items: FormArray;\n relationData: any;\n familyForm: FormGroup;\n total_number_of_family_members;\n filteredStates: any ;\n public selected_person;\n stateData:any;\n cityData: any =[];\n pincodeData:any=[];\n FamilyMemberAsLabel: any=[];\n selectPerson: any=[];\n apiFamilyMembers: any=[];\n //isReadOnly: any=[];\n RentAmount: any=[];\n IncomePerMonth: any=[];\n // cons: any;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,\n public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider,public cons:ConstantsProvider) {\n this.FormId = this.navParams.get('FormId');\n this.pdDetails = this.navParams.get('pdDetails');\n this.selected_person=this.pdDetails.pdapplicants_details;\n this.selectPerson=this.pdDetails.applicat_details\n this.users = this.aws.getlocale();\n \n \n this.familyForm = this.fb.group({\n family_details: this.fb.array([\n //this.initFamilyDetails()\n \n ]),\n family_details_form_remark:[''],\n \n \n });\n this.getRelation();\n this.getoccupation();\n \n \n \n }\n\n ionViewDidLoad() {\n console.log(\"ionViewDidLoad PdQuestionFamilyPage\")\n this.getFamilyData();\n }\n initFamilyDetails(records) : void\n {\n if (records === null) {\n let formData: FormGroup = this.fb.group({\n selected_person: ['', Validators.compose([Validators.required])],\n residence_place: ['', Validators.compose([])],\n residence_city: ['', Validators.compose([])],\n residence_state: ['', Validators.compose([])],\n residence_pin: ['', Validators.compose([])],\n residence_other_pincode:['',Validators.compose([])],\n residence_No_of_years: ['', Validators.compose([])],\n residence_ownership: ['', Validators.compose([])],\n ownershipOther: [''],\n rent: [''],\n total_number_of_family_members: ['', Validators.compose([Validators.min(1), Validators.max(20)])],\n family_members_details: this.fb.array([])\n });\n const control = this.familyForm.controls['family_details'];\n control.push(formData);\n \n }\n else{\n records.forEach((val,index)=>{\n if(val.rent != null){\n \n this.RentAmount[index] = this.cons.convertNumberToWords(val.rent); \n }\n this.FamilyMemberAsLabel[index] = this.selectPerson.filter(item => item.pd_co_applicant_id == val.selected_person)[0].applicant_name;\n this.getCity(val.residence_state,index);\n let formData:FormGroup=this.fb.group({\n selected_person:[val.selected_person],\n residence_place:[val.residence_place],\n residence_city:[val.residence_city],\n residence_state:[val.residence_state],\n residence_pin:[val.residence_pin],\n residence_other_pincode:[val.residence_other_pincode],\n residence_No_of_years: [val.residence_No_of_years,Validators.compose([])],\n residence_ownership:[val.residence_ownership],\n rent:[val.rent || null],\n ownershipOther:[val.ownershipOther || null],\n total_number_of_family_members:[val.total_number_of_family_members,Validators.compose([Validators.min(1), Validators.max(20)])],\n family_members_details:this.fb.array([])\n \n });\n \n const control = this.familyForm.controls['family_details'];\n control.push(formData);\n \n let inx=control.length-1;\n //this.getNumberOfFamilyMemberDetails(inx);\n this.initFamilyMembersDetails(inx, val.family_members_details);\n \n \n //this.initFamilyMembersDetails\n \n })\n }\n /*\n return this.fb.group({\n //family_details\n selected_person:[''],\n residence_place:[''],\n residence_city:[''],\n residence_state:[''],\n residence_pin:[''],\n residence_No_of_years: ['',Validators.compose([])],\n residence_ownership:[],\n rent:[''],\n ownershipOther:[''],\n total_number_of_family_members:['',Validators.compose([Validators.min(1), Validators.max(20)])],\n \n //family_member_details\n \n \n \n family_members_details:this.fb.array([]),\n \n\n // person: [null],\n /* personOther: [''],\n members: [''],\n residence: [''],\n years: [null],\n family_details_form_remark:[''],\n \n });*/\n\n }\n initFamilyMembersDetails(inx,val) :void {\n const control = this.familyForm.controls['family_details']['controls'][inx].controls.family_members_details;\n val.forEach((vals,index)=>{\n\n \n if(vals.earning_gross_income_per_month != null){\n this.IncomePerMonth[index] = this.cons.convertNumberToWords(vals.earning_gross_income_per_month);\n }\n let datas = this.fb.group({\n family_member_name: [vals.family_member_name || null, Validators.compose([])],\n family_member_relationship: [vals.family_member_relationship || null, Validators.compose([])],\n family_member_age: [vals.family_member_age || null, Validators.compose([])],\n family_member_earning_status: [vals.family_member_earning_status || null, Validators.compose([])],\n earning_segment: [vals.earning_segment || null, Validators.compose([])],\n earning_if_others_segment:[vals.earning_if_others_segment || null, Validators.compose([])],\n earning_gross_income_per_month: [vals.earning_gross_income_per_month || null, Validators.compose([])],\n earning_name_of_the_employer_or_business: [vals.earning_name_of_the_employer_or_business || null, Validators.compose([])],\n earning_number_of_years_in_employment_or_business: [vals.earning_number_of_years_in_employment_or_business || null, Validators.compose([])],\n non_earning_occupation: [vals.non_earning_occupation || null, Validators.compose([])],\n non_earning_if_others: [vals.non_earning_if_others || null, Validators.compose([])],\n non_earning_if_schoolorcollege:[vals.non_earning_if_schoolorcollege || null, Validators.compose([])],\n non_earning_if_retired_from: [vals.non_earning_if_retired_from || null, Validators.compose([])],\n })\n \n control.push(datas);\n });\n }\n \n /*return this.fb.group({\n family_member_name:[''],\n family_member_relationship:[],\n family_member_age:[],\n family_member_earning_status:['',Validators.compose([])],\n //family_member_earnings\n earning_segment:[''],\n earning_gross_income_per_month:[''],\n earning_name_of_the_employer_or_business:[''],\n earning_number_of_years_in_employment_or_business:[''],\n \n non_earning_occupation:[''],\n non_earning_if_others:[''],\n non_earning_if_retired_from:[''],\n });*/\n \n\n\n add() :void { \n // const control=this.familyForm.controls['family_details'];\n //control.push(this.initFamilyDetails('chck'));\n this.initFamilyDetails(null);\n this.toast.pdTriggerappmessage(\"Family Details Added\");\n }\n remove_family_details(i:number):void{\n const control=this.familyForm.controls['family_details'];\n control.removeAt(i);\n }\n addMemberDet(data:any){\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n //this.initFamilyMembersDetails('','')\n control.push(this.generateFamilyMembersDetailsGet())\n }\n removeMemberDet(index:any,f_index:any){\n const control=this.familyForm.controls['family_details']['controls'][f_index].controls.family_members_details;\n if(control.length>1){\n control.removeAt(index); \n }\n else{\n control.reset()\n }\n // if(control.value !=null && index == 0)\n\n }\n getNumberOfFamilyMemberDetails(data)\n {\n \n var datavalue=data;\n let formData=this.familyForm.controls['family_details']['controls'][datavalue].controls;\n if(formData['total_number_of_family_members'].valid)\n {\n let totmem=formData['total_number_of_family_members'].value;\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n if(totmem>=control.length){\n let len=totmem-control.length;\n for( let i=0;i=totmem;i--)\n {\n control.removeAt(i);\n }\n \n // var nn=control.length-totmem; \n // control.controls = [];\n /*for (let i = 0; i < totmem; i++) {\n control.push(this.generateFamilyMembersDetailsGet());\n\n }*/\n // this.initFamilyDetails(this.resValue['records'].family_details);\n // this.toast.pdTriggerappmessage(\"Please choose the number greater than\"+control.length);\n }\n \n \n }\n else{\n const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n control.removeAt(control.length);\n control.controls=[];\n }\n /* const control=this.familyForm.controls['family_details']['controls'][data].controls.family_members_details;\n control.push(this.initFamilyMembersDetails());\n */ \n }\n generateFamilyMembersDetailsGet(): FormGroup {\n return this.fb.group({\n family_member_name: ['', Validators.compose([])],\n family_member_relationship: ['', Validators.compose([])],\n family_member_age: ['', Validators.compose([])],\n family_member_earning_status: ['', Validators.compose([])],\n earning_segment: ['', Validators.compose([])],\n earning_if_others_segment:['',Validators.compose([])],\n earning_gross_income_per_month: ['', Validators.compose([])],\n earning_name_of_the_employer_or_business: ['', Validators.compose([])],\n earning_number_of_years_in_employment_or_business: ['', Validators.compose([])],\n non_earning_occupation: ['', Validators.compose([])],\n non_earning_if_others: ['', Validators.compose([])],\n non_earning_if_schoolorcollege:['',Validators.compose([])],\n non_earning_if_retired_from: ['', Validators.compose([])],\n })\n}\n \n getRelation() {\n let master_name = 'RELATIONSHIPS';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n \n if(data['dataStatus'] == true){\n this.relationData = data['records'].filter(rel=>rel.isactive ==1);\n }\n });\n\n this.qustCat.getcommondrop('PERSONSMET').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.filteredStates = res['records'].filter(per=>per.isactive==1);\n }\n });\n // this.qustCat.getcommondrop('CUSTOMERSEGMENT').subscribe(res=>\n // {\n // if(res['dataStatus']==true)\n // {\n // this.cusSeg = res['records'].filter(seg=>seg.isactive==1);\n // }\n // });\n this.qustCat.getcommondrop('EARNINGMEMBERSSTATUS').subscribe(res=>{\n if(res['dataStatus']==true){\n this.cusSeg = res['records'].filter(seg=>seg.isactive==1);\n }\n })\n this.qustCat.getcommondrop('RESIDENCEOWNERSHIP').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.ownerShip = res['records'].filter(own=>own.isactive==1);\n }\n });\n this.qustCat.getcommondrop('STATE').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.stateData=res['records'].filter(item=>item.isactive==1);\n }\n })\n \n}\ngetCity(e,i){\n // this.cityData = this.wholeCityData.filter(city=>city.fk_state_id == e); \n // this._pd.retriveForm(params).subscribe(data => {\n this.qustCat.getStateWiseCities(e).subscribe(data=>{\n if (data['dataStatus'] == true) {\n this.cityData[i] = data.records.cities; \n this.pincodeData[i] = data.records.pincode;\n }\n });\n}\ngetoccupation()\n{\n let master_name = 'OCCUPATIONMEMBERS';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n if(data['dataStatus']==true){\n this.occupationData = data['records'].filter(occ=>occ.isactive ==1);\n }\n });\n}\n /* createMembers(): FormGroup {\n return this.fb.group({\n earning_member_name : [null],\n earning_member_age : [null],\n relation: [null],\n segment: [null],\n income: [null],\n employer_name: [null],\n });\n}\ncount :number = 0;\naddearningMembers()\n{\n this.items = this.familyForm.get('earningMembers') as FormArray;\n this.items.push(this.createMembers());\n this.count++;\n this.checkfamilystatus(this.count,''); \n\n}\n\ndeleteEarningMembers(i)\n{\n\n if(this.items.length==1)\n {\n this.familyForm.controls['earningMembers'].reset();\n }else{\n this.items.removeAt(i);\n }\n this.count--;\n this.checkfamilystatus(this.count,''); \n}\ncreateNonMembers(): FormGroup {\n return this.fb.group({\n non_earning_member_name : [''],\n non_earning_member_age : [''],\n relationship: [null],\n occupation: [null],\n retired: [null],\n others_occupation:[null],\n });\n}\naddMembers()\n{\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\n this.count++;\n this.checkfamilystatus(this.count,''); \n this.membersitem.push(this.createNonMembers());\n \n}\ndeleteMembers(i)\n{\n if(this.membersitem.length==1){\n this.familyForm.controls['nonEarningMembers'].reset();\n \n }else{\n this.membersitem.removeAt(i);\n }\n this.count--;\n this.checkfamilystatus(this.count,''); \n}\ncheckfamilystatus(count,familystatus)\n{\n if(familystatus !='' && familystatus !==undefined){\n\n }else{\n familystatus = this.familyForm.get('members').value;\n }\n if(familystatus !== null ){\n if(familystatus == count)\n {\n\n this.familyAddStatus = true;\n }else\n {\n this.familyAddStatus = false;\n }\n }\n}*/\n/* Old\nsavepdfamily(answerData)\n{\n let records: any = {};\n records.no_of_years = answerData.years;\n if (answerData.ownership == '4') {\n records.ownershipOther = answerData.ownershipOther;\n } \n records.residence = answerData.residence;\n if (answerData.ownership == '3') {\n records.what_rent = answerData.rent;\n }\n // if (answerData.person == '8') {\n // records.person_met = answerData.personOther.value;\n // } else {\n // records.person_met = answerData.person;\n // }\n records.ownership = answerData.ownership\n records.family_members = answerData.members;\n records.earning_members = answerData.earningMembers;\n records.non_earning_members = answerData.nonEarningMembers;\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.family_details_form_remark = answerData.family_details_form_remark;\n this.qustCat.saveForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })\n}*/\n\nsavepdfamily(answerData)\n{\n \n let records:any={};\n \n records=this.familyForm.value;\n\n Object.keys(records).forEach((key)=>(records[key]==null)&& delete records[key]);\n records.pdid=this.pdDetails.pd_id;\n records.formid=this.FormId.form_id;\n records.fk_createdby=this.users;\n this.qustCat.saveForm(records).subscribe(res=>{\n\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n \n },err=>{\n this.toast.pdTriggerappmessage(\"Some Fields value is Missing Please Fill It\");\n })\n\n /*let records: any = {};\n records.no_of_years = answerData.residence_No_of_years;\n if (answerData.residence_ownership == '4') {\n records.ownershipOther = answerData.ownershipOther;\n } \n //records.residence = answerData.residence;\n if (answerData.residence_ownership == '3') {\n records.what_rent = answerData.rent;\n }\n // if (answerData.person == '8') {\n // records.person_met = answerData.personOther.value;\n // } else {\n // records.person_met = answerData.person;\n // }\n records.ownership = answerData.residence_ownership\n records.family_members = answerData.total_number_of_family_members;\n records.earning_members = answerData.earningMembers;\n records.non_earning_members = answerData.nonEarningMembers;\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.family_details_form_remark = answerData.family_details_form_remark;\n this.qustCat.saveForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n }\n })*/\n}\nprevFamilyMembersCtrlLength: number = 0;\ncurrFamilyMembersCtrlLength: number = 0;\nselectedPerson(e,inx){\n \n this.FamilyMemberAsLabel[inx] = this.selectPerson.filter(item => item.pd_co_applicant_id == e)[0].applicant_name;\n \n const control = this.familyForm.controls['family_details']['controls'][inx].controls.family_members_details;\n \n this.currFamilyMembersCtrlLength = control.length;\n \n let i : number = 0 ;\n for(i ;i < this.prevFamilyMembersCtrlLength;i++){\n console.log(i,this.prevFamilyMembersCtrlLength);\n control.removeAt(i);\n }\n // while(index < this.prevFamilyMembersCtrlLength)\n // { \n // }\n this.prevFamilyMembersCtrlLength = this.currFamilyMembersCtrlLength;\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\n\n if(this.apiFamilyMembers.length>0){\n\n let arraydata : any;\n let data = this.apiFamilyMembers.filter(item => item.relation_to == e);\n\n \n // data_gets_from:'GeneralForm'\n // data_gets_from:'BusinessForm'\n \n if(data.length > 0){\n \n \n this.prevFamilyMembersCtrlLength = data.length;\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\n\n\n data.forEach((val,inx) => {\n \n // // family_member_earning_status\n // if(val.age){\n // this.isReadOnly[inx] = true;\n // }else{\n // this.isReadOnly[inx] = false;\n // }\n arraydata = {\n 'family_member_name' : val.name,\n 'family_member_relationship' : val.relationship,\n 'family_member_age' : val.age,\n 'family_member_earning_status': val.data_gets_from == 'BusinessForm' ? '1' :'',\n 'earning_segment': '',\n 'earning_gross_income_per_month': '',\n 'earning_name_of_the_employer_or_business':'',\n 'earning_number_of_years_in_employment_or_business': '',\n 'earning_if_others_segment':'',\n 'non_earning_occupation': '',\n 'non_earning_if_others': '',\n 'non_earning_if_retired_from': '',\n 'non_earning_if_schoolorcollege': ''\n }\n control.push(this.initgenerateFamilyMembersDetailsGet(arraydata));\n \n });\n }\n else{\n this.prevFamilyMembersCtrlLength = 1;\n console.log('familyMembersControlLength',this. prevFamilyMembersCtrlLength,this.currFamilyMembersCtrlLength);\n \n\n control.push(this.generateFamilyMembersDetailsGet()); \n }\n }\n else{\n \n control.push(this.generateFamilyMembersDetailsGet());\n } \n}\n\ngenerateFamilyMembersDetailsGetData(data){\n var result = Object.keys(data).map(function (key) {\n return data[key];\n});\nif (result.length > 0) {\n for (let val of result) {\n const control = this.familyForm.controls['family_members_details'];\n control.push(this.initgenerateFamilyMembersDetailsGet(val));\n }\n}\n}\ninitgenerateFamilyMembersDetailsGet(val):FormGroup{\n return this.fb.group({\n family_member_name: [val.family_member_name, Validators.compose([])],\n family_member_relationship: [val.family_member_relationship, Validators.compose([])],\n family_member_age: [val.family_member_age, Validators.compose([])],\n family_member_earning_status: [val.family_member_earning_status, Validators.compose([])],\n earning_segment: [val.earning_segment, Validators.compose([])],\n earning_if_others_segment:[val.earning_if_others_segment,Validators.compose([])],\n earning_gross_income_per_month: [val.earning_gross_income_per_month, Validators.compose([])],\n earning_name_of_the_employer_or_business: [val.earning_name_of_the_employer_or_business, Validators.compose([])],\n earning_number_of_years_in_employment_or_business: [val.earning_number_of_years_in_employment_or_business, Validators.compose([])],\n non_earning_occupation: [val.non_earning_occupation, Validators.compose([])],\n non_earning_if_others: [val.non_earning_if_others, Validators.compose([])],\n non_earning_if_schoolorcollege:[val.non_earning_if_schoolorcollege,Validators.compose([])],\n non_earning_if_retired_from: [val.non_earning_if_retired_from, Validators.compose([])],\n})\n}\nresValue:any;\n\n getFamilyData()\n {\n this.qustCat.getFamilyDetails(this.pdDetails.pd_id).subscribe(res=>{\n if(res['dataStatus']==true){\n let Temparr : any = [];\n\n if(res.record.from_general_form.length>0){\n let familyMembersGeneralForm=Object.keys(res.record.from_general_form).map(function(key){\n return res.record.from_general_form[key]\n });\n let datas=familyMembersGeneralForm.map(element=>{\n return {id:element.pd_co_applicant_id.toString(),\n name:element.applicant_name,\n relationship:element.relationship,\n relation_to:element.relation_to,\n age:element.age,\n data_gets_from:'GeneralForm'};\n \n });\n Temparr.push(datas);\n }\n else{\n console.log(\"No data in General Form\")\n }\n if(res.record.from_business_form.length >0){\n let familyMembersBusinessForm=Object.keys(res.record.from_business_form).map(function(key){\n return res.record.from_business_form[key]\n });\n let datas=familyMembersBusinessForm.map(element=>{\n return {id:element.other_family_relationship_id,\n name:element.family_member_name,\n relationship:element.other_family_relationship_id,\n relation_to:element.relation_to_id,\n age:'',\n data_gets_from:'BusinessForm'};\n });\n Temparr.push(datas);\n }\n else{\n console.log(\"No data in Business Form\")\n }\n this.apiFamilyMembers = [].concat.apply([],Temparr);\n }\n })\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n\n this.qustCat.retiverForm(records).subscribe(res=>{\n console.log(\"Entering Retrieve\");\n \n if(res['status']==200){\n if(res['records'].family_details.length > 0){\n this.familyForm.controls.family_details_form_remark.setValue(res['records'].family_details_form_remark);\n this.resValue=res;\n this.initFamilyDetails(res['records'].family_details);\n \n }\n \n }\n else{\n console.log(\"No Data Found\");\n this.initFamilyDetails(null);\n \n }\n //this.generateFamilyMembersDetailsGetData(res['records'].family_members_details);\n \n },err=>{\n console.log(\"Error\",err)\n })\n /*let earning:any = [];\n let non_earning:any = [];\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n non_earning = Object.keys(res['records'].non_earning_members).map(function(key) {\n\n return res['records'].non_earning_members[key];\n });\n this.familyForm.controls['family_details_form_remark'].setValue(res['records'].family_details_form_remark);\n earning = Object.keys(res['records'].earning_members).map(function(key) {\n return res['records'].earning_members[key];\n });\n let familyDetails = res['records'];\n this.checkfamilystatus(non_earning.length + earning.length,familyDetails.family_members); \n // this.familyForm.controls['person'].setValue(familyDetails.person_met);\n this.familyForm.controls['personOther'].setValue(familyDetails.personOther);\n this.familyForm.controls['members'].setValue(familyDetails.family_members);\n this.familyForm.controls['residence'].setValue(familyDetails.residence);\n this.familyForm.controls['years'].setValue(familyDetails.no_of_years);\n this.familyForm.controls['ownership'].setValue(familyDetails.ownership);\n this.familyForm.controls['ownershipOther'].setValue(familyDetails.ownershipOther);\n this.familyForm.controls['rent'].setValue(familyDetails.what_rent);\n // this.familyForm.controls['earningMembers'].setValue(earning);\n // for(this.)\n this.items = this.familyForm.get('earningMembers') as FormArray;\n this.membersitem =this.familyForm.get('nonEarningMembers') as FormArray;\n if(earning.length==0)\n {\n this.addearningMembers();\n }else\n {\n earning.forEach(datas => {\n this.count++;\n this.items.push(this.createMembers());\n });\n this.familyForm.controls['earningMembers'].setValue(earning);\n \n }\n\n if(non_earning.length==0)\n {\n this.addMembers(); \n }else\n {\n non_earning.forEach(datas => {\n this.count++;\n this.membersitem.push(this.createNonMembers());\n \n });\n this.familyForm.controls['nonEarningMembers'].setValue(non_earning);\n // this.checkfamilystatus(this.count);\n }\n \n // for(let earningDetails of earning){\n // this.items = this.familyForm.get('earningMembers') as FormArray;\n // this.items.push(earning);\n // }\n\n }else\n {\n this.addearningMembers();\n this.addMembers();\n }\n }) */ \n }\n /** To Convert Amount into Words */\n inWords(e,flag:number,i){\n switch(flag){\n case 1 :\n this.RentAmount[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n case 2 :\n this.IncomePerMonth[i] = this.cons.convertNumberToWords(e.target.value); \n break;\n \n default:\n break;\n }\n }\n initSetValue(records):void{\n for(let val of records){\n let formData:FormGroup=this.fb.group({\n selected_person:[val.selected_person],\n residence_place:[val.residence_place]\n })\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-family/pd-question-family.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormArray,FormGroup,FormBuilder,Validators} from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport {ConstantsProvider} from '../../../providers/constants/constants'\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssestsPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assests',\n templateUrl: 'pd-question-assests.html',\n})\nexport class PdQuestionAssestsPage {\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\n {'value': \"no\",'viewValue': \"No\"},\n {'value': \"nan\",'viewValue': \"NA\"}]\n m_relation: any;\n applicants: any ;\n users: any;\n FormId: any;\n m_freqOfPurchase: { 'id': string; 'name': string; }[];\n m_investmentType: { 'id': string; 'name': string; }[];\n m_insuranceType: { 'id': string; 'name': string; }[];\n m_propertyType: { 'id': string; 'name': string; }[];\n m_assets_type: { 'id': string; 'name': string; }[];\n pdDetails: any;\n assetItem: any;\n items:FormArray;\n AssetsDetailsForm:FormGroup;\n details:FormArray;\n FormList:boolean = false;\n loadDetails:boolean = true;\n assestInfo:any;\n\n appxMarketAmtInwords: any=[];\n OtherAppxMarketAmtInwords: any=[];\n emiAmtInwords: any=[];\n OtherEmiAmtInwords: any=[];\n PremiumPaidInwords: any=[];\n OtherPremiumPaidInwords: any=[];\n SumAssuredInwords: any=[];\n OtherSumAssuredInwords: any=[];\n AmtInvestInwords: any=[];\n OtherAmtInvestInwords: any;\n AssetValueInwords: any=[];\n OtherAssetValueInwords: any=[];\n B_emiAmtInwords: any=[];\n O_emiAmtInwords: any=[];\n\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n pdid:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public constprovider:ConstantsProvider) {\n \n this.assestInfo = \"busass\";\n this.FormId = this.navParams.get('FormId');\n \n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.users = this.aws.getlocale();\n this.applicants = this.pdDetails.applicat_details;\n this.applicants=this.applicants.filter(val=>val.applicant_type==0 || val.applicant_type==1)\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n \n this.AssetsDetailsForm = this.fb.group(\n {\n assets_details:this.fb.array([]),\n // business_assets_details:this.fb.array([]),\n assets_form_remark:['']\n \n })\n \n this.getAssetDetails();\n this.getdropList();\n //this. addAsset(1);\n this.loadDetails = true;\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssestsPage');\n }\n\n getdropList()\n {\n\n this.qustCat.getcommondrop('ASSETTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_assets_type = res['records'].filter(data=>data.isactive==1 && data.id!=5);\n }\n })\n \n this.qustCat.getcommondrop('PROPERTIES').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_propertyType = res['records'];\n }\n })\n \n this.qustCat.getcommondrop('INVESTMENTTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_investmentType = res['records'];\n }\n })\n this.qustCat.getcommondrop('INSURANCETYPE').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.m_insuranceType =res['records'];\n }\n })\n \n \n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_freqOfPurchase = res['records'];\n }\n })\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(\n data => {\n if(data['dataStatus']==true){\n this.m_relation = data['records'].filter(data => data.isactive == 1);\n }\n });\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n \n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n \n }\n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n \n }\n \n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n \n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n }\n })\n \n \n \n \n }\n createAsset() : FormGroup\n {\n return this.fb.group(\n {\n assets_mode: [null],\n details: this.fb.array([]),\n approximate_market_value: [null],\n name_of_the_owner: [''],\n other_owner:[''],\n // purchase_year: [null],\n purchase_year: [null,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\n vintage_personal : [''],\n // purchase_month: [null],\n emi: [null],\n // emi_paid: [null],\n // elapsed_tenure: [null],\n // balance_tenure: [null],\n // original_loan_tenure :[null],\n });\n }\n\n addAsset(flag)\n {\n if(flag==1){\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\n this.assetItem.push(this.createAsset());\n }\n }\n\n deleteAsset(i,flag)\n {\n if(flag==1){\n this.assetItem = this.AssetsDetailsForm.get('assets_details') as FormArray;\n if(this.assetItem.length==1)\n {\n this.AssetsDetailsForm.controls['assets_details'].reset();\n }else{\n this.assetItem.removeAt(i);\n } \n }\n }\n \n compareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n }\n \n\n loanCalc(details ,flag)\n {\n if(flag == 1){\n \n let ElapsedValues;\n \n if(details.value.original_loan_tenure != null && details.value.original_loan_tenure != '' && details.value.balance_tenure != null && details.value.balance_tenure != ''){\n ElapsedValues = details.value.original_loan_tenure - details.value.balance_tenure ;\n details.controls['elapsed_tenure'].setValue(ElapsedValues);\n }\n }\n \n\n }\n \n show: boolean;\n selectedAssetsType(e: any, i: any,flag : any): void {\n \n let val = i;\n if(flag == 1){\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n arr.controls.splice(0);\n }\n \n \n switch (e.value) {\n case '1': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray ;\n control.push(this.otherAssetsDescription());\n break;\n }\n case '2': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\n \n control.push(this.loadProperty());\n break;\n }\n case '3': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\n \n control.push(this.load_Four_Weeler());\n break;\n }\n case '4': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n \n control.push(this.loadEquipmentManufacturingDescription());\n \n break;\n }\n case '5': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\n \n control.push(this.loadConsumerDurableDescription());\n break;\n }\n case '6': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\n \n control.push(this.loadInsuranceDescription());\n break;\n }\n case '7': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\n \n control.push(this.loadInvestDescription());\n break;\n }\n case '8': {\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray\n \n control.push(this.otherAssetsDescription());\n break;\n }\n default: {\n break;\n }\n }\n }\n\n\n loadProperty() {\n return this.fb.group({\n property_type: [''],\n other_property_type: ['']\n });\n }\n\n loadJwellDescription() {\n return this.fb.group({\n \n });\n }\n\n loadConsumerDurableDescription() {\n return this.fb.group({\n consumer_durable_description: [null]\n });\n }\n \n otherBusinessAssetsDescription() {\n return this.fb.group({\n any_other_assets: [''],\n any_other_asset_value : [''],\n any_other_asset_loan : [''], \n });\n }\n otherAssetsDescription() {\n \n return this.fb.group({\n any_other_assets: [''],\n //any_other_asset_value:[''],\n //any_other_asset_loan:['']\n });\n }\n\n loadInsuranceDescription() {\n return this.fb.group({\n insurance_type: [null],\n premium_paid: [null],\n frequency_mode: [null],\n other_frequency_mode:[null],\n sum_assured: [null],\n members_coverd: [null]\n });\n }\n\n loadInvestDescription() {\n return this.fb.group({\n investments_type: [''],\n other_investments_type:[''],\n in_which_organisation:[''],\n amount_of_invest: [''],\n bank_name: ['']\n });\n }\n\n load_Four_Weeler() {\n return this.fb.group({\n //manufacturer_model: [''],\n manufacturer_model_vehicle: ['']\n });\n }\n\n loadEquipmentManufacturingDescription() {\n return this.fb.group({\n equipment_manufacturing_description: ['']\n });\n }\n\n load_Two_Weeler() {\n return this.fb.group({\n manufacturer_model_two_weeler: ['']\n });\n }\n\n\n\n loadPropertyWithData(data) {\n return this.fb.group({\n property_type: [data.property_type],\n other_property_type: [data.other_property_type]\n });\n }\n\n loadJwellDescriptionWithData(data) {\n return this.fb.group({\n // jwell_description: [data.jwell_description]\n });\n }\n\n loadConsumerDurableDescriptionWithData(data) {\n return this.fb.group({\n consumer_durable_description: [data.consumer_durable_description]\n });\n }\n\n otherAssetsDescriptionWithData(data) {\n return this.fb.group({\n any_other_assets: [data.any_other_assets],\n //any_other_asset_value : [data.any_other_asset_value],\n //any_other_asset_loan:[data.any_other_asset_loan]\n });\n }\n otherBusinessAssetsDescriptionWithData(data) {\n return this.fb.group({\n any_other_assets: [data.any_other_assets],\n any_other_asset_value : [data.any_other_asset_value],\n any_other_asset_loan : [data.any_other_asset_loan],\n });\n }\n\n loadInsuranceDescriptionWithData(data) {\n return this.fb.group({\n //insurance_type: [data.insurance_type],\n premium_paid: [data.premium_paid],\n frequency_mode: [data.frequency_mode],\n other_frequency_mode:[data.other_frequency_mode],\n sum_assured: [data.sum_assured],\n members_coverd: [data.members_coverd]\n });\n }\n\n loadInvestDescriptionWithData(data) {\n return this.fb.group({\n investments_type: [data.investments_type],\n other_investments_type:[data.other_investments_type],\n in_which_organisation:[data.in_which_organisation],\n amount_of_invest: [data.amount_of_invest],\n bank_name: [data.bank_name]\n });\n }\n\n \n\n load_Four_WeelerWithData(data) {\n return this.fb.group({\n // manufacturer_model: [data.manufacturer_model, Validators.compose([Validators.required])]\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\n });\n }\n loadEquipmentManufacturingDescriptionWithData(data) {\n return this.fb.group({\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\n });\n }\n\n load_Two_WeelerWithData(data) {\n return this.fb.group({\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle]\n });\n }\n saveAssetDetails(answerData)\n {\n \n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\n // answerData.assets_details.map(val => {\n // if (val.emi == 'no') {\n // val.emi_paid = '';\n // val.elapsed_tenure = '';\n // val.balance_tenure = '';\n // val.original_loan_tenure ='';\n // }\n // });\n \n answerData.pdid = this.pdDetails.pd_id;\n answerData.formid = this.FormId.form_id;\n answerData.fk_createdby = this.users;\n \n this.qustCat.saveForm(answerData).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n })\n }\n apiLoadFinish:boolean = false;\n getAssetDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n \n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n var assetArray = Object.keys(res['records'].assets_details).map(function(key) {\n // this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\n return res['records'].assets_details[key];\n });\n \n this.AssetsDetailsForm.controls['assets_form_remark'].setValue(res['records'].assets_form_remark)\n if (assetArray.length > 0) {\n for (let val of assetArray) {\n let vals = {\n assets_mode: val.assets_mode,\n approximate_market_value: val.approximate_market_value,\n name_of_the_owner: val.name_of_the_owner,\n other_owner:val.other_owner,\n purchase_year: val.purchase_year,\n vintage_personal:val.vintage_personal,\n // purchase_month: val.purchase_month,\n emi: val.emi,\n // emi_paid: val.emi_paid,\n // elapsed_tenure: val.elapsed_tenure,\n // balance_tenure: val.balance_tenure,\n // original_loan_tenure:val.original_loan_tenure,\n //assets_form_remark:val.assets_form_remark\n };\n const control = this.AssetsDetailsForm.controls['assets_details'];\n control.push(this.initDetailsWithdata(vals));\n \n this.setAssetsDetailsWithData(vals.assets_mode, val.details, control.length-1)\n }\n \n }\n // if (busarray.length > 0) {\n // for (let val of busarray) {\n // let vals = {\n // assets_mode: val.assets_mode,\n // approximate_market_value: val.approximate_market_value,\n // name_of_the_owner: val.name_of_the_owner,\n // purchase_year: val.purchase_year,\n // purchase_month: val.purchase_month,\n // emi: val.emi,\n // emi_paid: val.emi_paid,\n // elapsed_tenure: val.elapsed_tenure,\n // balance_tenure: val.balance_tenure,\n // original_loan_tenure:val.original_loan_tenure,\n // };\n // const control = this.AssetsDetailsForm.controls['assets_details'];\n // control.push(this.initBusinessDetailsWithdata(vals));\n \n // this.setAssetsDetailsWithData2(vals.assets_mode, val.details, control.length-1);\n // }\n \n // }\n this.apiLoadFinish = true;\n \n //this.AssetsDetailsForm.controls['assets_details'].setValue(assetArray);\n }else{\n this.apiLoadFinish = true;\n this.addAsset(1);\n // this.addAsset(2);\n }\n })\n }\n\n \n \n \n\n\n initDetailsWithdata(data) {\n return this.fb.group({\n assets_mode: [data.assets_mode],\n details: this.fb.array([]),\n approximate_market_value: [data.approximate_market_value],\n name_of_the_owner: [data.name_of_the_owner],\n other_owner:[data.other_owner || ''],\n vintage_personal:[data.vintage_personal],\n // purchase_year: [data.purchase_year],\n purchase_year: [data.purchase_year,Validators.compose([Validators.minLength(4),Validators.maxLength(4)])],\n // purchase_month: [data.purchase_month],\n emi: [data.emi || 0],\n // emi_paid: [data.emi_paid || ''],\n // elapsed_tenure: [data.elapsed_tenure || ''],\n // balance_tenure: [data.balance_tenure || ''],\n // original_loan_tenure:[data.original_loan_tenure ||''],\n //assets_form_remark:[data.assets_form_remark || '']\n });\n }\n setAssetsDetailsWithData(assets_details_mode: any, datas: any, i: any): void {\n let val = i;\n // var data = Object.keys(datas).map(function (key) {\n // return datas[key];\n // });\n // alert(JSON.stringify(datas));\n let data = datas;\n const arr = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n arr.controls.splice(0);\n switch (assets_details_mode) {\n case '1': {\n let array_data : any;\n data.forEach((datas,i) => {\n array_data = { 'any_other_assets': datas.any_other_assets,\n 'name_of_the_owner':datas.name_of_the_owner,\n 'other_owner':datas.other_owner,\n //'relation':datas.relation,\n // 'any_other_asset_value' : datas.any_other_asset_value,\n //'any_other_asset_loan' : datas.any_other_asset_loan,\n };\n //this.OtherAssetValueInwords[i] = this.constprovider.convertNumberToWords(+datas.any_other_asset_value);\n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.otherAssetsDescriptionWithData(array_data));\n break;\n }\n \n case '2': {\n let array_data : any;\n data.forEach((datas,i) => {\n array_data = { 'property_type':datas.property_type,'other_property_type':datas.other_property_type };\n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadPropertyWithData(array_data));\n break;\n }\n case '3': {\n let array_data : any;\n data.forEach((datas,i) => {\n array_data = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle };\n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.load_Four_WeelerWithData(array_data));\n break;\n }\n case '4': {\n let array_data:any\n data.forEach((datas,i)=>{\n array_data={'equipment_manufacturing_description': datas.equipment_manufacturing_description }\n })\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadEquipmentManufacturingDescriptionWithData(array_data));\n break;\n }\n case '5': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n // control.push(this.loadConsumerDurableDescriptionWithData(data));\n break;\n }\n case '6': {\n let array_data : any;\n data.forEach((datas,i) => {\n array_data = { \n 'premium_paid': datas.premium_paid,\n 'frequency_mode': datas.frequency_mode,\n 'other_frequency_mode':datas.other_frequency_mode,\n 'sum_assured': datas.sum_assured,\n 'members_coverd': datas.members_coverd\n };\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(+datas.premium_paid);\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(+datas.sum_assured);\n \n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadInsuranceDescriptionWithData(array_data));\n break;\n }\n case '7': {\n let array_data : any;\n data.forEach((datas,i) => {\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(+datas.amount_of_invest);\n array_data = { 'investments_type': datas.investments_type,\n 'other_investments_type' : datas.other_investments_type,\n 'in_which_organisation':datas.in_which_organisation,\n 'amount_of_invest': datas.amount_of_invest,\n 'bank_name': datas.bank_name };\n });\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.loadInvestDescriptionWithData(array_data));\n break;\n }\n case '8': {\n this.FormList = true;\n const control = (this.AssetsDetailsForm.controls['assets_details']).at(val).get('details') as FormArray;\n control.push(this.otherAssetsDescriptionWithData(data));\n break;\n }\n default: {\n break;\n }\n }\n }\n\n /** On Key Press Event For Number only Accepting */\n keyPress(event: any) {\n const pattern = /[0-9\\-\\.\\ ]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n inWords(e,i,flag){\n switch(flag){\n case 1 : \n this.appxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 2 :\n this.OtherAppxMarketAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 3 :\n this.emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 4 :\n this.OtherEmiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 5 :\n this.PremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 6 :\n this.OtherPremiumPaidInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 7 :\n this.SumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 8 :\n this.OtherSumAssuredInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 9 :\n this.AmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 10 :\n this.OtherAmtInvestInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 11 :\n this.AssetValueInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 12 :\n this.OtherAssetValueInwords[i]= this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 13:\n this.B_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n case 14:\n this.O_emiAmtInwords[i] = this.constprovider.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n }\n }\n // check others\n checkOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assests/pd-question-assests.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionOtherIncomePage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-other-income',\n templateUrl: 'pd-question-other-income.html',\n})\nexport class PdQuestionOtherIncomePage {\n\n FormId: any;\n custSeg: any;\n sourceIncome: any;\n otherIncomeDetails: any;\n users: any;\n pdDetails: any;\n pdid:any;\n incomeEarnedBy:any=[];\n amtInWords:any=[];\n \n frequencyData: any;\n otherIncomeForm: FormGroup;\n incomeDetails:FormArray;\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n applicants: any=[];\n isOrganisationOwner: any=[];\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider, public constant:ConstantsProvider) {\n \n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.FormId = this.navParams.get('FormId');\n this.applicants=this.pdDetails.applicat_details\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\n this.getFrequency();\n this.users = this.aws.getlocale();\n\n this.otherIncomeForm = this.fb.group({\n other_income: [null],\n otherincome_remarks:[null],\n income_details: this.fb.array([])\n });\n \n \n \n //this.incomeDetails=this.otherIncomeForm.get('income_details')as FormArray\n //this.incomeDetails.push(this.createDetail())\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionOtherIncomePage');\n this.getOtherIncome();\n }\n\n createDetail():FormGroup {\n return this.fb.group({\n source: [''],\n address:[''],\n others_source : [''],\n income_earned_by:[''],\n others_income_earned_by:[''],\n amount: [''],\n frequency: [''],\n others_frequency : ['']\n });\n}\naddIncomeDetails() {\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n \n this.incomeDetails.push(this.createDetail());\n}\ndeleteIncomeDetails(index) {\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n if(this.incomeDetails.length==1){\n // this.otherIncomeForm.controls['income_details'].reset();\n this.otherIncomeForm.reset();\n this.amtInWords[index]=''\n }else{\n this.incomeDetails.removeAt(index);\n }\n}\ncheckotherDetails(val)\n{\n if(val==\"Yes\")\n {\n this.addIncomeDetails();\n }\n if(val==\"No\"){\n //let length=this.otherIncomeForm.income_details.controls.length\n const control= this.otherIncomeForm.controls['income_details'];\n control.removeAt(0)\n // let len=control.length\n // for(let i=0;i{\n if(res['dataStatus']==true)\n {\n this.incomeEarnedBy=res['record'];\n }\n })\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(res=>{\n if(res.dataStatus==true){\n this.existCompanyList=res.records.filter(val=>val.is_active == true)\n console.log(this.existCompanyList)\n }\n let modifyCompanyList:any=[]\n if(this.existCompanyList.length>0){\n modifyCompanyList=this.existCompanyList.map(element=>{\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName: 'COMPANIES', groupValues: modifyCompanyList })\n \n }\n let modifyApplicantList:any=[]\n if(this.applicants.length>0){\n modifyApplicantList=this.applicants.map(element=>{\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n })\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\n\n }\n console.log(\"company&Applicant\",this.mergeCompanyApplicant)\n })\n\n let master_name = 'FREQUENCY';\n this.qustCat.getcommondrop(master_name).subscribe(data => {\n if(data['dataStatus']==true)\n {\n this.frequencyData = data['records'].filter(fre=>fre.isactive==1);\n }\n });\n this.qustCat.getcommondrop('SOURCEOFOTHERINCOME').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.sourceIncome = res['records'];\n }\n });\n \n \n}\ncompareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n}\n\ngetOtherOrganisationOwner(value,i) {\n //console.log('value',value,'I',i);\nlet Ctrls = this.otherIncomeForm.controls['income_details'];\n console.log('ParCtrls',Ctrls);\nlet ChdCtrls:any = Ctrls.controls[i];\n // console.log('ChdCtrls',ChdCtrls);\n // return;\n\n\nlet Avaliablity = 1;\nconsole.log('val',value);\nif(value.length>0){\n value.forEach(option => {\n if(option.id == 0 && option.group_id == 2){ \n Avaliablity = option.id;\n }\n });\n}\nif(Avaliablity == 0){\n// console.log('if Avaliablity',Avaliablity);\nconsole.log(\"chld\",ChdCtrls)\n ChdCtrls.controls.others_income_earned_by.setValidators([Validators.required]);\n this.isOrganisationOwner[i] = true;\n}else if(Avaliablity == 1){\n// console.log('else Avaliablity',Avaliablity);\n// console.log('esle this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\n ChdCtrls.controls.others_income_earned_by.setValue('');\n ChdCtrls.controls.others_income_earned_by.clearValidators();\n this.isOrganisationOwner[i] = false;\n// console.log('else this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\n}\n \nChdCtrls.controls.others_income_earned_by.updateValueAndValidity(); \n}\ninWords(val,i){\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\n}\nsubmitOtherIncome(answerData)\n{\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.other_income = answerData.other_income;\n records.income_details = answerData.income_details;\n records.otherincome_remarks = answerData.otherincome_remarks;\n this.qustCat.saveForm(records).subscribe(data => {\n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }, error => {\n \n })\n}\n\ngetOtherIncome()\n{\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n this.incomeDetails = this.otherIncomeForm.get('income_details') as FormArray;\n this.otherIncomeDetails = res; \n if(this.otherIncomeDetails.dataStatus == true)\n {\n this.otherIncomeDetails = this.otherIncomeDetails.records;\n if(this.otherIncomeDetails.other_income=='Yes'){\n var incomeArray = Object.keys(res['records'].income_details).map(function(key) {\n return res['records'].income_details[key];\n\n });\n this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income);\n this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks);\n \n \n \n \n if(incomeArray.length==0)\n {\n // this.incomeDetails.push(this.createDetail());\n }else\n {\n incomeArray.forEach((datas,index)=>\n {\n \n this.incomeDetails.push(this.createDetail());\n this.amtInWords[index]=this.constant.convertNumberToWords(datas.amount)\n this.getOtherOrganisationOwner(datas.income_earned_by,index)\n })\n }\n this.otherIncomeForm.controls['income_details'].setValue(incomeArray);\n \n }else\n {\n this.otherIncomeForm.controls['other_income'].setValue(this.otherIncomeDetails.other_income);\n this.otherIncomeForm.controls['otherincome_remarks'].setValue(this.otherIncomeDetails.otherincome_remarks);\n }\n }\n else{\n // this.incomeDetails.push(this.createDetail())\n }\n })\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-other-income/pd-question-other-income.ts","import { Component, OnInit } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormArray, FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionPersonalInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-personal-info',\n templateUrl: 'pd-question-personal-info.html',\n})\nexport class PdQuestionPersonalInfoPage implements OnInit{\n\n questionDetails: any;\n pdDetails: any;\n users: any;\n _personalForm: FormGroup;\n qualifications:any=[\"Graduate\",\"Under Graduate\",\"Post Graduate\",\"Professional\"];\n earningStatus:any=[\"Earning Member\",\"House Wife\",\"Student\",\"Retired\",\"Pensioner\",\"Other Non earning member\"];\n relationShipList:any=[];\n \n form_id:number;\n \n\n public mainApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\"];\n public coApplicantQuestions : any = [\"Name\",\"Age\",\"Entity\",\"Educational Qualification\",\"Earning Status\",\"Relationship\"];\n \n public mainApplicantDetails :any=[];\n public coApplicantDetails :any=[];\n \n errorMessage:any;\n //coItem:any;\n //mainItem:any;\n\n repeat:number=3;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public _fb:FormBuilder) {\n \n this.questionDetails = this.navParams.get('questionDetails');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n \n \n // this.getRelationMaster();\n \n \n \n }\n ngOnInit() {\n \n this.loadPDDetails();\n this.getRelationMaster();\n this.mainApplicantDetails = this.pdDetails.applicat_details\n .filter(item => item.applicant_type == 1);\n this.coApplicantDetails = this.pdDetails.applicat_details\n .filter(item => item.applicant_type == 0);\n }\n\n // load form pd details\n loadPDDetails(){\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':'341'};\n \n this.qustCat.retiverForm(records).subscribe(\n data => {\n if (data['status'] == 200) {\n this.loadFormWithIDData(data['records']);\n \n }\n else{\n let defaultMainApp=[];\n let defaultCoApp=[];\n // generate default main applicant form details\n if(this.mainApplicantDetails.length>0){ \n for(let j=0;j this.errorMessage = error);\n}\n\nloadDataStatus: boolean = false;\n\nloadFormWithIDData(data) {\n var main_result = Object.keys(data.main_applicant_details).map(function(key) {\n return data.main_applicant_details[key];\n});\nvar co_result = Object.keys(data.co_applicant_details).map(function(key) {\n return data.co_applicant_details[key];\n});\n\n // main applicant\n let mainApplicantGroup = new FormArray(main_result.map((item,key) => new FormGroup({\n name_ans:new FormControl(item.name_ans, Validators.required),\n age_ans:new FormControl(item.age_ans, Validators.required),\n entity_ans:new FormControl(item.entity_ans, Validators.required),\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\n earning_ans:new FormControl(item.earning_ans, Validators.required),\n })));\n // co applicant\n let iterateCoApp=[];\n \n let coApplicantGroup = new FormArray(co_result.map((item,key) => new FormGroup({\n name_ans:new FormControl(item.name_ans, Validators.required),\n age_ans:new FormControl(item.age_ans, Validators.required),\n entity_ans:new FormControl(item.entity_ans, Validators.required),\n qualification_ans:new FormControl(item.qualification_ans, Validators.required),\n earning_ans:new FormControl(item.earning_ans, Validators.required),\n relation_ans:new FormControl(item.relation_ans, Validators.required),\n\n })));\n \n this._personalForm = this._fb.group({\n pdid:null,\n form_id:null,\n mainItem: mainApplicantGroup,\n coItem: coApplicantGroup,\n personal_info_form_remark: [data.personal_info_form_remark]\n });\n this.loadDataStatus = true;\n}\n\n loadFormData(mainApp,coApp){\n // main applicant\n let mainApplicantGroup = new FormArray(this.mainApplicantDetails.map((item,key) => new FormGroup({\n name_ques:new FormControl(this.mainApplicantQuestions[0]),\n name_ans:new FormControl(item.applicant_name, Validators.required),\n name_id:new FormControl(0),\n age_ques:new FormControl(this.mainApplicantQuestions[1]),\n age_id:new FormControl(1),\n age_ans:new FormControl(null, Validators.required),\n entity_ques: new FormControl(this.mainApplicantQuestions[2]),\n entity_id: new FormControl(2),\n entity_ans:new FormControl(null, Validators.required),\n qualification_ques: new FormControl(this.mainApplicantQuestions[3]),\n qualification_id: new FormControl(3),\n qualification_ans:new FormControl(null, Validators.required),\n earningStatus_ques:new FormControl(this.mainApplicantQuestions[4]),\n earning_id: new FormControl(4),\n earning_ans:new FormControl(null, Validators.required),\n \n })));\n // co applicant\n let iterateCoApp=[];\n \n let coApplicantGroup = new FormArray(this.coApplicantDetails.map((item,key) => new FormGroup({\n name_ques:new FormControl(this.coApplicantQuestions[0]),\n name_ans:new FormControl(item.applicant_name, Validators.required),\n name_id:new FormControl(0),\n age_ques:new FormControl(this.coApplicantQuestions[1]),\n age_id:new FormControl(1),\n age_ans:new FormControl(null, Validators.required),\n entity_ques: new FormControl(this.coApplicantQuestions[2]),\n entity_id: new FormControl(2),\n entity_ans:new FormControl(null, Validators.required),\n qualification_ques: new FormControl(this.coApplicantQuestions[3]),\n qualification_id: new FormControl(3),\n qualification_ans:new FormControl(null, Validators.required),\n earningStatus_ques:new FormControl(this.coApplicantQuestions[4]),\n earning_id: new FormControl(4),\n earning_ans:new FormControl(null, Validators.required),\n relationShip_ques:new FormControl(this.coApplicantQuestions[5]),\n relation_id:new FormControl(5),\n relation_ans:new FormControl(null, Validators.required),\n\n })));\n \n this._personalForm = this._fb.group({\n pdid:null,\n form_id:null,\n mainItem: mainApplicantGroup,\n coItem: coApplicantGroup,\n personal_info_form_remark:null\n });\nthis.loadDataStatus = true;\n }\n\n //get pd main applicant array values \n get pdMainapplicant() { return this._personalForm.get('mainItem') as FormArray; }\n\n // get pd co applicant array values\n get pdCoapplicant() {return this._personalForm.get('coItem') as FormArray;}\n\n // get relation master details\n getRelationMaster(){\n let relation =\"RELATIONSHIPS\";\n this.qustCat.getcommondrop(relation).subscribe(\n data => {\n if (data['status'] == 200) {\n this.relationShipList=data['records'];\n \n }\n}, error => this.errorMessage = error);\n}\n\n// submit forms details\nsubmitPersonalForm(formData:any) {\n if(this._personalForm.valid){\n let main_applicantDetails:any=[];\n let co_applicantDetails:any=[];\n\n formData.mainItem.forEach((element,key) => {\n if(key==0){\n main_applicantDetails.push({\n \"name_ans\":element.name_ans,\n \"age_ans\":element.age_ans,\n \"entity_ans\":element.entity_ans,\n \"qualification_ans\":element.qualification_ans,\n \"earning_ans\":element.earning_ans, \n })\n }\n \n });\n formData.coItem.forEach((Coelement,Cokey) => {\n co_applicantDetails.push({\n\n \"name_ans\":Coelement.name_ans,\n \"age_ans\":Coelement.age_ans,\n \"qualification_ans\":Coelement.qualification_ans,\n \"entity_ans\":Coelement.entity_ans,\n \"earning_ans\":Coelement.earning_ans, \n \"relation_ans\":Coelement.relation_ans, \n })\n \n });\n\n let save_details:any={\n \"pdid\" : this.pdDetails.pd_id,\n \"formid\" : '341',\n \"fk_createdby\":this.users,\n \"main_applicant_details\":main_applicantDetails,\n \"co_applicant_details\":co_applicantDetails,\n \"personal_info_form_remark\": this._personalForm.get('personal_info_form_remark').value\n };\n this.qustCat.saveForm(save_details).subscribe(result => {\n if (result['dataStatus']==true) {\n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n // this.notifier.notify('success', 'Success.');\n }\n else {\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\n }\n }, error => {\n // this.notifier.notify('warning', 'Something Wents Wrong Try Again.!');\n });\n }\n}\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { FormGroup, FormBuilder, FormArray, Validators, FormControl } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionRentalInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-rental-info',\n templateUrl: 'pd-question-rental-info.html',\n})\nexport class PdQuestionRentalInfoPage {\n\n users: any;\n pdDetails: any;\n FormId: any;\n rentalForms:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder) {\n this.FormId = this.navParams.get('FormId');\n this.pdDetails = this.navParams.get('pdDetails');\n this.users = this.aws.getlocale();\n this.rentalForms = this.fb.group(\n {\n person_met:[null,Validators.compose([Validators.required])],\n property_own:[null,Validators.compose([Validators.required])],\n nature_property:[null,Validators.compose([Validators.required])],\n nature_others:[null],\n rental_home:this.fb.array([])\n })\n this.getRentalDetails();\n \n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionRentalInfoPage');\n }\n\n createrentalHome()\n {\n return this.fb.group(\n {\n complete_add:[null,Validators.compose([Validators.required])],\n area_of_property:[null,Validators.compose([Validators.required])],\n structure_property:[null,Validators.compose([Validators.required])],\n total_room:[null,Validators.compose([Validators.required])],\n is_rent:[null,Validators.compose([Validators.required])],\n date_agreement:[null,Validators.compose([Validators.required])],\n date_validity:[null,Validators.compose([Validators.required])],\n rent_agreement:[null,Validators.compose([Validators.required])],\n actual_rent:[null,Validators.compose([Validators.required])],\n photo_areegment:[null,Validators.compose([Validators.required])],\n property_photographs:[null],\n bank:[null,Validators.compose([Validators.required])],\n cash:[null,Validators.compose([Validators.required])],\n rent_each_floor:[null,Validators.compose([Validators.required])],\n total_rent:[null,Validators.compose([Validators.required])],\n related_doc_owner:[null,Validators.compose([Validators.required])],\n details_tenants:this.fb.array([]),\n third_party_check:[null,Validators.compose([Validators.required])],\n })\n }\n\n createTenantsDetails()\n {\n return this.fb.group(\n {\n name:[null,Validators.compose([Validators.required])],\n mobile_no:[null,Validators.compose([Validators.required])],\n tenants_seen:[null,Validators.compose([Validators.required])],\n tenants_con_owner:[null,Validators.compose([Validators.required])],\n rent_paid:[null,Validators.compose([Validators.required])],\n staying_since:[null,Validators.compose([Validators.required])],\n \n });\n }\n\n addrentalHome()\n {\n const control = this.rentalForms.get('rental_home') as FormArray;\n control.push(this.createrentalHome());\n this.addTenantsDetails(0);\n }\n\n addTenantsDetails(i)\n {\n const control = (this.rentalForms.controls['rental_home']).at(i).get('details_tenants') as FormArray;\n \n // control.controls.splice(0);\n control.push(this.createTenantsDetails());\n\n }\n\n deleteTenantsDetails(rentIndex,TenantsIndex)\n {\n const control = (this.rentalForms.controls['rental_home']).at(rentIndex).get('details_tenants') as FormArray;\n \n control.removeAt(TenantsIndex);\n }\n\n deleterentalHome(i)\n {\n const control = (this.rentalForms.controls['rental_home']) as FormArray;\n if(control.length==1)\n {\n this.rentalForms.controls['rental_home'].reset();\n }else\n {\n control.removeAt(i);\n }\n }\n saveRentalDetails(answerData)\n {\n let records:any={}\n \n \n// if(this.rentalForms.valid){\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.FormId.form_id;\n records.fk_createdby = this.users;\n records.person_met = answerData.person_met;\n records.property_own = answerData.property_own;\n records.nature_property = answerData.nature_property;\n if(answerData.nature_property=='others')\n {\n records.nature_others = answerData.nature_others\n }\n records.rental_home = answerData.rental_home;\n Object.keys(records.rental_home).forEach((key) => (records.rental_home[key]==null) && delete answerData[key]);\n\n this.qustCat.saveForm(records).subscribe(res=>\n { \n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n })\n // }else\n // {\n // this.toast.pdTriggerappmessage('Enter All Field');\n // }\n }\n\n getRentalDetails()\n {\n let records = { 'pd_id': this.pdDetails.pd_id, 'pd_form_id': this.FormId.form_id };\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n let rentalDetails = res['records'];\n var rentalData = Object.keys(res['records'].rental_home\n ).map(function(key) {\n return res['records'].rental_home\n [key];\n\n });\n var tanantsData = [];\n var control = (this.rentalForms.controls['rental_home']) as FormArray;\n var tanantscontrol; \n rentalData.forEach((val,index)=>\n {\n \n // this.addrentalHome();\n // tanantsData.push(Object.keys(val.details_tenants).map(function(key)\n // {\n \n \n // return val.details_tenants[key];\n // }));\n rentalData[index].details_tenants = Object.keys(val.details_tenants).map(function(key)\n {\n \n \n return val.details_tenants[key];\n });\n control.push(this.createrentalHome()); \n tanantscontrol = (this.rentalForms.controls['rental_home']).at(index).get('details_tenants') as FormArray; \n \n rentalData[index].details_tenants.forEach((val,key)=>\n {\n //rentalData[index].details_tenants = val;\n \n // rentalData[index].details_tenants = [key];\n tanantscontrol.push(this.createTenantsDetails());\n });\n \n // control[index].details_tenants =tanantscontrol; \n });\n this.rentalForms.controls['person_met'].setValue(rentalDetails.person_met);\n this.rentalForms.controls['property_own'].setValue(rentalDetails.property_own);\n this.rentalForms.controls['nature_property'].setValue(rentalDetails.nature_property);\n if(rentalDetails.nature_property=='others'){\n this.rentalForms.controls['nature_others'].\n setValue(rentalDetails.nature_others);\n }\n \n this.rentalForms.controls['rental_home'].setValue(rentalData); \n }else\n {\n this.addrentalHome();\n // this.addTenantsDetails(0);\n }\n })\n }\n createTenantsDetailswithData(index,data)\n {\n return this.fb.group(\n {\n name:[data.name],\n mobile_no:[data.mobile_no],\n tenants_seen:[data.tenants_seen],\n tenants_con_owner:[data.tenants_con_owner],\n rent_paid:[data.rent_paid],\n staying_since:[data.staying_since]\n });\n }\n\n validateAllFormFields(formGroup: any) {\n Object.keys(formGroup.controls).forEach(field => {\n const control = formGroup.get(field);\n \n if (control instanceof FormControl) {\n control.markAsTouched({ onlySelf: true });\n } else if (control instanceof FormGroup) { \n this.validateAllFormFields(control);\n } else if (control instanceof FormArray) { \n this.validateAllFormFields(control);\n }\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { PdQuestionAssessedInfoPage } from '../pd-question-assessed-info/pd-question-assessed-info';\n\n/**\n * Generated class for the PdQuestionAssessedDashPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-dash',\n templateUrl: 'pd-question-assessed-dash.html',\n})\nexport class PdQuestionAssessedDashPage {\n\n businessIncome: boolean;\n grossAccess: boolean;\n finalAccess: boolean;\n finalExpense: any;\n finalIncome: any;\n finalData: any;\n houseExpenseData: boolean;\n businessData: boolean;\n salesData: boolean;\n purchaseData: boolean;\n grossprofit: any;\n assessedProcess: boolean;\n users: any;\n FormId: any;\n pdDetails: any;\n assessedForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.users = this.aws.getlocale();\n this.assessedForm = this.fb.group(\n {\n calc_type_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n mode:[null,Validators.compose([Validators.required])],\n margin:[null],\n fk_createdby:[this.users],\n fk_updatedby:[null],\n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedDashPage');\n }\n ionViewCanEnter()\n {\n this.getassessedIncome(); \n }\n getViewPage(pageId)\n {\n\n this.navCtrl.push(PdQuestionAssessedInfoPage,{'pdDetails':this.pdDetails,'pageId':pageId});\n }\n\n saveAssessedForm(answerData)\n {\n \n if(this.assessedForm.valid)\n {\n \n \n \n let records = {'records':this.assessedForm.value};\n \n this.qustCat.saveassessedForms('saveAssessedIncomeCalculateMode',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.getassessedIncome();\n }else\n {\n\n }\n })\n \n }\n }\n\n getassessedIncome()\n {\n let records = {'pd_id':this.pdDetails.pd_id};\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.assessedProcess = true;\n this.grossprofit = res['records'].gross_profit_calculation_type[0];\n if(res['records'].purchase_details.length !=0)\n {\n this.purchaseData = true;\n }\n if(res['records'].sales_items_by_monthwise.length !=0 || res['records'].sales_declared_by_customer.length !=0 || res['records'].sales_calculated_by_itemwise.length !=0)\n {\n this.salesData = true;\n }\n if(res['records'].business_expenses.length !=0)\n {\n this.businessData = true;\n }\n if(res['records'].house_hold_expenses.length !=0)\n {\n this.houseExpenseData = true;\n }\n if(res['records'].othre_business_income.length !=0)\n {\n this.businessIncome = true;\n }\n \n if(res['records'].final_data.length !=0){\n this.finalAccess = true;\n this.finalData = res['records'].final_data[0]; \n this.finalIncome = this.finalData.income;\n this.finalExpense = this.finalData.expense; \n }\n \n if(this.grossprofit !==undefined)\n {\n this.grossAccess = true;\n this.assessedForm.controls['mode'].setValue(this.grossprofit.mode);\n this.assessedForm.controls['margin'].setValue(this.grossprofit.margin);\n this.assessedForm.controls['calc_type_id'].setValue(this.grossprofit.calc_type_id);\n }\n \n }else\n {\n this.assessedProcess = false;\n }\n });\n }\n\n\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.ts","import { Component, ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\nimport { PdQuestionAssessedSalesPage } from '../pd-question-assessed-sales/pd-question-assessed-sales';\nimport { PdQuestionAssessedDailySalesPage } from '../pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\nimport { FormatWidth } from '@angular/common';\nimport { PdQuestionAssessedPurchasePage } from '../pd-question-assessed-purchase/pd-question-assessed-purchase';\nimport { PdQuestionAssessedBusinessPage } from '../pd-question-assessed-business/pd-question-assessed-business';\nimport { PdQuestionAssessedHouseholdPage } from '../pd-question-assessed-household/pd-question-assessed-household';\nimport { PdQuestionAssessedBusinessIncomePage } from '../pd-question-assessed-business-income/pd-question-assessed-business-income';\n\n\n/**\n * Generated class for the PdQuestionAssessedInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-info',\n templateUrl: 'pd-question-assessed-info.html',\n})\nexport class PdQuestionAssessedInfoPage {\n\n busissnessIncome: any;\n mode: any;\n grossprofitCalc: any;\n houseHold_details: any;\n grandHouseExpenseTotal: any;\n houseannual: any=[];\n businessExpenses_details: any;\n grandExpenseTotal: any;\n expenseannual: any=[];\n businessExpenses: any;\n purchse_details: any;\n sales_item_month_value: any=[];\n sales_wise_month_headers:any = [];\n sales_month_wise_data:any = [];\n sales_item_value: any;\n grandpurchaseTotal: any=null;\n UOM: any;\n m_freqOfPurchase: any;\n users: any;\n pageId: any;\n pdDetails: any;\n assessedForm:FormGroup;\n FormName:any;\n annual:any = [];\n rawMaterialForm:FormGroup;\n BuissnessForm:FormGroup;\n houseHoldForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.pageId = this.navParams.get('pageId');\n\n switch(this.pageId)\n {\n case 1:\n this.FormName = \"Sales Page\";\n break;\n case 2:\n this.FormName = \"Purchase Page\";\n break;\n case 3:\n this.FormName = \"Business Expense Page\";\n break;\n case 4:\n this.FormName = \"House Hold Page\";\n break;\n default:\n this.FormName = \"Question Page\";\n break;\n }\n this.users = this.aws.getlocale();\n this.assessedForm = this.fb.group(\n {\n sdc_id:[null],\n sales_declared_by_customer:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n margin_per:[null],\n margin_value:[null],\n isactive:[1],\n fk_createdby:[this.users],\n \n });\n \n \n \n \n // this.getdropList();\n \n \n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedInfoPage');\n }\n\n\n \n \n\n ionViewDidEnter() {\n \n }\n ionViewCanEnter()\n {\n this.getAssessedDetails(); \n }\n\n\n \n \n \n \n\n getMarginCalc()\n {\n let margin_per = this.assessedForm.controls['margin_per'].value;\n let sales_declared_by_customer = this.assessedForm.controls['sales_declared_by_customer'].value;\n if(margin_per !=null && sales_declared_by_customer !=null)\n {\n let value = sales_declared_by_customer * (margin_per/100);\n this.assessedForm.controls['margin_value'].setValue(value);\n }\n }\n\n saveData(answerData)\n {\n let records:any = {};\n\n records ={'records':answerData};\n console.log(records);\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesDeclaredByCustomer',records).subscribe(res=>\n {\n // console.log(res);\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.getAssessedDetails();\n }\n })\n }\n \n getAssessedDetails()\n {\n this.sales_item_month_value = [];\n this.sales_month_wise_data = [];\n this.sales_item_value= [];\n let records = {'pd_id':this.pdDetails.pd_id};\n this.qustCat.retiverassessedForm('getAssessedIncome',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n let sales_value = res['records'].sales_declared_by_customer[0];\n this.sales_item_value = res['records'].sales_calculated_by_itemwise;\n this.sales_item_month_value = res['records'].sales_items_by_monthwise;\n this.purchse_details = res['records'].purchase_details; \n this.grossprofitCalc = res['records'].gross_profit_calculation_type[0];\n this.mode = this.grossprofitCalc.mode;\n console.log(this.grossprofitCalc);\n var result = this.purchse_details.reduce(function(p, c) {\n \n return p;\n },[]);\n console.log(result);\n\n\n this.businessExpenses_details = res['records'].business_expenses;\n this.houseHold_details = res['records'].house_hold_expenses;\n this.busissnessIncome = res['records'].othre_business_income;\n // console.log(this.sales_item_month_value);\n // this.getpurchaseDetails(this.purchse_details);\n \n \n \n\n \n \n \n \n \n this.sales_item_month_value.forEach((itemElement, itemIndex) => {\n let expandBodyContent= Object.keys(itemElement.items).map(key => ({ header:key, value: itemElement.items[key] }));\n let listItems: any=[];\n expandBodyContent.forEach((expnadElement, expnadIndex) => {\n let calculateItems = expnadElement.value.reduce((acc, calculate) => acc + Number(calculate.sales_value), 0);\n listItems.push({items:expnadElement, itemsTotal:calculateItems})\n })\n let calculateAllItemsTotal:number=listItems.reduce((racc, rcalculate) => racc + Number(rcalculate.itemsTotal), 0);\n \n let convertYear : number = 12 / listItems.length;\n let footerMessage: any=[];\n footerMessage.push({\n month_message: listItems.length + ' Month Sales : '+ calculateAllItemsTotal,\n month_value:calculateAllItemsTotal,\n year_message: ' Yearly Sales Arrived : '+ calculateAllItemsTotal * convertYear,\n year_value: calculateAllItemsTotal * convertYear,\n })\n this.sales_month_wise_data.push({salesItem:itemElement.sales_item, expandElements:expandBodyContent, footerMessage: footerMessage,simId:itemElement.sim_id});\n });\n\n\n console.log(this.sales_month_wise_data);\n if(sales_value!==undefined){\n this.assessedForm.controls['sdc_id'].setValue(sales_value.sdc_id);\n this.assessedForm.controls['sales_declared_by_customer'].setValue(sales_value.sales_declared_by_customer);\n this.assessedForm.controls['margin_value'].setValue(sales_value.margin_value);\n this.assessedForm.controls['margin_per'].setValue(sales_value.margin_per);\n \n }\n \n }\n })\n\n }\n\n /**\n * Add Assessed Forms\n */\n\n AddAssessedForm()\n {\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':null,'grossprofit':this.grossprofitCalc}); \n \n }\n\n editDetails(salesCal)\n {\n let salesData = this.sales_item_value.filter(sal=>sal.sci_id==salesCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':salesData,'grossprofit':this.grossprofitCalc}); \n \n }\n editAllDetails(AllsalesData)\n {\n this.navCtrl.push(PdQuestionAssessedSalesPage,{'pdDetails':this.pdDetails,'sales':AllsalesData,'grossprofit':this.grossprofitCalc}); \n }\n\n /**Assessed Daily Form Details */\n\n AddAssessedDailyForm()\n {\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':null,'grossprofit':this.grossprofitCalc})\n }\n editAssessedDailyForm(simId)\n {\n let dailySaleDetails = this.sales_item_month_value.filter(ass=>ass.sim_id==simId);\n console.log(dailySaleDetails);\n this.navCtrl.push(PdQuestionAssessedDailySalesPage,{'pdDetails':this.pdDetails,'salesDaily':dailySaleDetails,'grossprofit':this.grossprofitCalc})\n \n }\n\n /**purchase Details Forms */\n AddPurchaseForm()\n {\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':null}); \n \n }\n\n editPurchaseDetails(purchaseCal)\n {\n let salesData = this.purchse_details.filter(sal=>sal.purchase_id==purchaseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':salesData}); \n \n }\n editPurchaseAllDetails(AllpurchaseData)\n {\n console.log('260',AllpurchaseData);\n this.navCtrl.push(PdQuestionAssessedPurchasePage,{'pdDetails':this.pdDetails,'purchase':AllpurchaseData}); \n }\n \n\n /**Business Expense */\n AddExpenseForm()\n {\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':null}); \n \n }\n\n editExpenseDetails(expenseCal)\n {\n let salesData = this.businessExpenses_details.filter(sal=>sal.pd_expense_id==expenseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':salesData}); \n \n }\n editExpenseAllDetails(AllexpenseData)\n {\n this.navCtrl.push(PdQuestionAssessedBusinessPage,{'pdDetails':this.pdDetails,'expense':AllexpenseData}); \n }\n \n\n /** Household Expenses Details */\n AddHouseExpenseForm()\n {\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':null}); \n \n }\n\n editHouseExpenseDetails(expenseCal)\n {\n let salesData = this.houseHold_details.filter(sal=>sal.household_expense_id==expenseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':salesData}); \n \n }\n editHouseExpenseAllDetails(AllExpenseData)\n {\n this.navCtrl.push(PdQuestionAssessedHouseholdPage,{'pdDetails':this.pdDetails,'expense':AllExpenseData}); \n }\n\n /**\n * Income Details\n */\n AddIncomeForm()\n {\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':null}); \n \n }\n\n editIncomeDetails(expenseCal)\n {\n let salesData = this.busissnessIncome.filter(sal=>sal.pd_business_income_id==expenseCal);\n console.log(salesData);\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':salesData}); \n \n }\n editIncomeAllDetails(AllexpenseData)\n {\n this.navCtrl.push(PdQuestionAssessedBusinessIncomePage,{'pdDetails':this.pdDetails,'income':AllexpenseData}); \n }\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssessedSalesPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-sales',\n templateUrl: 'pd-question-assessed-sales.html',\n})\nexport class PdQuestionAssessedSalesPage {\n\n grossprofitCalc: any;\n salesData: any =[];\n annual: any=[];\n grandTotal: any;\n UOM: any;\n m_freqOfPurchase: any;\n assessedForm: FormGroup;\n users: any;\n FormId: any;\n pdDetails: any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.grossprofitCalc = this.navParams.get('grossprofit');\n this.users = this.aws.getlocale();\n this.assessedForm = this.fb.group(\n {\n \n salesCalItemwise:this.fb.array([]),\n });\n this.salesData = this.navParams.get('sales');\n if(this.salesData!=null)\n {\n this.getSalesItemData(this.salesData);\n }else\n {\n this.addSalesCal();\n }\n // this.addSalesCal();\n this.getdropList();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedSalesPage');\n }\n\n getdropList()\n {\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n this.qustCat.getcommondrop('UOM').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\n }\n });\n }\n\n createSalesCal()\n {\n return this.fb.group(\n {\n sci_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n\n sales_item:[null,Validators.compose([Validators.required])],\n sales_qty:[null,Validators.compose([Validators.required])],\n fk_uom_id:[null,Validators.compose([Validators.required])],\n rate_per_unit:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_sale_value:[null],\n margin_per:[null],\n margin_per_uom:[null],\n margin_final_value:[null],\n });\n }\n\n addSalesCal()\n {\n if(this.assessedForm.valid){\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\n control.push(this.createSalesCal());\n }else\n {\n this.toast.pdTriggerappmessage('Enter the all fields');\n }\n }\n \n removeSalesCal(i)\n {\n this.annual.splice(i,1);\n \n // this.annual[i].spl\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \n console.log(this.grandTotal);\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\n if(control.length==1)\n {\n control.removeAt(i);\n this.addSalesCal(); \n } else{\n control.removeAt(i);\n }\n }\n /**\n * frequency Type \n * 1.Weekly no need\n * 2.Daily 250\n * 3.Yearly \n * 4.Hourly no need\n * 5.Monthly 12\n * 6.none\n * 7.none\n * 8.none\n */\n salecalculat(index,details)\n {\n // console.log(details,index);\n let frequencyId = details.value.fk_frequency_id;\n let salesQty = details.value.sales_qty;\n let UOM = details.value.rate_per_unit;\n // console.log(frequencyId,salesQty,UOM,index);\n // console.log(frequencyId);\n let annual\n if(salesQty!=null && UOM!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (salesQty*UOM*250);\n this.annual[index] = annual;\n details.controls['annual_sale_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (salesQty*UOM);\n this.annual[index] = annual;\n details.controls['annual_sale_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (salesQty*UOM*12);\n this.annual[index] = annual;\n details.controls['annual_sale_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \n }else\n {\n // this.toast.pdTriggerappmessage('Enter the Sales Quantity and UOM');\n }\n \n \n \n \n console.log(this.annual);\n }\n\n getSalesCalc(details)\n {\n // console.log(details);\n let margin_per = details.value.margin_per;\n let margin_amount = details.value.margin_per_uom;\n let annual_sale_value = details.value.annual_sale_value;\n let sales_qty = details.value.sales_qty;\n // console.log(sales_qty,margin_amount);\n let value:any = '';\n if(margin_per !=null || margin_amount !=null){\n if(margin_per !=null)\n {\n value = +annual_sale_value * (+margin_per/100);\n }else\n {\n console.log('else');\n value = +sales_qty* +margin_amount;\n }\n console.log(value);\n details.controls['margin_final_value'].setValue(value);\n }\n }\n saveData(answerData)\n {\n let records = {'records':answerData.salesCalItemwise};\n console.log(records);\n this.qustCat.saveassessedForms('saveAssessedIncomeSalesCalculatedByItemwise',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n }\n })\n }\n \n getSalesItemData(salesData)\n {\n console.log(salesData);\n const control = this.assessedForm.get('salesCalItemwise') as FormArray;\n\n salesData.forEach((sale,index)=>{\n \n this.annual[index] = sale.annual_sale_value\n control.push(this.createSaleswithData(sale));\n })\n // this.assessedForm.controls['salesCalItemwise'].setValue(salesData);\n // console.log(control);\n this.grandTotal = this.annual.reduce((a,b)=> a+b,0); \n }\n\n createSaleswithData(data)\n {\n return this.fb.group(\n {\n sci_id:[data.sci_id],\n fk_pd_id:[this.pdDetails.pd_id],\n sales_item:[data.sales_item,Validators.compose([Validators.required])],\n sales_qty:[data.sales_qty,Validators.compose([Validators.required])],\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_sale_value:[data.annual_sale_value],\n margin_per:[data.margin_per],\n margin_per_uom:[data.margin_per_uom],\n margin_final_value:[data.margin_final_value],\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../../providers/constants/constants';\n\n/**\n * Generated class for the PdQuestionAssessedDailySalesPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-daily-sales',\n templateUrl: 'pd-question-assessed-daily-sales.html',\n})\nexport class PdQuestionAssessedDailySalesPage {\n\n currentDate: string;\n grossprofitCalc: any;\n salesDaily: any;\n users: any;\n FormId: any;\n pdDetails: any;\n salesDailyForm: FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams, public aws: AwsServiceProvider, public qustCat: QuestionCategoryProvider, public toast: ToastProvider, public fb: FormBuilder,public constant:ConstantsProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.salesDaily = this.navParams.get('salesDaily');\n this.grossprofitCalc = this.navParams.get('grossprofit');\n this.users = this.aws.getlocale();\n this.currentDate = constant.getcurrentDate().replace(\"T00:00\",'');\n \n this.salesDailyForm = this.fb.group(\n {\n sales_product: this.fb.array([]),\n })\n if (this.salesDaily != null) {\n this.getDailySalesData(this.salesDaily);\n } else {\n this.adddailySalaesProduct();\n\n }\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedDailySalesPage');\n }\n\n createdailysalesProduct() {\n return this.fb.group(\n {\n sim_id: [null],\n sales_item: [null, Validators.compose([Validators.required])],\n child: this.fb.array([]),\n fk_pd_id: [this.pdDetails.pd_id],\n margin_per: [null],\n margin_value: [null],\n fk_createdby: [this.users],\n isactive: ['1'],\n });\n }\n createdailyChildSaleProduct() {\n return this.fb.group({\n simc_id: [null],\n fk_sim_id: [null],\n sales_date: [null, Validators.compose([Validators.required])],\n sales_value: [null, Validators.compose([Validators.required])],\n isactive: ['1'],\n })\n }\n temparr = [];\n tempdate = [];\n getSalesCalc(subchild,child,key) {\n \n let saledate: any = new Date(subchild.value.sales_date).getMonth() + 1;\n let totalitemmargin = child.value.margin_per;\n \n if (totalitemmargin != null && subchild.value.sales_value !=null) {\n let loopAccess = false;\n let loopindex = 0;\n if (this.tempdate.length != 0) {\n for (var i = 0; i < this.tempdate.length; i++) {\n\n if (this.tempdate[i].month == saledate) {\n loopAccess = true;\n loopindex = i;\n }\n }\n\n if (loopAccess) {\n\n \n this.tempdate[loopindex].value = this.tempdate[loopindex].value + subchild.value.sales_value;\n this.temparr.push(subchild.value.sales_value);\n loopAccess = false;\n loopindex = 0;\n \n } else {\n \n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value }); this.temparr.push(subchild.value.sales_value);\n }\n\n\n } else {\n \n this.tempdate.push({ 'month': saledate, 'value': subchild.value.sales_value });\n this.temparr.push(subchild.value.sales_value);\n }\n\n let totalMonth = 12 / this.tempdate.length;\n \n let tempgrandTotal = this.tempdate.reduce((a, b) => (+a + +b.value), 0);\n \n // let value = tempgrandTotal * (totalitemmargin / 100);\n let value = tempgrandTotal*totalMonth ;\n \n let grandValue = value * (totalitemmargin / 100);\n child.controls['margin_value'].setValue(grandValue);\n \n }\n \n }\n adddailySalaesProduct() {\n this.tempdate = [];\n if (this.salesDailyForm.valid) {\n const control = this.salesDailyForm.get('sales_product') as FormArray;\n control.push(this.createdailysalesProduct());\n \n this.adddailyChildSaleProduct(control.length - 1);\n }\n }\n adddailyChildSaleProduct(index) {\n // if(this.salesDailyForm.valid){\n const control = (this.salesDailyForm.get('sales_product')).at(index).get('child') as FormArray;\n\n control.push(this.createdailyChildSaleProduct());\n // }\n }\n\n deletedailySalesProduct(index) {\n \n this.tempdate.slice(index,1);\n const control = (this.salesDailyForm.controls['sales_product']) as FormArray;\n if (control.length == 1) {\n this.salesDailyForm.controls['sales_product'].reset();\n } else {\n control.removeAt(index);\n }\n }\n\n deletedailyChildSaleProduct(saleIndex, saleChildIndex) {\n this.tempdate = [];\n const control = (this.salesDailyForm.controls['sales_product']).at(saleIndex).get('child') as FormArray;\n if(control.length==1)\n {\n control.removeAt(saleChildIndex);\n this.adddailyChildSaleProduct(saleIndex); \n }else{\n control.removeAt(saleChildIndex);\n }\n }\n saveData(answerData) {\n if (this.salesDailyForm.valid) {\n let records = { 'records': answerData.sales_product };\n this.qustCat.saveassessedForms('saveAssessedIncomeMonthwiseItems', records).subscribe(res => {\n if (res['dataStatus'] == true) {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n }\n });\n }\n\n\n }\n getDailySalesData(dailySalesData) {\n \n const control = this.salesDailyForm.get('sales_product') as FormArray;\n let salesChildControl;\n let salesChildControlarr = [];\n dailySalesData.forEach((val, index) => {\n\n control.push(this.dailySalesWithData(val));\n salesChildControl = (this.salesDailyForm.controls['sales_product']).at(index).get('child') as FormArray;\n\n salesChildControlarr[index] = Object.keys(val['items']).map(key => val['items'][key]);\n\n salesChildControlarr[index].forEach((vals, i) => {\n vals.forEach((item, key) => {\n let saleDate = new Date(item.sales_date);\n\n item.sales_date = saleDate.getFullYear() + '-' + (\"0\" + (saleDate.getMonth() + 1)).slice(-2) + '-' + (\"0\" + (saleDate.getDay() + 1)).slice(-2);\n salesChildControl.push(this.dailySalesChildWithData(item, val.sim_id));\n })\n\n\n\n });\n\n });\n }\n\n dailySalesWithData(data) {\n\n return this.fb.group(\n {\n sim_id: [data.sim_id],\n sales_item: [data.sales_item, Validators.compose([Validators.required])],\n child: this.fb.array([]),\n fk_pd_id: [this.pdDetails.pd_id],\n fk_createdby: [this.users],\n isactive: ['1'],\n margin_per: [data.margin_per],\n margin_value: [data.margin_value],\n })\n }\n dailySalesChildWithData(data, fk_id) {\n\n\n return this.fb.group(\n {\n simc_id: [data.simc_id],\n fk_sim_id: [fk_id],\n sales_date: [data.sales_date, Validators.compose([Validators.required])],\n sales_value: [data.sales_value, Validators.compose([Validators.required])],\n isactive: ['1'],\n })\n\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\n\n/**\n * Generated class for the PdQuestionAssessedPurchasePage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-purchase',\n templateUrl: 'pd-question-assessed-purchase.html',\n})\nexport class PdQuestionAssessedPurchasePage {\n purchaseDetails: any;\n users: any;\n pdDetails: any;\n businessExpenses: any;\n UOM: any;\n m_freqOfPurchase: any;\n annual: any = [];\n grandpurchaseTotal: any;\n rawMaterialForm:FormGroup;\n constructor(public navCtrl: NavController, public fb:FormBuilder,public navParams: NavParams,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public aws:AwsServiceProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.purchaseDetails = this.navParams.get('purchase');\n this.users = this.aws.getlocale();\n this.rawMaterialForm = this.fb.group(\n {\n purchase:this.fb.array([]),\n });\n if(this.purchaseDetails!=null)\n {\n this.getpurchaseDetails(this.purchaseDetails);\n }else\n {\n this.addPurchaseDetails();\n }\n this.getdropList();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedPurchasePage');\n }\n\n\n createPurchaseDetails()\n {\n return this.fb.group(\n {\n purchase_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n purchase_item:[null,Validators.compose([Validators.required])],\n purchase_qty:[null,Validators.compose([Validators.required])],\n fk_uom_id:[null,Validators.compose([Validators.required])],\n rate_per_unit:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_purchase_value:[null,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n\n getdropList()\n {\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.m_freqOfPurchase = res['records'].filter(fre=>fre.isactive==1);\n }\n })\n this.qustCat.getcommondrop('UOM').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.UOM = res['records'].filter(uom=>uom.isactive==1);\n }\n });\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\n }\n })\n }\n addPurchaseDetails()\n {\n const control = this.rawMaterialForm.controls['purchase'] as FormArray\n control.push(this.createPurchaseDetails());\n }\n\n deletePurchaseDetails(i)\n {\n this.annual.splice(i,1);\n \n // this.annual[i].spl\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \n const control = this.rawMaterialForm.controls['purchase'] as FormArray\n control.removeAt(i); \n }\n\n\n salecalculat(index,details)\n {\n console.log(this.grandpurchaseTotal);\n console.log(details,index);\n let frequencyId = details.value.fk_frequency_id;\n let purchaseQty = details.value.purchase_qty;\n let UOM = details.value.rate_per_unit;\n console.log(frequencyId,purchaseQty,UOM,index);\n // console.log(frequencyId);\n let annual\n if(purchaseQty!=null && UOM!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (purchaseQty*UOM*250);\n this.annual[index] = annual;\n details.controls['annual_purchase_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (purchaseQty*UOM);\n this.annual[index] = annual;\n details.controls['annual_purchase_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (purchaseQty*UOM*12);\n this.annual[index] = annual;\n details.controls['annual_purchase_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandpurchaseTotal = this.annual.reduce((a,b)=> +a + +b,0); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Purchase Quantity and UOM');\n }\n }\n savepurchaseData(answerData)\n {\n if(this.rawMaterialForm.valid){\n let records = {'records':answerData.purchase};\n console.log('data',records);\n this.qustCat.saveassessedForms('saveAssessedIncomePurchaseDetails',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n // this.getAssessedDetails();\n \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter All Field');\n }\n }\n\n getpurchaseDetails(purchaseDetails)\n {\n console.log('function in',purchaseDetails);\n \n const control = this.rawMaterialForm.controls['purchase'] as FormArray; \n console.log(control); \n if(purchaseDetails.length ==0)\n {\n console.log('if');\n this.addPurchaseDetails();\n }else{\n console.log('else');\n purchaseDetails.forEach((val,index)=>\n {\n // console.log(index);\n control.push(this.createPurchasewithData(val));\n this.annual[index] = val.annual_purchase_value;\n });\n this.grandpurchaseTotal = this.annual.reduce((a,b)=>(+a + +b),0);\n }\n // console.log(control); \n \n }\n\n createPurchasewithData(data)\n {\n return this.fb.group(\n {\n purchase_id:[data.purchase_id],\n fk_pd_id:[this.pdDetails.pd_id],\n purchase_item:[data.purchase_item,Validators.compose([Validators.required])],\n purchase_qty:[data.purchase_qty,Validators.compose([Validators.required])],\n fk_uom_id:[data.fk_uom_id,Validators.compose([Validators.required])],\n rate_per_unit:[data.rate_per_unit,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_purchase_value:[data.annual_purchase_value,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssessedBusinessPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-business',\n templateUrl: 'pd-question-assessed-business.html',\n})\nexport class PdQuestionAssessedBusinessPage {\n m_freqOfPurchase: any;\n expenseDetails: any;\n grandpurchaseTotal(arg0: any): any {\n throw new Error(\"Method not implemented.\");\n }\n grandExpenseTotal: any=[];\n expenseannual: any=[];\n users: any;\n pdDetails: any;\n BuissnessForm:FormGroup;\n businessExpenses:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.expenseDetails = this.navParams.get('expense');\n this.users = this.aws.getlocale();\n this.BuissnessForm = this.fb.group(\n {\n busExpense:this.fb.array([]),\n });\n\n if(this.expenseDetails!=null)\n {\n this.getBuisnessExpenses(this.expenseDetails);\n }else\n {\n this.addBusinessDetails();\n }\n this.getdropdown();\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('BUSINESSEXPENSES').subscribe(res=>\n {\n if(res['dataStatus']==true){\n \n this.businessExpenses = res['records'].filter(bus=>bus.isactive==1);\n } \n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus'] == true){\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedBusinessPage');\n }\n\n\n createBusinessDetails()\n {\n return this.fb.group(\n {\n pd_expense_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n expense_item_id:[null,Validators.compose([Validators.required])],\n expense_value:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_expenses_value:[null,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n\n addBusinessDetails()\n {\n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\n control.push(this.createBusinessDetails());\n }\n\n deleteBuisnessDetails(i)\n {\n this.expenseannual.splice(i,1); \n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \n \n const control = this.BuissnessForm.controls['busExpense'] as FormArray;\n control.removeAt(i);\n }\n\n busExpensecalculat(index,details)\n {\n \n \n let frequencyId = details.value.fk_frequency_id;\n let expenseValue = details.value.expense_value;\n let UOM = details.value.rate_per_unit;\n \n let annual\n if(expenseValue!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (expenseValue*250);\n this.expenseannual[index] = annual;\n details.controls['annual_expenses_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (expenseValue);\n this.expenseannual[index] = annual;\n details.controls['annual_expenses_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (expenseValue*12);\n this.expenseannual[index] = annual;\n details.controls['annual_expenses_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\n }\n }\n\n saveBusinessData(answerData)\n {\n \n if(this.BuissnessForm.valid){\n let records = {'records':answerData.busExpense};\n \n this.qustCat.saveassessedForms('saveAssessedIncomeBusinessExpenses',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n \n }\n\n getBuisnessExpenses(expenseDetails)\n {\n if(expenseDetails.length==0)\n {\n this.addBusinessDetails();\n }else\n {\n const control = this.BuissnessForm.controls['busExpense'] as FormArray; \n expenseDetails.forEach((val,index)=>\n {\n this.expenseannual[index] = val.annual_expenses_value;\n control.push(this.createBusinessExpensewithData(val));\n })\n this.grandExpenseTotal = this.expenseannual.reduce((a,b)=> +a + +b,0); \n }\n }\n\n createBusinessExpensewithData(data)\n {\n return this.fb.group(\n {\n pd_expense_id:[data.pd_expense_id],\n fk_pd_id:[this.pdDetails.pd_id],\n expense_item_id:[data.expense_item_id,Validators.compose([Validators.required])],\n expense_value:[data.expense_value,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_expenses_value:[data.annual_expenses_value,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users]\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormArray, FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\n\n/**\n * Generated class for the PdQuestionAssessedHouseholdPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-household',\n templateUrl: 'pd-question-assessed-household.html',\n})\nexport class PdQuestionAssessedHouseholdPage {\n\n m_freqOfPurchase: any;\n expenseDetails: any;\n houseExpenseDetails: any;\n users: any;\n pdDetails: any;\n houseannual: any =[];\n grandHouseExpenseTotal: any=[];\n houseHoldForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.houseExpenseDetails = this.navParams.get('FormId');\n this.expenseDetails = this.navParams.get('expense');\n this.users = this.aws.getlocale();\n this.houseHoldForm = this.fb.group(\n {\n houseExpense:this.fb.array([]),\n });\n if(this.expenseDetails !=null)\n {\n this.getHouseholdExpense(this.expenseDetails);\n }else\n {\n this.addHouseExpenses();\n }\n this.getdropdown();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedHouseholdPage');\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus'] == true){\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n }\n createHouseExpense()\n {\n return this.fb.group(\n {\n household_expense_id:[null],\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\n\t\t expense_item: [null,Validators.compose([Validators.required])],\n\t\t expense_value: [null,Validators.compose([Validators.required])],\n\t\t fk_frequency_id: [null,Validators.compose([Validators.required])],\n\t\t annual_expense_value: [null,Validators.compose([Validators.required])],\n\t\t isactive: [\"1\"],\n\t\t fk_createdby: [this.users]\n })\n }\n\n addHouseExpenses()\n {\n \n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\n\n control.push(this.createHouseExpense());\n }\n\n deleteHouseExpense(i)\n {\n this.houseannual.splice(i,1); \n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \n const control = this.houseHoldForm.controls['houseExpense'] as FormArray;\n control.removeAt(i) \n }\n houseExpensecalculat(index,details)\n {\n \n let frequencyId = details.value.fk_frequency_id;\n let expenseValue = details.value.expense_value;\n // let UOM = details.value.rate_per_unit;\n // console.log(frequencyId,purchaseQty,UOM,index);\n // console.log(details);\n let annual\n if(expenseValue!=null){\n if(frequencyId==1)\n {\n\n }else if(frequencyId==2)\n {\n annual = (expenseValue*250);\n this.houseannual[index] = annual;\n details.controls['annual_expense_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (expenseValue);\n this.houseannual[index] = annual;\n details.controls['annual_expense_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n\n }else if(frequencyId==5)\n {\n annual = (expenseValue*12);\n this.houseannual[index] = annual;\n details.controls['annual_expense_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n\n }else if(frequencyId==7)\n {\n\n }else if(frequencyId==8)\n {\n\n }else\n {\n\n }\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \n console.log(this.grandHouseExpenseTotal); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\n }\n }\n saveHouseExpenseData(answerData)\n {\n if(this.houseHoldForm.valid)\n {\n let records = {'records':answerData.houseExpense};\n this.qustCat.saveassessedForms('saveAssessedIncomeHouseholdExpenses',records).subscribe(res=>\n { \n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n }\n\n getHouseholdExpense(houseExpesneDetails)\n {\n if(houseExpesneDetails.length==0)\n {\n this.addHouseExpenses(); \n }else\n {\n const control = this.houseHoldForm.controls['houseExpense'] as FormArray; \n houseExpesneDetails.forEach((val,index)=>\n {\n this.houseannual[index] = val.annual_expense_value;\n control.push(this.createHouseholdwithData(val));\n \n });\n this.grandHouseExpenseTotal = this.houseannual.reduce((a,b)=> +a + +b,0); \n }\n }\n\n createHouseholdwithData(data)\n {\n return this.fb.group(\n {\n household_expense_id:[data.household_expense_id],\n\t\t fk_pd_id:[this.pdDetails.pd_id] ,\n\t\t expense_item: [data.expense_item,Validators.compose([Validators.required])],\n\t\t expense_value: [data.expense_value,Validators.compose([Validators.required])],\n\t\t fk_frequency_id: [data.fk_frequency_id,Validators.compose([Validators.required])],\n\t\t annual_expense_value: [data.annual_expense_value,Validators.compose([Validators.required])],\n\t\t isactive: [\"1\"],\n\t\t fk_createdby: [this.users]\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder, FormArray, Validators } from '@angular/forms';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdQuestionAssessedBusinessIncomePage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-assessed-business-income',\n templateUrl: 'pd-question-assessed-business-income.html',\n})\nexport class PdQuestionAssessedBusinessIncomePage {\n m_freqOfPurchase: any = [];\n expenseDetails: any;\n \n grandIncomeTotal: any=[];\n incomeannual: any=[];\n users: any;\n pdDetails: any;\n BuissnessForm:FormGroup;\n businessIncome:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.expenseDetails = this.navParams.get('income');\n \n this.users = this.aws.getlocale();\n this.BuissnessForm = this.fb.group(\n {\n busIncome:this.fb.array([]),\n });\n\n if(this.expenseDetails!=null)\n {\n this.getBuisnessExpenses(this.expenseDetails);\n }else\n {\n this.addBusinessDetails();\n }\n this.getdropdown();\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('BUSINESSINCOME').subscribe(res=>\n {\n if(res['dataStatus']==true){\n \n this.businessIncome = res['records'].filter(bus=>bus.isactive==1);\n } \n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus'] == true){\n this.m_freqOfPurchase = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionAssessedBusinessIncomePage');\n }\n createBusinessDetails()\n {\n return this.fb.group(\n {\n pd_business_income_id:[null],\n fk_pd_id:[this.pdDetails.pd_id],\n business_income_id:[null,Validators.compose([Validators.required])],\n income_value:[null,Validators.compose([Validators.required])],\n fk_frequency_id:[null,Validators.compose([Validators.required])],\n annual_income_value:[null,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users],\n other_income_item:[null],\n other_frequncy_item:[null],\n })\n }\n\n addBusinessDetails()\n {\n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\n control.push(this.createBusinessDetails());\n }\n\n deleteBuisnessDetails(i)\n {\n this.incomeannual.splice(i,1); \n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \n \n const control = this.BuissnessForm.controls['busIncome'] as FormArray;\n control.removeAt(i);\n }\n\n busIncomecalculate(index,details)\n {\n \n \n let frequencyId = details.value.fk_frequency_id;\n let incomeValue = details.value.income_value;\n // let UOM = details.value.rate_per_unit;\n \n let annual:any;\n if(incomeValue!=null && incomeValue !=null){\n let frequency_factor = this.m_freqOfPurchase.filter(frq=>frq.frequency_id == frequencyId)[0]; \n if(frequencyId==1)\n {\n \n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==2)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==3)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual);\n }else if(frequencyId==4)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual);\n }else if(frequencyId==5)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual);\n }else if(frequencyId==6)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==7)\n {\n annual = (incomeValue*frequency_factor.mutiple_factor);\n this.incomeannual[index] = annual;\n details.controls['annual_income_value'].setValue(annual); \n }else if(frequencyId==8)\n {\n annual = (incomeValue);\n this.incomeannual[index] = annual; \n details.controls['annual_income_value'].setValue(annual); \n\n }else\n {\n\n }\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \n }else\n {\n this.toast.pdTriggerappmessage('Enter the Amount and Frequency');\n }\n }\n\n saveBusinessData(answerData)\n {\n \n if(this.BuissnessForm.valid){\n let records = {'records':answerData.busIncome};\n \n this.qustCat.saveassessedForms('saveOtherBusinessIncome',records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!'); \n }\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter The All Field');\n }\n \n }\n\n getBuisnessExpenses(expenseDetails)\n {\n if(expenseDetails.length==0)\n {\n this.addBusinessDetails();\n }else\n {\n const control = this.BuissnessForm.controls['busIncome'] as FormArray; \n expenseDetails.forEach((val,index)=>\n {\n this.incomeannual[index] = val.annual_income_value;\n control.push(this.createBusinessExpensewithData(val));\n })\n this.grandIncomeTotal = this.incomeannual.reduce((a,b)=> +a + +b,0); \n }\n }\n\n createBusinessExpensewithData(data)\n {\n return this.fb.group(\n {\n pd_business_income_id:[data.pd_business_income_id],\n fk_pd_id:[this.pdDetails.pd_id],\n business_income_id:[data.business_income_id,Validators.compose([Validators.required])],\n income_value:[data.income_value,Validators.compose([Validators.required])],\n fk_frequency_id:[data.fk_frequency_id,Validators.compose([Validators.required])],\n annual_income_value:[data.annual_income_value,Validators.compose([Validators.required])],\n isactive:['1'],\n fk_createdby:[this.users],\n other_income_item:[data.other_income_item],\n other_frequncy_item:[data.other_frequncy_item],\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionLenderRepresentativePage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-lender-representative',\n templateUrl: 'pd-question-lender-representative.html',\n})\nexport class PdQuestionLenderRepresentativePage {\n\n users: any;\n FormId: any;\n pdDetails: any;\n representativeForm:FormGroup;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n \n this.users = this.aws.getlocale();\n this.representativeForm = this.fb.group({\n pdid:[this.pdDetails.pd_id],\n formid:[this.FormId.form_id],\n fk_createdby:[this.users],\n lender_representative_accompany: ['', Validators.compose([Validators.required])],\n representative_remarks: ['', Validators.compose([Validators.required])],\n lender_representative_details: this.fb.array([]),\n });\n this.getLenderReDetails();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionLenderRepresentativePage');\n }\n \n createlenReDetails()\n {\n return this.fb.group({\n lender_representative_who_accompanies : ['', Validators.compose([Validators.required])],\n lender_representative_carry_loan_files: ['', Validators.compose([Validators.required])],\n });\n }\n\n selectedLoanChanges(e): void {\n if (e.value == 'Yes') {\n const control = this.representativeForm.controls['lender_representative_details'];\n control.push(this.createlenReDetails());\n } else if (e.value == 'No') {\n const arr = this.representativeForm.controls.lender_representative_details;\n arr.removeAt(0);\n }\n }\n\n sumbitData(answerData)\n { \n if(this.representativeForm.valid)\n {\n let records = this.representativeForm.value;\n \n this.qustCat.saveForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n });\n }else\n {\n this.toast.pdTriggerappmessage('Enter All Field');\n }\n }\n\n getLenderReDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}\n \n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n let lenderReDetails = res['records'];\n if(lenderReDetails.lender_representative_accompany=='Yes'){\n\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\n\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\n\n\n let lender_represent_details = Object.keys(res['records'].lender_representative_details).map(function(key)\n {\n return res['records'].lender_representative_details[key];\n });\n \n const control = this.representativeForm.controls['lender_representative_details'] as FormArray; \n lender_represent_details.forEach(val=>\n {\n control.push(this.createlenReDetails());\n })\n this.representativeForm.controls['lender_representative_details'].setValue(lender_represent_details);\n\n }else\n {\n this.representativeForm.controls['lender_representative_accompany'].setValue(lenderReDetails.lender_representative_accompany);\n\n this.representativeForm.controls['representative_remarks'].setValue(lenderReDetails.representative_remarks);\n }\n }\n })\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.ts","import { Component,ViewChild,ElementRef } from '@angular/core';\nimport { IonicPage, NavController, NavParams, ModalController, CardTitle, Content } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray,Validator, Validators } from '@angular/forms';\nimport { PdQuestionGeneralOtherApplicantPage } from './pd-question-general-other-applicant/pd-question-general-other-applicant';\nimport { DatePipe} from '@angular/common';\nimport {PdPipe} from './../../../pipes/pd/pd';\nimport { removeSummaryDuplicates } from '@angular/compiler';\nimport { DataSource } from '@angular/cdk/table';\n\n/**\n * Generated class for the PdQuestionGeneralInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-general-info',\n templateUrl: 'pd-question-general-info.html',\n providers:[PdPipe],\n})\nexport class PdQuestionGeneralInfoPage {\n pipe=new DatePipe('en-US');\n // person_name:any;\n qualification_name:any;\n individuals_order_id:any;\n is_new:any;\n pd_co_applicant_id:any;\n lengthv:any;\n qual_name:any;\n curr_qualification_name;\n curr_business_name;\n \n\n applicant_name: any;\n otherapp: any;\n fetch_related_details: any = [];\n checkApplicantExist: any;\n pd_applicants_details: any = [];\n companyRelationShipList: any;\n qualificationList:any;\n businessEntityTypeList:any;\n relationShipList: any;\n titleList:any;\n users: any;\n FormId: any;\n pdDetails: any;\n generalForm:FormGroup;\n list_value:FormArray;\n fulldata:any\n public buttonClick:boolean;\n public h_companies:boolean\n \n datav:any;\n individualsListBothCase:any;\n individualsList:any;\n companyList:any;\n i:number;\n data_all:any;\n maxDate:any;\n OldData:any=[];\n OldData_indi:any=[];\n updateIndex_indi:any;\n public addComp:boolean\n public addIndi:boolean\n updateIndex_comp: any;\n@ViewChild('remark') nameField: ElementRef;\n customer_segment_abbr: any;\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder,public modal:ModalController) {\n this.maxDate = new Date();\n this.pd_applicants_details = []; \n this.pd_applicants_details.pop(); \n this.pdDetails = this.navParams.get('pdDetails');\n console.log(this.pdDetails)\n //let get_max_date=this.pdDetails.pd_date_of_initiation.split('/').reverse.join(\"/\");\n //this.maxDate=new Date(get_max_date)\n this.FormId = this.navParams.get('FormId');\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\n this.users = this.aws.getlocale();\n this.getdropdown();\n \n this.generalForm = this.fb.group({\n pdid:this.pdDetails.pd_id,\n formid:this.FormId.form_id,\n applicant_list: this.fb.array([]),\n applicant_relation: this.fb.array([]),\n list_value:this.fb.array([]),\n company_value:this.fb.array([]),\n individuals:this.fb.array([]),\n companies:this.fb.array([]),\n persons_with_relationships:this.fb.array([]),\n company_with_relationships:this.fb.array([]),\n rental_income_rcv_in_years:[''],\n rental_income_rcv_in_month:[''],\n \n general_remark:''\n });\n \n //this.initIndividuals();\n this.pd_applicants_details = this.pdDetails.applicat_details;\n \n \n \n // this.getcoapplicantDetails();\n this.buttonClick=false;\n this.h_companies=false;\n this.addIndi=false\n this.addComp=false\n // this.initCompanies()\n this.datav=[{\n name:\"fairoj\",\n id:1\n },\n {\n name:\"ff\",\n id:2\n }\n \n ]\n //this.fulldata=this.generalForm.value\n this.generalForm.controls['list_value'].valueChanges.subscribe(val=>{\n let control=this.generalForm.controls['list_value'];\n this.individualsList=control.value.filter(element=>element.is_applicant == true);\n this.individualsListBothCase=control.value.filter(element=>element.is_applicant==true || element.is_person_met==true)\n this.fulldata=control.value;\n //control.controls.length\n //control.push()\n });\n this.generalForm.controls['company_value'].valueChanges.subscribe(val=>{\n let control=this.generalForm.controls['company_value'];\n this.companyList=control.value.filter(element=>element.company_name )\n })\n this.i=0;\n \n }\n\n ionViewDidLoad() {\n // this.pd_applicants_details.pop();\n console.log('ionViewDidLoad PdQuestionGeneralInfoPage');\n this.getGeneralForm()\n \n }\n ionViewLoaded() {\n\n // setTimeout(() => {\n // this.generalForm.controls['general_remark']['controls'].setFocus();\n // },150);\n }\n\n initlistv(data,purpose) :void\n {\n const control=this.generalForm.controls['list_value'];\n console.log(\"control\",control.length)\n if(purpose=='ins')\n {\n for(let val of data)\n {\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\n let formData:FormGroup=this.fb.group({\n applicant_title_name:[val.applicant_title_name],\n applicant_name:[val.applicant_name],\n is_person_met:val.is_person_met,\n is_applicant:val.is_applicant,\n age:[val.age],\n qualification:[val.qualification],\n course_name:[val.course_name],\n \n individuals_order_id:[control.length+1],\n is_new:true,\n is_active:true,\n pd_co_applicant_id:[control.length+1], \n \n qualification_name:[c_qualification_name]\n \n\n });\n control.push(formData);\n this.buttonClick=false;\n // this.generalForm.value.individuals.value=\"\"\n }\n }\n if(purpose=='get'){\n for(let val of data)\n {\n var c_qualification_name=this.qualificationById(val.qualification) // for getting qualification Name\n let formData:FormGroup=this.fb.group({\n applicant_title_name:[val.applicant_title_name],\n applicant_name:[val.applicant_name],\n is_person_met:val.is_person_met,\n is_applicant:val.is_applicant,\n age:[val.age],\n qualification:[val.qualification],\n course_name:[val.course_name],\n \n individuals_order_id:[val.individuals_order_id],\n is_new:[val.is_new],\n is_active:[val.is_active],\n pd_co_applicant_id:[val.pd_co_applicant_id] , \n \n \n \n \n\n qualification_name:[c_qualification_name]\n \n\n });\n control.push(formData);\n this.buttonClick=false;\n // this.generalForm.value.individuals.value=\"\"\n }\n }\n}\n\n qualificationById(data):string{\n for(let i of this.qualificationList){\n if(data==i.qualification_id){\n this.qual_name=i.qualification_name\n return this.qual_name\n }\n }\n \n }\n initCompanyValue(data,purpose):void{\n const control=this.generalForm.controls['company_value'];\n if(purpose=='ins')\n {\n for(let val of data)\n {\n var c_business_name=''\n if(val.business_entity_type!=1){\n c_business_name=this.businessEntityById(val.business_entity_type)\n }\n if(val.business_entity_type==1){\n c_business_name=val.business_entity_type_other\n }\n \n let formData:FormGroup=this.fb.group({\n company_name:[val.company_name],\n // pd_co_applicant_id:[this.i+1],\n // company_order_id:[this.lengthv.companies.length+1],\n company_order_id:[control.length+1],\n is_company_applicant:[val.is_company_applicant],\n business_entity_type:[val.business_entity_type],\n business_entity_type_other:[val.business_entity_type_other],\n is_new:true,\n is_active:true,\n company_messrs_name:['M/s'],\n \n business_years:[val.business_years],\n business_month:[val.business_month],\n business_date_object:[val.business_date_object],\n\n business_entity_type_name:[c_business_name]\n });\n control.push(formData);\n this.h_companies=false;\n }\n }\n if(purpose=='get')\n {\n for(let val of data)\n {\n \n var c_business_name=''\n if(val.business_entity_type!=1){\n c_business_name=this.businessEntityById(val.business_entity_type)\n }\n if(val.business_entity_type==1){\n c_business_name=val.business_entity_type_other\n }\n\n let formData:FormGroup=this.fb.group({\n company_name:[val.company_name],\n // pd_co_applicant_id:[this.i+1],\n company_order_id:[val.company_order_id],\n is_company_applicant:[val.is_company_applicant],\n business_entity_type:[val.business_entity_type],\n business_entity_type_other:[val.business_entity_type_other],\n is_new:[val.is_new],\n is_active:[val.is_active],\n company_messrs_name:[val.company_messrs_name],\n \n business_years:[val.business_years],\n business_month:[val.business_month],\n business_date_object:[val.business_date_object],\n\n business_entity_type_name:[c_business_name]\n });\n control.push(formData);\n this.h_companies=false;\n }\n }\n }\n businessEntityById(val):string{\n for(let v of this.businessEntityTypeList){\n if(val==v.business_entity_type_id){\n var name=v.business_entity_type_name\n return name\n }\n }\n \n }\n \n\n initIndividuals(data):void{\n \n const control=this.generalForm.controls['individuals'];\n control.controls=[]\n if(data==null){\n let formData : FormGroup=this.fb.group({\n applicant_name:['',Validators.required],\n is_person_met:false,\n is_applicant:false,\n age:['',Validators.required],\n qualification:['',Validators.required],\n course_name:[''],\n applicant_title_name:['']\n\n });\n control.push(formData);\n }\n else{\n let formData : FormGroup=this.fb.group({\n \n \n applicant_name:[data.applicant_name,Validators.required],\n is_person_met:data.is_person_met,\n is_applicant:data.is_applicant,\n age:[data.age,Validators.required],\n qualification:[data.qualification,Validators.required],\n course_name:[data.course_name],\n applicant_title_name:[data.applicant_title_name]\n \n \n });\n this.buttonClick=!this.buttonClick;\n control.push(formData);\n\n }\n \n \n \n \n }\n initCompanies(data):void{\n const control=this.generalForm.controls['companies'];\n control.controls=[]\n if(data == null){\n let formData:FormGroup=this.fb.group({\n company_name:[''],\n is_company_applicant:false,\n business_entity_type:[''],\n business_entity_type_other:[''],\n business_years:[''],\n business_month:[''],\n business_date_object:['']\n });\n control.controls=[]\n control.push(formData)\n \n }\n else{\n let formData:FormGroup=this.fb.group({\n company_name:[data.company_name],\n is_company_applicant:data.is_company_applicant,\n business_entity_type:[data.business_entity_type],\n business_entity_type_other:[data.business_entity_type_other],\n business_years:[data.business_years],\n business_month:[data.business_month],\n business_date_object:[data.business_date_object]\n })\n this.h_companies=!this.h_companies\n \n control.push(formData)\n }\n }\n initPersonRelationship(value):void{\n const control=this.generalForm.controls['persons_with_relationships'];\n if(value=='')\n {\n \n let formData:FormGroup=this.fb.group({\n pd_co_applicant_id:[''],\n applicant_name:[''],\n relationship:[''],\n relation_to:[''],\n individuals_order_id:[control.length+1],\n \n });\n \n control.push(formData);\n }\n else{\n for(let val of value)\n {\n let formData:FormGroup=this.fb.group({\n pd_co_applicant_id:[val.pd_co_applicant_id],\n applicant_name:[val.applicant_name],\n relationship:[val.relationship],\n relation_to:[val.relation_to],\n });\n \n control.push(formData);\n }\n }\n \n }\n initCompanyRelationShip(value):void{\n if(value=='')\n {\n let formData:FormGroup=this.fb.group({\n applicant_name:[''],\n company_relationship:[''],\n relation_to_company:[''],\n });\n const control=this.generalForm.controls['company_with_relationships'];\n control.push(formData);\n }\n else{\n for(let val of value){\n let formData:FormGroup=this.fb.group({\n applicant_name:[val.applicant_name],\n company_relationship:[val.company_relationship],\n relation_to_company:[val.relation_to_company],\n });\n const control=this.generalForm.controls['company_with_relationships'];\n control.push(formData);\n }\n }\n \n }\n\n \n \n add():void{\n \n this.initIndividuals(null);\n }\ndata:any;\ncart=[];\ndatajson:any;\ndataobj:any;\n\n addRec(v){\n if(v=='1')\n {\n this.addIndi=true;\n this.buttonClick=!this.buttonClick;\n this.initIndividuals(null);\n }\n if(v=='2')\n {\n console.log(\"companies\",this.h_companies);\n this.addComp=true\n // this.h_companies=true;\n this.h_companies=!this.h_companies;\n console.log(\"companies\",this.h_companies);\n this.initCompanies(null);\n }\n }\n editIndividuals(index){\n let values=this.generalForm.controls.list_value.value[index]\n console.log(values)\n this.addIndi=false\n this.updateIndex_indi=index;\n this.initIndividuals(values);\n // this.nameField.nativeElement.focus();\n\n }\n editCompanies(index){\n console.log(\"index\",index);\n let values=this.generalForm.controls.company_value.value[index]\n console.log(values)\n this.updateIndex_comp=index\n this.addComp=false\n //this.\n this.initCompanies(values)\n }\n update(v){\n console.log(\"index\",v)\n if(v=='1'){\n if(!this.generalForm.controls['individuals'].valid){\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory fields Marked with '*'\");\n }\n else{\n let val=this.generalForm.controls.individuals.value[0]\n let old=this.generalForm.controls.list_value.value[this.updateIndex_indi]\n // const control=this.generalForm.controls.list_value.at(this.updateIndex_indi)\n // const control=this.list_value\n var c_qualification_name=this.qualificationById(val.qualification) \n const control=this.generalForm.controls['list_value']['controls'][this.updateIndex_indi]\n control.patchValue({\n \n applicant_title_name:val.applicant_title_name,\n applicant_name:val.applicant_name,\n is_person_met:val.is_person_met,\n is_applicant:val.is_applicant,\n age:val.age,\n qualification:val.qualification,\n course_name:val.course_name,\n \n individuals_order_id:old.individuals_order_id,\n is_new:old.is_new,\n is_active:old.is_active,\n pd_co_applicant_id:old.pd_co_applicant_id, \n \n qualification_name:c_qualification_name\n });\n this.buttonClick=false;\n console.log(this.generalForm.controls.list_value['controls'])\n // this.generalForm.controls.list_value.value.scrollToTop();\n // this.generalForm.controls['list_value']._scrollContent;\n //this.myinput._scrollContent();\n \n \n console.log(\"values\",val)\n console.log(\"old\",old);\n console.log(control);\n \n }\n }\n else if(v=='2'){\n if(!this.generalForm.controls['companies'].valid)\n {\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory Fields Marked with '*\")\n }\n else{\n let val=this.generalForm.controls.companies.value[0]\n var c_business_name=this.businessEntityById(val.business_entity_type)\n const control=this.generalForm.controls['company_value']['controls'][this.updateIndex_comp]\n control.patchValue({\n company_name:val.company_name,\n // company_order_id:[control.length+1],\n is_company_applicant:val.is_company_applicant,\n business_entity_type:val.business_entity_type,\n business_entity_type_other:val.business_entity_type_other,\n // is_new:true,\n // is_active:true,\n //company_messrs_name:['M/s'],\n \n business_years:val.business_years,\n business_month:val.business_month,\n business_date_object:val.business_date_object,\n\n business_entity_type_name:c_business_name\n })\n this.h_companies=false\n console.log(this.generalForm.controls['company_value']['controls'][this.updateIndex_comp])\n }\n }\n \n\n }\n \n delete(v):void{\n // const control=this.generalForm.controls['individuals'];\n //control.removeAt(i);\n //this.data=this.generalForm.value.individuals;\n this.cart.push(this.generalForm.value.individuals);\n this.data=Object.assign(this.cart);\n // this.data=Object.assign(this.generalForm.value.individuals)\n this.datajson=JSON.stringify(this.cart)\n if(v=='1')\n {\n if(!this.generalForm.controls['individuals'].valid){\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\n }\n else{\n this.initlistv(this.generalForm.value.individuals,'ins')\n this.initPersonRelationship('');\n }\n }\n else if(v=='2')\n {\n if(!this.generalForm.controls['companies'].valid){\n this.toast.pdTriggerappmessage(\"Please Fill all Mandatory field Marked with '*'\");\n }\n else{\n this.initCompanyValue(this.generalForm.value.companies,'ins')\n }\n }\n \n }\n removeList(i,index){\n if(index=='1')\n {\n //For List List_value(Individuals)\n const control=this.generalForm.controls['list_value'];\n control.value[i].is_active=false;\n this.OldData_indi.push(control.value[i])\n control.removeAt(i);\n //For Person RelationShip auto Delete\n const control1=this.generalForm.controls['persons_with_relationships'];\n control1.removeAt(i);\n \n }\n if(index==2){\n //For Company_values(Companies)\n const control=this.generalForm.controls['company_value']\n control.value[i].is_active=false\n var vla=control.value[i]\n this.OldData.push(vla);\n control.removeAt(i);\n \n\n // let control: any = this.generalForm.get('companies') as FormArray;\n //this.generalForm.controls['companies']\n //control.controls['is_active'].setValue(false);\n //control.controls[i].clearValidators();\n //control.controls[i].updateValueAndValidity();\n //control.clear\n // control.controls[i].is_active.setValue(false);\n /* control.controls[i].controls.company_name.clearValidators();\n control.controls[i].controls.company_name.updateValueAndValidity();\n control.controls[i].controls.business_years.clearValidators();\n control.controls[i].controls.business_years.updateValueAndValidity();\n control.controls[i].controls.business_entity_type.clearValidators();\n control.controls[i].controls.business_entity_type.updateValueAndValidity();*/\n }\n if(index==\"companyrel\")\n {\n //For company_relationship\n const control=this.generalForm.controls['company_with_relationships'];\n control.removeAt(i);\n }\n }\n \n \n getdropdown()\n {\n this.qustCat.getcommondrop('EDUQUALIFICATION').subscribe(res=>{\n if(res['dataStatus']==true)\n {\n this.qualificationList=res['records'].filter(com=>com.isactive==1);\n }\n });\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(res=>{\n this.businessEntityTypeList=res['records'].filter(com=>com.isactive==1);\n });\n\n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.relationShipList = res['records'].filter(rel=>rel.isactive==1);\n }\n });\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.companyRelationShipList = res['records'].filter(com=>com.isactive==1);\n }\n });\n \n this.qustCat.getcommondrop('TITLES').subscribe(res=>{\n if(res['dataStatus']==true){\n this.titleList=res['records'].filter(com=>com.isactive==1);\n }\n });\n \n }\n\n getcoapplicantDetails(checkApplicantExist,exist_applicant_relation)\n {\n let applicantControl = this.generalForm.controls['applicant_list'];\n let relationControl = this.generalForm.controls['applicant_relation'];\n \n \n if(checkApplicantExist.length > 0)\n {\n checkApplicantExist.forEach(val => {\n applicantControl.push(this.createApplicant(val));\n });\n \n }\n if(exist_applicant_relation.length > 0){\n exist_applicant_relation.forEach(val => {\n relationControl.push(this.createApplicantRelation(val));\n //push related to details\n this.fetch_related_details.push(val.applicant_name);\n });\n }\n }\n\n createApplicant(elementValue:any){\n return this.fb.group({\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\n applicant_name: [elementValue.applicant_name],\n company_name: [elementValue.company_name],\n exist_status:[elementValue.exist_status==1 && elementValue.pd_co_applicant_id > 0 ? true : false],\n });\n }\n\n coapplicantChange(event,index,item)\n {\n \n let relationControl = this.generalForm.controls['applicant_relation'];\n let applicantControl = this.generalForm.controls['applicant_list'];\n \n if(item.exist_status.value)\n {\n if(item.pd_co_applicant_id.value==0){\n let modal = this.modal.create(PdQuestionGeneralOtherApplicantPage);\n modal.onDidDismiss(data => {\n if(data!=1){\n data.otherName.forEach(val=>\n {\n\n let applicant_details: any= {'pd_co_applicant_id':val.pd_co_applicant_id,'applicant_name':val.applicant_name,'applicant_relation_to':'','relation':'','company_name':'','company_relation':''};\n relationControl.push(this.createApplicantRelation(applicant_details));\n // push related to details\n this.fetch_related_details.push(val.applicant_name);\n });\n }else\n {\n applicantControl.at(index).get('exist_status').setValue(false);\n \n \n }\n });\n modal.present();\n }else\n {\n \n let applicant_details: any= {'pd_co_applicant_id':item.pd_co_applicant_id.value,'applicant_name':item.applicant_name.value,'applicant_relation_to':'','relation':'','company_name':item.company_name.value,'company_relation':''};\n relationControl.push(this.createApplicantRelation(applicant_details));\n // push related to details\n this.fetch_related_details.push(item.applicant_name.value);\n }\n }\n else\n {\n let relationControl = this.generalForm.controls['applicant_relation'];\n let pos_id = relationControl.value.map(e=> \n e.pd_co_applicant_id).indexOf(item.pd_co_applicant_id.value);\n if(item.pd_co_applicant_id.value !=0){\n relationControl.removeAt(pos_id);\n let pos_name=this.fetch_related_details.indexOf(item.applicant_name.value);\n this.fetch_related_details.splice(pos_name, 1); \n }else\n {\n applicantControl.at(index).get('exist_status').setValue(false);\n \n }\n // remove related to details\n \n }\n\n }\n\n createApplicantRelation(elementValue: any) {\n return this.fb.group({\n \n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\n applicant_name: [elementValue.applicant_name],\n company_name: [elementValue.company_name,elementValue.company_name ? Validators.required : Validators.nullValidator],\n company_relationship: [elementValue.company_relationship],\n applicant_relation_to: [elementValue.applicant_relation_to, Validators.required],\n relationship: [elementValue.relationship],\n });\n }\n // temparr=[];\n removereferance(index)\n {\n \n let relationControl = this.generalForm.controls['applicant_relation'];\n \n \n \n \n relationControl.removeAt(index);\n // this.temparr = [];\n \n }\n // createApplicateOthers()\n // {\n // return this.fb.group(\n // {\n // Name:\n // })\n // }\n ConvertMonthintoYearforBusiness(e,controlIndex,flag){\n \n\n let converted_month : number = e%12;\n let converted_year : number = e/12;\nif(flag==1){\n let control: any = this.generalForm.get('companies') as FormArray;\n control = control.controls[controlIndex];\n let business_year = control.controls.business_years.value;\n control.controls.business_years.setValue(+business_year + +Math.floor(converted_year));\n control.controls.business_month.setValue(Math.floor(converted_month));\n }\n else if(flag==2){\n let ri_year = this.generalForm.controls.rental_income_rcv_in_years.value;\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(+ri_year + +Math.floor(converted_year));\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(Math.floor(converted_month));\n }\n}\ngetDateObjects(values: any, controlIndex) {\n let control: any = this.generalForm.get('companies') as FormArray;\n control.controls['business_years']=''\n control.controls['business_month']=''\n control = control.controls[controlIndex];\n let pd_initiation_date:string = this.pdDetails.pd_date_of_initiation.split('/').reverse().join(\"/\");\n let selected_date = this.pipe.transform(values, 'yyyy/MM/dd'); ;\n let diffInMs: number = Date.parse(pd_initiation_date) - Date.parse(selected_date);\n let diff: number = Math.floor(diffInMs / 1000);\n diff /= (60 * 60 * 24 * 30);\n diff=Math.abs(Math.round(diff));\n control.controls['business_years'].setValue(0);\n control.controls['business_month'].setValue(0);\n \n if(diff){\n control.controls['business_years'].setValue(Math.floor(diff / 12));\n control.controls['business_month'].setValue(Math.floor(diff % 12));\n }\n\n}\n submitData(answerData)\n {\n \n let saveRecords:any={}\n var valuesData_indi:any=[]\n\n var valuesData:any=[]\n var existData_indi=Object.keys(answerData.list_value).map(function(key){\n return answerData.list_value[key]\n })\n existData_indi.forEach((element)=>{\n valuesData_indi.push(element)\n })\n if(this.OldData_indi.length>0){\n this.OldData_indi.forEach((element)=>{\n valuesData_indi.push(element)\n })\n }\n\n var existData=Object.keys(answerData.company_value).map(function(key){\n return answerData.company_value[key]\n })\n existData.forEach((element)=>{\n valuesData.push(element)\n })\n if(this.OldData.length>0){\n this.OldData.forEach((element)=>{\n valuesData.push(element)\n })\n }\n \n saveRecords.individuals=valuesData_indi;\n saveRecords.companies=valuesData\n saveRecords.pdid=answerData.pdid;\n saveRecords.formid=answerData.formid;\n saveRecords.fk_createdby=this.users;\n \n \n saveRecords.persons_with_relationships=answerData.persons_with_relationships;\n saveRecords.company_with_relationships=answerData.company_with_relationships\n saveRecords.general_remark=answerData.general_remark;\n \n \n \n \n this.qustCat.saveForm(saveRecords).subscribe(dataResult=>{\n if(dataResult['dataStatus']==true){\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },3000);\n \n\n }\n else{\n this.toast.pdTriggerappmessage('Error');\n }\n })\n \n /* Old Data\n if(this.generalForm.valid)\n {\n let saveRecords:any = {}\n let applicantList:any=[];\n let applicantRelationList:any=[];\n // this for applicant list for selected\n answerData.applicant_list.forEach((element,key) => {\n if(element.exist_status==1){\n applicantList.push({\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\n \"applicant_name\":element.applicant_name,\n }) \n }\n });\n // this is for selected applicant relation \n answerData.applicant_relation.forEach((element,key) => {\n applicantRelationList.push({\n \"pd_co_applicant_id\":element.pd_co_applicant_id,\n \"applicant_name\":element.applicant_name,\n \"company_name\":element.company_name,\n \"company_relationship\":element.company_relationship,\n \"applicant_relation_to\":element.applicant_relation_to,\n \"relationship\":element.relationship,\n }) \n });\n \n saveRecords.pdid=answerData.pdid;\n saveRecords.formid=answerData.formid;\n saveRecords.general_remark=answerData.general_remark;\n saveRecords.selected_applicant=applicantList;\n saveRecords.applicant_relation=applicantRelationList;\n saveRecords.fk_createdby = this.users;\n this.qustCat.saveForm(saveRecords).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n this.navCtrl.pop();\n } \n })\n }*/\n }\n\n getGeneralForm()\n {\n let records={'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n this.qustCat.retiverForm(records).subscribe(res=>{\n this.data_all=res['records'];\n let exist_companies:any;\n let exist_company_with_relationship:any;\n let companyControl = this.generalForm.get('company_value') as FormArray;\n companyControl.controls=[]\n this.lengthv=this.data_all;\n if(res['dataStatus']==true)\n {\n \n \n this.generalForm.controls['general_remark'].setValue(this.data_all.general_remark);\n //\n\n var arrlist_indi:any=[] \n var exist_individuals=Object.keys(res['records'].individuals).map(function(key){\n return res['records'].individuals[key];\n }) \n if(exist_individuals.length>0){\n exist_individuals.forEach((element)=>{\n if(element.is_active != false){\n arrlist_indi.push(element);\n }\n else{\n this.OldData_indi.push(element)\n }\n })\n }\n this.initlistv(arrlist_indi,'get')\n \n \n if(this.data_all.persons_with_relationships != ''){\n this.initPersonRelationship(this.data_all.persons_with_relationships);\n }\n //Create Company with Relationship\n exist_company_with_relationship=Object.keys(res['records'].company_with_relationships).map(function(key){\n return res['records'].company_with_relationships[key];\n })\n \n if(this.customer_segment_abbr !='SE-RI')\n {\n if(exist_company_with_relationship.length>0){\n exist_company_with_relationship.forEach(key=>{\n this.initCompanyRelationShip(key)\n })\n }\n else if(exist_company_with_relationship.length==0){\n this.initCompanyRelationShip('');\n }\n //create Companies\n exist_companies=Object.keys(res['records'].companies).map(function(key){\n return res['records'].companies[key];\n })\n var arraylis:any=[]\n if(exist_companies.length>0){\n exist_companies.forEach((element,cindex)=>{\n if(element.is_active!=false){\n arraylis.push(element);\n }\n else{\n this.OldData.push(element);\n }\n })\n \n }\n this.initCompanyValue(arraylis,'get');\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(null);\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(null);\n }\n else if(this.customer_segment_abbr == 'SE-RI'){\n this.generalForm.controls['rental_income_rcv_in_years'].setValue(res['records'].rental_income_rcv_in_years ? res['records'].rental_income_rcv_in_years:'');\n this.generalForm.controls['rental_income_rcv_in_month'].setValue(res['records'].rental_income_rcv_in_month ? res['records'].rental_income_rcv_in_month:'');\n\n }\n\n // var arraylis:any=[]\n \n \n // if(exist_companies.length>0){\n // exist_companies.forEach((element,cindex)=>{\n // if(element.is_active!=false){\n // arraylis.push(element);\n // }\n // else{\n // this.OldData.push(element);\n // }\n // })\n \n // }\n // this.initCompanyValue(arraylis,'get');\n \n \n\n // if(this.data_all.company_with_relationships != ''){\n // this.initCompanyRelationShip(this.data_all.company_with_relationships);\n // }\n \n }\n else{\n console.log(\"Else data\",this.pd_applicants_details)\n this.pd_applicants_details.forEach((datas,index)=>{\n datas.is_applicant=true,\n datas.is_person_met = false;\n datas.is_new = false;\n datas.is_main_applicant = datas.applicant_type == '1' ? true : false;\n datas.is_active = true;\n datas.individuals_order_id = index + 1;\n // company_order_id = index+1,\n datas.age = '',\n datas.qualification = '',\n datas.course_name = ''\n if (datas.company_name != '' && datas.company_name != null) {\n console.log(\"company\");\n let setCompanyValues: any = { company_order_id: companyControl.controls.length + 1, company_name: datas.company_name, is_company_applicant: datas.is_company_applicant, business_entity_type: datas.business_entity_type, business_entity_type_other: datas.business_entity_type_other, business_years: datas.business_years, business_month: datas.business_month, business_date_object: datas.business_date_object, is_new: datas.is_new, is_active: true }\n companyControl.push(this.createCompanies(setCompanyValues))\n }\n });\n \n // this.lengthv.push(\"individuals\")\n // this.lengthv.push(\"companies\")\n // this.lengthv.push('persons_with_relationships')\n //this.lengthv.push(\"\")\n console.log(\"applicant\",this.lengthv)\n this.initlistv(this.pd_applicants_details,'get');\n this.initPersonRelationship(this.pd_applicants_details)\n // this.initCompanyValue(this.pd_applicants_details,'get');\n this.initCompanyRelationShip('')\n\n }\n })\n /*let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\n \n let generalDetails = res['records'];\n this.generalForm.controls['general_remark'].setValue(generalDetails.general_remark);\n\n let applicant_relation = Object.keys(res['records'].applicant_relation).map(function(key)\n {\n return res['records'].applicant_relation[key];\n });\n\n let selected_applicant = Object.keys(res['records'].selected_applicant).map(function(key)\n {\n return res['records'].selected_applicant[key].pd_co_applicant_id;\n });\n let applicantControl = this.generalForm.controls['applicant_list'];\n \n let actual_applicant = this.pd_applicants_details.map(item => item.pd_co_applicant_id);\n let checkApplicantExist =actual_applicant.map((id, index) => {\n if (selected_applicant.indexOf(id) < 0) {\n this.pd_applicants_details[index].exist_status=0;\n return this.pd_applicants_details[index];\n }\n else{\n this.pd_applicants_details[index].exist_status=1;\n this.pd_applicants_details[index].applicant_relation_to='';\n this.pd_applicants_details[index].relation='';\n return this.pd_applicants_details[index];\n }\n }).filter(item => item != undefined);\n this.getcoapplicantDetails(checkApplicantExist,applicant_relation);\n }else\n {\n this.pd_applicants_details.push({'pd_co_applicant_id':\"0\",'applicant_name':'Others'});\n \n }\n })*/\n }\n createCompanies(elementValue:any) {\n var name=this.businessEntityById(elementValue.business_entity_type)\n return this.fb.group({\n company_order_id: [elementValue.company_order_id],\n company_name: [elementValue.company_name,],\n company_messrs_name: ['M/s'],\n is_company_applicant:[elementValue.is_company_applicant],\n business_entity_type :[elementValue.business_entity_type,Validators.required],\n business_years: [elementValue.business_years, Validators.required],\n business_month: [elementValue.business_month],\n business_date_object: [elementValue.business_date_object],\n is_active: [elementValue.is_active],\n is_new:[elementValue.is_new],\n business_entity_type_name:[name]\n \n });\n }\n \n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams,ViewController } from 'ionic-angular';\nimport { FormGroup, FormBuilder,FormArray, Validators } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionGeneralOtherApplicantPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-general-other-applicant',\n templateUrl: 'pd-question-general-other-applicant.html',\n})\nexport class PdQuestionGeneralOtherApplicantPage {\n otherForm:FormGroup;\napplicantInfo:any={'pd_co_applicant_id':\"0\",'applicant_name':'','company_name':''};\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder,public viewCtrl:ViewController) {\n this.otherForm = this.fb.group(\n {\n otherName:this.fb.array([]),\n })\n this.addmore();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionGeneralOtherApplicantPage');\n }\n\n createName(elementValue:any)\n {\n return this.fb.group(\n {\n pd_co_applicant_id: [elementValue.pd_co_applicant_id],\n applicant_name: [elementValue.applicant_name, Validators.required],\n })\n }\n\n addmore()\n {\n if(this.otherForm.valid)\n {\n const control = this.otherForm.controls['otherName'];\n control.push(this.createName(this.applicantInfo));\n }\n }\n\n deleteappdata(index)\n {\n const control = this.otherForm.controls['otherName'];\n if(control.length==1){\n control.reset();\n }else{\n control.removeAt(index);\n }\n }\n\n closeModal(){\n this.viewCtrl.dismiss(1); \n }\n submitData(answerData)\n {\n if(this.otherForm.valid){\n this.viewCtrl.dismiss(this.otherForm.value);\n }\n }\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.ts","import { Pipe, PipeTransform } from '@angular/core';\n\n/**\n * Generated class for the PdPipe pipe.\n *\n * See https://angular.io/api/core/Pipe for more info on Angular Pipes.\n */\n@Pipe({\n name: 'pdPipe',\n})\nexport class PdPipe implements PipeTransform {\n /**\n * Takes a value and makes it lowercase.\n */\n transform(value: any, searchItem:any):any {\n let findExistIndex = searchItem.existRelationList.filter(sVal=>sVal.relation_to==searchItem.currentApplicantID);\n if(findExistIndex.length>0){\n let check = value.filter(function(fVal){\n return !findExistIndex.some(function(sVal){\n return fVal.pd_co_applicant_id==searchItem.currentApplicantID || fVal.pd_co_applicant_id == sVal.pd_co_applicant_id;\n });\n })\n return check;\n }\n else {\n return value.filter(fVal=>fVal.pd_co_applicant_id!=searchItem.currentApplicantID);\n }\n \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pipes/pd/pd.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\nimport { FormGroup, FormBuilder,FormArray,Validators,FormControl} from '@angular/forms';\nimport { ConstantsProvider } from '../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionNeighbourHoodPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-neighbour-hood',\n templateUrl: 'pd-question-neighbour-hood.html',\n})\nexport class PdQuestionNeighbourHoodPage {\n\n frequency: any;\n relationBusiness: any;\n users: any;\n FormId: any;\n pdDetails: any;\n neighbourhoodForm:FormGroup;\n check_type:any=[{'id':0,'type_name':'Neighbourhood'},{'id':1,'type_name':'Reference Check'}]\n finalRemarksList : any = [{'id': 1,'name': \"Positive\"},\n {'id': 2,'name': \"Negative\"},\n {'id': 3,'name': \"Insufficient information provided\"}];\n\n amtInWords:any=[];\n applicants:any;\n isDisplay:any = [];\n isDisplay2:any = [];\n existCompanyList: any=[];\n mergeCompanyApplicant: any=[];\n isOrganisationOwner: any=[];\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider,public fb:FormBuilder, public constant: ConstantsProvider) {\n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n this.applicants = this.pdDetails.applicat_details;\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2);\n this.applicants.push({'pd_co_applicant_id': 0,'applicant_name': \"Others\"})\n this.neighbourhoodForm = this.fb.group(\n {\n pdid:this.pdDetails.pd_id,\n formid:this.FormId.form_id,\n check_type:0,\n neighbourhood_list: this.fb.array([]),\n neighbourhood_status:[''],\n referencecheck_list: this.fb.array([]),\n neighbour_reference_remark:'' \n })\n this.users = this.aws.getlocale();\n \n \n this.getdropdown();\n }\n\n ionViewDidLoad() {\n console .log('ionViewDidLoad PdQuestionNeighbourHoodPage');\n this.getneighbourhood();\n }\n\n getdropdown()\n {\n this.qustCat.getcommondrop('RELATIONWITHBUSINESS').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.relationBusiness = res['records'].filter(rel=>rel.isactive==1);\n }\n });\n this.qustCat.getcommondrop('FREQUENCY').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.frequency = res['records'].filter(frq=>frq.isactive==1);\n }\n })\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(res=>{\n if(res.dataStatus==true){\n this.existCompanyList=res.records.filter(val=>val.is_active == true)\n console.log(this.existCompanyList)\n }\n let modifyCompanyList:any=[]\n if(this.existCompanyList.length>0){\n modifyCompanyList=this.existCompanyList.map(element=>{\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName: 'COMPANIES', groupValues: modifyCompanyList })\n \n }\n let modifyApplicantList:any=[]\n if(this.applicants.length>0){\n modifyApplicantList=this.applicants.map(element=>{\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n })\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\n\n }\n console.log(\"company&Applicant\",this.mergeCompanyApplicant)\n })\n }\n inWords(val,i)\n {\n this.amtInWords[i]=this.constant.convertNumberToWords(val.target.value)\n }\n keyPress(event: any) {\n const pattern = /[0-9]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n /** To Convert Month into Year */\n ConvertMonthintoYear(itemrow,e,flag){\n if(flag == 2){\n\n let year = itemrow.controls.year_relation_applicant.value;\n let converted_month : number = e%12;\n let converted_year : number = e/12;\n itemrow.controls.year_relation_applicant.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.months_relation_applicant.setValue(Math.floor(converted_month));\n }\n else if(flag == 1){\n \n let year = itemrow.controls.how_long_do_know_in_year.value;\n let converted_month : number = e%12;\n let converted_year : number = e/12;\n itemrow.controls.how_long_do_know_in_year.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.how_long_do_know_in_month.setValue(Math.floor(converted_month));\n }\n}\n\ntoggleVisibility(e,index,flag){ \n let val\n \n if(flag == 1){\n this.isDisplay[index] = e;\n }\n else if(flag==2){\n this.isDisplay2[index] = e;\n }\n}\n\ncheckOthers(values){\n if(values!=null) {\n return values==0 ? true : false;\n }\n else {\n return false;\n }\n}\ncompareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n}\n\n\ngetOtherOrganisationOwner(value,i) {\n //console.log('value',value,'I',i);\nlet Ctrls = this.neighbourhoodForm.controls['neighbourhood_list'];\n //console.log('ParCtrls',Ctrls);\nlet ChdCtrls:any = Ctrls.controls[i];\n // console.log('ChdCtrls',ChdCtrls);\n // return;\n\n\nlet Avaliablity = 1;\nconsole.log('val',value);\nif(value.length>0){\n value.forEach(option => {\n if(option.id == 0 && option.group_id == 2){ \n Avaliablity = option.id;\n }\n });\n}\nif(Avaliablity == 0){\n// console.log('if Avaliablity',Avaliablity);\n\n ChdCtrls.controls.other_organisation_owner.setValidators([Validators.required]);\n this.isOrganisationOwner[i] = true;\n}else if(Avaliablity == 1){\n// console.log('else Avaliablity',Avaliablity);\n// console.log('esle this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\n ChdCtrls.controls.other_organisation_owner.setValue('');\n ChdCtrls.controls.other_organisation_owner.clearValidators();\n this.isOrganisationOwner[i] = false;\n// console.log('else this.isOrganisationOwner[ParInx]',this.isOrganisationOwner[i]);\n}\n \nChdCtrls.controls.other_organisation_owner.updateValueAndValidity(); \n}\n createreferance()\n {\n return this.fb.group({\n reference_name: [null],\n mobile: ['',Validators.compose([Validators.minLength(10),Validators.maxLength(10)])],\n statecode:[null],\n landline: [null],\n location:[null],\n relationship_with:[null],\n others:[null],\n year_relation_applicant:[null],\n months_relation_applicant:[null],\n business_volume_amount:[null],\n business_volume_unit:[null],\n others_unit:[null],\n reference_final_remarks:[null],\n specify_final_remark:[null]\n });\n }\n addreferance()\n {\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\n control.push(this.createreferance());\n }\n\n removereferance(i)\n {\n const control = this.neighbourhoodForm.controls['referencecheck_list'];\n if(control.length==1)\n {\n control.reset();\n }else{\n control.removeAt(i);\n }\n }\n\n createNeighbourhood(){\n return this.fb.group({\n neighbourhood_name: [null],\n do_know: [''],\n \n how_long_do_know_in_year: [''],\n how_long_do_know_in_month:[''],\n organisation_owner: [''],\n is_applicant_owner:[''],\n other_organisation_owner:[''],\n did_not_know_the_business_operation:[''],\n did_not_know_the_owner:[''],\n });\n }\n\n addneighbourhood()\n {\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\n control.push(this.createNeighbourhood());\n }\n\n removeneighbourhood(i)\n {\n const control = this.neighbourhoodForm.controls['neighbourhood_list'];\n if(control.length==1)\n {\n control.reset();\n }else{\n control.removeAt(i);\n }\n }\n\n submitData(answerData)\n {\n \n \n \n let saveRecords:any = {}\n let referencecheck_list:any=[];\n let neighbourhood_list:any=[];\n if(answerData.check_type==0){\n answerData.neighbourhood_list.forEach((element,key) => {\n neighbourhood_list.push({\n \"neighbourhood_name\":element.neighbourhood_name,\n \"do_know\":element.do_know,\n \"how_long_do_know_in_year\":element.how_long_do_know_in_year,\n \"how_long_do_know_in_month\":element.how_long_do_know_in_month,\n \"is_applicant_owner\":element.is_applicant_owner,\n \"organisation_owner\":element.organisation_owner,\n \"other_organisation_owner\":element.other_organisation_owner,\n \"did_not_know_the_business_operation\":element.did_not_know_the_business_operation,\n \"did_not_know_the_owner\":element.did_not_know_the_owner\n }) \n });\n saveRecords.neighbourhood_list=neighbourhood_list;\n \n }\n else{\n // this for referencecheck_list for selected\n answerData.referencecheck_list.forEach((element,key) => {\n referencecheck_list.push({\n \"reference_name\":element.reference_name,\n \"mobile\":element.mobile,\n \"landline\":element.statecode+'-'+element.landline,\n \"location\":element.location,\n \"relationship_with\":element.relationship_with,\n \"others\":element.others,\n \"year_relation_applicant\":element.year_relation_applicant,\n \"months_relation_applicant\":element.months_relation_applicant,\n \"business_volume_amount\":element.business_volume_amount,\n \"business_volume_unit\":element.business_volume_unit,\n \"others_unit\":element.others_unit,\n \"reference_final_remarks\":element.reference_final_remarks,\n \"specify_final_remark\":element.specify_final_remark\n }) \n });\n saveRecords.referencecheck_list=referencecheck_list;\n \n }\n saveRecords.pdid=answerData.pdid;\n saveRecords.formid=answerData.formid;\n saveRecords.check_type=answerData.check_type;\n saveRecords.fk_createdby = this.users;\n saveRecords.neighbourhood_status=answerData.neighbourhood_status\n saveRecords.neighbour_reference_remark=answerData.neighbour_reference_remark;\n\n this.qustCat.saveForm(saveRecords).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n \n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n })\n \n }\n\n getneighbourhood()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id};\n const control = this.neighbourhoodForm.controls['referencecheck_list']; \n const neicontrol = this.neighbourhoodForm.controls['neighbourhood_list'];\n \n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n let neighbourDetails = res['records'];\n // neighbourDetails.neighbourhood_list.=''\n \n if(neighbourDetails.check_type==0)\n {\n \n this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\n this.neighbourhoodForm.controls['neighbourhood_status'].setValue(neighbourDetails.neighbourhood_status)\n let neighbourhood_list = Object.keys(res['records'].neighbourhood_list).map(function(key)\n {\n return res['records'].neighbourhood_list[key];\n });\n neighbourhood_list.forEach((element,index)=>\n {\n this.toggleVisibility(element.did_not_know_the_business_operation,index,1);\n this.toggleVisibility(element.did_not_know_the_owner,index,2);\n neicontrol.push(this.createNeighbourhood());\n this.getOtherOrganisationOwner(element.organisation_owner,index)\n });\n this.neighbourhoodForm.controls['neighbourhood_list'].setValue(neighbourhood_list);\n \n\n }else\n {\n this.addneighbourhood();\n }\n if(neighbourDetails.check_type==1)\n {\n let referencecheck_list = Object.keys(res['records'].referencecheck_list).map(function(key)\n {\n return res['records'].referencecheck_list[key];\n });\n this.neighbourhoodForm.controls['check_type'].setValue(neighbourDetails.check_type);\n this.neighbourhoodForm.controls['neighbour_reference_remark'].setValue(neighbourDetails.neighbour_reference_remark);\n referencecheck_list.forEach((val,index)=>\n {\n let statecodesearch = val.landline.search(\"-\");\n referencecheck_list[index].statecode = val.landline.substr(0,statecodesearch);\n referencecheck_list[index].landline = val.landline.substr(+statecodesearch + 1,8);\n control.push(this.createreferance());\n this.amtInWords[index]=this.constant.convertNumberToWords(val.business_volume_amount);\n });\n this.neighbourhoodForm.controls['referencecheck_list'].setValue(referencecheck_list);\n \n }else\n {\n this.addreferance();\n }\n }else\n {\n this.addneighbourhood();\n this.addreferance();\n }\n })\n }\n\n\n}\n \n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup, FormBuilder,Validators,FormArray} from '@angular/forms';\n// import { t } from '@angular/core/src/render3';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { ToastProvider } from '../../../providers/common-provider/toast';\n/**\n * Generated class for the PdQuestionFinalRemarkPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-final-remark',\n templateUrl: 'pd-question-final-remark.html',\n})\nexport class PdQuestionFinalRemarkPage {\n\n m_remarkTypeCustomerBehaviour:any=[];\n\n users:any;\n pdDetails:any;\n pdid:any;\n FormId:any;\n _finalRemarkForm:FormGroup;\n m_recommendationList: any=[];\n constructor(public navCtrl: NavController, public navParams: NavParams, public fb:FormBuilder, public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider,public toast:ToastProvider) {\n this.pdDetails=this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id\n this.FormId=this.navParams.get('FormId');\n this.users=aws.getlocale()\n \n this._finalRemarkForm=this.fb.group({\n fk_createdby:[this.users],\n pdid:[this.pdid],\n formid:[this.FormId.form_id],\n final_custormer_remark_type:[null],\n final_other_customer_behaviour:[null],\n is_service_provided:[null],\n final_form_remarks:[null],\n pd_officers_recommendation:[null],\n others_pd_officers_recommendation:[''],\n // reason_for_positive:[''],\n // reason_for_negative:[''],\n // reason_for_refer_to_credit:[''],\n recommendation_positive:this.fb.array([]),\n recommendation_negative:this.fb.array([]),\n recommendation_refer_to_credit:this.fb.array([])\n \n })\n this.getDropDown();\n \n }\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionFinalRemarkPage');\n this.getFinalRemark();\n \n }\ngetDropDown(){\n this.qustcat.getcommondrop('CUSTOMERBEHAVIOUR').subscribe(res=>{\n this.m_remarkTypeCustomerBehaviour=res['records'].filter(data=>data.isactive==1)\n })\n this.qustcat.getcommondrop('PDOFFICERRECOMMENDATIONS').subscribe(res=>{\n this.m_recommendationList=res['records']\n })\n}\ncreateRecomendationPositive(data){\n console.log(\"val\",data)\n return this.fb.group({\n reason_for_positive: data != null ? [data.reason_for_positive] : ['']\n })\n}\naddRecomendationPositive(){\n const control= this._finalRemarkForm.controls['recommendation_positive'];\n control.push(this.createRecomendationPositive(null))\n}\nremoveRecomendationPositive(index){\n const control= this._finalRemarkForm.controls['recommendation_positive'];\n control.removeAt(index);\n}\ncreateRecomendationNegative(data){\n return this.fb.group({\n reason_for_negative:data !=null ? [data.reason_for_negative] : ['']\n })\n}\naddRecomendationNegative(){\n const control= this._finalRemarkForm.controls['recommendation_negative']\n control.push(this.createRecomendationNegative(null))\n}\nremoveRecomendationNegative(index){\n const control= this._finalRemarkForm.controls['recommendation_negative']\n control.removeAt(index)\n}\ncreateRecomendationCreditRefer(data){\n return this.fb.group({\n reason_for_refer_to_credit:data!=null ? [data.reason_for_refer_to_credit] : ['']\n })\n}\naddRecomendationCreditRefer(){\n const control= this._finalRemarkForm.controls['recommendation_refer_to_credit']\n control.push(this.createRecomendationCreditRefer(null));\n}\nremoveRecomendationCreditRefer(index){\n const control= this._finalRemarkForm.controls['recommendation_refer_to_credit']\n control.removeAt(index)\n}\n\nRecommendationChange(e) {\n // console.log('Event',e);\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\n\n if (e == 1) {\n\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValidators([Validators.required]);\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\n\n if (recommendationNegativeCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\n\n recommendationNegativeCtrl.removeAt(i + 1);\n\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\n\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\n\n\n }\n }\n\n if (recommendationPositiveCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\n recommendationPositiveCtrl.removeAt(i + 1);\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\n }\n }\n\n if (recommendationReferToCredit.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationReferToCredit.controls.length; i++) {\n recommendationReferToCredit.removeAt(i + 1);\n\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\n\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\n }\n }\n \n\n }\n if (e == 2) {\n\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\n\n if (recommendationReferToCredit.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationReferToCredit.controls.length; i++) {\n recommendationReferToCredit.removeAt(i + 1);\n\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\n\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\n\n }\n }\n\n // this._finalRemarkForm.controls['reason_for_positive'].setValidators([Validators.required]);\n if (recommendationPositiveCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[i];\n recommendationPositiveCtrl.controls['reason_for_positive'].setValidators([Validators.required]);\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\n }\n }\n\n if (recommendationNegativeCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\n\n recommendationNegativeCtrl.removeAt(i + 1);\n\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\n\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\n\n }\n }\n\n\n }\n\n if (e == 3) {\n\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\n\n if (recommendationReferToCredit.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationReferToCredit.controls.length; i++) {\n recommendationReferToCredit.removeAt(i + 1);\n\n recommendationReferToCredit = recommendationReferToCredit.controls[0];\n\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValue('');\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].clearValidators();\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\n }\n }\n\n if (recommendationPositiveCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\n recommendationPositiveCtrl.removeAt(i + 1);\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\n }\n }\n\n if (recommendationNegativeCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[i];\n recommendationNegativeCtrl.controls['reason_for_negative'].setValidators([Validators.required]);\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\n }\n }\n // this._finalRemarkForm.controls['reason_for_negative'].setValidators([Validators.required]);\n\n }\n if (e == 4) {\n\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].setValue('');\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].clearValidators();\n this._finalRemarkForm.controls['others_pd_officers_recommendation'].updateValueAndValidity();\n\n if (recommendationReferToCredit.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationReferToCredit.controls.length; i++) {\n\n recommendationReferToCredit = recommendationReferToCredit.controls[i];\n\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].setValidators([Validators.required]);\n recommendationReferToCredit.controls['reason_for_refer_to_credit'].updateValueAndValidity();\n\n }\n }\n\n if (recommendationNegativeCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationNegativeCtrl.controls.length; i++) {\n\n recommendationNegativeCtrl.removeAt(i + 1);\n\n recommendationNegativeCtrl = recommendationNegativeCtrl.controls[0];\n\n recommendationNegativeCtrl.controls['reason_for_negative'].setValue('');\n recommendationNegativeCtrl.controls['reason_for_negative'].clearValidators();\n recommendationNegativeCtrl.controls['reason_for_negative'].updateValueAndValidity();\n\n }\n }\n\n if (recommendationPositiveCtrl.controls.length > 0) {\n let i: number = 0;\n for (i; i < recommendationPositiveCtrl.controls.length; i++) {\n recommendationPositiveCtrl.removeAt(i + 1);\n recommendationPositiveCtrl = recommendationPositiveCtrl.controls[0];\n recommendationPositiveCtrl.controls['reason_for_positive'].clearValidators();\n recommendationPositiveCtrl.controls['reason_for_positive'].setValue('');\n recommendationPositiveCtrl.controls['reason_for_positive'].updateValueAndValidity();\n }\n }\n }\n}\n getFinalRemark(){\n let saveRecords={'pd_id':this.pdid,'pd_form_id':this.FormId.form_id}\n this.qustcat.retiverForm(saveRecords).subscribe(data=>{\n if(data['dataStatus']==true){\n this._finalRemarkForm.controls.final_custormer_remark_type.setValue(data['records'].final_custormer_remark_type);\n this._finalRemarkForm.controls.final_other_customer_behaviour.setValue(data['records'].final_other_customer_behaviour);\n this._finalRemarkForm.controls.is_service_provided.setValue(data['records'].is_service_provided);\n this._finalRemarkForm.controls.pd_officers_recommendation.setValue(data['records'].pd_officers_recommendation);\n this._finalRemarkForm.controls.others_pd_officers_recommendation.setValue(data['records'].others_pd_officers_recommendation)\n // this._finalRemarkForm.controls.reason_for_positive.setValue(data['records'].reason_for_positive)\n // this._finalRemarkForm.controls.reason_for_refer_to_credit.setValue(data['records'].reason_for_refer_to_credit);\n // this._finalRemarkForm.controls.reason_for_negative.setValue(data['records'].reason_for_negative);\n if(data['records'].recommendation_positive.length>0){\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\n data['records'].recommendation_positive.forEach((val,index)=>{\n console.log(\"for\",val);\n if(val.reason_for_positive != null){\n let obj={'reason_for_positive':val.reason_for_positive};\n recommendationPositiveCtrl.push(this.createRecomendationPositive(obj));\n }\n })\n }\n if(data['records'].recommendation_negative.length>0){\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\n data['records'].recommendation_negative.forEach((val,index)=>{\n console.log(\"for\",val);\n let obj={'reason_for_negative':val.reason_for_negative};\n recommendationNegativeCtrl.push(this.createRecomendationNegative(obj))\n })\n }\n if(data['records'].recommendation_refer_to_credit.length>1){\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\n data['records'].recommendation_refer_to_credit.forEach(val=>{\n let obj={'reason_for_refer_to_credit':val.reason_for_refer_to_credit};\n recommendationReferToCredit.push(this.createRecomendationCreditRefer(obj))\n })\n }\n this._finalRemarkForm.controls.final_form_remarks.setValue(data['records'].final_form_remarks);\n }\n else{\n let recommendationPositiveCtrl: any = this._finalRemarkForm.get('recommendation_positive') as FormArray;\n recommendationPositiveCtrl.push(this.createRecomendationPositive(null));\n let recommendationNegativeCtrl: any = this._finalRemarkForm.get('recommendation_negative') as FormArray;\n recommendationNegativeCtrl.push(this.createRecomendationNegative(null));\n let recommendationReferToCredit: any = this._finalRemarkForm.get('recommendation_refer_to_credit') as FormArray;\n recommendationReferToCredit.push(this.createRecomendationCreditRefer(null));\n }\n })\n }\n saveFinalRemark(){\n if(this._finalRemarkForm.invalid){\n this.toast.pdTriggerappmessage(\"Please Fill all the Fields marked with '*' \")\n }\n else{\n var answerData=this._finalRemarkForm.value\n //To Remove The \"Null\" With Key also\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\n this.qustcat.saveForm(answerData).subscribe(res=>{\n if(res['dataStatus']==true){\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n else{\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\n }\n });\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { PdQuestionSupplierInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\nimport { PdQuestionClientInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\nimport { PdQuestionStockInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\nimport { PdQuestionBusinessInfoPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\nimport { PdQuestionBusinessAssetsPage } from '../../../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\nimport {PdQuestionBusinessBankingPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\nimport {PdQuestionFinancialInfoPage} from '../../../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info'\n\n/**\n * Generated class for the PdQuestionBusinessGroupPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n@Component({\n selector: 'page-pd-question-business-group',\n templateUrl: 'pd-question-business-group.html',\n})\nexport class PdQuestionBusinessGroupPage {\n \n FormId: any;\n pdDetails: any = [];\n existCompanyList: any = [];\n waitLoading:boolean;\n\n constructor(public navCtrl: NavController, \n public navParams: NavParams,\n public qustCat:QuestionCategoryProvider){\n \n this.pdDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n \n this.getCompanyListForBusiness();\n\n }\n \n /** To Get General Form's Company List */\n getCompanyListForBusiness(): void{\n this.qustCat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\n if(data.dataStatus){\n this.existCompanyList = data.records.filter(val =>val.is_active);\n this.waitLoading = true;\n }\n else {\n this.waitLoading = false;\n }\n })\n }\n\n /** To Get Related Form Details */\n OnSelectBusinessGroupForms(details: any, company: any) {\n \n this.pdDetails.company_id = company.company_order_id;\n this.pdDetails.company_name = company.company_name;\n this.pdDetails.business_entity_type = company.business_entity_type;\n this.pdDetails.business_entity_type_other = company.business_entity_type_other;\n this.pdDetails.business_years = company.business_years;\n this.pdDetails.business_month = company.business_month;\n \n if(details.form_id==1){\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\n }\n if(details.form_id==2){\n this.navCtrl.push(PdQuestionClientInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n if(details.form_id==11){\n this.navCtrl.push(PdQuestionStockInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n if(details.form_id==13){\n this.navCtrl.push(PdQuestionBusinessInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n if(details.form_id==14){\n this.navCtrl.push(PdQuestionFinancialInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n if(details.form_id==15){\n this.navCtrl.push(PdQuestionSupplierInfoPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n if(details.form_id==21){\n this.navCtrl.push(PdQuestionBusinessBankingPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n if(details.form_id==22){\n this.navCtrl.push(PdQuestionBusinessAssetsPage,{'formDetails':details,'pdDetails':this.pdDetails});\n \n }\n\n\n}\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-group.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service';\nimport { ToastProvider } from '../../../../providers/common-provider/toast';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category';\nimport { FormBuilder, FormGroup,FormArray, Validators, FormControl } from '@angular/forms';\nimport { createPipe } from '@angular/compiler/src/core';\nimport { elementAt } from 'rxjs/operators';\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\n\n/**\n * Generated class for the PdQuestionBusinessInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-business-info',\n templateUrl: 'pd-question-business-info.html',\n})\nexport class PdQuestionBusinessInfoPage {\n stateList:any=[];\n users: any;formdetails:any;\n FormId: any;\n pdDetails: any;\n businessForm:FormGroup;\n applicants:any=[];\n businessEntityTypeList: any ={\n business_entity_type_id:String,\n business_entity_type_name:String,\n sourcsection_labeleName:String\n }; \n generalExistEntityType:string\n generalExistEntityType_other:string;\n generalExistBusinessYear:Number;\n generalExistBusinessMonth:Number;\n pdid:any;\n step:number\n\n relationData: any = [];\n industryData: any = [];\n activityData: any = [];\n relativeNames: any;\n companyRelationShipList:any=[]\n countryDataList:any=[]\n exist_status:any;\n \n filterCityList : any = [];\n errorMessage:any=[];\n appxSalaryAmtInwords:any;\n titleData:any=[]\n personsList:any=[]\n \n ManufacturingChecked: boolean;\n RetailedChecked: boolean;\n WholeSalesChecked: boolean;\n ServiceChecked: boolean;\n ExportFlag: boolean=false;\n bankList: any=[];\n temp_additiondetailofposmachine:any=[]\n isreadonlyyear: any=[];\n isreadonlymonth: any=[];\n EntityTypeFlag:boolean=false\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public cons:ConstantsProvider) {\n this.getStateCityDet();\n this.pdDetails = this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id\n \n this.formdetails = this.navParams.get('formDetails');\n \n this.FormId = this.formdetails.form_id;\n this.users = this.aws.getlocale();\n \n this.applicants=this.pdDetails.applicat_details;\n \n this.generalExistEntityType=this.pdDetails.business_entity_type\n this.generalExistEntityType_other=this.pdDetails.business_entity_type_other\n this.generalExistBusinessYear=this.pdDetails.business_years\n this.step=0\n \n \n \n // this.initBusinessForm();\n // this.getBuisnessDetails();\n \n this.businessForm=this.fb.group({\n fk_createdby:[this.users],\n pdid:[this.pdid],\n formid:[this.FormId],\n company_id: this.pdDetails.company_id,\n partners:this.fb.array([]),\n persons_with_relationships:this.fb.array([]),\n select_business_activity_type:this.fb.array([]),\n manufacturing_activity_details:this.fb.array([]),\n retail_trading_activity_details:this.fb.array([]),\n wholesale_trading_activity_details:this.fb.array([]),\n service_provider_activity_details:this.fb.array([]),\n others_activity_details:this.fb.array([]),\n export_sale_of_total_sales:[''],\n // applicant_use_mobile_wallets:[''],\n // applicant_use_pos_machines:[''],\n // no_of_pos_machines:[''],\n seasonality:[''],\n employees_total: ['', Validators.compose([Validators.required])],\n employees_permanent: ['', Validators.compose([Validators.required])],\n employees_temporary: ['', Validators.compose([Validators.required])],\n employees_appx_salary:[''],\n was_the_company_name_board_sighted:['',Validators.compose([Validators.required])],\n officer_total: ['', Validators.compose([Validators.required])],\n shop_eat_act_cert: [''],\n gst_Regn_cert: [''],\n //export_import_cert: [''],\n // factory_cert: [''],\n //practice_cert: [''],\n pf_regn: [''],\n esic_regn: [''],\n other_documents: [''],\n documents: this.fb.array([]),\n business_remarks:['']\n\n\n\n \n })\n this.getdropdown();\n \n// this.initBusinessForm();\n\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBusinessInfoPage');\n \n \n \n }\n getdropdown() {\n \n this.qustCat.getcommondrop('RELATIONSHIPS').subscribe(data => {\n \n data['records'].forEach(val => {\n if (val.isactive == 1) {\n this.relationData.push(val);\n }\n })\n });\n \n this.qustCat.getcommondrop('INDUSTRYCLASSIFICATION').subscribe(data => {\n \n data['records'].forEach(val => {\n if (val.isactive == 1) {\n this.industryData.push(val);\n }\n })\n });\n \n this.qustCat.getcommondrop('TYPEOFACTIVITY').subscribe(data => {\n \n data['records'].forEach(val => {\n if (val.isactive == 1 && val.type_of_activity_id != 1) {\n this.activityData.push(val);\n }\n })\n });\n this.qustCat.getcommondrop('BUSINESSENTITYTYPE').subscribe(data=>{\n let filterList = data['records'].filter(val=>val.business_entity_type_id==this.generalExistEntityType);\n this.businessEntityTypeList.business_entity_type_id = filterList[0].business_entity_type_id==1;\n this.businessEntityTypeList.business_entity_type_name = filterList[0].business_entity_type_id!=1 ? filterList[0].business_entity_type_name : this.generalExistEntityType_other;\n this.businessEntityTypeList.section_label = filterList[0].business_entity_type_id!=1 ? filterList[0].section_label : this.generalExistEntityType_other;\n \n if(this.businessEntityTypeList.business_entity_type_name == 'OPC (One Person Company)' || this.businessEntityTypeList.business_entity_type_name == 'Sole proprietorship'){ \n this.EntityTypeFlag = true;\n }\n\n\n });\n this.qustCat.getcommondrop('COMPANYRELATIONSHIPS').subscribe(data=>{\n this.companyRelationShipList=data['records'].filter(val=>val.isactive==1);\n \n });\n \n \n \n this.qustCat.getcommondrop('COUNTRY').subscribe(data=>{\n this.countryDataList=data['records'].filter(val=>val.isactive==1);\n \n });\n this.qustCat.getcommondrop('TITLES').subscribe(data=>{\n this.titleData=data['records'].filter(val=>val.isactive==1);\n })\n this.qustCat.getAllPersonsName(this.pdid).subscribe(data=>{\n if(data.dataStatus){\n \n this.personsList=data['record'].filter(val=>val.applicant_type==1)\n \n }\n })\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(data=>{\n this.bankList=data['records'].filter(val=>val.isactive ==1 && val.lender_type == 1);\n })\n \n}\ngetStateCityDet(){\nthis.qustCat.getStateCityDetails().subscribe(data=>{\n \n\n this.stateList=data.records\n \n this.getDetails();\n });\n \n \n}\nchangeOfStartedBusiness(members,i,e){\n if(e == 'yes'){\n members.controls.current_business_experiance_year.setValue(this.generalExistBusinessYear);\n this.isreadonlyyear[i] = this.generalExistBusinessYear != undefined ? true : false;\n members.controls.current_business_experiance_month.setValue(this.generalExistBusinessMonth);\n this.isreadonlymonth[i] = this.generalExistBusinessMonth != undefined ? true : false;\n }\n else{\n this.isreadonlyyear[i] =false;\n this.isreadonlymonth[i] = false;\n }\n }\n getDetails(){\n \n let params: any = {};\n params.pd_id = this.pdid;\n params.pd_form_id = 13\n params.company_id = this.pdDetails.company_id;\n this.qustCat.retiverForm(params).subscribe(data=>{\n let businessVal=data['records']\n let constVal: any;\n \n \n const Partnr:any = this.businessForm.controls['partners'];\n \n const control1:any = this.businessForm.controls['persons_with_relationships'];\n \n const business_activity:any = this.businessForm.controls['select_business_activity_type'];\n \n const manufacture_details:any= this.businessForm.controls['manufacturing_activity_details'];\n const retailControl: any = this.businessForm.controls['retail_trading_activity_details'];\n const wholesaleControl:any=this.businessForm.controls['wholesale_trading_activity_details'];\n const serviceProviderControl:any=this.businessForm.controls['service_provider_activity_details'];\n const othersControl:any=this.businessForm.controls['others_activity_details'];\n const otherDoc = this.businessForm.controls['documents'];\n //retailControl.push(this.manufactureDetails());\n //manufacture_details.push(this.manufactureDetails())\n \n // const india_sales:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.india_where_sale_done;\n //india_sales.push(this.indiaSalesDone())\n //const country_sale:any=this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.countries_where_export_done;\n // country_sale.push(this.createCountrySale());\n //const max_sale_state:any= this.businessForm.controls['manufacturing_activity_details']['controls'][0].controls.max_sale_state_name;\n //max_sale_state.push(this.maxSaleState())\n\n if(data['status']==200){\n let DocArray: any;\n let PartnrArray=Object.keys(data['records'].partners).map(function(key){\n return data['records'].partners[key];\n })\n \n if(PartnrArray.length==0){\n Partnr.push(this.createPartners())\n }\n else{\n PartnrArray.forEach((datas,key) => {\n Partnr.push(this.createPartners());\n if(datas.partner_name=='Others') {\n Partnr.controls[key].addControl('partner_other_name', new FormControl('', Validators.required))\n }\n if(parseInt(datas.total_business_experiance) > parseInt(datas.current_business_experiance_year)) {\n Partnr.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\n }\n else {\n Partnr.controls[key].removeControl('total_business_previous_experience')\n }\n });\n }\n if(data['records'].persons_with_relationships){\n let PartnrArray1=Object.keys(data['records'].persons_with_relationships).map(function (key){\n return data['records'].persons_with_relationships[key];\n })\n if(PartnrArray1.length>0){\n PartnrArray1.forEach((datas,key)=>{\n control1.push(this.createRelationShip());\n })\n businessVal.persons_with_relationships=PartnrArray1\n \n }\n else{\n //control1.push(this.createRelationShip());\n businessVal.persons_with_relationships=[]\n }\n }\n else{\n businessVal.persons_with_relationships=[]\n \n }\n \n\n if (data['records'].other_documents == 'yes') {\n DocArray = Object.keys(data['records'].documents).map(function (key) {\n return data['records'].documents[key];\n });\n DocArray.forEach(datas => {\n otherDoc.push(this.createDocument());\n });\n } else {\n DocArray = [{document: ''}];\n otherDoc.push(this.createDocument());\n }\n\n businessVal.pdid = this.pdid;\n businessVal.formid = 13;\n businessVal.company_id = this.pdDetails.company_id;\n businessVal.fk_createdby = this.users;\n //businessVal.designation = DesgnArray;\n businessVal.partners = PartnrArray;\n // businessVal.persons_with_relationships=PartnrArray1\n businessVal.documents=DocArray\n \n if(businessVal.employees_appx_salary){\n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(businessVal.employees_appx_salary);\n }\n \n \n // this.businessForm.controls['partners']['controls'].value.partner_other_name='dd'\n // this.businessForm.setValue(businessVal);\n //this.businessForm.value.seasonality\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id}))\n let exist_activity_data: any=[];\n if(data['records'].select_business_activity_type){\n exist_activity_data=Object.keys(data['records'].select_business_activity_type).map(function(key) {\n return data['records'].select_business_activity_type[key].type_of_activity_id;\n });\n }\n \n let actual_businees_activity = activityData.map(item => item.type_of_activity_id);\n let check_exist_businees_activity =actual_businees_activity.map((id, index) => {\n if (exist_activity_data.indexOf(id) < 0) {\n activityData[index].exist_status=0;\n return activityData[index];\n }\n else{\n activityData[index].exist_status=1;\n return activityData[index];\n }\n }).filter(item => item != undefined);\n \n if(check_exist_businees_activity.length > 0)\n {\n check_exist_businees_activity.forEach((val,index) => {\n business_activity.push(this.createBusinessActivity(val));\n // this.businessForm.controls['select_business_activity_type'].value[index].exist_status=val.exist_status\n \n });\n \n businessVal.select_business_activity_type=check_exist_businees_activity;\n }\n // business_activity.push(this.createBusinessActivity())\n \n // this.businessForm.controls['select_business_activity_type'].setValue(check_exist_businees_activity)\n \n if(data['records'].manufacturing_activity_details){\n let selectedManufacturing=Object.keys(data['records'].manufacturing_activity_details).map(function(key){\n return data['records'].manufacturing_activity_details[key];\n });\n if(selectedManufacturing.length>0){\n selectedManufacturing.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\n selectedManufacturing.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('factory_cert');\n \n selectedManufacturing.forEach((element,index)=>{\n this.CheckExport(element.area_of_sale,'MActivity',index)\n manufacture_details.push(this.manufactureDetails())\n if(element.area_of_sale=='Within India'){\n manufacture_details.controls[index].addControl('india_where_sale_done',this.fb.array([]))\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n })\n }\n else if(element.area_of_sale=='Export'){\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n else if(element.area_of_sale=='Both'){\n manufacture_details.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n manufacture_details.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n manufacture_details.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n\n manufacture_details.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = manufacture_details.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n \n }\n });\n businessVal.manufacturing_activity_details=selectedManufacturing;\n \n \n }\n else{\n \n businessVal.manufacturing_activity_details=[];\n }\n }\n else{\n \n businessVal.manufacturing_activity_details=[];\n }\n \n if(data['records'].retail_trading_activity_details){ \n\n let selectedRetail = Object.keys(data['records'].retail_trading_activity_details).map(function (key) {\n return data['records'].retail_trading_activity_details[key];\n });\n if(selectedRetail.length > 0) {\n selectedRetail.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\n selectedRetail.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\n selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \n selectedRetail.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\n selectedRetail.forEach((element,index)=>{\n this.CheckExport(element.area_of_sale,'RActivity',index)\n retailControl.push(this.manufactureDetails());\n if(element.area_of_sale=='Within India'){\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n }\n else if(element.area_of_sale=='Export'){\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n else if(element.area_of_sale=='Both'){\n retailControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n retailControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n retailControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n retailControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = retailControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n });\n businessVal.retail_trading_activity_details=selectedRetail;\n }\n else{\n businessVal.retail_trading_activity_details=[];\n } \n }\n else {\n businessVal.retail_trading_activity_details=[];\n }\n \n\n // update whole sale details\n if(data['records'].wholesale_trading_activity_details){ \n let selectedWholesale = Object.keys(data['records'].wholesale_trading_activity_details).map(function (key) {\n return data['records'].wholesale_trading_activity_details[key];\n });\n if(selectedWholesale.length > 0) {\n selectedWholesale.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('export_import_cert');\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\n selectedWholesale.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\n selectedWholesale.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \n selectedWholesale.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\n selectedWholesale.forEach((element,index)=>{\n this.CheckExport(element.area_of_sale,'WActivity',index)\n wholesaleControl.push(this.manufactureDetails());\n if(element.area_of_sale=='Within India'){\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n }\n else if(element.area_of_sale=='Export'){\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n else if(element.area_of_sale=='Both'){\n wholesaleControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n wholesaleControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n wholesaleControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n wholesaleControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = wholesaleControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n \n });\n businessVal.wholesale_trading_activity_details=selectedWholesale;\n }\n else{\n businessVal.wholesale_trading_activity_details=[];\n } \n }\n else {\n businessVal.wholesale_trading_activity_details=[];\n\n } \n \n \n if(data['records'].service_provider_activity_details){\n let selectedService=Object.keys(data['records'].service_provider_activity_details).map(function (key){\n return data['records'].service_provider_activity_details[key];\n })\n if(selectedService.length > 0) {\n selectedService.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl('', Validators.required)) : this.businessForm.removeControl('practice_cert');\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl('')) : this.businessForm.removeControl('applicant_use_mobile_wallets');\n selectedService.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl('')) : this.businessForm.removeControl('applicant_use_pos_machines');\n selectedService.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('no_of_pos_machines', new FormControl('')): this.businessForm.removeControl('no_of_pos_machines'); \n selectedService.length > 0 && businessVal.applicant_use_pos_machines == 'yes' ? this.businessForm.addControl('pos_machines_details',this.fb.array([])) : this.businessForm.removeControl('pos_machines_details')\n \n selectedService.forEach((element,index)=>{\n this.CheckExport(element.area_of_sale,'SPActivity',index)\n serviceProviderControl.push(this.manufactureDetails());\n \n if(element.area_of_sale=='Within India'){\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n \n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n }\n else if(element.area_of_sale=='Export'){\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n }\n else if(element.area_of_sale=='Both'){\n serviceProviderControl.controls[index].addControl('india_where_sale_done', this.fb.array([]));\n serviceProviderControl.controls[index].addControl('pan_india_options',new FormControl('', Validators.required));\n serviceProviderControl.controls[index].addControl('max_sale_state_name',this.fb.array([])); \n element.india_where_sale_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('india_where_sale_done') as FormArray;\n innercontrol.push(this.indiaSalesDone())\n });\n\n element.max_sale_state_name.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('max_sale_state_name') as FormArray;\n innercontrol.push(this.maxSaleState())\n });\n serviceProviderControl.controls[index].addControl('countries_where_export_done', this.fb.array([]));\n element.countries_where_export_done.forEach((innerElement,innerIndex) => {\n let innercontrol:any = serviceProviderControl.controls[index].get('countries_where_export_done') as FormArray;\n innercontrol.push(this.createCountrySale())\n });\n\n \n }\n });\n \n \n businessVal.service_provider_activity_details=selectedService;\n \n }\n else{\n businessVal.service_provider_activity_details=[];\n \n } \n }\n else {\n businessVal.service_provider_activity_details=[];\n\n }\n \n if(data['records'].others_activity_details){ \n\n // update others activity details\n let selectedOthers = Object.keys(data['records'].others_activity_details).map(function (key) {\n return data['records'].others_activity_details[key];\n });\n if(selectedOthers.length > 0) {\n selectedOthers.forEach((element,index)=>{\n othersControl.push(this.createOthersActivity());\n });\n businessVal.others_activity_details=selectedOthers;\n }\n else{\n businessVal.others_activity_details=[];\n } \n }\n else {\n businessVal.others_activity_details=[];\n\n } \n \n // dynamically add form group control\n if(data['dataStatus']){\n \n if(data['records'].seasonality.toUpperCase()=='YES'){\n this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required));\n this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)); }\n\n } \n\n // this.businessForm.controls['partners'].setValue(PartnrArray);\n //this.businessForm.controls['persons_with_relationships'].setValue(PartnrArray1)\n \n // this.businessForm.controls['manufacturing_activity_details'].setValue(businessVal.manufacturing_activity_details)\n if(businessVal.applicant_use_pos_machines == 'yes'){\n this.businessForm.controls.no_of_pos_machines.setValue(businessVal.no_of_pos_machines);\n const posControl: any = this.businessForm.controls['pos_machines_details'];\n for(let i = 1; i<= businessVal.no_of_pos_machines; i++ ){\n posControl.push(this.createPOSMachinesDetails(businessVal.pos_machines_details));\n }\n }\n \n this.businessForm.setValue(businessVal);\n \n \n }\n else{\n Partnr.push(this.createPartners());\n control1.push(this.createRelationShip())\n \n //otherDoc.push(this.createDocument());\n\n // find business activity type businees activity type list\n let activityData=this.activityData.map(item=>({name : item.name,type_of_activity_id : item.type_of_activity_id,exist_status:0}))\n if(activityData.length > 0)\n {\n activityData.forEach(val => {\n business_activity.push(this.createBusinessActivity(val));\n });\n }\n\n }\n})\n // change business sessional\n this.businessForm.controls['seasonality'].valueChanges.subscribe(val => {\n val.toUpperCase()=='YES' ? this.businessForm.addControl('peak_period_of_business', new FormControl('', Validators.required)) : this.businessForm.removeControl('peak_period_of_business');\n val.toUpperCase()=='YES' ? this.businessForm.addControl('month_of_business_run', new FormControl('', Validators.required)) : this.businessForm.removeControl('month_of_business_run');\n });\n \n \n }\n\n filterCity(datasource: any,filterid:number) {\n \n \n if(filterid){\n let filter = this.stateList.filter(x=>x.state_id==filterid);\n return filter.length > 0 ? filter[0].cities : [];\n }\n}\n\n // filter max sale options\n filterMaxSaleState(datasource: any,filterValues:any){\n this.filterCityList = filterValues;\n if(filterValues){\n let getOriginalStateList = datasource.map(dval => dval.state_id);\n let getStateValues = filterValues.filter(val =>val.state_name).map(mapVal => mapVal.state_name);\n let setStateFilter: any=[];\n setStateFilter = getStateValues.map(x => {\n let findIndex = getOriginalStateList.indexOf(x);\n return datasource[findIndex];\n });\n return setStateFilter.length > 0 ? setStateFilter : [];\n }\n }\n filterMaxSaleCities(datasource: any,filterValues:any,selectedCites: any) { \n let existCities: any = selectedCites.filter(cfVal=>cfVal.city_name!='').map(mcVal=>mcVal.city_name);\n existCities = [].concat.apply([], existCities);\n if(filterValues){\n let getOriginalStateList = datasource.map(dval => dval.state_id);\n \n let setCityFilter = filterValues.map(x => {\n let findIndex = getOriginalStateList.indexOf(x);\n findIndex = datasource[findIndex].cities;\n return findIndex;\n });\n \n let merged = [].concat.apply([], setCityFilter);\n \n if(merged.length>0){\n let check: any = merged.filter(function(fVal){\n return existCities.some(function(sVal){\n return fVal.city_id==sVal;\n });\n })\n return check;\n }\n else {\n return [];\n }\n }\n else {\n return [];\n }\n}\n\n\ncheckTotalEmployee(FormData){\n this.businessForm.controls['employees_total'].setValue((+FormData.value.employees_permanent ||0)+(+FormData.value.employees_temporary||0));\n }\n checkWithExistBusinessYear(e,i){\n if(e > this.generalExistBusinessYear){\n this.errorMessage[i] = \"Higher than Business Vintage\";\n }\n else{\n this.errorMessage[i] = '';\n }\n }\n\n// businees activity type change event\nchangeBusinessActivity(event: any){\n \n if(event.value.exist_status==true && event.value.type_of_activity_id==2){\n this.ManufacturingChecked = event.value.exist_status;\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\n manufacturingControl.controls = [];\n manufacturingControl.setValue([]); \n \n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==2){\n this.ManufacturingChecked = event.value.exist_status;\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\n manufacturingControl.push(this.manufactureDetails());\n \n \n }\n if(event.value.exist_status==true && event.value.type_of_activity_id==3){\n this.RetailedChecked=event.value.exist_status\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\n retailControl.controls = [];\n retailControl.setValue([]);\n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==3){\n this.RetailedChecked=event.value.exist_status\n let retailControl = this.businessForm.controls['retail_trading_activity_details'];\n retailControl.push(this.manufactureDetails());\n }\n if(event.value.exist_status==true && event.value.type_of_activity_id==4){\n this.WholeSalesChecked=event.value.exist_status\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\n wholesaleControl.controls = [];\n wholesaleControl.setValue([]);\n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==4){\n this.WholeSalesChecked=event.value.exist_status\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\n wholesaleControl.push(this.manufactureDetails());\n }\n if(event.value.exist_status==true && event.value.type_of_activity_id==5){\n this.ServiceChecked=event.value.exist_status\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\n serviceControl.controls = [];\n serviceControl.setValue([]);\n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==5){\n this.ServiceChecked=event.value.exist_status\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\n serviceControl.push(this.manufactureDetails());\n }\n\n if(event.value.exist_status==true && event.value.type_of_activity_id==1){\n let othersControl = this.businessForm.controls['others_activity_details'];\n othersControl.controls = [];\n othersControl.setValue([]);\n }\n else if(event.value.exist_status==false && event.value.type_of_activity_id==1){\n let othersControl = this.businessForm.controls['others_activity_details'];\n othersControl.push(this.createOthersActivity());\n }\n // check activity type for make dosument sighted filed dynamically\n this.businessForm.value.manufacturing_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('export_import_cert', new FormControl(this.businessForm.value.export_import_cert, Validators.required)) : this.businessForm.removeControl('export_import_cert');\n this.businessForm.value.manufacturing_activity_details.length > 0 ? this.businessForm.addControl('factory_cert', new FormControl(this.businessForm.value.factory_cert, Validators.required)) : this.businessForm.removeControl('factory_cert');\n this.businessForm.value.service_provider_activity_details.length > 0 ? this.businessForm.addControl('practice_cert', new FormControl(this.businessForm.value.practice_cert, Validators.required)) : this.businessForm.removeControl('practice_cert');\n // check activity for extra question make dynamic\n \n this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_mobile_wallets', new FormControl(this.businessForm.value.applicant_use_mobile_wallets)) : this.businessForm.removeControl('applicant_use_mobile_wallets');\n this.businessForm.value.service_provider_activity_details.length > 0 || this.businessForm.value.retail_trading_activity_details.length > 0 || this.businessForm.value.wholesale_trading_activity_details.length > 0 ? this.businessForm.addControl('applicant_use_pos_machines', new FormControl(this.businessForm.value.applicant_use_pos_machines)) : this.businessForm.removeControl('applicant_use_pos_machines');\n \n\n if(this.ManufacturingChecked || this.ManufacturingChecked==undefined && this.RetailedChecked || this.RetailedChecked==undefined && this.WholeSalesChecked ||this.WholeSalesChecked==undefined && this.ServiceChecked || this.ServiceChecked==undefined){\n this.ExportFlag = false;\n }\n}\n\n\nchangeManufacturingAreaSale(getDetails: any, getIndex){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n if(getDetails.value.area_of_sale==\"Within India\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \n\n }\n else if(getDetails.value.area_of_sale==\"Export\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n else if(getDetails.value.area_of_sale==\"Both\") {\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n}\n\n // change retail options\n changeRetailAreaSale(getDetails: any, getIndex){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n\n if(getDetails.value.area_of_sale==\"Within India\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \n\n }\n else if(getDetails.value.area_of_sale==\"Export\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n else if(getDetails.value.area_of_sale==\"Both\") {\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n}\n\n// change whole options\nchangeWholesaleAreaSale(getDetails: any, getIndex){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n\n if(getDetails.value.area_of_sale==\"Within India\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \n\n }\n else if(getDetails.value.area_of_sale==\"Export\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n else if(getDetails.value.area_of_sale==\"Both\") {\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n}\n// change service provider \nchangeServiceArea(getDetails: any, getIndex) {\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\n\n if(getDetails.value.area_of_sale==\"Within India\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); \n\n }\n else if(getDetails.value.area_of_sale==\"Export\"){\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n else if(getDetails.value.area_of_sale==\"Both\") {\n control.controls[getIndex].removeControl('india_where_sale_done');\n control.controls[getIndex].removeControl('countries_where_export_done');\n control.controls[getIndex].removeControl('pan_india_options');\n control.controls[getIndex].removeControl('max_sale_state_name');\n control.controls[getIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[getIndex].addControl('pan_india_options',new FormControl('', Validators.required));\n control.controls[getIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()]));\n control.controls[getIndex].addControl('countries_where_export_done', this.fb.array([this.createCountrySale()]));\n }\n}\n\n\nchangePanIndiaOptions(type,selectedIndex,value) {\n if(type==1){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control.controls[selectedIndex].removeControl('india_where_sale_done');\n control.controls[selectedIndex].removeControl('max_sale_state_name');\n if(value=='Yes') {\n \n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n else if(value=='No'){\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n }\n else if(type==2){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control.controls[selectedIndex].removeControl('india_where_sale_done');\n control.controls[selectedIndex].removeControl('max_sale_state_name');\n if(value=='Yes') {\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n else if(value=='No'){\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n }\n else if(type==3){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control.controls[selectedIndex].removeControl('india_where_sale_done');\n control.controls[selectedIndex].removeControl('max_sale_state_name');\n if(value=='Yes') {\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n else if(value=='No'){\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n }\n else if(type==4){\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\n control.controls[selectedIndex].removeControl('india_where_sale_done');\n control.controls[selectedIndex].removeControl('max_sale_state_name');\n if(value=='Yes') {\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n else if(value=='No'){\n control.controls[selectedIndex].addControl('india_where_sale_done', this.fb.array([this.indiaSalesDone()]));\n control.controls[selectedIndex].addControl('max_sale_state_name',this.fb.array([this.maxSaleState()])); }\n }\n}\n\n // update partner group other form control\n changePartnerGroup(value,key) {\n let control: any = this.businessForm.get('partners') as FormArray;\n value=='Others' ? control.controls[key].addControl('partner_other_name', new FormControl('', Validators.required)) : control.controls[key].removeControl('partner_other_name');\n }\n\n createDesignation(): FormGroup {\n return this.fb.group({\n sec_name: ['', Validators.compose([Validators.required])],\n sec_designation: ['', Validators.compose([Validators.required])],\n });\n}\nkeyPress(event: any) {\n const pattern = /[0-9]/;\n\n let inputChar = String.fromCharCode(event.charCode);\n if (event.keyCode != 8 && !pattern.test(inputChar)) {\n event.preventDefault();\n }\n }\n getWorkExperience(event, key) {\n let current_experience = event.current_business_experiance_year=='' ? 0 : parseInt(event.current_business_experiance_year);\n let total_experience = event.total_business_experiance=='' ? 0 : parseInt(event.total_business_experiance);\n let control: any = this.businessForm.get('partners') as FormArray;\n if(total_experience > current_experience) {\n control.controls[key].addControl('total_business_previous_experience', new FormControl('', Validators.required))\n }\n else if(total_experience < current_experience) {\n //control.controls[key].controls['total_business_experiance'].setValue(current_experience);\n control.controls[key].removeControl('total_business_previous_experience')\n }\n\n else {\n control.controls[key].removeControl('total_business_previous_experience')\n }\n // let total ;\n // if(control.length > 0){\n // total = control.value.reduce((sum, val) => sum + +val.current_business_experiance_year, 0);\n // this.businessForm.controls.business_years.setValidators([Validators.required, Validators.min(+total)]);\n // this.businessForm.controls.business_years.updateValueAndValidity();\n // }\n}\nConvertMonthintoYear(itemrow,e){\n\n let year = itemrow.controls.current_business_experiance_year.value;\n \n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n itemrow.controls.current_business_experiance_year.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.current_business_experiance_month.setValue(Math.floor(converted_month));\n \n}\n\n\n\ncreatePartners(): FormGroup {\n return this.fb.group({\n partner_name: ['', Validators.compose([Validators.required])],\n // partner_other_name:[''],\n shareholding:[''],\n started_business:[''],\n current_business_experiance_year:[''],\n current_business_experiance_month:[''],\n total_business_experiance:[''],\n total_business_previous_experience:['']\n /* shareholding: ['', Validators.compose([Validators.required])],\n current_business_experiance: ['', Validators.compose([Validators.required])],\n total_business_experiance: ['', Validators.compose([Validators.required])],*/\n });\n}\ncreateRelationShip(): FormGroup {\n return this.fb.group({\n family_member_salutation:[''],\n family_member_name:[''],\n other_family_relationship_id:[''],\n relation_to_id:[''],\n relationship_with_company_id:[''],\n started_business:['']\n });\n}\ncreateBusinessActivity(details):FormGroup {\n return this.fb.group({\n type_of_activity_id: [details.type_of_activity_id, Validators.compose([Validators.required])],\n name: [details.name, Validators.compose([Validators.required])],\n exist_status:[details.exist_status==1 ? true : false]\n });\n}\ncreateServiceActivity(): FormGroup {\n return this.fb.group({\n main_products: ['', Validators.compose([Validators.required])],\n area_of_sale: ['', Validators.compose([Validators.required])],\n description: ['']\n });\n}\ncreateOthersActivity(): FormGroup {\n return this.fb.group({\n others_details: ['', Validators.compose([Validators.required])]\n });\n}\nmanufactureDetails():FormGroup{\n return this.fb.group({\n main_products:[''],\n area_of_sale:[''],\n description:['']\n // pan_india_options:[''],\n // india_where_sale_done:this.fb.array([]),\n //max_sale_state_name:this.fb.array([]),\n //countries_where_export_done:this.fb.array([])\n })\n}\nindiaSalesDone():FormGroup{\n return this.fb.group({\n state_name:[''],\n city_name:['']\n })\n}\nmaxSaleState():FormGroup{\n return this.fb.group({\n state_name:[''],\n city_name:['']\n })\n}\ncreateDocument() {\n return this.fb.group({\n document: ['']\n });\n}\naddDesignation() {\n const control = this.businessForm.controls['designation'];\n control.push(this.createDesignation());\n}\ndeleteDesignation(index) {\n const control = this.businessForm.controls['designation'];\n if(control.length==1){\n this.businessForm.controls['designation'].reset();\n }else{\n control.removeAt(index);\n }\n}\naddPartnerDetails(event) {\n const control = this.businessForm.controls['partners'];\n event.stopPropagation()\n let length = control.length;\n this.step = length;\n \n control.push(this.createPartners());\n}\naddPersonRelationship(event){\n event.stopPropagation()\n const control=this.businessForm.controls['persons_with_relationships']\n let length=control.length\n this.step=length\n control.push(this.createRelationShip());\n}\ndeletePersonRelationship(index){\n const control=this.businessForm.controls['persons_with_relationships'];\n control.removeAt(index)\n}\ndeletePartnerDetails(index) {\n const control = this.businessForm.controls['partners'];\n if(control.length==1){\n this.businessForm.controls['partners'].reset();\n }else{\n control.removeAt(index);\n }\n}\naddMoreManufacturing() {\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\n manufacturingControl.push(this.manufactureDetails());\n}\nremoveManufacturing(index){\n let manufacturingControl = this.businessForm.controls['manufacturing_activity_details'];\n if(manufacturingControl.length>1){\n manufacturingControl.removeAt(index)\n }\n else{\n manufacturingControl.reset();\n }\n}\naddMoreRetail(){\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\n retailControl.push(this.manufactureDetails());\n}\nremoveRetail(index){\n let retailControl=this.businessForm.controls['retail_trading_activity_details'];\n if(retailControl.length>1){\n retailControl.removeAt(index)\n }\n else{\n retailControl.reset();\n }\n}\naddMoreWholesale() {\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\n wholesaleControl.push(this.manufactureDetails());\n}\nremoveWholesale(index){\n let wholesaleControl = this.businessForm.controls['wholesale_trading_activity_details'];\n if(wholesaleControl.length>1){\n wholesaleControl.removeAt(index)\n }\n else{\n wholesaleControl.reset();\n }\n}\naddMoreServiceprovider() {\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\n serviceControl.push(this.manufactureDetails());\n}\nremoveServiceProvider(index){\n let serviceControl = this.businessForm.controls['service_provider_activity_details'];\n if(serviceControl.length>1){\n serviceControl.removeAt(index)\n }\n else{\n serviceControl.reset();\n }\n}\naddMoreOthersActivity(){\n let othersControl = this.businessForm.controls['others_activity_details'];\n othersControl.push(this.createOthersActivity());\n}\ncreateCountrySale() {\n return this.fb.group({\n country_name: ['',Validators.compose([Validators.required])],\n approx_sale: ['', Validators.compose([Validators.required])]\n }); \n}\n\naddMoreState(mindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.push(this.indiaSalesDone())\n }\n else if(type==2){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\n control.push(this.createCountrySale())\n }\n \n\n}\nremoveState(mindex,sindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.removeAt(sindex);\n }\n else if(type==2){\n let control: any = this.businessForm.get('manufacturing_activity_details') as FormArray;\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\n control.removeAt(sindex);\n }\n}\n\naddRetailMoreState(rindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control = control.controls[rindex].get('india_where_sale_done') as FormArray;\n control.push(this.indiaSalesDone())\n }\n else if(type==2){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control = control.controls[rindex].get('countries_where_export_done') as FormArray;\n control.push(this.createCountrySale())\n }\n}\nremoveRetailState(mindex,sindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.removeAt(sindex);\n }\n else if(type==2){\n let control: any = this.businessForm.get('retail_trading_activity_details') as FormArray;\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\n control.removeAt(sindex);\n }\n}\n// add more whole sale state\naddWholesaleMoreState(windex,type) {\n if(type==1){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control = control.controls[windex].get('india_where_sale_done') as FormArray;\n control.push(this.indiaSalesDone())\n }\n else if(type==2){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control = control.controls[windex].get('countries_where_export_done') as FormArray;\n control.push(this.createCountrySale())\n }\n\n}\n// remove for whole sale\nremoveWholesaleState(mindex,sindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control = control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.removeAt(sindex);\n }\n else if(type==2){\n let control: any = this.businessForm.get('wholesale_trading_activity_details') as FormArray;\n control = control.controls[mindex].get('countries_where_export_done') as FormArray;\n control.removeAt(sindex);\n }\n}\n // add more service provider\n addServiceMoreState(sindex,type) {\n if(type==1){\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\n control = control.controls[sindex].get('india_where_sale_done') as FormArray;\n control.push(this.indiaSalesDone())\n }\n else if(type==2){\n let control: any = this.businessForm.get('service_provider_activity_details') as FormArray;\n control = control.controls[sindex].get('countries_where_export_done') as FormArray;\n control.push(this.createCountrySale())\n }\n }\n \n // remove service provider\n\nremoveServiceState(mindex,sindex,type){\n if(type==1){\n let control:any=this.businessForm.get('service_provider_activity_details') as FormArray;\n control=control.controls[mindex].get('india_where_sale_done') as FormArray;\n control.removeAt(sindex);\n }\n else if(type==2){\n let control1:any=this.businessForm.get('service_provider_activity_details') as FormArray;\n control1=control1.controls[mindex].get('countries_where_export_done') as FormArray\n control1.removeAt(sindex)\n }\n}\naddDocuments() {\n const control = this.businessForm.controls['documents'];\n control.push(this.createDocument());\n}\ndeleteDocuments(index) {\n const control = this.businessForm.controls['documents'];\n if(control.length==1){\n this.businessForm.controls['documents'].reset();\n }else{\n control.removeAt(index);\n }\n}\n\nrelationChanged(event) {\n this.relativeNames = [];\n event.value.forEach(option => {\n this.relativeNames.push({member: option});\n });\n}\ncreatePOSMachinesDetails(data){\n if(data==null){\n return this.fb.group({\n pos_machines_financial_institution_name: [''],\n tid_no_of_pos_machine: [''],\n })\n }\n else{\n return this.fb.group({\n pos_machines_financial_institution_name: [data.pos_machines_financial_institution_name],\n tid_no_of_pos_machine: [data.tid_no_of_pos_machine],\n })\n }\n}\n\n public initBusinessForm(): void {\n this.businessForm = this.fb.group({\n pdid: this.pdDetails.pd_id,\n formid: this.FormId.form_id,\n fk_createdby: this.users,\n profession_name: ['', Validators.compose([Validators.required])],\n business_years: ['', Validators.compose([Validators.required])],\n industry: ['', Validators.compose([Validators.required])],\n type_of_activity: ['', Validators.compose([Validators.required])],\n seasonality: ['', Validators.compose([Validators.required])],\n designation: this.fb.array([]),\n partners: this.fb.array([]),\n employees_total: ['', Validators.compose([Validators.required])],\n employees_permanent: ['', Validators.compose([Validators.required])],\n employees_temporary: ['', Validators.compose([Validators.required])],\n officer_total: ['', Validators.compose([Validators.required])],\n officer_permanent: ['', Validators.compose([Validators.required])],\n officer_temporary: ['', Validators.compose([Validators.required])],\n invested_amount: ['', Validators.compose([Validators.required])],\n working_capital: ['', Validators.compose([Validators.required])],\n is_service_provided: ['', Validators.compose([Validators.required])],\n ownership_setup: ['', Validators.compose([Validators.required])],\n ownership_others: [''],\n rent_paid: [''],\n shop_eat_act_cert: ['', Validators.compose([Validators.required])],\n gst_Regn_cert: ['', Validators.compose([Validators.required])],\n export_import_cert: ['', Validators.compose([Validators.required])],\n factory_cert: ['', Validators.compose([Validators.required])],\n practice_cert: ['', Validators.compose([Validators.required])],\n pf_regn: ['', Validators.compose([Validators.required])],\n esic_regn: ['', Validators.compose([Validators.required])],\n other_documents: ['', Validators.compose([Validators.required])],\n documents: this.fb.array([]),\n business_remarks: ['', Validators.compose([Validators.required])],\n who_started: ['', Validators.compose([Validators.required])],\n main_person: ['', Validators.compose([Validators.required])],\n other_main_person: [''],\n family_members_involved: ['', Validators.compose([Validators.required])],\n before_business: ['', Validators.compose([Validators.required])],\n any_delays: ['', Validators.compose([Validators.required])],\n });\n}\n\nsubmitDetails() {\n\n if(this.EntityTypeFlag == true){\n let control: any = this.businessForm.controls['partners'];\n let control2:any = control.controls[0];\n\n control2.controls['shareholding'].clearValidators();\n control2.controls['shareholding'].updateValueAndValidity();\n control2.controls['shareholding'].setValue('100');\n\n \n // control.controls[0].removeControl('shareholding');\n // control.controls[0].removeControl('started_business');\n // control.controls[0].removeControl('current_business_experiance_year');\n // control.controls[0].removeControl('current_business_experiance_month');\n // control.controls[0].removeControl('total_business_experiance');\n \n control2.controls['started_business'].setValue('');\n\n control2.controls['current_business_experiance_year'].clearValidators();\n control2.controls['current_business_experiance_year'].updateValueAndValidity();\n control2.controls['current_business_experiance_year'].setValue('');\n\n control2.controls['current_business_experiance_month'].setValue('');\n\n control2.controls['total_business_experiance'].clearValidators();\n control2.controls['total_business_experiance'].updateValueAndValidity();\n control2.controls['total_business_experiance'].setValue('');\n // if(control2.controls['total_business_previous_experience'].value !=undefined){\n // control2.controls['total_business_previous_experience'].clearValidators();\n // control2.controls['total_business_previous_experience'].updateValueAndValidity();\n // control2.controls['total_business_previous_experience'].setValue('0');\n // }\n\n }\n\n \n let family: any = [];\n \n let design: any;\n //let records={'pdid':this.pdDetails.pd_id,'formid':this.FormId,'fk_createdby':this.users};\n let records:any;\n // records.pdid = this.pdDetails.pd_id;\n // records.formid = this.FormId;\n // records.fk_createdby = this.users;\n records=this.businessForm.value;\n\n //if(records.persons_with_relationships=='')\n if (records.other_documents == 'no') {\n delete records.documents;\n }\n if (records.rent_paid == '') {\n delete records.rent_paid;\n }\n if (records.ownership_others == '') {\n delete records.ownership_others;\n }\n // records.family_members_involved = this.relativeNames;\n \n\n let validationFlag : number = 0;\n\n //type 1: Checking manufacturing_activity_details \n if(records.manufacturing_activity_details.length > 0){\n\n records.manufacturing_activity_details.forEach((val,index) => {\n if(val.area_of_sale!= \"Within India\"){ \n let ManufacturingArray = Object.keys(val.countries_where_export_done).map(function (key) {\n return val.countries_where_export_done[key];\n });\n let total = ManufacturingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\n if(total > 100 || total < 100){\n validationFlag++;\n }\n }\n });\n \n \n }\n\n //type 3 checking wholesale_trading_activity_details\n if(records.wholesale_trading_activity_details.length > 0){\n\n records.wholesale_trading_activity_details.forEach((val,index) => {\n if(val.area_of_sale != \"Within India\"){ \n let WholesaleTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\n return val.countries_where_export_done[key];\n });\n let total = WholesaleTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\n if(total > 100 || total < 100){\n validationFlag++;\n }\n }\n });\n \n }\n\n //type 2 checking retail_trading_activity_details\n if(records.retail_trading_activity_details.length > 0){\n\n records.retail_trading_activity_details.forEach((val,index) => {\n if(val.area_of_sale != \"Within India\"){ \n let RetailTradingArray = Object.keys(val.countries_where_export_done).map(function (key) {\n return val.countries_where_export_done[key];\n });\n let total = RetailTradingArray.reduce((sum, item) => sum + +item.approx_sale, 0);\n if(total > 100 || total < 100){\n validationFlag++;\n }\n }\n });\n \n }\n\n\n //type 4 checking service_provider_activity_details\n if(records.service_provider_activity_details.length > 0){\n\n records.service_provider_activity_details.forEach((val,index) => {\n if(val.area_of_sale != \"Within India\"){\n \n let ServiceProviderArray = Object.keys(val.countries_where_export_done).map(function (key) {\n return val.countries_where_export_done[key];\n });\n let total = ServiceProviderArray.reduce((sum, item) => sum + +item.approx_sale, 0);\n if(total > 100 || total < 100){\n validationFlag++;\n }\n }\n });\n \n }\n\n //validationFlag is greater then 0 means its display the notifer as warning\n if(validationFlag > 0){\n this.toast.pdTriggerappmessage(\"warning!! Approximate sales doesn't add upto 100%\");\n return;\n }\n\n records.select_business_activity_type = records.select_business_activity_type.filter(value=>value.exist_status==1);\n this.qustCat.saveForm(records).subscribe(data => {\n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },3000);\n }\n });\n}\n getBuisnessDetails()\n {\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.FormId.form_id}; \n this.qustCat.retiverForm(records).subscribe(data => {\n let businessVal = data['records'];\n \n let constVal: any;\n const Desgn = this.businessForm.controls['designation'];\n const Partnr = this.businessForm.controls['partners'];\n const otherDoc = this.businessForm.controls['documents'];\n\n if (data['status'] == 200) {\n let DocArray: any;\n let DesgnArray = Object.keys(data['records'].designation).map(function (key) {\n return data['records'].designation[key];\n });\n let PartnrArray = Object.keys(data['records'].partners).map(function (key) {\n return data['records'].partners[key];\n });\n\n let selectedMembers = Object.keys(data['records'].family_members_involved).map(function (key) {\n return data['records'].family_members_involved[key];\n });\n let enduse: any = [];\n let existRelative: any =[];\n selectedMembers.forEach(val => {\n enduse.push(val.member);\n existRelative.push(val);\n });\n this.relativeNames = existRelative;\n if (DesgnArray.length == 0) {\n Desgn.push(this.createDesignation());\n } else {\n DesgnArray.forEach(datas => {\n Desgn.push(this.createDesignation());\n });\n \n }\n if (PartnrArray.length == 0) {\n Partnr.push(this.createPartners());\n } else {\n PartnrArray.forEach(datas => {\n Partnr.push(this.createPartners());\n });\n }\n if (data['records'].other_documents == 'yes') {\n DocArray = Object.keys(data['records'].documents).map(function (key) {\n return data['records'].documents[key];\n });\n DocArray.forEach(datas => {\n otherDoc.push(this.createDocument());\n });\n } else {\n DocArray = [{document: ''}];\n otherDoc.push(this.createDocument());\n }\n if (data['records'].ownership_setup != 'others') {\n businessVal.ownership_others = '';\n }\n if (data['records'].ownership_setup != 'rented') {\n businessVal.rent_paid = '';\n }\n businessVal.family_members_involved = enduse;\n businessVal.pdid = this.pdDetails.pd_id;\n businessVal.formid = this.FormId.form_id;\n businessVal.fk_createdby = this.users;\n businessVal.designation = DesgnArray;\n businessVal.partners = PartnrArray;\n businessVal.documents = DocArray;\n\n this.businessForm.setValue(businessVal);\n } else {\n Desgn.push(this.createDesignation());\n Partnr.push(this.createPartners());\n otherDoc.push(this.createDocument());\n }\n\n });\n }\n setStep(index: number) {\n this.step = index;\n}\ninWords(e,flag){\n switch(flag){\n case 1 : \n this.appxSalaryAmtInwords = this.cons.convertNumberToWords(e.target.value);\n break;\n }\n }\n ManufacturingCounterArray: any = [];\nRetailCounterArray: any = [];\nWholeSaleCounterArray: any = [];\nServiceCounterArray: any = [];\n\n CheckExport(value,stringFlag,index){\n //this.ExportFlag=false\n const parentControl = this.businessForm.controls['select_business_activity_type'];\n const childControl = parentControl.controls[0];\n\n\n // childControl.forEach((datas,index) => {\n \n \n // // exist_status==true && event.value.type_of_activity_id\n\n // });\n\n \n\n \n \n if(!this.ManufacturingChecked){\n // console.log(\"Manu\")\n if(stringFlag == 'MActivity' && value == \"Both\"){\n this.ManufacturingCounterArray[index] = 1;\n }\n else if(stringFlag == 'MActivity' && value != \"Both\"){\n this.ManufacturingCounterArray[index] = 0;\n }\n }else if (this.ManufacturingChecked && stringFlag == 'MActivity'){\n // console.log(\"manu\");\n this.ManufacturingCounterArray[index] = 0;\n }\n\n if(!this.RetailedChecked){ \n if(stringFlag == 'RActivity' && value == \"Both\"){\n this.RetailCounterArray[index] = 1;\n }\n else if(stringFlag == 'RActivity' && value != \"Both\"){\n this.RetailCounterArray[index] = 0;\n }\n }\n else if(stringFlag == 'RActivity' && this.RetailedChecked){\n this.RetailCounterArray[index] = 0;\n }\n\n if(!this.WholeSalesChecked){\n if(stringFlag == 'WActivity' && value == \"Both\"){\n this.WholeSaleCounterArray[index] = 1;\n }\n else if(stringFlag == 'WActivity' && value != \"Both\"){\n this.WholeSaleCounterArray[index] = 0;\n }\n }\n else if(stringFlag == 'WActivity' && this.WholeSalesChecked){\n this.WholeSaleCounterArray[index] = 0;\n }\n \n if(!this.ServiceChecked){\n \n if(stringFlag == 'SPActivity' && value == \"Both\")\n { \n this.ServiceCounterArray[index] = 1;\n }\n else if(stringFlag == 'SPActivity' && value != \"Both\"){\n this.ServiceCounterArray[index] = 0;\n }\n\n }else if(stringFlag == 'SPActivity'){\n this.ServiceCounterArray[index] = 0;\n } \n\n let SumOfManufacturingCounter = this.ManufacturingCounterArray.reduce((sum, val) => sum + +val, 0);\n \n let SumOfRetailCounter = this.RetailCounterArray.reduce((sum, val) => sum + +val, 0);\n \n let SumOfWholeSaleCounter = this.WholeSaleCounterArray.reduce((sum, val) => sum + +val, 0);\n \n let SumOfServiceCounter = this.ServiceCounterArray.reduce((sum, val) => sum + +val, 0);\n \n\n let overallCounter = SumOfManufacturingCounter + SumOfRetailCounter + SumOfWholeSaleCounter + SumOfServiceCounter ;\n \n\n this.ExportFlag = overallCounter > 0 ? true : false ;\n // console.log(this.ExportFlag);\n //console.log(overallCounter)\n\n}\nchangePOSMachinesAvailablity(e, flag) {\nconsole.log(e)\n e == 'yes'\n ? this.businessForm.addControl('no_of_pos_machines', new FormControl(''))\n : this.businessForm.removeControl('no_of_pos_machines');\n\n if (flag == 2) {\n e == 'yes'\n ? this.businessForm.controls.no_of_pos_machines.setValue('')\n : this.businessForm.removeControl('no_of_pos_machines');\n }\n\n}\ntoGetPOSMachinesDetails(e,flag){\n\n if(flag == 1){ this.businessForm.addControl('pos_machines_details', this.fb.array([])); }\n const control = this.businessForm.controls['pos_machines_details'];\n\n while (control.length !== 0) {\n control.removeAt(0);\n }\n\n if(e > 0 ){\n if(flag == 1){\n for(let i = 1 ; i<= e ; i++ ){\n control.push(this.createPOSMachinesDetails(null));\n }\n }\n else if(flag == 2){\n for(let i = 1 ; i<= e ; i++ ){\n control.push(this.createPOSMachinesDetails(this.temp_additiondetailofposmachine));\n }\n }\n }\n }\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../../providers/aws-service/aws-service'\nimport { FormGroup,FormBuilder,FormArray, Validators} from '@angular/forms';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\nimport { ConstantsProvider } from '../../../../providers/constants/constants'\nimport { ToastProvider } from '../../../../providers/common-provider/toast'\nimport { controlNameBinding } from '@angular/forms/src/directives/reactive_directives/form_control_name';\n\n/**\n * Generated class for the PdQuestionBusinessAssetsPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-business-assets',\n templateUrl: 'pd-question-business-assets.html',\n})\nexport class PdQuestionBusinessAssetsPage {\n currentYear:any=new Date().getFullYear();\n\n public m_any_asset_loan_type = [{'value': \"yes\",'viewValue': \"Yes\"},\n {'value': \"no\",'viewValue': \"No\"},\n {'value': \"nan\",'viewValue': \"NA\"}]\n\n company_id:any;\n pdDetails:any;\n formDetails : any;\n users:any;\n _businessAssetsQuesFrom:FormGroup;\n m_assets_type:any;\n m_propertyType:any;\n AssetValueInwords:any=[];\n appxMarketAmtInwords:any=[];\n RentAmtInwords:any=[]\n mergeCompanyApplicant:any=[];\n existCompanyList:any=[]\n applicants:any;\n data_all:any;\n CustSegAbbr: any;\n generalExistBusinessYear:Number;\n generalExistBusinessMonth:Number;\n yearErrorMessage: any=[];\n monthErrorMessage: any=[];\n addressLabel: any=[];\n placeholderName : any = []\n m_address_type:any=[]\n pageTitle: string;\n main_applicant: any;\n lender_applicant_id: any;\n subproduct_abbr: any;\n customer_segment_abbr: any;\n RentAmtInwordsForAddress: any =[];\n appxMarketAmtInwordsForAddress: any =[];\n isOtherOwnerForAddress : boolean = false;\n isOtherOwner: boolean = false;\n public m_vehicle_type = [];\n \n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public fb:FormBuilder,public qustcat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\n \n \n this.pdDetails=this.navParams.get('pdDetails');\n this.formDetails=this.navParams.get('formDetails');\n this.users=this.aws.getlocale();\n this.company_id=this.pdDetails.company_id;\n this.applicants = this.pdDetails.applicat_details;\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'});\n this.generalExistBusinessYear = this.pdDetails.business_years;\n this.generalExistBusinessMonth = this.pdDetails.business_month;\n this.pageTitle = this.pdDetails.company_name + ' - ' +this.pageTitle ;\n this.main_applicant = this.pdDetails.applicant_name;\n this.lender_applicant_id = this.pdDetails.lender_applicant_id;\n this.subproduct_abbr = this.pdDetails.subproduct_abbr;\n this.customer_segment_abbr = this.pdDetails.customer_segment_abbr;\n this.getDropDown()\n \n \n \n \n \n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBusinessAssetsPage');\n this.getDetails()\n //this.getAddress()\n }\n getAddress(){\n let params:any={};\n params.pd_id=this.pdDetails.pd_id;\n params.pd_form_id='5'\n\n this.qustcat.retiverForm(params).subscribe(data => {\n const control= this._businessAssetsQuesFrom.controls['business_assets_for_address'];\n if(data['status'] == 200) {\n \n \n if(data['records'].addresses.length > 0){\n data['records'].addresses.forEach((data,inx)=>{\n\n \n this.addressLabel[inx] = '';\n \n let selectedAddressType = this.m_address_type.filter(element =>element.address_type_id == data.address_type)[0];\n let address = data.address;\n let addressType = data.address_type != 1 ? selectedAddressType.address_type : data.address_type_others;\n \n this.placeholderName[inx] = 'Was any business activity seen at the '+addressType+' during PD visit?';\n let addressLabel = \" : \"+address+' / '+addressType ;\n let values={\n address_label:addressLabel,\n business_years: '',\n business_month: '',\n business_address_availability: '',\n business_is_pd_visited: '',\n business_pd_visited_remark: '', \n business_approximate_market_value: '',\n business_ownership_type: '',\n business_monthly_rented_amt: '',\n business_name_of_the_owner: '',\n business_name_of_the_other_owner: '',\n business_vintage: '',\n business_purchase_year: '',\n business_emi: ''\n }\n control.push(this.initBusinessDetailsWithdata(values));\n })\n }\n else{\n control.push(this.initBusinessDetails())\n }\n }\n else{\n control.push(this.initBusinessDetails());\n }\n });\n }\n getDropDown(){\n this.qustcat.getcommondrop('ADDRESSTYPE').subscribe(data=>{\n this.m_address_type=data['records'].filter(val=>val.isactive == 1);\n })\n this.qustcat.getcommondrop('VEHICLETYPE').subscribe(\n data => {\n this.m_vehicle_type = data['records'].filter(data => data.is_active == 1);\n })\n \n this.qustcat.getcommondrop('ASSETTYPE').subscribe(data=>{\n this.m_assets_type=data['records'].filter(val=>val.isactive==1 && val.flag==1);\n \n })\n\n this.qustcat.getcommondrop('PROPERTIES').subscribe(data=>{\n this.m_propertyType=data['records'].filter(val=>val.isactive==1)\n })\n\n this.qustcat.getCompaniesListsForBusiness(this.pdDetails.pd_id).subscribe(data=>{\n if(data.dataStatus){\n this.existCompanyList=data['records'].filter(val=>val.is_active==true);\n \n }\n \n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n }\n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList})\n\n }\n })\n\n \n \n }\n apiLoadFinish:boolean=false\n getDetails(){\n let params:any={};\n params.pd_id=this.pdDetails.pd_id\n params.company_id=this.company_id\n params.pd_form_id=22\n this.qustcat.retiverForm(params).subscribe(res=>{\n \n if(res['dataStatus']==true){\n \n //this.data_all=res['records']\n /* var assestArray=Object.keys(res['records'].business_assets_details).map(function(key){\n return res['records'].business_assets_details[key]\n });\n \n //this.formLoadData(assestArray)\n this._businessAssetsQuesFrom.controls['business_assets_form_remark'].setValue(res['records'].business_assets_form_remark);\n if(assestArray.length>0){\n for(let val of assestArray){\n let formData={\n business_assets_mode: val.business_assets_mode,\n business_approximate_market_value: val.business_approximate_market_value,\n business_name_of_the_owner: val.business_name_of_the_owner,\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\n business_purchase_year: val. business_purchase_year,\n business_vintage : val.business_vintage,\n business_emi: val.business_emi,\n };\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.push(this.initBusinessDetailsWithdata(formData));\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length- 1)\n }\n }*/\n this.formLoadData(res['records'])\n }\n\n \n else{\n this.formLoadData(null);\n }\n this.apiLoadFinish=true\n \n \n })\n //this.formLoadData(null);\n \n }\n \n formLoadData(data){\n if(data==null){\n this._businessAssetsQuesFrom=this.fb.group({\n pdid: [this.pdDetails.pd_id],\n /* formid: ['22'],*/\n formid: [this.formDetails.form_id],\n company_id : [this.company_id],\n fk_createdby:[this.users],\n \n business_assets_for_address: this.fb.array([]),\n //this.createBusinessAssetsForAddress(),\n business_assets_details : this.fb.array([\n this.initBusinessDetails(),\n ]),\n business_assets_form_remark:['']\n });\n this.getAddress();\n this.loadDetails=true;\n }\n else{\n \n let value=data;\n this._businessAssetsQuesFrom=this.fb.group({\n pdid: [this.pdDetails.pd_id],\n /* formid: ['22'],*/\n formid: [this.formDetails.form_id],\n company_id : [this.company_id],\n fk_createdby:[this.users],\n // business_years:[value.business_years],\n // business_month:[value.business_month],\n // business_address_availability:[value.business_address_availability],\n // business_is_pd_visited:[value.business_is_pd_visited],\n // business_pd_visited_remark:[value.business_pd_visited_remark],\n business_assets_for_address: this.fb.array([]),\n business_assets_details : this.fb.array([]),\n business_assets_form_remark:[value.business_assets_form_remark || '']\n });\n // if (value.business_assets_for_address.business_address_availability == 'yes') {\n \n // this.addBusinessAssetsForAddress(value.business_assets_for_address);\n // }\n // else {\n // const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\n // control.push(this.createBusinessAssetsForAddress());\n // } \n // this.addBusinessAssetsDetailsWithData(value.business_assets_details);\n this.addBusinessAssetsForAddress(value.business_assets_for_address);\n this.addBusinessAssetsDetailsWithData(value.business_assets_details);\n }\n\n this.loadDetails=true\n }\n\n initBusinessDetails(){\n return this.fb.group({\n address_label:[''],\n business_assets_mode:[''],\n business_details: this.fb.array([]),\n \n business_years:[''],\n business_month:[''],\n business_address_availability:[''],\n business_is_pd_visited:[''],\n business_pd_visited_remark:[''],\n \n business_approximate_market_value: [''],\n business_ownership_type:[''],\n business_monthly_rented_amt:[''],\n business_name_of_the_owner: [],\n business_name_of_the_other_owner: [],\n business_vintage: [''],\n business_purchase_year: ['',Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\n business_emi: [''],\n \n })\n }\n loadProperty() {\n return this.fb.group({\n property_type: [''],\n other_property_type: [''],\n address_of_the_property: ['']\n });\n }\n load_Four_Weeler() {\n return this.fb.group({\n manufacturer_model_vehicle: [''],\n vehicle_type: [''],\n other_vehicle_type: ['']\n });\n }\n loadEquipmentManufacturingDescription() {\n return this.fb.group({\n equipment_manufacturing_description: ['']\n });\n }\n otherBusinessAssetsDescription() {\n return this.fb.group({\n any_other_assets: [''],\n any_other_asset_value : [''],\n any_other_asset_loan : [''], \n });\n }\n\n /** Add More Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\n addAssetDetails(e) {\n \n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.push(this.initBusinessDetails());\n \n }\n /** To remove The Added Asset using Flag Both \"Other Asset\" And \"Business Asset\" */\n removeAssetsDetails(i: number) {\n \n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.removeAt(i);\n\n}\n\ncreateBusinessAssetsForAddress(): FormGroup {\n return this.fb.group({\n address_label:[''],\n business_years:[''],\n business_month:[''],\n business_address_availability:[''],\n business_is_pd_visited:[''],\n business_pd_visited_remark:[''],\n\n business_approximate_market_value: [''],\n business_ownership_type: [''],\n business_monthly_rented_amt: [''],\n business_name_of_the_owner: [''],\n business_name_of_the_other_owner: [''],\n business_vintage: [''],\n business_purchase_year: ['', Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\n business_emi: ['']\n });\n}\n\n selectedAssetsType(e: any, i: any): void {\n let val = i;\n const arr = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\n arr.controls.splice(0);\n \n switch (e.value) {\n case '1': {\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.otherBusinessAssetsDescription());\n break;\n }\n case '2': {\n let val = i;\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.loadProperty());\n break;\n }\n case '3': {\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.load_Four_Weeler());\n break;\n }\n case '4': {\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.loadEquipmentManufacturingDescription());\n break;\n }\n \n default: {\n break;\n }\n }\n }\n\n loadPropertyWithData(data) { \n return this.fb.group({\n property_type: [data.property_type],\n other_property_type: [data.other_property_type],\n address_of_the_property: [data.address_of_the_property],\n });\n }\n load_Four_WeelerWithData(data){\n return this.fb.group({\n manufacturer_model_vehicle: [data.manufacturer_model_vehicle],\n vehicle_type: [data.vehicle_type],\n other_vehicle_type: [data.other_vehicle_type]\n })\n }\n\n loadEquipmentManufacturingDescriptionWithData(data) {\n return this.fb.group({\n equipment_manufacturing_description: [data.equipment_manufacturing_description]\n });\n }\n otherBusinessAssetsDescriptionWithData(data) {\n return this.fb.group({\n any_other_assets: [data.any_other_assets],\n any_other_asset_loan : [data.any_other_asset_loan],\n });\n }\n\n loadDetails:boolean\n addBusinessAssetsForAddress(data) {\n var result = Object.keys(data).map(function (key) {\n return data[key];\n });\n if (result.length > 0) {\n result.forEach((datas, index) => {\n this.RentAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_monthly_rented_amt);\n this.appxMarketAmtInwordsForAddress[index] = this.cons.convertNumberToWords(datas.business_approximate_market_value);\n let Avaliablity = 1;\n \n if(datas.business_name_of_the_owner.length > 0){\n datas.business_name_of_the_owner.forEach(option => {\n if(option.id == 0 && option.group_id == 2){\n Avaliablity = option.id;\n }\n });\n }\n this.isOtherOwnerForAddress = Avaliablity == 0 ? true : false;\n });\n\n for (let val of result) {\n let vals = {\n address_label:val.address_label,\n business_years:val.business_years,\n business_month:val.business_month,\n business_address_availability:val.business_address_availability,\n business_is_pd_visited:val.business_is_pd_visited,\n business_pd_visited_remark:val.business_pd_visited_remark,\n\n business_approximate_market_value: val.business_approximate_market_value,\n business_ownership_type: val.business_ownership_type,\n business_monthly_rented_amt: val.business_monthly_rented_amt,\n business_name_of_the_owner: val.business_name_of_the_owner,\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\n business_vintage: val.business_vintage,\n business_purchase_year: val.business_purchase_year,\n business_emi: val.business_emi\n };\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\n control.push(this.createBusinessAssetsForAddressWithData(vals));\n }\n } else {\n const control = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\n control.push(this.createBusinessAssetsForAddress());\n }\n }\n addBusinessAssetsDetailsWithData(supp_data){\n var result=Object.keys(supp_data).map(function(key){\n return supp_data[key];\n })\n \n if(result.length>0){\n result.forEach((datas,index)=>{\n this.appxMarketAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_approximate_market_value)\n this.RentAmtInwords[index]=this.cons.convertNumberToWords(+datas.business_monthly_rented_amt);\n });\n for(let val of result){\n let formData={\n address_label:val.address_label,\n business_assets_mode: val.business_assets_mode,\n\n business_years:val.business_year,\n business_month:val.business_month,\n business_address_availability:val.business_address_availability,\n business_is_pd_visited:val.business_is_pd_visited,\n business_pd_visited_remark:val.business_pd_visited_remark,\n\n business_approximate_market_value: val.business_approximate_market_value,\n business_ownership_type:val.business_ownership_type,\n business_monthly_rented_amt:val.business_monthly_rented_amt,\n business_name_of_the_owner: val.business_name_of_the_owner,\n business_name_of_the_other_owner: val.business_name_of_the_other_owner,\n business_purchase_year: val. business_purchase_year,\n business_vintage : val.business_vintage,\n business_emi: val.business_emi,\n };\n const control = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.push(this.initBusinessDetailsWithdata(formData));\n this.setBusinessAssetsDetailsWithData(formData.business_assets_mode, val.business_details, control.length - 1)\n }\n \n }\n this.loadDetails=true\n }\n\n createBusinessAssetsForAddressWithData(data): FormGroup {\n return this.fb.group({\n address_label:[data.address_label],\n business_years:[data.business_years],\n business_month:[data.business_month],\n business_address_availability:[data.business_address_availability],\n business_is_pd_visited:[data.business_is_pd_visited],\n business_pd_visited_remark:[data.business_pd_visited_remark],\n\n business_approximate_market_value: [data.business_approximate_market_value],\n business_ownership_type: [data.business_ownership_type],\n business_monthly_rented_amt: [data.business_monthly_rented_amt],\n business_name_of_the_owner: [data.business_name_of_the_owner],\n business_name_of_the_other_owner: [data.business_name_of_the_other_owner],\n business_vintage: [data.business_vintage],\n business_purchase_year: [data.business_purchase_year, Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\n business_emi: [data.business_emi]\n });\n }\n\n initBusinessDetailsWithdata(data) {\n \n\n let formGroup= this.fb.group({\n address_label:[data.address_label],\n business_assets_mode: [data.business_assets_mode],\n \n business_years:[data.business_year],\n business_month:[data.business_month],\n business_address_availability:[data.business_address_availability],\n business_is_pd_visited:[data.business_is_pd_visited],\n business_pd_visited_remark:[data.business_pd_visited_remark],\n\n business_details: this.fb.array([]),\n business_approximate_market_value: [data.business_approximate_market_value],\n business_ownership_type : [data.business_ownership_type],\n business_monthly_rented_amt:[data.business_monthly_rented_amt],\n business_name_of_the_owner: [data.business_name_of_the_owner],\n business_name_of_the_other_owner:[data.business_name_of_the_other_owner || ''],\n // relation: [data.relation || ''],\n business_vintage: [data. business_vintage],\n business_purchase_year: [data. business_purchase_year,Validators.compose([Validators.pattern(\"[1-9]{1}[0-9]{3}\")])],\n // purchase_month: [data.purchase_month],\n business_emi: [data.business_emi || ''],\n });\n return formGroup;\n }\n setBusinessAssetsDetailsWithData(assets_details_mode:any,datas:any,i:any){\n \n let val = i;\n let data = datas;\n const control=(this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray;\n control.controls.splice(0);\n\n switch (assets_details_mode) {\n case '2': {\n let business_property_datas : any;\n data.forEach((datas,i) => {\n business_property_datas = { 'property_type': datas.property_type, 'other_property_type': datas.other_property_type, 'address_of_the_property': datas.address_of_the_property };\n });\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.loadPropertyWithData(business_property_datas));\n break;\n }\n case '3': {\n let business_Four_Weeler_datas : any;\n data.forEach((datas,i) => {\n business_Four_Weeler_datas = { 'manufacturer_model_vehicle': datas.manufacturer_model_vehicle, 'vehicle_type': datas.vehicle_type, 'other_vehicle_type': datas.other_vehicle_type };\n });\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.load_Four_WeelerWithData(business_Four_Weeler_datas));\n break;\n }\n case '4': {\n let equipment_manufacturing_description_datas : any;\n data.forEach((datas,i) => {\n equipment_manufacturing_description_datas= { 'equipment_manufacturing_description': datas.equipment_manufacturing_description };\n });\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.loadEquipmentManufacturingDescriptionWithData(equipment_manufacturing_description_datas));\n break;\n }\n \n case '1': {\n let array_datas : any;\n data.forEach((datas,i) => {\n this.AssetValueInwords[i] = this.cons.convertNumberToWords(+datas.any_other_asset_value);\n array_datas = {\n 'any_other_assets': datas.any_other_assets,\n // 'any_other_asset_value': datas.any_other_asset_value,\n 'any_other_asset_loan': datas.any_other_asset_loan,\n };\n });\n const control = (this._businessAssetsQuesFrom.controls['business_assets_details']).at(val).get('business_details') as FormArray ;\n control.push(this.otherBusinessAssetsDescriptionWithData(array_datas));\n break;\n }\n default: {\n break;\n }\n }\n }\n\n public paymentModeTextBox: number;\n selectedPM(e) {\n this.paymentModeTextBox = e.value;\n // this.f.supplier_details.controls.get('payment_mode_value');\n }\n\n public freqPurchaseTextBox: number;\n selectedFreqPurchase(e) {\n this.freqPurchaseTextBox = e.value;\n }\n \n\n onSubmit(){\n var answerData=this._businessAssetsQuesFrom.value;\n //To Remove The \"Null\" With Key also\n Object.keys(answerData).forEach((key) => (answerData[key] == null) && delete answerData[key]);\n\n this.qustcat.saveForm(answerData).subscribe(result=>{\n if(result['dataStatus']==true){\n this.toast.pdTriggerappmessage(\"Record Saved Successfully\");\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n else{\n this.toast.pdTriggerappmessage(\"Sorry!! something went Wrong \");\n }\n })\n \n }\n // calculate vintage and purchase {}\n calculateVintagePurchase(value: any, controlKey: any, type: number) {\n if (type == 1) {\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\n }\n else if (type == 2) {\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_details'];\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\n }\n if (type == 3) {\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\n control.controls[controlKey].controls['business_purchase_year'].setValue(value != '' ? parseInt(this.currentYear) - parseInt(value) : '');\n }\n else if (type == 4) {\n let control: any = this._businessAssetsQuesFrom.controls['business_assets_for_address'];\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_purchase_year'].setValue(value) : control.controls[controlKey].controls['business_purchase_year'].setValue('');\n value != '' && value <= this.currentYear ? control.controls[controlKey].controls['business_vintage'].setValue(parseInt(this.currentYear) - parseInt(value)) : control.controls[controlKey].controls['business_vintage'].setValue('')\n }\n }\n\n\n compareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n }\n\n // // check others\n checkOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n }\n\n\n setRequiredValidation(value, item, flag,i) {\n\n if (flag == 1) {\n if (value == 'yes') {\n console.log(\"bu\",this._businessAssetsQuesFrom.controls);\n // this._businessAssetsQuesFrom.controls.business_assets_for_address.value[i].business_years.setValidators([Validators.required]);\n \n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.setValidators([Validators.required]);\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.setValidators([Validators.required]);\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.setValidators([Validators.required]);\n // this._businessAssetsQuesFrom.controls.business_activity.setValidators([Validators.required]) ;\n }\n else {\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_years.clearValidators();\n \n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.clearValidators();\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.clearValidators();\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.clearValidators();\n // this._businessAssetsQuesFrom.controls.business_activity.clearValidators();\n }\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_years.updateValueAndValidity();\n \n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_address_availability.updateValueAndValidity();\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_is_pd_visited.updateValueAndValidity();\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][i].controls.business_pd_visited_remark.updateValueAndValidity();\n // this._businessAssetsQuesFrom.controls.business_activity.updateValueAndValidity();\n\n\n }\n // if(flag == 2){\n // value==1\n // ? item.controls.premises_type_others.setValidators([Validators.required])\n // : item.controls.premises_type_others.clearValidators();\n // item.controls.premises_type_others.updateValueAndValidity();\n // }\n if (flag == 3) {\n if (value == 'owned') {\n item.controls.business_monthly_rented_amt.clearValidators();\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\n }\n else {\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\n item.controls.business_name_of_the_owner.clearValidators();\n }\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\n item.controls.business_name_of_the_owner.updateValueAndValidity();\n }\n if (flag == 4) {\n let Avaliablity = 1;\n value.forEach(option => {\n if(option.id == 0 && option.group_id == 2){ \n Avaliablity = option.id;\n }\n });\n if(Avaliablity == 0){\n \n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\n this.isOtherOwner = true;\n }else{\n \n item.controls.business_name_of_the_other_owner.setValue('');\n item.controls.business_name_of_the_other_owner.clearValidators();\n this.isOtherOwner = false;\n }\n \n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\n\n // value == 0\n // ? item.controls.business_name_of_the_other_owner.setValidators([Validators.required])\n // : item.controls.business_name_of_the_other_owner.clearValidators();\n // item.controls.business_name_of_the_other_owner.updateValueAndValidity();\n }\n if (flag == 5) {\n value == 1\n ? item.controls.other_vehicle_type.setValidators([Validators.required])\n : item.controls.other_vehicle_type.clearValidators();\n item.controls.other_vehicle_type.updateValueAndValidity();\n }\n if (flag == 6) {\n value == 1\n ? item.controls.other_property_type.setValidators([Validators.required])\n : item.controls.other_property_type.clearValidators();\n item.controls.other_property_type.updateValueAndValidity();\n\n value != ''\n ? item.controls.address_of_the_property.setValidators([Validators.required])\n : item.controls.address_of_the_property.clearValidators();\n item.controls.address_of_the_property.updateValueAndValidity();\n }\n if (flag == 7) {\n if (value == 'owned') {\n item.controls.business_monthly_rented_amt.clearValidators();\n item.controls.business_name_of_the_owner.setValidators([Validators.required]);\n }\n else {\n item.controls.business_monthly_rented_amt.setValidators([Validators.required]);\n item.controls.business_name_of_the_owner.clearValidators();\n }\n item.controls.business_monthly_rented_amt.updateValueAndValidity();\n item.controls.business_name_of_the_owner.updateValueAndValidity();\n }\n if(flag == 8){\n let Avaliablity = 1;\n value.forEach(option => {\n if(option.id == 0 && option.group_id == 2){\n \n Avaliablity = option.id;\n }\n });\n // isOtherOwner: boolean = false;\n if(Avaliablity == 0){\n \n item.controls.business_name_of_the_other_owner.setValidators([Validators.required]);\n this.isOtherOwnerForAddress = true;\n }else{\n \n item.controls.business_name_of_the_other_owner.setValue('');\n item.controls.business_name_of_the_other_owner.clearValidators();\n this.isOtherOwnerForAddress = false;\n }\n \n item.controls.business_name_of_the_other_owner.updateValueAndValidity();\n \n }\n\n }\n /** To Convert Month into Year */\n ConvertMonthintoYear(e,ind){\n console.log( this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years)\n let business_year = this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.value;\n \n \n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n let Year = +business_year + +Math.floor(converted_year);\n \n if(Year > this.generalExistBusinessYear){\n this.yearErrorMessage[ind] = \"Higher than Business Vintage\";\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue('');\n \n }\n else{\n if(Year == this.generalExistBusinessYear && +converted_month > this.generalExistBusinessMonth)\n {\n this.monthErrorMessage[ind] = \"Higher than Business Vintage\";\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue('');\n \n }else{\n this.monthErrorMessage[ind] = '';\n this.yearErrorMessage[ind] = '';\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue(+business_year + +Math.floor(converted_year));\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_month.setValue(Math.floor(converted_month));\n }\n }\n }\n\n checkWithExistBusinessYear(e,ind){\n \n if(+e > this.generalExistBusinessYear){\n this.yearErrorMessage[ind] = \"Higher than Business Vintage\";\n this._businessAssetsQuesFrom.controls['business_assets_for_address']['controls'][ind].controls.business_years.setValue('');\n \n }\n else{\n this.yearErrorMessage[ind] = '';\n }\n }\n\n\n inWords(e,i,flag){\n switch(flag){\n case 1:\n this.AssetValueInwords[i]=this.cons.convertNumberToWords(e.target.value);\n break;\n case 2 : \n this.appxMarketAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n case 3:\n this.RentAmtInwords[i]=this.cons.convertNumberToWords(e.target.value);\n break;\n case 9:\n this.RentAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n case 10:\n this.appxMarketAmtInwordsForAddress[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormBuilder,FormGroup,FormArray,Validators} from '@angular/forms';\nimport {AwsServiceProvider} from '../../../../providers/aws-service/aws-service';\nimport { QuestionCategoryProvider } from '../../../../providers/question-category/question-category'\n// import { QueryState } from '@angular/core/src/render3/interfaces';\nimport {ConstantsProvider} from '../../../../providers/constants/constants'\nimport {ToastProvider} from '../../../../providers/common-provider/toast'\n\n\n/**\n * Generated class for the PdQuestionBusinessBankingPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-business-banking',\n templateUrl: 'pd-question-business-banking.html',\n})\nexport class PdQuestionBusinessBankingPage {\npdDetails:any;\nm_btLenderList: any;\napplicants: any \nsalaryField: boolean;\nformDetails: any;\nform_id:any;\naccountType: any;\nusers: any;\nbankingForm:FormGroup;\npublic pd_cus_segment:string\ncompany_id:any;\n\npdid:any;\nitemRows:FormArray;\n\nexistCompanyList: any=[];\nmergeCompanyApplicant: any=[];\nstep:number\n amtInwords: any=[];\n emiAmtInwords: any=[];\n limitCaseFlag: any=[];\n\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws: AwsServiceProvider,public fb:FormBuilder,public qustCat:QuestionCategoryProvider,public cons:ConstantsProvider,public toast:ToastProvider) {\n this.pdDetails=this.navParams.get('pdDetails')\n \n this.pd_cus_segment=this.pdDetails.customer_segment_abbr.toUpperCase();\n this.pd_cus_segment=this.pd_cus_segment.substring(0,3)\n this.pdid=this.pdDetails.pd_id;\n this.formDetails=this.navParams.get('formDetails');\n this.form_id = this.formDetails.form_id;\n this.company_id=this.pdDetails.company_id\n \n this.applicants = this.pdDetails.applicat_details;\n this.applicants = this.applicants.filter(appt=>appt.applicant_type != 2)\n this.applicants.push({'pd_co_applicant_id':'0','applicant_name':'Others'}); \n\n this.users = this.aws.getlocale();\n this.step=0\n this.bankingForm = this.fb.group(\n {\n itemRows:this.fb.array([]),\n banking_form_remark:[''],\n });\n \n \n \n this.salaryField = this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? false : true;\n \n \n this.getdropdown();\n this.retiveBankDetails();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBusinessBankingPage');\n }\n getdropdown(){\n \n this.qustCat.getcommondrop('ACCOUNTTYPE').subscribe(res=>\n {\n if(res['dataStatus']==true)\n {\n this.accountType=res['records'];\n }\n });\n this.qustCat.getcommondrop('BTLENDERLIST').subscribe(\n data => {\n if(data['dataStatus']==true){\n this.m_btLenderList = data['records'].filter(data => data.isactive == 1);\n }\n });\n this.qustCat.getCompaniesListsForBusiness(this.pdid).subscribe(data=>{\n \n if(data['dataStatus']==true){\n this.existCompanyList=data['records'].filter(val =>val.is_active===true && val.is_company_applicant===true)\n \n }\n let modifyCompanyList : any=[];\n if(this.existCompanyList.length>0){\n modifyCompanyList = this.existCompanyList.map(element => {\n return {id:element.company_order_id.toString(),name:element.company_name,group_id:1};\n });\n this.mergeCompanyApplicant.push({groupName:'COMPANIES',groupValues:modifyCompanyList})\n \n }\n })\n let modifyApplicantList: any=[];\n if(this.applicants.length > 0){\n modifyApplicantList = this.applicants.map(element => {\n return {id:element.pd_co_applicant_id,name:element.applicant_name,group_id:2};\n });\n this.mergeCompanyApplicant.push({groupName:'APPLICANTS',groupValues:modifyApplicantList}) \n \n // this.listOfLanguagues.splice(this.listOfLanguagues.indexOf(languague), 1);\n }\n }\n compareObjects(o1: any, o2: any) {\n if(o1.id == o2.id && o1.group_id == o2.group_id)\n return true;\n else return false\n }\n checkOthers(values){\n if(values!=null) {\n return values.id==0 ? true : false;\n }\n else {\n return false;\n }\n \n }\n selectedAccTypeChanges(event: any,i){\n \n if(event == 2 || event == 1) {\n this.limitCaseFlag[i] = false;\n \n // const control = this.bankingForm.controls['itemRows'];\n \n // control.controls[0].get('limit').clearValidators();\n // control.controls[0].get('limit').updateValueAndValidity();\n \n }\n else{\n this.limitCaseFlag[i] = true;\n }\n\n}\n /** To Convert Month into Year */\n ConvertMonthintoYear(itemrow,e){\n \n \n let year = itemrow.controls.vintage_year.value;\n \n let converted_month : number = e%12;\n let converted_year : number = e/12;\n\n itemrow.controls.vintage_year.setValue(+year + +Math.floor(converted_year));\n itemrow.controls.vintage_month.setValue(Math.floor(converted_month));\n \n}\n /** Amount InWords */\n inWords(e,i,flag){\n switch(flag){\n case 1 : \n this.amtInwords[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n case 2 :\n this.emiAmtInwords[i] = this.cons.convertNumberToWords(e.target.value);\n break;\n default:\n break;\n }\n }\n\n setRequiredValidation(value,item,flag) {\n \n \n if(flag == 1){\n value==0\n ? item.controls.other_applicant.setValidators([Validators.required])\n : item.controls.other_applicant.clearValidators();\n item.controls.other_applicant.updateValueAndValidity();\n }\n if(flag == 2){\n value==1\n ? item.controls.other_bank.setValidators([Validators.required])\n : item.controls.other_bank.clearValidators();\n item.controls.other_bank.updateValueAndValidity();\n }\n \n }\n\n createBankItem(name) {\n \n return this.fb.group({\n applicant_name: [''],\n \n bank_name: [''],\n \n account_type: [''],\n salary : this.pdDetails.customer_segment_abbr.substring(0,2) == 'SE' ? [''] : [''] ,\n limit: [''],\n other_bank:[''],\n other_applicant:[''],\n is_main: [''],\n vintage_year: [''],\n vintage_month: [''],\n \n });\n\n }\n addBankDetails(index,event) {\n // if(this.pd.valid){\n \n // if(this.items.length !=0)\n // {\n // this.neighbourAccess = true;\n // }\n \n event.stopPropagation()\n const control = this.bankingForm.controls['itemRows'];\n let length = control.length;\n this.step = length;\n \n control.push(this.createBankItem(''));\n \n \n \n }\n\n addmoreBankDetils()\n {\n \n this.itemRows = this.bankingForm.get('itemRows') as FormArray;\n \n this.itemRows.push(this.createBankItem('')); \n }\n\n removebank(i){\n const control = this.bankingForm.controls['itemRows'];\n if(control.length==1){\n control.reset();\n }\n else\n \n \n control.removeAt(i);\n }\n \n setStep(index: number) {\n this.step = index;\n }\n\n retiveBankDetails(){\n let records = {'pd_id':this.pdDetails.pd_id,'pd_form_id':this.form_id,'company_id':this.company_id}\n const control = this.bankingForm.controls['itemRows'];\n this.qustCat.retiverForm(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n var result = Object.keys(res['records'].banking_details).map(function(key) {\n return res['records'].banking_details[key];\n });\n \n this.bankingForm.controls.banking_form_remark.setValue(res['records'].banking_form_remark);\n \n \n if(result.length == 0){\n \n control.push(this.createBankItem(''))\n }else\n {\n \n result.forEach((datas,index)=>\n {\n this. selectedAccTypeChanges(datas.account_type,index);\n if(datas.limit != ''){\n \n this.amtInwords[index] = this.cons.convertNumberToWords(+datas.limit); \n }\n this. selectedAccTypeChanges(datas.account_type,index);\n control.push(this.createBankItem(''));\n })\n \n this.bankingForm.controls['itemRows'].setValue(result);\n } \n }else\n {\n \n control.push(this.createBankItem(''));\n }\n });\n \n }\n\n savepdBank(answerData)\n {\n let records: any = {};\n records.pdid = this.pdDetails.pd_id;\n records.formid = this.form_id;\n records.fk_createdby = this.users;\n records.company_id=this.company_id;\n records.banking_details = answerData.itemRows;\n records.banking_form_remark = answerData.banking_form_remark;\n \n this.qustCat.saveForm(records).subscribe(data => {\n \n if(data['dataStatus']==true)\n {\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n setTimeout(()=>{\n this.navCtrl.pop();\n },2000);\n }\n else{\n this.toast.pdTriggerappmessage(\"Sorry!! Something Went Wrong\");\n }\n })\n \n }\n \n\n \n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { CameraProvider } from '../../providers/common-provider/camera';\nimport { QuestionCategoryProvider } from '../../providers/question-category/question-category';\nimport { ToastProvider } from '../../providers/common-provider/toast';\n\n/**\n * Generated class for the PdGeneralImagesPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-general-images',\n templateUrl: 'pd-general-images.html',\n})\nexport class PdGeneralImagesPage {\n\n cameraArr:any = [];\n applicatentDetails: any;\n count:any = 0;\n saveAccess:boolean =false;\n FormId:any = '';\n constructor(public navCtrl: NavController, public navParams: NavParams,public camera:CameraProvider,public qustCat:QuestionCategoryProvider,public toast:ToastProvider) {\n\n this.applicatentDetails = this.navParams.get('pdDetails');\n this.FormId = this.navParams.get('FormId');\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdGeneralImagesPage');\n }\n \n takePicture()\n {\n this.camera.getpicture().then(image=>\n {\n this.count = this.count+1;\n \n this.cameraArr.push({'image':image,'name':''});\n });\n }\n\n removeimage(i)\n {\n this.count = this.count - 1; \n this.cameraArr.splice(i,1);\n }\n\n docnames(doc,i,img)\n {\n \n this.cameraArr[i] = {'image':img,'Name':doc};\n // console.log(JSON.stringify(this.pddocdata)); \n }\n savePDImages()\n {\n \n this.saveAccess = true;\n let records :any = {'pd_id':this.applicatentDetails.pd_id,'formid':''};\n records.images = this.cameraArr;\n this.qustCat.savePDImages(records).subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.saveAccess = false;\n this.navCtrl.pop();\n this.toast.pdTriggerappmessage('Record Saved Successfully.!');\n } \n })\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-general-images/pd-general-images.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, ViewController } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service';\nimport { PdtriggerProvider } from '../../../providers/pdtrigger/pdtrigger';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { PdListPage } from '../../pd-list/pd-list';\nimport {ToastProvider} from '../../../providers/common-provider/toast'\n\n/**\n * Generated class for the BouncedRejectPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-bounced-reject',\n templateUrl: 'bounced-reject.html',\n})\nexport class BouncedRejectPage {\n\n users: any;\n bounseMaster: any;\n pdDetails: any;\n status: any;\n bounce_reason:any;\n bounce_reason_others:any = '';\n constructor(public navCtrl: NavController, public navParams: NavParams,public viewCtrl:ViewController,\n public aws:AwsServiceProvider,public pdservice:PdtriggerProvider,\n public qustCat:QuestionCategoryProvider,public fb:FormBuilder,public toast:ToastProvider) {\n // this.pdDetails = this.navParams.get('appdetails');\n // this.status = this.navParams.get('status');\n this.pdDetails=this.navParams.get('details')\n // console.log(this.pdDetails)\n this.users = this.aws.getlocale();\n this.getDropdown();\n \n }\n\n getDropdown()\n {\n \n \n this.qustCat.getcommondrop('BOUNCEMASTER').subscribe(res=>\n {\n if(res['dataStatus']==true){\n this.bounseMaster = res['records'].filter(bouns=>bouns.isactive==1);\n console.log(this.bounseMaster);\n }\n })\n \n }\n updatePDStatus()\n {\n if(this.bounce_reason !=null && this.bounce_reason !=1)\n {\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.pdDetails.pd_status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\n // console.log(this.bounce_reason)\n // console.log(this.bounce_reason_others);\n console.log(data);\n this.toast.pdTriggerappmessage(\"Thank You\");\n this.pdservice.updatepdStatus(data).subscribe(res=>\n {\n // this.updateStatus = res;\n if(res['dataStatus'] == true)\n {\n this.navCtrl.setRoot(PdListPage); \n }\n })\n }\n else if(this.bounce_reason == 1 && this.bounce_reason_others != '' && this.bounce_reason_others !=null )\n {\n let data = {'pd_id':this.pdDetails.pd_id,'pd_status':this.pdDetails.pd_status,'fk_updatedby':this.users,'bounce_reason':this.bounce_reason,'bounce_reason_others':this.bounce_reason_others};\n // console.log(this.bounce_reason)\n // console.log(this.bounce_reason_others);\n console.log(data);\n this.toast.pdTriggerappmessage(\"Thank You\");\n this.pdservice.updatepdStatus(data).subscribe(res=>\n {\n // this.updateStatus = res;\n if(res['dataStatus'] == true)\n {\n this.navCtrl.setRoot(PdListPage); \n }\n })\n }\n \n \n\n else{\n this.toast.pdTriggerappmessage(\"Please Choose the Reason to Reject\");\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/input/bounced-reject/bounced-reject.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { SQLite, SQLiteObject } from'@ionic-native/sqlite';\n/*\n Generated class for the DatabaseProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class DatabaseProvider {\n database:SQLiteObject;\n constructor(public http: HttpClient,public sql:SQLite) {\n console.log('Hello DatabaseProvider Provider');\n this.createnewdb();\n }\n\n createnewdb()\n {\n // alert('function in');\n this.sql.create(\n {\n name:'sinnedge',\n location:'defalut',\n }).then((db:SQLiteObject)=>\n {\n db.executeSql('CREATE TABLE IF NOT EXISTS expense(rowid INTEGER PRIMARY KEY, date TEXT, type TEXT, description TEXT, amount INT)').then(res => \n {\n // alert('db create');\n this.getuserDetails();\n })\n .catch(e => console.log(e));\n })\n }\n getuserDetails()\n {\n // alert('getusers');\n this.sql.create(\n {\n name:'sineedge',\n location:'default',\n }).then((db:SQLiteObject)=>\n {\n db.executeSql('select * from expense ORDER BY rowid DESC').then((res)=>\n {\n console.log(res);\n })\n })\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/database/database.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdListPage } from '../pd-list/pd-list';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { ConstantsProvider } from '../../providers/constants/constants';\n/**\n * Generated class for the PasswordPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-password',\n templateUrl: 'password.html',\n})\nexport class PasswordPage {\n commonImage: string;\n newpassword: any;\n confirmPassword: any;\n pin:any;\n Username:any;\n Password:any;\n \n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public toast:ToastProvider,public commonconstant:ConstantsProvider) {\n this.commonImage = this.commonconstant.commonimage;\n this.Username = this.navParams.get('Username');\n this.Password = this.navParams.get('Password');\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PasswordPage');\n }\n setNewPassword(newpass)\n {\n if(newpass !='' && newpass !=null && newpass !== undefined){\n let auth = { 'Username': this.Username, 'Password': this.Password, 'newpassword': newpass };\n console.log(auth);\n this.aws.dologin(auth).subscribe(res => {\n console.log(res);\n this.navCtrl.setRoot(PdListPage);\n // this.router.navigate(['/home']);\n }, err => {\n this.toast.pdTriggerappmessage(err.message);\n // alert(err.message);\n })\n }else\n {\n this.toast.pdTriggerappmessage('Enter the new Password');\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/password/password.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams, MenuController,ToastController } from 'ionic-angular';\nimport {Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\n\nimport { PdListPage } from '../pd-list/pd-list';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { ToastProvider } from '../../providers/common-provider/toast';\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\n\nimport { LoadingProvider } from '../../providers/common-provider/loading';\nimport { ConstantsProvider } from '../../providers/constants/constants';\n/**\n * Generated class for the AuthPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n \n\n@Component({\n selector: 'page-auth',\n templateUrl: 'auth.html',\n})\nexport class AuthPage {\n pinAccess: any;\n newpindetails: any;\n userDetails: any;\npin:any;\n mpinaccess:boolean =false;\n newpassword:any;\n ConfirmPassword:any;\n commonImage:any;\n constructor(public navCtrl: NavController, public navParams: NavParams,public Menu:MenuController,public fb:FormBuilder,public shared:CognitoServiceProvider,public toast:ToastProvider,public faio:FingerprintAIO,public aws:AwsServiceProvider,public loadingCtrl:LoadingProvider,public commonconstant:ConstantsProvider) {\n this.commonImage = this.commonconstant.commonimage;\n this.shared.refresh();\n this.getuserDetails();\n \n\n \n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad AuthPage');\n }\n ionViewDidEnter(){\n this.Menu.enable(false);\n }\n ionViewWillLeave(){\n this.Menu.enable(true);\n }\n getuserDetails()\n {\n this.loadingCtrl.pdloader('loading...');\n let userid = this.aws.getlocale();\n this.aws.getuserprofile(userid).subscribe(res=>{\n this.userDetails = res;\n if(this.userDetails.dataStatus == true)\n { \n this.loadingCtrl.loading.dismiss();\n this.userDetails = this.userDetails.records;\n if(this.userDetails[0].role_name ==\"PD Executive\" || this.userDetails[0].role_name == \"PD Officer\"){\n //localStorage.setItem('userDetails',JSON.stringify(this.userDetails[0]));\n if(this.userDetails[0].mpin ==null)\n {\n \n this.mpinaccess = true;\n \n }else\n {\n this.mpinaccess = false;\n }\n }else{\n \n this.toast.pdTriggerappmessage('This App only for PD Officers');\n localStorage.clear();\n }\n }else{\n this.toast.pdTriggerappmessage('')\n }\n //console.log(this.mpinaccess);\n });\n }\n setnewpin(newpin)\n {\n console.log(\"set Pin\")\n this.aws.userpinupdate(newpin).subscribe(res=>\n {\n this.newpindetails = res;\n if(this.newpindetails.dataStatus == true)\n {\n this.navCtrl.setRoot(PdListPage); \n }\n })\n }\n /**Finger print */\n \n checkpin(pin) {\n console.log(\"Check pin\",pin);\n if(pin !='' && pin !=null)\n {\n if(this.userDetails[0].mpin == pin)\n {\n console.log(\"Entering List page\")\n this.navCtrl.setRoot(PdListPage);\n }else\n {\n this.toast.pdTriggerappmessage('Enter The Correct PIN');\n }\n }else\n {\n this.toast.pdTriggerappmessage('Enter The PIN');\n }\n\n \n \n }\n checkfingerprint()\n {\n console.log(\"Check Finger\");\n this.faio.show({\n clientId: 'Fingerprint-Demo',\n clientSecret: 'password', // Only Android\n localizedFallbackTitle: 'Use Pin', // Only iOS\n localizedReason: 'Please authenticate',\n disableBackup:true,\n })\n .then((result: any) => {\n this.navCtrl.setRoot(PdListPage);\n })\n .catch((error: any) => {\n this.toast.pdTriggerappmessage('err: '+ error);\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/auth/auth.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { LoadingController } from 'ionic-angular';\n/*\n Generated class for the LoadingProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class LoadingProvider {\n\n loading: any;\n constructor(public http: HttpClient,public loadingCtrl:LoadingController) {\n console.log('Hello LoadingProvider Provider');\n }\n\n pdloader(content)\n {\n this.loading = this.loadingCtrl.create({\n content: content\n });\n\n this.loading.present();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/loading.ts","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app.module';\nimport { enableProdMode } from '@angular/core';\nenableProdMode();\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/main.ts","import { BrowserModule } from '@angular/platform-browser';\nimport { ErrorHandler, NgModule } from '@angular/core';\nimport { IonicApp, IonicErrorHandler, IonicModule } from 'ionic-angular';\n\nimport { MyApp } from './app.component';\n\n\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\nimport {platformBrowserDynamic} from '@angular/platform-browser-dynamic';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport { SQLite } from '@ionic-native/sqlite';\nimport { DatabaseProvider } from '../providers/database/database';\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\n\nimport {\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDatepickerModule,\n MatDialogModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatStepperModule\n} from '@angular/material';\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AuthGuard } from '../providers/_guard/auth.guard';\nimport { TokenInterceptor } from '../providers/_guard/token.interceptor';\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\nimport { ConstantsProvider } from '../providers/constants/constants';\nimport { AuthPage } from '../pages/auth/auth';\nimport { LoginPage } from '../pages/login/login';\nimport { PdListPage } from '../pages/pd-list/pd-list';\nimport { PdQuestionCategoryPage } from '../pages/pd-question-category/pd-question-category';\nimport { PdQuestionPage } from '../pages/pd-question/pd-question';\nimport { GoogleplaytabPage } from '../pages/googleplaytab/googleplaytab';\nimport { PasswordPage } from '../pages/password/password';\nimport { PdAllocationPage } from '../pages/pd-allocation/pd-allocation';\nimport { InputPage } from '../pages/input/input';\nimport { ToastProvider } from '../providers/common-provider/toast';\nimport { PdtriggerProvider } from '../providers/pdtrigger/pdtrigger';\nimport { FingerprintAIO } from '@ionic-native/fingerprint-aio';\n\nimport { LaunchNavigator } from '@ionic-native/launch-navigator';\nimport { OtpPage } from '../pages/otp/otp';\nimport { QuestionCategoryProvider } from '../providers/question-category/question-category';\n\nimport { ReactiveFormsModule,FormsModule} from '@angular/forms';\nimport { IonicImageViewerModule } from 'ionic-img-viewer';\nimport { CameraProvider } from '../providers/common-provider/camera';\nimport { LoadingProvider } from '../providers/common-provider/loading';\nimport { Camera } from '@ionic-native/camera';\n\nimport { PdQuestionAddressPage } from '../pages/pd-question/pd-question-address/pd-question-address';\nimport { PdQuestionAssestsPage } from '../pages/pd-question/pd-question-assests/pd-question-assests';\nimport { PdQuestionBankingPage } from '../pages/pd-question/pd-question-banking/pd-question-banking';\nimport { PdQuestionCurrentLoansPage } from '../pages/pd-question/pd-question-current-loans/pd-question-current-loans';\nimport { PdQuestionEmpInfoPage } from '../pages/pd-question/pd-question-emp-info/pd-question-emp-info';\nimport { PdQuestionFamilyPage } from '../pages/pd-question/pd-question-family/pd-question-family';\n\nimport { PdQuestionLoansPage } from '../pages/pd-question/pd-question-loans/pd-question-loans';\nimport { PdQuestionFinancialInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info';\nimport { PdQuestionOtherIncomePage } from '../pages/pd-question/pd-question-other-income/pd-question-other-income';\nimport { PdQuestionSupplierInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info';\nimport { Geolocation } from '@ionic-native/geolocation';\nimport { PdQuestionPersonalInfoPage } from '../pages/pd-question/pd-question-personal-info/pd-question-personal-info';\nimport { PdQuestionStockInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info';\nimport { PdQuestionClientInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info';\n// import { DatePicker } from '@ionic-native/date-picker';\nimport { PdQuestionBusinessInfoPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info';\nimport { PdQuestionRentalInfoPage } from '../pages/pd-question/pd-question-rental-info/pd-question-rental-info';\nimport { PdQuestionAssessedInfoPage } from '../pages/pd-question/pd-question-assessed-info/pd-question-assessed-info';\nimport { PdQuestionAssessedDailySalesPage } from '../pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales';\nimport { PdQuestionAssessedSalesPage } from '../pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales';\nimport { PdQuestionAssessedHouseholdPage } from '../pages/pd-question/pd-question-assessed-household/pd-question-assessed-household';\nimport { PdQuestionAssessedPurchasePage } from '../pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase';\nimport { PdQuestionAssessedDashPage } from '../pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash';\nimport { BouncedRejectPage } from '../pages/input/bounced-reject/bounced-reject';\nimport { PdQuestionAssessedBusinessPage } from '../pages/pd-question/pd-question-assessed-business/pd-question-assessed-business';\nimport { PdQuestionLenderRepresentativePage } from '../pages/pd-question/pd-question-lender-representative/pd-question-lender-representative';\nimport { PdQuestionGeneralInfoPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-info';\nimport { PdQuestionGeneralOtherApplicantPage } from '../pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant';\nimport { PdQuestionNeighbourHoodPage } from '../pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood';\nimport { PdQuestionFinalRemarkPage } from '../pages/pd-question/pd-question-final-remark/pd-question-final-remark';\n\nimport { PdQuestionBusinessPage } from '../pages/pd-question/pd-question-business/pd-question-business'\nimport { PdQuestionBusinessGroupPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-group'\nimport { PdQuestionBusinessAssetsPage } from '../pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets'\nimport {PdQuestionBusinessBankingPage} from '../pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking'\nimport { PdPipe } from '../pipes/pd/pd';\nimport { PdQuestionAssessedBusinessIncomePage } from '../pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income';\nimport { PdGeneralImagesPage } from '../pages/pd-general-images/pd-general-images';\nimport { PdQuestionSalaryInfoPage } from '../pages/pd-question/pd-question-salary-info/pd-question-salary-info';\nimport { LocationAccuracy } from '@ionic-native/location-accuracy';\n\n@NgModule({\n declarations: [\n MyApp,\n AuthPage,\n LoginPage,\n PdListPage,\n PdQuestionCategoryPage,\n PdQuestionPage,\n GoogleplaytabPage,\n PasswordPage,\n PdAllocationPage,\n InputPage,\n OtpPage,\n PdQuestionAddressPage,\n PdQuestionAssestsPage,\n PdQuestionBankingPage,\n PdQuestionCurrentLoansPage,\n PdQuestionEmpInfoPage,\n PdQuestionFamilyPage,\n PdQuestionBusinessInfoPage,\n PdQuestionLoansPage,\n PdQuestionFinancialInfoPage,\n PdQuestionOtherIncomePage,\n PdQuestionSupplierInfoPage,\n PdQuestionPersonalInfoPage,\n PdQuestionStockInfoPage,\n PdQuestionClientInfoPage,\n PdQuestionRentalInfoPage,\n PdQuestionAssessedInfoPage,\n PdQuestionAssessedDailySalesPage,\n PdQuestionAssessedSalesPage,\n PdQuestionBusinessInfoPage,\n PdQuestionAssessedHouseholdPage,\n PdQuestionAssessedPurchasePage,\n PdQuestionAssessedDashPage,\n BouncedRejectPage,\n PdQuestionAssessedBusinessPage,\n PdQuestionLenderRepresentativePage,\n PdQuestionGeneralInfoPage,\n PdQuestionGeneralOtherApplicantPage,\n PdQuestionNeighbourHoodPage,\n PdQuestionFinalRemarkPage,\n PdQuestionBusinessPage,\n PdQuestionBusinessGroupPage,\n PdQuestionBusinessAssetsPage,\n PdQuestionBusinessBankingPage,\n PdQuestionAssessedBusinessIncomePage,\n PdGeneralImagesPage,\n PdQuestionSalaryInfoPage,\n ],\n imports: [\n BrowserModule,ReactiveFormsModule,FormsModule,\n IonicModule.forRoot(MyApp),\n BrowserAnimationsModule,\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatDatepickerModule,\n MatDialogModule,MatListModule,\n MatExpansionModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSliderModule,\n MatSlideToggleModule,\n MatSnackBarModule,\n MatSortModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatStepperModule,HttpClientModule,IonicImageViewerModule\n ],\n bootstrap: [IonicApp],\n entryComponents: [\n MyApp,\n AuthPage,\n LoginPage,\n PdListPage,\n PdQuestionCategoryPage,\n PdQuestionPage,\n GoogleplaytabPage,\n PasswordPage,\n PdAllocationPage,\n InputPage,\n OtpPage,\n PdQuestionAddressPage,\n PdQuestionAssestsPage,\n PdQuestionBankingPage,\n PdQuestionCurrentLoansPage,\n PdQuestionEmpInfoPage,\n PdQuestionFamilyPage,\n PdQuestionBusinessInfoPage,\n PdQuestionLoansPage,\n PdQuestionFinancialInfoPage,\n PdQuestionOtherIncomePage,\n PdQuestionSupplierInfoPage,\n PdQuestionPersonalInfoPage,\n PdQuestionStockInfoPage,\n PdQuestionClientInfoPage,\n PdQuestionRentalInfoPage,\n PdQuestionAssessedInfoPage,\n PdQuestionAssessedDailySalesPage,\n PdQuestionAssessedSalesPage,\n PdQuestionBusinessInfoPage,\n PdQuestionAssessedHouseholdPage,\n PdQuestionAssessedPurchasePage,\n PdQuestionAssessedDashPage,\n BouncedRejectPage,\n PdQuestionAssessedBusinessPage,\n PdQuestionLenderRepresentativePage,\n PdQuestionGeneralInfoPage,\n PdQuestionGeneralOtherApplicantPage,\n PdQuestionNeighbourHoodPage,\n PdQuestionFinalRemarkPage,\n PdQuestionBusinessPage,\n PdQuestionBusinessGroupPage,\n PdQuestionBusinessAssetsPage,\n PdQuestionBusinessBankingPage,\n PdQuestionAssessedBusinessIncomePage,\n PdGeneralImagesPage,\n PdQuestionSalaryInfoPage,\n \n ],\n providers: [\n StatusBar,AwsServiceProvider,AuthGuard,TokenInterceptor,ToastProvider,\n ConstantsProvider,CognitoServiceProvider,SplashScreen,PdtriggerProvider,FingerprintAIO,SQLite,AndroidPermissions,\n {\n provide:HTTP_INTERCEPTORS,\n useClass: TokenInterceptor,\n multi: true\n },\n {\n provide: ErrorHandler,\n useClass: IonicErrorHandler\n },LaunchNavigator,\n AwsServiceProvider,\n QuestionCategoryProvider,\n CameraProvider,Camera,\n PdPipe,LocationAccuracy,\n LoadingProvider,Geolocation,\n DatabaseProvider\n ]\n})\nexport class AppModule {}\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { Component, ViewChild } from '@angular/core';\nimport { Nav, Platform } from 'ionic-angular';\nimport { StatusBar } from '@ionic-native/status-bar';\nimport { SplashScreen } from '@ionic-native/splash-screen';\nimport { LoginPage } from '../pages/login/login';\nimport { PdListPage } from '../pages/pd-list/pd-list';\nimport { MethodCall } from '@angular/compiler';\nimport { AwsServiceProvider } from '../providers/aws-service/aws-service';\nimport { CognitoServiceProvider } from '../providers/aws-service/cognito.service';\nimport { PasswordPage } from '../pages/password/password';\nimport { AuthPage } from '../pages/auth/auth';\nimport {AlertController} from 'ionic-angular'\nimport { platformBrowser } from '@angular/platform-browser';\n// import { AndroidPermissions } from '@ionic-native/android-permissions';\n\n\n@Component({\n templateUrl: 'app.html'\n})\nexport class MyApp {\n userDetails: any;\n userAccess:boolean = false;\n @ViewChild(Nav) nav: Nav;\n\n rootPage: any = LoginPage;\n public alertShown:boolean=false\n\n pages: Array<{title: string,icon:any, method: any}>;\n\n constructor(public platform: Platform, public statusBar: StatusBar, public splashScreen: SplashScreen,public aws:AwsServiceProvider,public shared:CognitoServiceProvider,public AWS:AwsServiceProvider\n ,public alertCtrl:AlertController) {\n this.initializeApp();\n\n // used for an example of ngFor and navigation\n this.pages = [ \n // { title: 'Home', component: HomePage, icon: 'home' },\n { title: 'Home', icon: 'home',method:()=>this.menulist(1) },\n { title: 'Logout', icon: 'md-exit',method:()=>this.menulist(2)}\n ];\n\n\n }\n\n initializeApp() {\n this.platform.ready().then(() => {\n // Okay, so the platform is ready and our plugins are available.\n // Here you can do any higher level native things you might need.\n this.statusBar.styleDefault();\n if (this.platform.is('android')) {\n this.statusBar.overlaysWebView(false);\n this.statusBar.backgroundColorByHexString('#db4437');\n \n }\n this.splashScreen.hide();\n\n this.shared.getAccessToken().then(()=>{\n this.getuserDetails();\n this.rootPage = AuthPage\n }).catch(()=>{\n setTimeout(() => {\n this.rootPage = LoginPage;\n }, 1000);\n });\n \n });\n this.platform.registerBackButtonAction(()=>{\n if(this.nav.length()==1){\n if(this.alertShown==false){\n //this.presentConfirm(); \n let alert=this.alertCtrl.create({\n title:'Confirm Exit',\n message:'Do You Want Exit ?',\n buttons:[\n {\n text:'Cancel',\n role:'cancel',\n handler:()=>{\n console.log(\"Cancel clicked\");\n this.alertShown=false\n alert.dismiss\n }\n },\n {\n text:'Yes',\n handler:()=>{\n console.log(\"Exit\");\n this.platform.exitApp();\n }\n }\n ]\n });\n alert.present();\n this.alertShown=true\n }\n }\n else{\n this.nav.pop()\n }\n });\n }\n\n presentConfirm(){\nlet alert=this.alertCtrl.create({\n title:'Confirm Exit',\n message:'Do You Want Exit ?',\n buttons:[\n {\n text:'Cancel',\n role:'cancel',\n handler:()=>{\n console.log(\"Cancel clicked\");\n // this.alertShown=false\n alert.dismiss\n }\n },\n {\n text:'Yes',\n handler:()=>{\n console.log(\"Exit\");\n this.platform.exitApp();\n }\n }\n ]\n});\n alert.present();\n // this.alertShown=true;\n }\n getuserDetails()\n {\n \n let userid = this.aws.getlocale();\n this.aws.getuserprofile(userid).subscribe(res=>{\n this.userDetails = res;\n if(this.userDetails.dataStatus == true)\n { \n this.userAccess = true;\n this.userDetails = this.userDetails.records[0];\n \n }\n \n });\n }\n menulist(id){\n //alert();\n switch(id)\n {\n case 1:\n this.nav.setRoot(PdListPage);\n break;\n case 2:\n this.AWS.logout().subscribe(()=>{\n \n this.nav.setRoot(LoginPage);\n });\n break;\n case 3:\n break;\n case 4:\n break;\n}\n}\n logout()\n {\n // this.aws.logout();\n this.nav.setRoot(LoginPage);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { Injectable } from '@angular/core';\n// import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\n\n\n\n@Injectable()\nexport class AuthGuard {\n \n constructor() { \n\n \n }\n\n // canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n // // if (this.shared.getToken()) {\n // alert(\"if\");\n // // this.router.navigate(['']);\n // return true\n // } else {\n // alert(\"else\");\n // this.router.navigate(['/login']);\n // return false;\n // }\n // }\n getlogin(){\n // if (this.shared.getToken()) {\n // // alert(\"if\");\n // //alert();\n // return true;\n // } else {\n // // alert(\"else\");\n \n // //this.myGlobalServiceNav.setRoot(LoginPage);\n // this.shared.isloggin = false;\n // return false;\n \n \n // }\n }\n // canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n \n \n // }\n\n // public getToken(): string {\n // return localStorage.getItem('token');\n // }\n\n // public logOut() {\n // localStorage.clear();\n // if(localStorage.getItem('token') === null){\n // this.router.navigate(['/login']);\n // }\n // }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/auth.guard.ts","import { Injectable } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor,\n HttpHeaders\n} from '@angular/common/http';\n// import { AuthGuard } from './auth.guard';\nimport { Observable, of} from 'rxjs';\n\n// import { Router } from '@angular/router';\n\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { HttpErrorResponse } from \"@angular/common/http\";\n\nimport { CognitoServiceProvider } from '../aws-service/cognito.service';\n\n@Injectable()\nexport class TokenInterceptor implements HttpInterceptor{\n constructor(public shared:CognitoServiceProvider ) {\n \n }\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n // request = request.clone({\n // setHeaders: {\n // Authorization: `${this.auth.getToken()}`\n // }\n // });\n let token:any;\n this.shared.refresh();\n token = this.shared.getToken() || null;\n \n token = token.getIdToken().getJwtToken();\n \n //console.log(token);\n let requests = request.clone({\n headers:new HttpHeaders({\n \n 'Authorization': 'sparqvenba2018',\n 'Token':token,\n 'From':'1',\n \n \n }) \n \n });\n \n return next.handle(requests).pipe(\n catchError(this.handleError('role', []))\n )\n }\n\n private handleError (operation = 'operation', result?: T) {\n return (error: any): Observable => {\n if(error instanceof HttpErrorResponse){\n console.error(\"Error: \" + error.status);\n if(error.status == 401){\n localStorage.clear();\n // this.router.navigate(['/authentication/login']);\n }\n return of(result as T);\n }\n };\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/providers/_guard/token.interceptor.ts","import { Component ,ViewChild} from '@angular/core';\nimport { IonicPage, NavController, NavParams , Slides , Content, Platform } from 'ionic-angular';\n\n/**\n * Generated class for the GoogleplaytabPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-googleplaytab',\n templateUrl: 'googleplaytab.html',\n})\nexport class GoogleplaytabPage {\n\n @ViewChild('SwipedTabsSlider') SwipedTabsSlider: Slides ;\n @ViewChild('MultiItemsScrollingTabs') ItemsTitles : Content;\n\n SwipedTabsIndicator :any= null;\n tabTitleWidthArray :any= [];\n tabElementWidth_px :number= 50;\n screenWidth_px :number= 0;\n isRight :boolean= true;\n isLeft:boolean= true;\n tabs:any=[];\n\n constructor(public navCtrl: NavController, public navParams: NavParams, platform: Platform) {\n this.tabs=[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"9\",\"10\",\"11\"];\n console.log('Width: ' + platform.width());\n this.screenWidth_px=platform.width();\n \n}\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad GoogleplaytabPage');\n }\n ionViewDidEnter() {\n this.SwipedTabsIndicator = document.getElementById(\"indicator\");\n for (let i in this.tabs)\n this.tabTitleWidthArray.push(document.getElementById(\"tabTitle\"+i).offsetWidth);\n\n this.selectTab(0);\n }\n\n scrollIndicatiorTab()\n {\n this.ItemsTitles.scrollTo(this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())-this.screenWidth_px/2,0);\n }\n\n selectTab(index)\n {\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n this.SwipedTabsSlider.slideTo(index);\n }\n\n calculateDistanceToSpnd(index)\n {\n var result=0;\n for (var _i = 0; _i < index; _i++) {\n result=result+this.tabTitleWidthArray[_i];\n }\n return result;\n }\n\n updateIndicatorPosition() {\n var index=this.SwipedTabsSlider.getActiveIndex();\n if( this.SwipedTabsSlider.length()==index)\n index=index-1;\n\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[index]+\"px\";\n this.SwipedTabsIndicator.style.webkitTransform = 'translate3d('+(this.calculateDistanceToSpnd(index))+'px,0,0)';\n\n }\n\n updateIndicatorPositionOnTouchEnd()\n {\n setTimeout( () => { this.updateIndicatorPosition(); }, 200);\n }\n\n animateIndicator($event)\n {\n\n this.isLeft=false;\n this.isRight=false;\n var currentSliderCenterProgress =(1/(this.SwipedTabsSlider.length()-1) )*this.SwipedTabsSlider.getActiveIndex();\n if($event.progress < currentSliderCenterProgress)\n {\n this.isLeft=true;\n this.isRight=false;\n\n } if($event.progress > currentSliderCenterProgress)\n {\n this.isLeft=false;\n this.isRight=true;\n }\n\n if(this.SwipedTabsSlider.isEnd())\n this.isRight=false;\n\n if( this.SwipedTabsSlider.isBeginning())\n this.isLeft=false;\n\n if(this.isRight)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()+1])\n +'px,0,0)';\n\n if(this.isLeft)\n this.SwipedTabsIndicator.style.webkitTransform =\n 'translate3d('+( this.calculateDistanceToSpnd(this.SwipedTabsSlider.getActiveIndex())\n +($event.progress - currentSliderCenterProgress) *(this.SwipedTabsSlider.length()-1)*this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()-1])\n +'px,0,0)';\n\n if(!this.isRight && !this.isLeft)\n this.SwipedTabsIndicator.style.width = this.tabTitleWidthArray[this.SwipedTabsSlider.getActiveIndex()]+\"px\";\n\n }\n\n\n\n}\n\n \n\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/googleplaytab/googleplaytab.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\n\n/**\n * Generated class for the PdAllocationPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-allocation',\n templateUrl: 'pd-allocation.html',\n})\nexport class PdAllocationPage {\npdFullDetails:any = [];\n constructor(public navCtrl: NavController, public navParams: NavParams) {\n \n this.pdFullDetails = this.navParams.get('pdDetails');\n console.log(this.pdFullDetails);\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdAllocationPage');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-allocation/pd-allocation.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { QuestionCategoryProvider } from '../../../providers/question-category/question-category'\nimport { AwsServiceProvider } from '../../../providers/aws-service/aws-service'\n\n/**\n * Generated class for the PdQuestionBusinessPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-business',\n templateUrl: 'pd-question-business.html',\n})\nexport class PdQuestionBusinessPage {\n pdDetails:any;\n pdid:any;\n users:any;\n FormId:any;\n existCompanyList:any=[]\n\n constructor(public navCtrl: NavController, public navParams: NavParams,public qustcat:QuestionCategoryProvider,public aws:AwsServiceProvider) {\n this.pdDetails=this.navParams.get('pdDetails');\n this.pdid=this.pdDetails.pd_id;\n this.FormId=this.navParams.get('FormId');\n this.users=this.aws.getlocale\n\n this.getDropDown();\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionBusinessPage');\n }\ngetDropDown(){\n this.qustcat.getCompaniesListsForBusiness(this.pdid).subscribe(res=>{\n this.existCompanyList=res['records'].filter(data=>data.is_active == true && data.is_company_applicant == true);\n console.log(this.existCompanyList);\n })\n}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-business/pd-question-business.ts","import { Component } from '@angular/core';\nimport { IonicPage, NavController, NavParams } from 'ionic-angular';\nimport { FormGroup,FormBuilder,FormArray } from '@angular/forms';\n\n/**\n * Generated class for the PdQuestionSalaryInfoPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-question-salary-info',\n templateUrl: 'pd-question-salary-info.html',\n})\nexport class PdQuestionSalaryInfoPage {\n\n salaryDetails:FormGroup\n constructor(public navCtrl: NavController, public navParams: NavParams,public fb:FormBuilder) {\n \n this.salaryDetails = this.fb.group(\n {\n gross:[null],\n netTakeHome:[null],\n bounsIncentive:[null],\n salaryDate:[null],\n anydelays:[null], \n })\n }\n\n ionViewDidLoad() {\n console.log('ionViewDidLoad PdQuestionSalaryInfoPage');\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.ts","import { Injectable } from '@angular/core';\n\n// import { CanActivateChild, Router } from '@angular/router';\nimport {\n AuthenticationDetails,\n CognitoUserPool,\n CognitoUser,\n \n} from \"amazon-cognito-identity-js\";\n// import { IonicPage, NavController, NavParams, MenuController } from 'ionic-angular';\n\n// import { environment } from '../../environments/environment';\n\nimport { BehaviorSubject,Observable,of } from 'rxjs';\n\nconst sineedge_poolData = { \n UserPoolId: \"ap-south-1_y7dt3iEaX\", //ap-south-1_qQ85yQZJO UserName :SPARQ_SINEEDGE_DEV\n ClientId: \"291qt4smn5pql6o8cc2hi201lj\" // ClientName: SINEEDGE_DEV_WEB\n};\nconst sineedgedev_poolData = {\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\n}\nconst lender_poolData = {\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\n};\nconst vendor_poolData = {\n UserPoolId: \"\",\n ClientId: \"\"\n}\nconst sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\nconst sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\n\n/**\n* Identity PoolID \n*/\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\nconst vendorIdenttiy = \"\";\n// serviceProvider\nconst apiurl = \"http://ssa.sineedge.com/sparqapi/api/\";\n// const apiurl = \"http://localhost/sparqapi/api/\";\n\n@Injectable()\n\nexport class CognitoServiceProvider {\n public loggedIn :boolean = false;\n // public static _REGION = environment.region;\n\n // public static _IDENTITY_POOL_ID = environment.identityPoolId;\n // public static _USER_POOL_ID = environment.UserPoolId;\n // public static _CLIENT_ID = environment.ClientId;\n\n // public static _POOL_DATA: any = {\n // UserPoolId: CognitoService._USER_POOL_ID,\n // ClientId: CognitoService._CLIENT_ID\n // };\n \n\n // public cognitoCreds: AWS.CognitoIdentityCredentials;\nisloggin:boolean = false; \n\n\n \n\n \n constructor() { \n \n }\n getCurrentUser() {\n \n return sineedgedevUserpool.getCurrentUser();\n}\n get isLoggedIn() {\n if(sineedgedevUserpool.getCurrentUser() !=null){\n this.loggedIn = true;\n }else{\n this.loggedIn = false;\n }\n return this.loggedIn; // {2}\n }\n \nrefresh() {\n let tokenexp:boolean;\n \n if(this.getCurrentUser() !=null){\n \n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\n }\n\n else {\n if (session.isValid()) {\n tokenexp = session.isValid();\n of(tokenexp)\n console.log(\"CognitoUtil: refreshed successfully\");\n \n } else {\n tokenexp = session.isValid();\n console.log(\"CognitoUtil: refreshed but session is still not valid\");\n \n }\n }\n \n return tokenexp;\n \n });\n }else{\n this.loggedIn = false;\n }\n}\ngetAccessToken(){\n this.refresh();\n return new Promise((resolve, reject) => {\n let jwttoken = '';\n if (this.getCurrentUser() != null) {\n //console.log(JSON.stringify(this.getCurrentUser()));\n // console.log('76 if');\n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n console.log(\"CognitoUtil: Can't set the credentials:\" + err);\n jwttoken ='';\n // console.log('81 if')\n reject(err);\n }\n else {\n if (session.isValid()) {\n // console.log('85 else if');\n jwttoken = session;\n resolve();\n } else {\n \n }\n }\n });\n }\n else {\n //console.log(\"else\");\n reject();\n }\n});\n}\n\ngetToken():any {\n let isloggin = false;\n let jwttoken = '';\n if (this.getCurrentUser() != null) {\n \n this.getCurrentUser().getSession(function (err, session) {\n if (err) {\n // console.log(\"CognitoUtil: Can't set the credentials:\" + err);\n isloggin = false;\n //console.log('81 if')\n }\n else {\n //alert('function else');\n if (session.isValid()) {\n // console.log('85 else if');\n jwttoken = session;\n isloggin = true;\n } else {\n \n isloggin = false;\n }\n }\n });\n }\n else {\n // console.log(\"else\");\n isloggin = false;\n }\n return jwttoken;\n}\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/cognito.service.ts","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {\n AuthenticationDetails,\n CognitoUserPool,\n CognitoUser,\n \n} from \"amazon-cognito-identity-js\";\n\n\nimport { Observable } from \"rxjs/Observable\";\nimport \"rxjs/add/operator/map\";\nimport { CognitoServiceProvider } from './cognito.service';\nimport { ConstantsProvider } from '../constants/constants';\nimport { UrlResolver } from '@angular/compiler';\nconst sineedgedev_poolData = {\n UserPoolId: \"ap-south-1_qQ85yQZJO\", // UserName :SPARQ_SINEEDGE_DEV\n ClientId: \"2o5c3cs9k3als16nqhp3irh8rs\" // ClientName: SINEEDGE_DEV_WEB\n}\nconst lender_poolData = {\n UserPoolId: \"ap-south-1_hFiGyr1Gw\", // Username :SPARQ_LENDER_DEV\n ClientId: \"38v9rpp1495v60e1gd14mj6rjr\" // ClientName:LENDER_DEV_WEB\n};\nconst vendor_poolData = {\n UserPoolId: \"ap-south-1_K57yPaWxV\",\n ClientId: \"\"\n}\n// const sineedgeUserPool = new CognitoUserPool(sineedge_poolData);\nconst lenderUserPool = new CognitoUserPool(lender_poolData);\n const sineedgedevUserpool = new CognitoUserPool(sineedgedev_poolData);\n\n/**\n* Identity PoolID \n*/\nconst sineedgeIdentity = \"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";//\"ap-south-1:9a551eab-97cf-4991-b677-2f9bcd058961\";\nconst lenderIdentity = \"ap-south-1:ca22dabc-db59-4af5-9bb8-265f7ec95907\";\nconst vendorIdenttiy = \"ap-south-1:5ad3ce43-4260-4273-87b2-e6a377b8e874\";\n\nconst currentDate = new Date().toJSON().slice(0,19).replace('T',' ');\n\n\n@Injectable()\nexport class AwsServiceProvider {\napiurl:any;\n constructor(public http:HttpClient,public shared:CognitoServiceProvider,public con:ConstantsProvider) {\n this.apiurl = con.apiurl();\n }\n\n dologin(authenticationData) {\n // alert();\n //(authenticationData);\n const authenticationDetails = new AuthenticationDetails(authenticationData);\n let Newpassword = authenticationData.newpassword;\n let attributesData = [];\n const userData = {\n Username: authenticationData.Username, // User email id\n Pool: sineedgedevUserpool // user Pool ID\n };\n let cognitoUser = new CognitoUser(userData);\n return Observable.create(observer => {\n cognitoUser.authenticateUser(authenticationDetails, {\n newPasswordRequired: (userAttributes, requiredAttributes) => { // new password set \n cognitoUser.completeNewPasswordChallenge(\n Newpassword,\n attributesData,\n {\n onSuccess: function (result) {\n observer.next(result);\n observer.complete();\n },\n onFailure: function (err) {\n //(err);\n observer.error(err);\n //LoginComponent.prototype.open();\n }\n }\n );\n },\n onSuccess: function (result) { // success user login\n // let accessToken = result.getAccessToken().getJwtToken();\n ////(result);\n //window.localStorage.setItem('Currentuser', '1');\n observer.next(result);\n observer.complete();\n this.shared.isloggin = true;\n },\n onFailure: function (err) { // error user login\n\n //alert(err.message);\n observer.error(err);\n }\n });\n });\n }\n userforgotpass(auth) {\n ////(auth);\n const userData = {\n Username: auth.Username,\n Pool: sineedgedevUserpool\n };\n let cognitoUser = new CognitoUser(userData);\n return Observable.create(observe => {\n cognitoUser.forgotPassword({\n onSuccess: function (data) {\n // successfully initiated reset password request\n //('CodeDeliveryData from forgotPassword: ' + data);\n observe.next(data);\n },\n onFailure: function (err) {\n alert(err.message || JSON.stringify(err));\n },\n //Optional automatic callback\n inputVerificationCode: function (data) {\n //('Code sent to: ' + data);\n var verificationCode = prompt('Please input verification code ', '');\n var newPassword = prompt('Enter new password ', '');\n cognitoUser.confirmPassword(verificationCode, newPassword, {\n onSuccess() {\n //('Password confirmed!');\n },\n onFailure(err) {\n //('Password not confirmed!');\n }\n });\n }\n });\n });\n\n\n }\n /**\n * End of the function \n */\n\n /**\n * Logout function\n */\n logout(){\n \n return Observable.create(observe=>{\n this.shared.getCurrentUser().signOut(); \n \n observe.next();\n \n observe.complete();\n });\n }\n\n\n /**\n * Config function\n */\n // getconfig() {\n // let session:any = this.shared.getAccessToken() || \"\";\n \n // let config = \"\";\n // config += AWS.config.region = \"ap-south-1\";\n // config += AWS.config.credentials = new AWS.CognitoIdentityCredentials({\n // IdentityPoolId: sineedgeIdentity, // for sineedge_DEV\n // Logins: {\n // \"cognito-idp.ap-south-1.amazonaws.com/ap-south-1_qQ85yQZJO\": session\n // .getIdToken()\n // .getJwtToken()\n // }\n // // NOTE: getSession must be called to authenticate user before calling getUserAttributes\n // });\n // return config;\n // }\n\n getlocale(){\n let session:any = this.shared.getToken() || null;\n let userid = session.idToken.payload.locale;\n return userid;\n }\n getuserprofile(userid)\n {\n \n \n // alert();\n \n //console.log(cogusers.idToken.payload.locale);\n let roles = {'userid':userid}; \n \n \n // let request = new RequestOptions({headers:headers});\n return this.http.post(this.apiurl+'getUsersDetails',roles);\n \n }\n\n userpinupdate(pin)\n {\n let userid = this.getlocale(); \n let records = {'mpin':pin,'updatedon':currentDate,'fk_updatedby':userid,'userid':userid};\n let formdata = new FormData();\n \n formdata.append('records',JSON.stringify(records));\n return this.http.post(this.apiurl+'updateExistUser',formdata);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/aws-service/aws-service.ts","import { Component,ViewChild } from '@angular/core';\nimport { IonicPage, NavController, NavParams, Slides } from 'ionic-angular';\nimport { InputPage } from '../input/input';\nimport { AwsServiceProvider } from '../../providers/aws-service/aws-service';\nimport { PdtriggerProvider } from '../../providers/pdtrigger/pdtrigger';\nimport { CognitoServiceProvider } from '../../providers/aws-service/cognito.service';\nimport { parseDate } from 'ionic-angular/util/datetime-util';\nimport { PdAllocationPage } from '../pd-allocation/pd-allocation';\nimport { OtpPage } from '../otp/otp';\nimport { PdQuestionCategoryPage } from '../pd-question-category/pd-question-category';\nimport { DatabaseProvider } from '../../providers/database/database';\nimport { AndroidPermissions } from '@ionic-native/android-permissions';\n/**\n * Generated class for the PdListPage page.\n *\n * See https://ionicframework.com/docs/components/#navigation for more info on\n * Ionic pages and navigation.\n */\n\n\n@Component({\n selector: 'page-pd-list',\n templateUrl: 'pd-list.html',\n})\nexport class PdListPage {\n\n @ViewChild('slider') slider:Slides;\n searchinprogress: any;\n searchpast: any;\n pdschduleDetails: any;\n bgColorPast: any = [];\n bgColor: any = [];\n pdinprogress: any=[];\n pdlistdetails: any=[];\n viewchange: boolean;\n pdlist:any = \"0\";\n pdlistaccess:boolean = null;\n constructor(public navCtrl: NavController, public navParams: NavParams,public aws:AwsServiceProvider,public pdofficer:PdtriggerProvider,public shared:CognitoServiceProvider,public db:DatabaseProvider,public androidPermissions:AndroidPermissions) {\n //this.getlenderpddetails(); \n // this.getpdTriggerdetails();\n \n }\n selectedTab(ind)\n {\n this.slider.slideTo(ind)\n }\n moveButton(event){\n this.pdlist=event._snapIndex.toString();\n }\n\n ionViewDidLoad() {\n \n console.log('ionViewDidLoad PdListPage');\n this.db.getuserDetails();\n this.setpermission();\n }\n ionViewCanEnter()\n {\n console.log(\"Pd list ionViewCanEnter\")\n this.getpdTriggerdetails();\n }\n filter(view){\n if(!view){\n this.viewchange = true;\n }else{\n this.viewchange = false;\n this.pdinprogress = this.pdinprogress;\n this.pdschduleDetails = this.pdschduleDetails;\n }\n \n //alert(this.viewchange);\n }\n pdlistsearch(searchbar) {\n \n this.pdinprogress = this.searchinprogress;\n this.pdschduleDetails = this.searchpast;\n // reset countries list with initial call\n //this.pdinprogress = this.countriesInitial;\n // set q to the value of the searchbar\n var q = searchbar.target.value;\n\n // if the value is an empty string don't filter the items\n \n if(this.pdlist == \"inpro\"){\n if (q.trim() == '') {\n return ;\n }else{\n this.pdinprogress = this.searchinprogress.filter((v) => {\n if (v.applicat_details !== undefined && v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1 || v.pd_status.toLowerCase().indexOf(q.toLowerCase())>-1 || v.city_name != null && v.city_name.toLowerCase().indexOf(q.toLowerCase())>-1 || v.lender_applicant_id.toLowerCase().indexOf(q.toLowerCase())>-1) {\n return true;\n }\n return false;\n })\n }\n }else\n {\n if (q.trim() == '') {\n \n return ;\n }else{\n this.pdschduleDetails = this.searchpast.filter((v) => {\n if (v.applicat_details[0].applicant_name.toLowerCase().indexOf(q.toLowerCase()) > -1\n || v.pd_status.toLowerCase().indexOf(q.toLowerCase())>-1|| v.city_name.toLowerCase().indexOf(q.toLowerCase())>-1 || v.lender_applicant_id.toLowerCase().indexOf(q.toLowerCase())>-1) {\n \n return true;\n }\n \n return false;\n })\n }\n \n}\n}\n newpage(){\n this.navCtrl.push(InputPage);\n }\n getpdTriggerdetails()\n {\n \n let userid = this.aws.getlocale();\n //.log(\"User\",userid)\n\n this.pdofficer.getpddetails(userid).subscribe(res=>\n {\n this.pdlistdetails = res;\n if(this.pdlistdetails.dataStatus == true)\n {\n \n \n this.pdlistaccess = true;\n this.pdschduleDetails = this.pdlistdetails.records.filter(sch=>sch.pd_status ==\"ACCEPTED\" || sch.pd_status ==\"SCHEDULED\" || sch.pd_status ==\"INITIATED\" || sch.pd_status ==\"STARTED\" || sch.pd_status ==\"INPROGRESS\" && sch.applicat_details);\n this.searchpast = this.pdschduleDetails;\n \n this.pdinprogress = this.pdlistdetails.records.filter(allocate=>allocate.pd_status == \"ALLOCATED\");\n this.searchinprogress = this.pdinprogress;\n \n this.random_bg_color();\n this.random_ng_past();\n }else\n {\n this.pdlistaccess = false;\n this.pdlistdetails = \"No Records Found\";\n }\n })\n }\n\n random_bg_color() {\n for(let id of this.pdinprogress){\n var x = Math.floor(Math.random() * 256);\n var y = Math.floor(Math.random() * 256);\n var z = Math.floor(Math.random() * 256);\n this.bgColor.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\n \n }\n \n return this.bgColor;\n }\n random_ng_past()\n {\n for(let id of this.pdschduleDetails){\n var x = Math.floor(Math.random() * 256);\n var y = Math.floor(Math.random() * 256);\n var z = Math.floor(Math.random() * 256);\n this.bgColorPast.push(\"rgb(\" + x + \",\" + y + \",\" + z + \")\");\n \n }\n }\n doRefresh(refresher) {\n this.bgColor = [];\n this.pdschduleDetails = [];\n this.pdinprogress = [];\n \n this.shared.refresh();\n this.getpdTriggerdetails();\n setTimeout(() => {\n \n refresher.complete();\n }, 2000);\n }\n \n PdAllocation(pddetails)\n {\n \n if(pddetails.pd_status == 'STARTED')\n {\n this.navCtrl.push(OtpPage,{'pdDetails':pddetails});\n }else if(pddetails.pd_status == 'INPROGRESS'){\n this.navCtrl.push(PdQuestionCategoryPage,{'pdDetails':pddetails});\n }else{\n this.navCtrl.push(InputPage,{'pdDetails':pddetails});\n }\n }\n\n setpermission()\n {\n // let permission = this.androidPermissions.PERMISSION; \n // let premission_list = [\n // permission.ACCESS_LOCATION_EXTRA_COMMANDS,\n // permission.CAMERA,\n\n\n // ];\n this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS).then(\n result => console.log('Has permission?',result.hasPermission),\n err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS)\n );\n \n this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.ACCESS_LOCATION_EXTRA_COMMANDS, this.androidPermissions.PERMISSION.GET_ACCOUNTS]);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pages/pd-list/pd-list.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport {ConstantsProvider} from '../constants/constants';\n\n/*\n Generated class for the PdtriggerProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n\n// const apiurl = 'http://ssa.sineedge.com/sparqapi/api/'\n@Injectable()\nexport class PdtriggerProvider {\n apiurl:any;\n constructor(public http: HttpClient,public constants:ConstantsProvider) {\n this.apiurl = constants.apiurl();\n console.log('Hello PdtriggerProvider Provider');\n }\n\n \n\n /**get dropdonw list */\n\n /**Get list of PD Trigger */\n\n getpddetails(userid)\n { \n console.log(userid);\n return this.http.get(this.apiurl+'listLessPDDetails/get?pdofficerid='+userid);\n }\n\n getFullPDdetails(pdid)\n {\n return this.http.post(this.apiurl+'getFullPDDetails',pdid);\n }\n\n updatepdStatus(dataStatus)\n {\n let records = {'records':dataStatus};\n return this.http.post(this.apiurl+'updatePDMaster',records);\n }\n\n saveCurrentLocation(data)\n {\n let records = {'records':data};\n return this.http.post(this.apiurl+'savePDOfficerCurrentLocation',data);\n }\n\n checkotp(otpDetails)\n {\n let records = {'records':otpDetails};\n return this.http.post(this.apiurl+'checkOTP',records); \n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/pdtrigger/pdtrigger.ts","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Toast, ToastController } from 'ionic-angular';\n\n/*\n Generated class for the ToastProvider provider.\n\n See https://angular.io/guide/dependency-injection for more info on providers\n and Angular DI.\n*/\n@Injectable()\nexport class ToastProvider {\n\n constructor(public http: HttpClient,public toast:ToastController) {\n console.log('Hello ToastProvider Provider');\n }\n pdTriggerappmessage(mess){\n let valalert = this.toast.create({\n message:mess, \n duration: 3000, \n position: 'bottom',\n dismissOnPageChange: true,\n });\n\n valalert.present();\n} \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/providers/common-provider/toast.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 755f2b07..be93ca4d 100755 --- a/package-lock.json +++ b/package-lock.json @@ -10,10 +10,10 @@ "integrity": "sha512-7JxZZAYFSCc0tP6+NrRn3b2Cd1b9d+a3+OfwVNyNsNd2unelqUMko2hm0KLbC8BXcXt/OILg1E/ZgLAXSS47nw==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "source-map": "0.5.7", - "typescript": "2.6.2", - "webpack-sources": "1.1.0" + "loader-utils": "^1.1.0", + "source-map": "^0.5.6", + "typescript": "~2.6.1", + "webpack-sources": "^1.0.1" }, "dependencies": { "typescript": { @@ -29,7 +29,7 @@ "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.1.1.tgz", "integrity": "sha512-PHLBWDnAzr5b5l52pk5ZYmv/6m0YUe2ICwu5dmbS0d8Kf5dXadMphAWCDbljMF+djGyZeFq2/dQ/t7ygYl3YuA==", "requires": { - "tslib": "1.8.1" + "tslib": "^1.7.1" } }, "@angular/cdk": { @@ -37,7 +37,7 @@ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-5.2.5.tgz", "integrity": "sha512-GN8m1d+VcCE9+Bgwv06Y8YJKyZ0i9ZIq2ZPBcJYt+KVgnVVRg4JkyUNxud07LNsvzOX22DquHqmIZiC4hAG7Ag==", "requires": { - "tslib": "1.8.1" + "tslib": "^1.7.1" } }, "@angular/common": { @@ -45,7 +45,7 @@ "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.0.3.tgz", "integrity": "sha1-mwuHTgyMsIjXx94q9ywsPz69ALs=", "requires": { - "tslib": "1.8.1" + "tslib": "^1.7.1" } }, "@angular/compiler": { @@ -53,7 +53,7 @@ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.0.3.tgz", "integrity": "sha1-RYF8mjKxsQPAMHsPVWYPUw9KBqo=", "requires": { - "tslib": "1.8.1" + "tslib": "^1.7.1" } }, "@angular/compiler-cli": { @@ -61,10 +61,10 @@ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.0.3.tgz", "integrity": "sha1-gg/pX1ZTwUGK2aycqegZqHnM5K4=", "requires": { - "chokidar": "1.7.0", - "minimist": "1.2.0", - "reflect-metadata": "0.1.10", - "tsickle": "0.24.1" + "chokidar": "^1.4.2", + "minimist": "^1.2.0", + "reflect-metadata": "^0.1.2", + "tsickle": "^0.24.0" } }, "@angular/core": { @@ -72,7 +72,7 @@ "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.0.3.tgz", "integrity": "sha1-JWZAD2cTvxw59+ALwDpjKAqH5ms=", "requires": { - "tslib": "1.8.1" + "tslib": "^1.7.1" } }, "@angular/forms": { @@ -80,7 +80,7 @@ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.0.3.tgz", "integrity": "sha1-IH+Swr2JZg3aWFjvWNHqwfLK8ac=", "requires": { - "tslib": "1.8.1" + "tslib": "^1.7.1" } }, "@angular/http": { @@ -88,7 +88,7 @@ "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.0.3.tgz", "integrity": "sha1-o7mkJHxLd0VuSVSWVdTB0YWeB10=", "requires": { - "tslib": "1.8.1" + "tslib": "^1.7.1" } }, "@angular/material": { @@ -96,7 +96,7 @@ "resolved": "https://registry.npmjs.org/@angular/material/-/material-5.1.1.tgz", "integrity": "sha512-RC3xkbX35daNq4w+XBmm+Vgi16TJvLbSkw5xkdxCqLSysFx9ymwDOjUbLeHt2nJtvYWvnSjuVukdSAeaBknTFg==", "requires": { - "tslib": "1.8.1" + "tslib": "^1.7.1" } }, "@angular/platform-browser": { @@ -104,7 +104,7 @@ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.0.3.tgz", "integrity": "sha1-SshyQEoqgWLdKKWxZCOLdr9eEmE=", "requires": { - "tslib": "1.8.1" + "tslib": "^1.7.1" } }, "@angular/platform-browser-dynamic": { @@ -112,7 +112,7 @@ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.0.3.tgz", "integrity": "sha1-vm3PA6BPpRxqBIS0Dl8afX5UzIc=", "requires": { - "tslib": "1.8.1" + "tslib": "^1.7.1" } }, "@ionic-native/android-permissions": { @@ -172,31 +172,31 @@ "dev": true, "requires": { "@angular-devkit/build-optimizer": "0.0.35", - "autoprefixer": "7.2.2", - "chalk": "2.3.0", - "chokidar": "1.7.0", - "clean-css": "4.1.9", - "cross-spawn": "5.1.0", - "express": "4.16.2", - "fs-extra": "4.0.3", - "glob": "7.1.2", - "json-loader": "0.5.7", - "node-sass": "4.5.3", - "os-name": "2.0.1", - "postcss": "6.0.14", - "proxy-middleware": "0.15.0", - "reflect-metadata": "0.1.10", + "autoprefixer": "^7.1.6", + "chalk": "^2.3.0", + "chokidar": "^1.7.0", + "clean-css": "^4.1.9", + "cross-spawn": "^5.1.0", + "express": "^4.16.2", + "fs-extra": "^4.0.2", + "glob": "^7.1.2", + "json-loader": "^0.5.7", + "node-sass": "~4.5.3", + "os-name": "^2.0.1", + "postcss": "^6.0.13", + "proxy-middleware": "^0.15.0", + "reflect-metadata": "^0.1.10", "rollup": "0.50.0", "rollup-plugin-commonjs": "8.2.6", "rollup-plugin-node-resolve": "3.0.0", - "source-map": "0.6.1", - "tiny-lr": "1.0.5", - "tslint": "5.8.0", - "tslint-eslint-rules": "4.1.1", - "uglify-es": "3.2.2", + "source-map": "^0.6.1", + "tiny-lr": "^1.0.5", + "tslint": "^5.8.0", + "tslint-eslint-rules": "^4.1.1", + "uglify-es": "^3.2.0", "webpack": "3.8.1", - "ws": "3.3.2", - "xml2js": "0.4.19" + "ws": "^3.2.0", + "xml2js": "^0.4.19" }, "dependencies": { "source-map": { @@ -213,8 +213,8 @@ "integrity": "sha512-/i3Vn2jNBqteAm5FuGCNei5oJlFQB2JYFkH3nR5f5i7X4kRz17XAsAKXVQjyR9wiye8HmxglIz05JsC92nYUjQ==", "requires": { "@types/localforage": "0.0.30", - "localforage": "1.4.3", - "localforage-cordovasqlitedriver": "1.5.0" + "localforage": "~1.4.2", + "localforage-cordovasqlitedriver": "~1.5.0" } }, "@types/chart.js": { @@ -239,7 +239,7 @@ "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", "dev": true, "requires": { - "mime-types": "2.1.17", + "mime-types": "~2.1.16", "negotiator": "0.6.1" } }, @@ -254,7 +254,7 @@ "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", "dev": true, "requires": { - "acorn": "4.0.13" + "acorn": "^4.0.3" }, "dependencies": { "acorn": { @@ -271,10 +271,10 @@ "integrity": "sha1-s4u4h22ehr7plJVqBOch6IskjrI=", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { @@ -289,9 +289,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amazon-cognito-identity-js": { @@ -300,8 +300,8 @@ "integrity": "sha512-zRhhJrei4qj5k7obD2B3aCEk06mVoa1yZQk4P+pjHkUfsHSAqewpJ/IhymDYeQjB396evvKIGjxKPjLVguRYRw==", "requires": { "buffer": "4.9.1", - "crypto-js": "3.1.9-1", - "js-cookie": "2.2.0" + "crypto-js": "^3.1.9-1", + "js-cookie": "^2.1.4" } }, "amdefine": { @@ -321,7 +321,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "anymatch": { @@ -329,8 +329,8 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" } }, "aproba": { @@ -345,8 +345,8 @@ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.3" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "arr-diff": { @@ -354,7 +354,7 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -391,9 +391,9 @@ "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==", "dev": true, "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "assert": { @@ -422,7 +422,7 @@ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "dev": true, "requires": { - "lodash": "4.17.4" + "lodash": "^4.14.0" } }, "async-each": { @@ -454,12 +454,12 @@ "integrity": "sha512-eTVoSHiGp2cDytg7RS7gtqAnfH+WFcNQMTjywGNu+hH7ViQZ/ZKsvNz2C1oVhCtd9DjMIC15iatpxmtp5Kxvpg==", "dev": true, "requires": { - "browserslist": "2.10.0", - "caniuse-lite": "1.0.30000783", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "6.0.14", - "postcss-value-parser": "3.3.0" + "browserslist": "^2.10.0", + "caniuse-lite": "^1.0.30000780", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^6.0.14", + "postcss-value-parser": "^3.2.3" } }, "aws-sign2": { @@ -480,9 +480,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "ansi-styles": { @@ -497,11 +497,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "supports-color": { @@ -534,7 +534,7 @@ "dev": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "big.js": { @@ -554,7 +554,7 @@ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, "requires": { - "inherits": "2.0.3" + "inherits": "~2.0.0" } }, "bn.js": { @@ -569,10 +569,10 @@ "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=", "dev": true, "requires": { - "continuable-cache": "0.3.1", - "error": "7.0.2", - "raw-body": "1.1.7", - "safe-json-parse": "1.0.1" + "continuable-cache": "^0.3.1", + "error": "^7.0.0", + "raw-body": "~1.1.0", + "safe-json-parse": "~1.0.1" }, "dependencies": { "bytes": { @@ -587,8 +587,8 @@ "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=", "dev": true, "requires": { - "bytes": "1.0.0", - "string_decoder": "0.10.31" + "bytes": "1", + "string_decoder": "0.10" } }, "string_decoder": { @@ -606,15 +606,15 @@ "dev": true, "requires": { "bytes": "3.0.0", - "content-type": "1.0.4", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.1", - "http-errors": "1.6.2", + "depd": "~1.1.1", + "http-errors": "~1.6.2", "iconv-lite": "0.4.19", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "1.6.15" + "type-is": "~1.6.15" } }, "boom": { @@ -623,7 +623,7 @@ "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } }, "brace-expansion": { @@ -631,7 +631,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -640,9 +640,9 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "brorand": { @@ -674,12 +674,12 @@ "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "dev": true, "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "browserify-cipher": { @@ -688,9 +688,9 @@ "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "dev": true, "requires": { - "browserify-aes": "1.1.1", - "browserify-des": "1.0.0", - "evp_bytestokey": "1.0.3" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, "browserify-des": { @@ -699,9 +699,9 @@ "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", "dev": true, "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.3" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1" } }, "browserify-rsa": { @@ -710,8 +710,8 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "bn.js": "4.11.8", - "randombytes": "2.0.5" + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" } }, "browserify-sign": { @@ -720,13 +720,13 @@ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "elliptic": "6.4.0", - "inherits": "2.0.3", - "parse-asn1": "5.1.0" + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" } }, "browserify-zlib": { @@ -735,7 +735,7 @@ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "1.0.6" + "pako": "~1.0.5" } }, "browserslist": { @@ -744,8 +744,8 @@ "integrity": "sha512-WyvzSLsuAVPOjbljXnyeWl14Ae+ukAT8MUuagKVzIDvwBxl4UAwD1xqtyQs2eWYPGUKMeC3Ol62goqYuKqTTcw==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000783", - "electron-to-chromium": "1.3.28" + "caniuse-lite": "^1.0.30000780", + "electron-to-chromium": "^1.3.28" } }, "buffer": { @@ -753,9 +753,9 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "1.2.1", - "ieee754": "1.1.8", - "isarray": "1.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, "buffer-xor": { @@ -794,8 +794,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "caniuse-lite": { @@ -816,8 +816,8 @@ "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "dev": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -826,9 +826,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "chart.js": { @@ -836,8 +836,8 @@ "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.7.3.tgz", "integrity": "sha512-3+7k/DbR92m6BsMUYP6M0dMsMVZpMnwkUyNSAbqolHKsbIzH2Q4LWVEHHYq7v0fmEV8whXE0DrjANulw9j2K5g==", "requires": { - "chartjs-color": "2.2.0", - "moment": "2.22.2" + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" } }, "chartjs-color": { @@ -845,8 +845,8 @@ "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.2.0.tgz", "integrity": "sha1-hKL7dVeH7YXDndbdjHsdiEKbrq4=", "requires": { - "chartjs-color-string": "0.5.0", - "color-convert": "0.5.3" + "chartjs-color-string": "^0.5.0", + "color-convert": "^0.5.3" }, "dependencies": { "color-convert": { @@ -861,7 +861,7 @@ "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.5.0.tgz", "integrity": "sha512-amWNvCOXlOUYxZVDSa0YOab5K/lmEhbFNKI55PWc4mlv28BDzA7zaoQTGxSBgJMHIW+hGX8YUrvw/FH4LyhwSQ==", "requires": { - "color-name": "1.1.3" + "color-name": "^1.0.0" } }, "chokidar": { @@ -869,15 +869,15 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.2.4", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" } }, "cipher-base": { @@ -886,8 +886,8 @@ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "clean-css": { @@ -896,7 +896,7 @@ "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "0.5.x" } }, "cliui": { @@ -905,9 +905,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "co": { @@ -928,7 +928,7 @@ "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } }, "color-name": { @@ -942,7 +942,7 @@ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -962,7 +962,7 @@ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, "requires": { - "date-now": "0.1.4" + "date-now": "^0.1.4" } }, "console-control-strings": { @@ -1012,24 +1012,24 @@ "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-7.1.4.tgz", "integrity": "sha512-Rtvu002I83uzfVyCsE6p2krFKVHt9TSAqZUATes+zH+o9cdxYGrLHY+PKCQo4SLCdSMdrkIHCDnQPTYTp/d7+g==", "requires": { - "abbrev": "1.1.1", + "abbrev": "*", "android-versions": "1.4.0", - "ansi": "0.3.1", - "balanced-match": "1.0.0", + "ansi": "*", + "balanced-match": "*", "base64-js": "1.2.0", "big-integer": "1.6.32", - "bplist-parser": "0.1.1", - "brace-expansion": "1.1.11", - "concat-map": "0.0.1", + "bplist-parser": "*", + "brace-expansion": "*", + "concat-map": "*", "cordova-common": "2.2.5", - "cordova-registry-mapper": "1.1.15", + "cordova-registry-mapper": "*", "elementtree": "0.1.6", "glob": "5.0.15", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", + "inflight": "*", + "inherits": "*", + "minimatch": "*", "nopt": "3.0.1", - "once": "1.4.0", + "once": "*", "path-is-absolute": "1.0.1", "plist": "2.1.0", "properties-parser": "0.2.3", @@ -1037,11 +1037,11 @@ "sax": "0.3.5", "semver": "5.5.0", "shelljs": "0.5.3", - "underscore": "1.9.1", - "unorm": "1.4.1", - "wrappy": "1.0.2", + "underscore": "*", + "unorm": "*", + "wrappy": "*", "xmlbuilder": "8.2.2", - "xmldom": "0.1.27" + "xmldom": "*" }, "dependencies": { "abbrev": { @@ -1052,7 +1052,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "semver": "5.5.0" + "semver": "^5.4.1" } }, "ansi": { @@ -1075,14 +1075,14 @@ "version": "0.1.1", "bundled": true, "requires": { - "big-integer": "1.6.32" + "big-integer": "^1.6.7" } }, "brace-expansion": { "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -1094,17 +1094,17 @@ "version": "2.2.5", "bundled": true, "requires": { - "ansi": "0.3.1", - "bplist-parser": "0.1.1", - "cordova-registry-mapper": "1.1.15", + "ansi": "^0.3.1", + "bplist-parser": "^0.1.0", + "cordova-registry-mapper": "^1.1.8", "elementtree": "0.1.6", - "glob": "5.0.15", - "minimatch": "3.0.4", - "plist": "2.1.0", - "q": "1.4.1", - "shelljs": "0.5.3", - "underscore": "1.9.1", - "unorm": "1.4.1" + "glob": "^5.0.13", + "minimatch": "^3.0.0", + "plist": "^2.1.0", + "q": "^1.4.1", + "shelljs": "^0.5.3", + "underscore": "^1.8.3", + "unorm": "^1.3.3" } }, "cordova-registry-mapper": { @@ -1122,19 +1122,19 @@ "version": "5.0.15", "bundled": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "inflight": { "version": "1.0.6", "bundled": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -1145,21 +1145,21 @@ "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "nopt": { "version": "3.0.1", "bundled": true, "requires": { - "abbrev": "1.1.1" + "abbrev": "1" } }, "once": { "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "path-is-absolute": { @@ -1172,7 +1172,7 @@ "requires": { "base64-js": "1.2.0", "xmlbuilder": "8.2.2", - "xmldom": "0.1.27" + "xmldom": "0.1.x" } }, "properties-parser": { @@ -1222,92 +1222,92 @@ "resolved": "https://registry.npmjs.org/cordova-browser/-/cordova-browser-5.0.4.tgz", "integrity": "sha512-EDuG+9NGsaYpNSY6wF0kR34m1m38V+nRglGXxQ609fgMYrMHEYR2lg38nDr1Os4qeF0LJz8UQ7nq7Y+idg6Aig==", "requires": { - "abbrev": "1.1.1", - "accepts": "1.3.5", - "ansi": "0.3.1", + "abbrev": "*", + "accepts": "*", + "ansi": "*", "ansi-regex": "2.1.1", "ansi-styles": "2.2.1", "array-flatten": "1.1.1", - "balanced-match": "1.0.0", + "balanced-match": "*", "base64-js": "1.2.0", - "big-integer": "1.6.32", + "big-integer": "*", "body-parser": "1.18.2", - "bplist-parser": "0.1.1", - "brace-expansion": "1.1.11", - "bytes": "3.0.0", + "bplist-parser": "*", + "brace-expansion": "*", + "bytes": "*", "chalk": "1.1.3", - "compressible": "2.0.14", + "compressible": "*", "compression": "1.7.2", - "concat-map": "0.0.1", - "content-disposition": "0.5.2", - "content-type": "1.0.4", - "cookie": "0.3.1", + "concat-map": "*", + "content-disposition": "*", + "content-type": "*", + "cookie": "*", "cookie-signature": "1.0.6", "cordova-common": "2.2.5", - "cordova-registry-mapper": "1.1.15", + "cordova-registry-mapper": "*", "cordova-serve": "2.0.1", "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "ee-first": "1.1.1", + "depd": "*", + "destroy": "*", + "ee-first": "*", "elementtree": "0.1.6", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "escape-string-regexp": "1.0.5", - "etag": "1.8.1", - "express": "4.16.3", - "finalhandler": "1.1.1", - "forwarded": "0.1.2", - "fresh": "0.5.2", + "encodeurl": "*", + "escape-html": "*", + "escape-string-regexp": "*", + "etag": "*", + "express": "*", + "finalhandler": "*", + "forwarded": "*", + "fresh": "*", "glob": "5.0.15", "has-ansi": "2.0.0", "http-errors": "1.6.3", "iconv-lite": "0.4.19", - "inflight": "1.0.6", - "inherits": "2.0.3", + "inflight": "*", + "inherits": "*", "ipaddr.js": "1.6.0", - "is-wsl": "1.1.0", - "media-typer": "0.3.0", - "merge-descriptors": "1.0.1", - "methods": "1.1.2", + "is-wsl": "*", + "media-typer": "*", + "merge-descriptors": "*", + "methods": "*", "mime": "1.4.1", "mime-db": "1.33.0", "mime-types": "2.1.18", - "minimatch": "3.0.4", + "minimatch": "*", "ms": "2.0.0", - "negotiator": "0.6.1", + "negotiator": "*", "nopt": "3.0.6", - "on-finished": "2.3.0", - "on-headers": "1.0.1", - "once": "1.4.0", - "opn": "5.3.0", - "parseurl": "1.3.2", - "path-is-absolute": "1.0.1", + "on-finished": "*", + "on-headers": "*", + "once": "*", + "opn": "*", + "parseurl": "*", + "path-is-absolute": "*", "path-to-regexp": "0.1.7", "plist": "2.1.0", "proxy-addr": "2.0.3", - "q": "1.5.1", + "q": "*", "qs": "6.5.1", - "range-parser": "1.2.0", + "range-parser": "*", "raw-body": "2.3.2", "safe-buffer": "5.1.1", "sax": "0.3.5", - "send": "0.16.2", - "serve-static": "1.13.2", - "setprototypeof": "1.1.0", + "send": "*", + "serve-static": "*", + "setprototypeof": "*", "shelljs": "0.5.3", "statuses": "1.4.0", "strip-ansi": "3.0.1", "supports-color": "2.0.0", - "type-is": "1.6.16", - "underscore": "1.9.1", - "unorm": "1.4.1", - "unpipe": "1.0.0", - "utils-merge": "1.0.1", - "vary": "1.1.2", - "wrappy": "1.0.2", + "type-is": "*", + "underscore": "*", + "unorm": "*", + "unpipe": "*", + "utils-merge": "*", + "vary": "*", + "wrappy": "*", "xmlbuilder": "8.2.2", - "xmldom": "0.1.27" + "xmldom": "*" }, "dependencies": { "abbrev": { @@ -1318,7 +1318,7 @@ "version": "1.3.5", "bundled": true, "requires": { - "mime-types": "2.1.18", + "mime-types": "~2.1.18", "negotiator": "0.6.1" } }, @@ -1355,29 +1355,29 @@ "bundled": true, "requires": { "bytes": "3.0.0", - "content-type": "1.0.4", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.3", + "depd": "~1.1.1", + "http-errors": "~1.6.2", "iconv-lite": "0.4.19", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "1.6.16" + "type-is": "~1.6.15" } }, "bplist-parser": { "version": "0.1.1", "bundled": true, "requires": { - "big-integer": "1.6.32" + "big-integer": "^1.6.7" } }, "brace-expansion": { "version": "1.1.11", "bundled": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -1389,18 +1389,18 @@ "version": "1.1.3", "bundled": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "compressible": { "version": "2.0.14", "bundled": true, "requires": { - "mime-db": "1.34.0" + "mime-db": ">= 1.34.0 < 2" }, "dependencies": { "mime-db": { @@ -1413,13 +1413,13 @@ "version": "1.7.2", "bundled": true, "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.4", "bytes": "3.0.0", - "compressible": "2.0.14", + "compressible": "~2.0.13", "debug": "2.6.9", - "on-headers": "1.0.1", + "on-headers": "~1.0.1", "safe-buffer": "5.1.1", - "vary": "1.1.2" + "vary": "~1.1.2" } }, "concat-map": { @@ -1446,17 +1446,17 @@ "version": "2.2.5", "bundled": true, "requires": { - "ansi": "0.3.1", - "bplist-parser": "0.1.1", - "cordova-registry-mapper": "1.1.15", + "ansi": "^0.3.1", + "bplist-parser": "^0.1.0", + "cordova-registry-mapper": "^1.1.8", "elementtree": "0.1.6", - "glob": "5.0.15", - "minimatch": "3.0.4", - "plist": "2.1.0", - "q": "1.5.1", - "shelljs": "0.5.3", - "underscore": "1.9.1", - "unorm": "1.4.1" + "glob": "^5.0.13", + "minimatch": "^3.0.0", + "plist": "^2.1.0", + "q": "^1.4.1", + "shelljs": "^0.5.3", + "underscore": "^1.8.3", + "unorm": "^1.3.3" } }, "cordova-registry-mapper": { @@ -1467,11 +1467,11 @@ "version": "2.0.1", "bundled": true, "requires": { - "chalk": "1.1.3", - "compression": "1.7.2", - "express": "4.16.3", - "opn": "5.3.0", - "shelljs": "0.5.3" + "chalk": "^1.1.1", + "compression": "^1.6.0", + "express": "^4.13.3", + "opn": "^5.3.0", + "shelljs": "^0.5.3" } }, "debug": { @@ -1520,36 +1520,36 @@ "version": "4.16.3", "bundled": true, "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "1.0.4", + "content-type": "~1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "finalhandler": "1.1.1", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.3", + "proxy-addr": "~2.0.3", "qs": "6.5.1", - "range-parser": "1.2.0", + "range-parser": "~1.2.0", "safe-buffer": "5.1.1", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", - "statuses": "1.4.0", - "type-is": "1.6.16", + "statuses": "~1.4.0", + "type-is": "~1.6.16", "utils-merge": "1.0.1", - "vary": "1.1.2" + "vary": "~1.1.2" } }, "finalhandler": { @@ -1557,12 +1557,12 @@ "bundled": true, "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.4.0", - "unpipe": "1.0.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" } }, "forwarded": { @@ -1577,28 +1577,28 @@ "version": "5.0.15", "bundled": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-ansi": { "version": "2.0.0", "bundled": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "http-errors": { "version": "1.6.3", "bundled": true, "requires": { - "depd": "1.1.2", + "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": "1.4.0" + "statuses": ">= 1.4.0 < 2" } }, "iconv-lite": { @@ -1609,8 +1609,8 @@ "version": "1.0.6", "bundled": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -1649,14 +1649,14 @@ "version": "2.1.18", "bundled": true, "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.33.0" } }, "minimatch": { "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "ms": { @@ -1671,7 +1671,7 @@ "version": "3.0.6", "bundled": true, "requires": { - "abbrev": "1.1.1" + "abbrev": "1" } }, "on-finished": { @@ -1689,14 +1689,14 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "opn": { "version": "5.3.0", "bundled": true, "requires": { - "is-wsl": "1.1.0" + "is-wsl": "^1.1.0" } }, "parseurl": { @@ -1717,14 +1717,14 @@ "requires": { "base64-js": "1.2.0", "xmlbuilder": "8.2.2", - "xmldom": "0.1.27" + "xmldom": "0.1.x" } }, "proxy-addr": { "version": "2.0.3", "bundled": true, "requires": { - "forwarded": "0.1.2", + "forwarded": "~0.1.2", "ipaddr.js": "1.6.0" } }, @@ -1761,7 +1761,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": "1.4.0" + "statuses": ">= 1.3.1 < 2" } }, "setprototypeof": { @@ -1783,27 +1783,27 @@ "bundled": true, "requires": { "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.6.3", + "http-errors": "~1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.4.0" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" } }, "serve-static": { "version": "1.13.2", "bundled": true, "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", "send": "0.16.2" } }, @@ -1823,7 +1823,7 @@ "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -1835,7 +1835,7 @@ "bundled": true, "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.18" + "mime-types": "~2.1.18" } }, "underscore": { @@ -1902,7 +1902,7 @@ "resolved": "https://registry.npmjs.org/cordova-plugin-fingerprint-aio/-/cordova-plugin-fingerprint-aio-1.4.1.tgz", "integrity": "sha512-YiE9Ry/nWbd5U1uT8WGTbOBDoMrPwXCOjdbciV7Vx5fz85rfRgLHZf+p3DBAvRYt+l96P6HPpIbnL6G5RbAu9Q==", "requires": { - "cordova-plugin-add-swift-support": "1.7.2" + "cordova-plugin-add-swift-support": "^1.7.1" } }, "cordova-plugin-geolocation": { @@ -1964,8 +1964,8 @@ "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", "dev": true, "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.0" + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" } }, "create-hash": { @@ -1974,10 +1974,10 @@ "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", "dev": true, "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "sha.js": "2.4.9" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "sha.js": "^2.4.0" } }, "create-hmac": { @@ -1986,12 +1986,12 @@ "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", "dev": true, "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.9" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "cross-spawn": { @@ -2000,9 +2000,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "cryptiles": { @@ -2011,7 +2011,7 @@ "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "dev": true, "requires": { - "boom": "5.2.0" + "boom": "5.x.x" }, "dependencies": { "boom": { @@ -2020,7 +2020,7 @@ "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } } } @@ -2031,17 +2031,17 @@ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "browserify-cipher": "1.0.0", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.0", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "diffie-hellman": "5.0.2", - "inherits": "2.0.3", - "pbkdf2": "3.0.14", - "public-encrypt": "4.0.0", - "randombytes": "2.0.5", - "randomfill": "1.0.3" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" } }, "crypto-js": { @@ -2055,7 +2055,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "d": { @@ -2064,7 +2064,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.37" + "es5-ext": "^0.10.9" } }, "dashdash": { @@ -2073,7 +2073,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-now": { @@ -2121,8 +2121,8 @@ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "dev": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "destroy": { @@ -2143,9 +2143,9 @@ "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", "dev": true, "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.0.5" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, "doctrine": { @@ -2154,7 +2154,7 @@ "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=", "dev": true, "requires": { - "esutils": "1.1.6", + "esutils": "^1.1.6", "isarray": "0.0.1" }, "dependencies": { @@ -2185,7 +2185,7 @@ "dev": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ee-first": { @@ -2206,13 +2206,13 @@ "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "dev": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.3", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } }, "emojis-list": { @@ -2233,10 +2233,10 @@ "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "object-assign": "4.1.1", - "tapable": "0.2.8" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "object-assign": "^4.0.1", + "tapable": "^0.2.7" } }, "errno": { @@ -2245,7 +2245,7 @@ "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==", "dev": true, "requires": { - "prr": "1.0.1" + "prr": "~1.0.1" } }, "error": { @@ -2254,8 +2254,8 @@ "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=", "dev": true, "requires": { - "string-template": "0.2.1", - "xtend": "4.0.1" + "string-template": "~0.2.1", + "xtend": "~4.0.0" } }, "error-ex": { @@ -2264,7 +2264,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es3ify": { @@ -2272,9 +2272,9 @@ "resolved": "https://registry.npmjs.org/es3ify/-/es3ify-0.1.4.tgz", "integrity": "sha1-rZ+l3xrjTz8x4SEbWBiy1RB439E=", "requires": { - "esprima-fb": "3001.1.0-dev-harmony-fb", - "jstransform": "3.0.0", - "through": "2.3.8" + "esprima-fb": "~3001.0001.0000-dev-harmony-fb", + "jstransform": "~3.0.0", + "through": "~2.3.4" } }, "es5-ext": { @@ -2283,8 +2283,8 @@ "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "es6-iterator": "~2.0.1", + "es6-symbol": "~3.1.1" } }, "es6-iterator": { @@ -2293,9 +2293,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-map": { @@ -2304,12 +2304,12 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" } }, "es6-set": { @@ -2318,11 +2318,11 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "event-emitter": "~0.3.5" } }, "es6-symbol": { @@ -2331,8 +2331,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37" + "d": "1", + "es5-ext": "~0.10.14" } }, "es6-weak-map": { @@ -2341,10 +2341,10 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" } }, "escape-html": { @@ -2365,10 +2365,10 @@ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "dev": true, "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", - "estraverse": "4.2.0" + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "esmangle-evaluator": { @@ -2387,8 +2387,8 @@ "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", "dev": true, "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" + "estraverse": "^4.1.0", + "object-assign": "^4.0.1" } }, "estraverse": { @@ -2421,8 +2421,8 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37" + "d": "1", + "es5-ext": "~0.10.14" } }, "events": { @@ -2437,8 +2437,8 @@ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { - "md5.js": "1.3.4", - "safe-buffer": "5.1.1" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, "execa": { @@ -2447,13 +2447,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "expand-brackets": { @@ -2461,7 +2461,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -2469,7 +2469,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "express": { @@ -2478,36 +2478,36 @@ "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", "dev": true, "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.4", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "1.0.4", + "content-type": "~1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "1.1.1", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.1", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "finalhandler": "1.1.0", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.2", + "proxy-addr": "~2.0.2", "qs": "6.5.1", - "range-parser": "1.2.0", + "range-parser": "~1.2.0", "safe-buffer": "5.1.1", "send": "0.16.1", "serve-static": "1.13.1", "setprototypeof": "1.1.0", - "statuses": "1.3.1", - "type-is": "1.6.15", + "statuses": "~1.3.1", + "type-is": "~1.6.15", "utils-merge": "1.0.1", - "vary": "1.1.2" + "vary": "~1.1.2" }, "dependencies": { "path-to-regexp": { @@ -2529,7 +2529,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "extsprintf": { @@ -2543,10 +2543,10 @@ "resolved": "https://registry.npmjs.org/falafel/-/falafel-1.2.0.tgz", "integrity": "sha1-wY0k71CRF0pJfzGM0ksCaiXN2rQ=", "requires": { - "acorn": "1.2.2", - "foreach": "2.0.5", + "acorn": "^1.0.3", + "foreach": "^2.0.5", "isarray": "0.0.1", - "object-keys": "1.0.11" + "object-keys": "^1.0.6" }, "dependencies": { "isarray": { @@ -2574,7 +2574,7 @@ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } }, "filename-regex": { @@ -2587,11 +2587,11 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "finalhandler": { @@ -2601,12 +2601,12 @@ "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" } }, "find-up": { @@ -2615,8 +2615,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "for-in": { @@ -2629,7 +2629,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -2649,9 +2649,9 @@ "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" } }, "forwarded": { @@ -2672,9 +2672,9 @@ "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "fs.realpath": { @@ -2688,8 +2688,8 @@ "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "optional": true, "requires": { - "nan": "2.11.1", - "node-pre-gyp": "0.10.0" + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" }, "dependencies": { "abbrev": { @@ -2711,17 +2711,19 @@ "bundled": true, "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "balanced-match": { "version": "1.0.0", - "bundled": true + "bundled": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, + "optional": true, "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -2738,7 +2740,8 @@ }, "concat-map": { "version": "0.0.1", - "bundled": true + "bundled": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", @@ -2777,7 +2780,7 @@ "bundled": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "fs.realpath": { @@ -2790,14 +2793,14 @@ "bundled": true, "optional": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "glob": { @@ -2805,12 +2808,12 @@ "bundled": true, "optional": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "has-unicode": { @@ -2823,7 +2826,7 @@ "bundled": true, "optional": true, "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "^2.1.0" } }, "ignore-walk": { @@ -2839,8 +2842,8 @@ "bundled": true, "optional": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -2867,6 +2870,7 @@ "minimatch": { "version": "3.0.4", "bundled": true, + "optional": true, "requires": { "brace-expansion": "1.1.11" } @@ -2879,8 +2883,8 @@ "version": "2.2.4", "bundled": true, "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" } }, "minizlib": { @@ -2888,7 +2892,7 @@ "bundled": true, "optional": true, "requires": { - "minipass": "2.2.4" + "minipass": "^2.2.1" } }, "mkdirp": { @@ -2914,9 +2918,9 @@ "bundled": true, "optional": true, "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.21", - "sax": "1.2.4" + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" } }, "node-pre-gyp": { @@ -2924,16 +2928,16 @@ "bundled": true, "optional": true, "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.0", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.1" + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" } }, "nopt": { @@ -2964,10 +2968,10 @@ "bundled": true, "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -2983,7 +2987,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -3020,10 +3024,10 @@ "bundled": true, "optional": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -3038,13 +3042,13 @@ "bundled": true, "optional": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, "rimraf": { @@ -3052,7 +3056,7 @@ "bundled": true, "optional": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -3088,9 +3092,9 @@ "version": "1.0.2", "bundled": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -3098,14 +3102,14 @@ "bundled": true, "optional": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -3118,13 +3122,13 @@ "bundled": true, "optional": true, "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.4", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.1", - "yallist": "3.0.2" + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" } }, "util-deprecate": { @@ -3137,7 +3141,7 @@ "bundled": true, "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -3156,10 +3160,10 @@ "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" } }, "gauge": { @@ -3168,14 +3172,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "gaze": { @@ -3184,7 +3188,7 @@ "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", "dev": true, "requires": { - "globule": "1.2.0" + "globule": "^1.0.0" } }, "get-caller-file": { @@ -3211,7 +3215,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -3219,12 +3223,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -3232,8 +3236,8 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -3241,7 +3245,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "globule": { @@ -3250,9 +3254,9 @@ "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", "dev": true, "requires": { - "glob": "7.1.2", - "lodash": "4.17.4", - "minimatch": "3.0.4" + "glob": "~7.1.1", + "lodash": "~4.17.4", + "minimatch": "~3.0.2" } }, "graceful-fs": { @@ -3277,8 +3281,8 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "5.5.1", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has-ansi": { @@ -3287,7 +3291,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -3308,7 +3312,7 @@ "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", "dev": true, "requires": { - "inherits": "2.0.3" + "inherits": "^2.0.1" } }, "hash.js": { @@ -3317,8 +3321,8 @@ "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "dev": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" } }, "hawk": { @@ -3327,10 +3331,10 @@ "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "dev": true, "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.0", - "sntp": "2.1.0" + "boom": "4.x.x", + "cryptiles": "3.x.x", + "hoek": "4.x.x", + "sntp": "2.x.x" } }, "hmac-drbg": { @@ -3339,9 +3343,9 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "1.1.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, "hoek": { @@ -3365,7 +3369,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": "1.3.1" + "statuses": ">= 1.3.1 < 2" }, "dependencies": { "setprototypeof": { @@ -3388,9 +3392,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "https-browserify": { @@ -3426,7 +3430,7 @@ "resolved": "https://registry.npmjs.org/increase-memory-limit/-/increase-memory-limit-1.0.6.tgz", "integrity": "sha512-0FSQlNBPzke2/X+UrSypwqobcQ+9CRMKJYcbOJtjO1O1Pd71NMLQA95LveMEFCEHY3Da6q/hf8PW42X+e+ON/A==", "requires": { - "glob": "7.1.2" + "glob": "^7.1.1" } }, "indent-string": { @@ -3435,7 +3439,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "indexof": { @@ -3449,8 +3453,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -3463,8 +3467,8 @@ "resolved": "https://registry.npmjs.org/inline-process-browser/-/inline-process-browser-1.0.0.tgz", "integrity": "sha1-RqYbFT3TybFiSxoAYm7bT39BTyI=", "requires": { - "falafel": "1.2.0", - "through2": "0.6.5" + "falafel": "^1.0.1", + "through2": "^0.6.5" } }, "interpret": { @@ -3511,7 +3515,7 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -3525,7 +3529,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-dotfile": { @@ -3538,7 +3542,7 @@ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -3557,7 +3561,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -3566,7 +3570,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { @@ -3574,7 +3578,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-module": { @@ -3588,7 +3592,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-posix-bracket": { @@ -3704,7 +3708,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsprim": { @@ -3725,7 +3729,7 @@ "integrity": "sha1-olkats7o2XvzvoMNv6IxO4fNZAs=", "requires": { "base62": "0.1.1", - "esprima-fb": "3001.1.0-dev-harmony-fb", + "esprima-fb": "~3001.1.0-dev-harmony-fb", "source-map": "0.1.31" }, "dependencies": { @@ -3734,7 +3738,7 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz", "integrity": "sha1-n3BNDWnZ4TioG63267T94z0VHGE=", "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -3744,7 +3748,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "lazy-cache": { @@ -3759,7 +3763,7 @@ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "lie": { @@ -3767,10 +3771,10 @@ "resolved": "https://registry.npmjs.org/lie/-/lie-3.0.2.tgz", "integrity": "sha1-/9oh17uibzd8rYZdNkmy/Izjn+o=", "requires": { - "es3ify": "0.1.4", - "immediate": "3.0.6", - "inline-process-browser": "1.0.0", - "unreachable-branch-transform": "0.3.0" + "es3ify": "^0.1.3", + "immediate": "~3.0.5", + "inline-process-browser": "^1.0.0", + "unreachable-branch-transform": "^0.3.0" } }, "livereload-js": { @@ -3785,11 +3789,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "loader-runner": { @@ -3804,9 +3808,9 @@ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "dev": true, "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" } }, "localforage": { @@ -3823,7 +3827,7 @@ "integrity": "sha1-+TR4nmrZo5usBf3RFogS9DhTV2I=", "requires": { "@types/localforage": "0.0.30", - "localforage": "1.4.3" + "localforage": ">=1.4.0" } }, "locate-path": { @@ -3832,8 +3836,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" }, "dependencies": { "path-exists": { @@ -3880,8 +3884,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lru-cache": { @@ -3890,8 +3894,8 @@ "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "macos-release": { @@ -3906,7 +3910,7 @@ "integrity": "sha512-kxBL06p6iO2qPBHsqGK2b3cRwiRGpnmSuVWNhwHcMX7qJOUr1HvricYP1LZOCdkQBUp0jiWg2d6WJwR3vYgByw==", "dev": true, "requires": { - "vlq": "0.2.3" + "vlq": "^0.2.1" } }, "map-obj": { @@ -3921,8 +3925,8 @@ "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", "dev": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" }, "dependencies": { "hash-base": { @@ -3931,8 +3935,8 @@ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } } } @@ -3949,7 +3953,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "^1.0.0" } }, "memory-fs": { @@ -3958,8 +3962,8 @@ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true, "requires": { - "errno": "0.1.6", - "readable-stream": "2.3.3" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, "meow": { @@ -3968,16 +3972,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" } }, "merge-descriptors": { @@ -3997,19 +4001,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "miller-rabin": { @@ -4018,8 +4022,8 @@ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" } }, "mime": { @@ -4040,7 +4044,7 @@ "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "dev": true, "requires": { - "mime-db": "1.30.0" + "mime-db": "~1.30.0" } }, "mimic-fn": { @@ -4066,7 +4070,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -4118,19 +4122,19 @@ "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", "dev": true, "requires": { - "fstream": "1.0.11", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "4.1.2", - "osenv": "0.1.4", - "request": "2.83.0", - "rimraf": "2.6.2", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.3.0" + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "2", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" }, "dependencies": { "semver": { @@ -4147,28 +4151,28 @@ "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "dev": true, "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.2.0", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.0", - "domain-browser": "1.1.7", - "events": "1.1.1", - "https-browserify": "1.0.0", - "os-browserify": "0.3.0", + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.3", - "stream-browserify": "2.0.1", - "stream-http": "2.7.2", - "string_decoder": "1.0.3", - "timers-browserify": "2.0.4", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", + "url": "^0.11.0", + "util": "^0.10.3", "vm-browserify": "0.0.4" } }, @@ -4178,24 +4182,24 @@ "integrity": "sha1-0JydEXlkEjnRuX/8YjH9zsU+FWg=", "dev": true, "requires": { - "async-foreach": "0.1.3", - "chalk": "1.1.3", - "cross-spawn": "3.0.1", - "gaze": "1.1.2", - "get-stdin": "4.0.1", - "glob": "7.1.2", - "in-publish": "2.0.0", - "lodash.assign": "4.2.0", - "lodash.clonedeep": "4.5.0", - "lodash.mergewith": "4.6.0", - "meow": "3.7.0", - "mkdirp": "0.5.1", - "nan": "2.8.0", - "node-gyp": "3.6.2", - "npmlog": "4.1.2", - "request": "2.83.0", - "sass-graph": "2.2.4", - "stdout-stream": "1.4.0" + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash.assign": "^4.2.0", + "lodash.clonedeep": "^4.3.2", + "lodash.mergewith": "^4.6.0", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.3.2", + "node-gyp": "^3.3.1", + "npmlog": "^4.0.0", + "request": "^2.79.0", + "sass-graph": "^2.1.1", + "stdout-stream": "^1.4.0" }, "dependencies": { "ansi-styles": { @@ -4210,11 +4214,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "cross-spawn": { @@ -4223,8 +4227,8 @@ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", "dev": true, "requires": { - "lru-cache": "4.1.1", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "supports-color": { @@ -4241,7 +4245,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1.1.1" + "abbrev": "1" } }, "normalize-package-data": { @@ -4250,10 +4254,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -4261,7 +4265,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-range": { @@ -4276,7 +4280,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "npmlog": { @@ -4285,10 +4289,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "num2fraction": { @@ -4325,8 +4329,8 @@ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "on-finished": { @@ -4343,7 +4347,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-browserify": { @@ -4364,7 +4368,7 @@ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "os-name": { @@ -4373,8 +4377,8 @@ "integrity": "sha1-uaOGNhwXrjohc27wWZQFyajF3F4=", "dev": true, "requires": { - "macos-release": "1.1.0", - "win-release": "1.1.1" + "macos-release": "^1.0.0", + "win-release": "^1.0.0" } }, "os-tmpdir": { @@ -4389,8 +4393,8 @@ "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "p-finally": { @@ -4411,7 +4415,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.1.0" + "p-limit": "^1.1.0" } }, "pako": { @@ -4426,11 +4430,11 @@ "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "dev": true, "requires": { - "asn1.js": "4.9.2", - "browserify-aes": "1.1.1", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.14" + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" } }, "parse-glob": { @@ -4438,10 +4442,10 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -4450,7 +4454,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "parseurl": { @@ -4471,7 +4475,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "path-is-absolute": { @@ -4512,9 +4516,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "pbkdf2": { @@ -4523,11 +4527,11 @@ "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", "dev": true, "requires": { - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.9" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "performance-now": { @@ -4554,7 +4558,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "postcss": { @@ -4563,9 +4567,9 @@ "integrity": "sha512-NJ1z0f+1offCgadPhz+DvGm5Mkci+mmV5BqD13S992o0Xk9eElxUfPPF+t2ksH5R/17gz4xVK8KWocUQ5o3Rog==", "dev": true, "requires": { - "chalk": "2.3.0", - "source-map": "0.6.1", - "supports-color": "4.5.0" + "chalk": "^2.3.0", + "source-map": "^0.6.1", + "supports-color": "^4.4.0" }, "dependencies": { "source-map": { @@ -4609,7 +4613,7 @@ "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", "dev": true, "requires": { - "forwarded": "0.1.2", + "forwarded": "~0.1.2", "ipaddr.js": "1.5.2" } }, @@ -4637,11 +4641,11 @@ "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", "dev": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", - "randombytes": "2.0.5" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" } }, "punycode": { @@ -4673,8 +4677,8 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -4682,7 +4686,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -4690,7 +4694,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -4700,7 +4704,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -4711,7 +4715,7 @@ "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.1.0" } }, "randomfill": { @@ -4720,8 +4724,8 @@ "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==", "dev": true, "requires": { - "randombytes": "2.0.5", - "safe-buffer": "5.1.1" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, "range-parser": { @@ -4748,9 +4752,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -4759,8 +4763,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" } }, "readable-stream": { @@ -4768,13 +4772,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -4782,10 +4786,10 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.3", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "recast": { @@ -4794,9 +4798,9 @@ "integrity": "sha1-uV1Q9tYHYaX2JS4V2AZ4FoSRzn8=", "requires": { "ast-types": "0.8.15", - "esprima-fb": "15001.1001.0-dev-harmony-fb", - "private": "0.1.8", - "source-map": "0.5.7" + "esprima-fb": "~15001.1001.0-dev-harmony-fb", + "private": "~0.1.5", + "source-map": "~0.5.0" }, "dependencies": { "esprima-fb": { @@ -4812,8 +4816,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" } }, "reflect-metadata": { @@ -4826,7 +4830,7 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "remove-trailing-separator": { @@ -4850,7 +4854,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -4859,28 +4863,28 @@ "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.1", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "hawk": "~6.0.2", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "stringstream": "~0.0.5", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "require-directory": { @@ -4901,7 +4905,7 @@ "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "right-align": { @@ -4910,7 +4914,7 @@ "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "dev": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -4919,7 +4923,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "ripemd160": { @@ -4928,8 +4932,8 @@ "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", "dev": true, "requires": { - "hash-base": "2.0.2", - "inherits": "2.0.3" + "hash-base": "^2.0.0", + "inherits": "^2.0.1" } }, "rollup": { @@ -4944,11 +4948,11 @@ "integrity": "sha512-qK0+uhktmnAgZkHkqFuajNmPw93fjrO7+CysDaxWE5jrUR9XSlSvuao5ZJP+XizxA8weakhgYYBtbVz9SGBpjA==", "dev": true, "requires": { - "acorn": "5.2.1", - "estree-walker": "0.5.1", - "magic-string": "0.22.4", - "resolve": "1.5.0", - "rollup-pluginutils": "2.0.1" + "acorn": "^5.2.1", + "estree-walker": "^0.5.0", + "magic-string": "^0.22.4", + "resolve": "^1.4.0", + "rollup-pluginutils": "^2.0.1" }, "dependencies": { "acorn": { @@ -4965,10 +4969,10 @@ "integrity": "sha1-i4l8TDAw1QASd7BRSyXSygloPuA=", "dev": true, "requires": { - "browser-resolve": "1.11.2", - "builtin-modules": "1.1.1", - "is-module": "1.0.0", - "resolve": "1.5.0" + "browser-resolve": "^1.11.0", + "builtin-modules": "^1.1.0", + "is-module": "^1.0.0", + "resolve": "^1.1.6" } }, "rollup-pluginutils": { @@ -4977,8 +4981,8 @@ "integrity": "sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=", "dev": true, "requires": { - "estree-walker": "0.3.1", - "micromatch": "2.3.11" + "estree-walker": "^0.3.0", + "micromatch": "^2.3.11" }, "dependencies": { "estree-walker": { @@ -4994,7 +4998,7 @@ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", "requires": { - "tslib": "1.9.3" + "tslib": "^1.9.0" }, "dependencies": { "tslib": { @@ -5026,10 +5030,10 @@ "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", "dev": true, "requires": { - "glob": "7.1.2", - "lodash": "4.17.4", - "scss-tokenizer": "0.2.3", - "yargs": "7.1.0" + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" } }, "sax": { @@ -5044,8 +5048,8 @@ "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", "dev": true, "requires": { - "js-base64": "2.4.0", - "source-map": "0.4.4" + "js-base64": "^2.1.8", + "source-map": "^0.4.2" }, "dependencies": { "source-map": { @@ -5054,7 +5058,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -5072,18 +5076,18 @@ "dev": true, "requires": { "debug": "2.6.9", - "depd": "1.1.1", - "destroy": "1.0.4", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.1", + "destroy": "~1.0.4", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.6.2", + "http-errors": "~1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.3.1" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.3.1" } }, "serve-static": { @@ -5092,9 +5096,9 @@ "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", "dev": true, "requires": { - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "parseurl": "1.3.2", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", "send": "0.16.1" } }, @@ -5132,8 +5136,8 @@ "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "shebang-command": { @@ -5142,7 +5146,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -5163,7 +5167,7 @@ "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } }, "source-list-map": { @@ -5182,7 +5186,7 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "spdx-correct": { @@ -5191,7 +5195,7 @@ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "^1.0.2" } }, "spdx-expression-parse": { @@ -5212,14 +5216,14 @@ "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "dev": true, "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" } }, "statuses": { @@ -5234,7 +5238,7 @@ "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", "dev": true, "requires": { - "readable-stream": "2.3.3" + "readable-stream": "^2.0.1" } }, "stream-browserify": { @@ -5243,8 +5247,8 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, "stream-http": { @@ -5253,11 +5257,11 @@ "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", "dev": true, "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.2.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" } }, "string-template": { @@ -5272,9 +5276,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -5282,7 +5286,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "stringstream": { @@ -5297,7 +5301,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -5306,7 +5310,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -5321,7 +5325,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "supports-color": { @@ -5330,7 +5334,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } }, "sw-toolbox": { @@ -5338,8 +5342,8 @@ "resolved": "https://registry.npmjs.org/sw-toolbox/-/sw-toolbox-3.6.0.tgz", "integrity": "sha1-Jt8dHHA0hljk3qKIQxkUm3sxg7U=", "requires": { - "path-to-regexp": "1.7.0", - "serviceworker-cache-polyfill": "4.0.0" + "path-to-regexp": "^1.0.1", + "serviceworker-cache-polyfill": "^4.0.0" } }, "tapable": { @@ -5354,9 +5358,9 @@ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" } }, "through": { @@ -5369,8 +5373,8 @@ "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" }, "dependencies": { "isarray": { @@ -5383,10 +5387,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -5402,7 +5406,7 @@ "integrity": "sha512-uZYhyU3EX8O7HQP+J9fTVYwsq90Vr68xPEFo7yrVImIxYvHgukBEgOB/SgGoorWVTzGM/3Z+wUNnboA4M8jWrg==", "dev": true, "requires": { - "setimmediate": "1.0.5" + "setimmediate": "^1.0.4" } }, "tiny-lr": { @@ -5411,12 +5415,12 @@ "integrity": "sha512-YrxUSiMgOVh3PnAqtdAUQuUVEVRnqcRCxJ3BHrl/aaWV2fplKKB60oClM0GH2Gio2hcXvkxMUxsC/vXZrQePlg==", "dev": true, "requires": { - "body": "5.1.0", - "debug": "2.6.9", - "faye-websocket": "0.10.0", - "livereload-js": "2.2.2", - "object-assign": "4.1.1", - "qs": "6.5.1" + "body": "^5.1.0", + "debug": "~2.6.7", + "faye-websocket": "~0.10.0", + "livereload-js": "^2.2.2", + "object-assign": "^4.1.0", + "qs": "^6.4.0" } }, "to-arraybuffer": { @@ -5431,7 +5435,7 @@ "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", "dev": true, "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "trim-newlines": { @@ -5445,10 +5449,10 @@ "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.24.1.tgz", "integrity": "sha512-XloFQZhVhgjpQsi3u2ORNRJvuID5sflOg6HfP093IqAbhE1+fIUXznULpdDwHgG4p+v8w78KdHruQtkWUKx5AQ==", "requires": { - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "source-map": "0.5.7", - "source-map-support": "0.4.18" + "minimist": "^1.2.0", + "mkdirp": "^0.5.1", + "source-map": "^0.5.6", + "source-map-support": "^0.4.2" } }, "tslib": { @@ -5462,17 +5466,17 @@ "integrity": "sha1-H0mtWy53x2w69N3K5VKuTjYS6xM=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "builtin-modules": "1.1.1", - "chalk": "2.3.0", - "commander": "2.12.2", - "diff": "3.4.0", - "glob": "7.1.2", - "minimatch": "3.0.4", - "resolve": "1.5.0", - "semver": "5.4.1", - "tslib": "1.8.1", - "tsutils": "2.13.0" + "babel-code-frame": "^6.22.0", + "builtin-modules": "^1.1.1", + "chalk": "^2.1.0", + "commander": "^2.9.0", + "diff": "^3.2.0", + "glob": "^7.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.3.2", + "semver": "^5.3.0", + "tslib": "^1.7.1", + "tsutils": "^2.12.1" } }, "tslint-eslint-rules": { @@ -5481,9 +5485,9 @@ "integrity": "sha1-fDDniC8mvCdr/5HSOEl1xp2viLo=", "dev": true, "requires": { - "doctrine": "0.7.2", - "tslib": "1.8.1", - "tsutils": "1.9.1" + "doctrine": "^0.7.2", + "tslib": "^1.0.0", + "tsutils": "^1.4.0" }, "dependencies": { "tsutils": { @@ -5500,7 +5504,7 @@ "integrity": "sha512-FuWzNJbMsp3gcZMbI3b5DomhW4Ia41vMxjN63nKWI0t7f+I3UmHfRl0TrXJTwI2LUduDG+eR1Mksp3pvtlyCFQ==", "dev": true, "requires": { - "tslib": "1.8.1" + "tslib": "^1.7.1" } }, "tty-browserify": { @@ -5515,7 +5519,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -5532,7 +5536,7 @@ "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.17" + "mime-types": "~2.1.15" } }, "typescript": { @@ -5547,8 +5551,8 @@ "integrity": "sha512-l+s5VLzFwGJfS+fbqaGf/Dfwo1MF13jLOF2ekL0PytzqEqQ6cVppvHf4jquqFok+35USMpKjqkYxy6pQyUcuug==", "dev": true, "requires": { - "commander": "2.12.2", - "source-map": "0.6.1" + "commander": "~2.12.1", + "source-map": "~0.6.1" }, "dependencies": { "source-map": { @@ -5572,9 +5576,9 @@ "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", "dev": true, "requires": { - "source-map": "0.5.7", - "uglify-js": "2.8.29", - "webpack-sources": "1.1.0" + "source-map": "^0.5.6", + "uglify-js": "^2.8.29", + "webpack-sources": "^1.0.1" }, "dependencies": { "camelcase": { @@ -5589,8 +5593,8 @@ "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "dev": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" } }, @@ -5600,9 +5604,9 @@ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "dev": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" } }, "yargs": { @@ -5611,9 +5615,9 @@ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "dev": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -5647,9 +5651,9 @@ "resolved": "https://registry.npmjs.org/unreachable-branch-transform/-/unreachable-branch-transform-0.3.0.tgz", "integrity": "sha1-2ZzExudG0mSSiEW2EdtUsPNHTKo=", "requires": { - "esmangle-evaluator": "1.0.1", - "recast": "0.10.43", - "through2": "0.6.5" + "esmangle-evaluator": "^1.0.0", + "recast": "^0.10.1", + "through2": "^0.6.2" } }, "url": { @@ -5710,8 +5714,8 @@ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" } }, "vary": { @@ -5726,9 +5730,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "vlq": { @@ -5752,9 +5756,9 @@ "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", "dev": true, "requires": { - "async": "2.6.0", - "chokidar": "1.7.0", - "graceful-fs": "4.1.11" + "async": "^2.1.2", + "chokidar": "^1.7.0", + "graceful-fs": "^4.1.2" } }, "webpack": { @@ -5763,28 +5767,28 @@ "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==", "dev": true, "requires": { - "acorn": "5.2.1", - "acorn-dynamic-import": "2.0.2", - "ajv": "5.5.1", - "ajv-keywords": "2.1.1", - "async": "2.6.0", - "enhanced-resolve": "3.4.1", - "escope": "3.6.0", - "interpret": "1.1.0", - "json-loader": "0.5.7", - "json5": "0.5.1", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "mkdirp": "0.5.1", - "node-libs-browser": "2.1.0", - "source-map": "0.5.7", - "supports-color": "4.5.0", - "tapable": "0.2.8", - "uglifyjs-webpack-plugin": "0.4.6", - "watchpack": "1.4.0", - "webpack-sources": "1.1.0", - "yargs": "8.0.2" + "acorn": "^5.0.0", + "acorn-dynamic-import": "^2.0.0", + "ajv": "^5.1.5", + "ajv-keywords": "^2.0.0", + "async": "^2.1.2", + "enhanced-resolve": "^3.4.0", + "escope": "^3.6.0", + "interpret": "^1.0.0", + "json-loader": "^0.5.4", + "json5": "^0.5.1", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "mkdirp": "~0.5.0", + "node-libs-browser": "^2.0.0", + "source-map": "^0.5.3", + "supports-color": "^4.2.1", + "tapable": "^0.2.7", + "uglifyjs-webpack-plugin": "^0.4.6", + "watchpack": "^1.4.0", + "webpack-sources": "^1.0.1", + "yargs": "^8.0.2" }, "dependencies": { "acorn": { @@ -5811,7 +5815,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "is-fullwidth-code-point": { @@ -5826,10 +5830,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "os-locale": { @@ -5838,9 +5842,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "path-type": { @@ -5849,7 +5853,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -5858,9 +5862,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -5869,8 +5873,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "string-width": { @@ -5879,8 +5883,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -5889,7 +5893,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "strip-bom": { @@ -5910,19 +5914,19 @@ "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "dev": true, "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" } }, "yargs-parser": { @@ -5931,7 +5935,7 @@ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -5942,8 +5946,8 @@ "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "dev": true, "requires": { - "source-list-map": "2.0.0", - "source-map": "0.6.1" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" }, "dependencies": { "source-map": { @@ -5960,8 +5964,8 @@ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": "0.4.9", - "websocket-extensions": "0.1.3" + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" } }, "websocket-extensions": { @@ -5976,7 +5980,7 @@ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -5991,7 +5995,7 @@ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "win-release": { @@ -6000,7 +6004,7 @@ "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", "dev": true, "requires": { - "semver": "5.4.1" + "semver": "^5.0.1" } }, "window-size": { @@ -6021,8 +6025,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -6036,9 +6040,9 @@ "integrity": "sha512-t+WGpsNxhMR4v6EClXS8r8km5ZljKJzyGhJf7goJz9k5Ye3+b5Bvno5rjqPuIBn5mnn5GBb7o8IrIWHxX1qOLQ==", "dev": true, "requires": { - "async-limiter": "1.0.0", - "safe-buffer": "5.1.1", - "ultron": "1.1.1" + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" } }, "xml2js": { @@ -6047,8 +6051,8 @@ "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==", "dev": true, "requires": { - "sax": "1.2.4", - "xmlbuilder": "9.0.4" + "sax": ">=0.6.0", + "xmlbuilder": "~9.0.1" } }, "xmlbuilder": { @@ -6080,19 +6084,19 @@ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "dev": true, "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "5.0.0" + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" }, "dependencies": { "camelcase": { @@ -6109,7 +6113,7 @@ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "dev": true, "requires": { - "camelcase": "3.0.0" + "camelcase": "^3.0.0" }, "dependencies": { "camelcase": { diff --git a/package.json b/package.json index 7407df1d..c9bb5487 100755 --- a/package.json +++ b/package.json @@ -100,4 +100,4 @@ "android" ] } -} \ No newline at end of file +} diff --git a/src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts b/src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts index 194da347..81258d6a 100755 --- a/src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts +++ b/src/pages/pd-question/pd-question-general-info/pd-question-general-info.ts @@ -824,6 +824,7 @@ getDateObjects(values: any, controlIndex) { } } +temp: number = 0; submitData(answerData) { @@ -855,6 +856,25 @@ getDateObjects(values: any, controlIndex) { }) } + if (valuesData_indi.length > 0) { + + valuesData_indi.forEach((val, index) => { + + if (val.is_person_met == false) { + + this.temp++; + } + + }); + + if (this.temp == valuesData_indi.length) { + this.toast.pdTriggerappmessage('Please Choose Name of Person Met.!'); + this.temp = 0; + + return; + } + } + saveRecords.individuals=valuesData_indi; saveRecords.companies=valuesData saveRecords.pdid=answerData.pdid; diff --git a/www/assets/fonts/roboto-bold.ttf b/www/assets/fonts/roboto-bold.ttf index 58353df1870c30194288446710d7c37d54514895..4e35166a1f2eead1eab986563ca3f1fcfa43cb4b 100755 GIT binary patch delta 9 QcmeC!#&u#2;|32u02Oru^Z)<= literal 170760 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 diff --git a/www/assets/fonts/roboto-light.ttf b/www/assets/fonts/roboto-light.ttf index 8ccb7ac071ed4c02a040c8dc9f8fd0a081badf40..5e26ccdb1e5d082a0878bd86f5557e927bb54781 100755 GIT binary patch delta 9 Qcmdn8nd``G#tlb&0T;srlK=n! literal 170420 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�KFOuX); z%8B|Ru(R}%BFq3xfnS2C3z9;#pi?0!K%~HdA`^?FA1a6^TtHTWxP?T?wRwm0M~9|+ z4;l1?UzHEwA1c0e8|OWs@6qqrDzqk9B_#%2co5yYB8z9%h_8KJ>qb8k7l+^^A#ufC9YctXZR2T|1U8IW7v}6Go3%TFx>2W4~>=R_DMf zPwR@k-S}KK)Y};^{p5+z<(BrRd7f10Y|h4fPYFzN!?aCle~ufNR<&jgd)h;`p=R|> zm2XWlJDpR^q$L4AFK-iTI>dESRJt-qRrj%Yu64AzobafiEv-%hD1Pc)KUfGl-NGU` z7vj3$T;MK{wQ4JA%+~|VJ_fm|j3PxTh(^StwpL1%JcpnCDDYs^GT-}Ov%AxsPuZ%e zg@Ml9QK%cHEdDN9e%I2to1^EJBhKw*rHl_)es0g4*_NI(tLi0x%G8ywA}U6ib^Xf) z7FweS%|EXM1(28B5tKlcY-|bJO*Vg9qz$T)E^V2Laj4oAlDxonA@aQis#71G#}O)n zau9T%*fhw%7hXI=GcKi~g^X=lB`VT#p|oR z^DX}6JixybcbIG$_ys??##>t7epvgJ?T5B!AMrgshW1$5V`xw37*>UO4#wPj;i!Bo zym=iIlg{fXR3nY+X-2GIbnfjX151O8E1|+`CW22zWHjkK)0jFY0H`A}P3qdgjeu!H z3U^ErnpGtwN&q zehq$&bB+FRl(ALGl!q!@6!mh4*bVl&<`YmtRdmF2iGOAqD4kN&TE^w+H~zWJHWb*^7D&tV4d0#e&DR#?ArICCkW%W^8>y_~

Yn!6%X5Kz_;U1@Ck;`e~IB(L_YiM4kWvnXodN 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%0D?7ft zg4=O>GabQPx0lkhNY_V5fMO*ft&Z?S20%grm z@bZb>KScSXXAjAnwrs+PHnr9J)XrP<%k?kq_g^Yn)35iOaU*Bdsf=Bz4@>lGtb=X< z&-F*g@U_!mbm3t4miZ~yBb|%r{m0Hj)RQ`_P?$8tBK=YPXKVmj#juMr;JQeS^Jq~1FwtumBhw1`VHZkpd|)kMQJ9m+6`DO#FEkWk2yCBKN~ z3|YioUZZwwd&O($)VBY!xQa$@`%^?F{V;p9fi&!XbSx0DUF?eecALan%yBES#B(Mc z(o$GQHhI25QO1on;6GVLfU;p~4KaB7YSlN`W+`9N;mApIjp?`=8xCEiIPM1(>HjObyMq94??!Xj4tOMT)+25vbNXS6V1`4;wIX;I#QAe;hyf!O->k zVRhzQv2ozi*4;oDzDa#~I9I`C*5Ymlpm0Z}u zM0lrF=$2@c7N49ETO$pfAaH!*wA~-QdG=%VU+3QZP%HWIhw0mN=wLFA$6F^<5p+VaXdFEp zLG*!16!%=zyBF(yE~=f?`vMXA2(d-|k>*dw{C8viNTtVZ=4ZV@E>F%MS~%${#>4y` zekMX!6#evvqp(Io0J%W_&rQdwy;KPO`pf!N@pp3R++38Czsl&F^U?t=@`>Cea0IKT&eAfS&c)+cE1 zYu8K5u{I!-`*6ZP!wIiNee7-#G*+7iwF<}2!`W8?<;fltfNE$v-(;gyCrhPFNECjJ z45=ZS3E?64M@^G;Yc;0nANM}~`)eouF3z7eZow1c9$)X@PhZflmOQ^~<{VKcw@>G~ zL-sBApV=^E)I+(g`{X{lsNag6Z*F;PJksPx4YYn2Z%UW)n9;&?Z1 zK^gr;=Dzu3T+Aa7_^_c7)yOPpoqZ!EX4y8Tj!1}fkP>`1)%^PF6~M7Qg#4cSx?ykboCR79ZqS1Aa(W1d+ehb`rnP)f31Hr>$}xI zh@?X=ZCLq|YtPyZyVRQ7e{a8O?CB`9un%joQ)o-{xAea~r!HM6?)An;@18dCT^abM zjw?C-2&3Z)94O^Xd^?Vx)LQ+KMz{7z2Z~8d*kWyTMxe168e=V)uqEy*7Vn<_?S~Ka z??j~;ixy4Mzo2_rUHPYX>^i!3f8URu9;uW!wUooY?gX}%*G z2yY8?n`@|F47yKU`ru@n;~xThsL2Ag_5t?7m39VsGEb7^>0l#Ljx!ZYko~HgSi9fL zKS+ub&L|hh)#q?vYjLqU;IKBjbS3!73hi;?A$X#D3Z57ZelA$YG#>2WU(8A*6q0}O zgC+g(8|%afJ{#uc>gGwIX4(h^#3g{CCXn2lj@xzTUpt(jk6)xuNH`3T#%arMP7u$k zNu_)YN+>wU!?YbIkNV%X$WpC`#!Z}X|QVms=1r#ypmhUcGNhDD$B@xx+z@T&X916MD*uYSqJMv!98=sVn8{dBn zaCma#$wMy;eC+W-coro>Jb-6uiWx(7?4u+g*7dT)10^LGYT%n`FjD#j98$$`QsfjN zPD-pOT%laV8HkTn@NY%KY`Z1G4LjvZ+bK^6;L%m03FlS2&c8G zGQ=NYv)~-hwn)AzCrYA7#2;0a9?Xstr?P2R$#Lg;rBH4grAiSu%z*s~(;>MAtKfWy zvl~J2b2V!7{hD9&E2@b6?aXhL52yc8xV?DO!3S`%-&x(Ghp1E97uo0;uN?T-+oyXT z{jl>d&lnig)&rU0@Q#O2BRAI~E^KZ%TylgVn_z)ouS^CC%W5j@)Vc(4i9uXohZ-h+ z*P~qd>-4p>WA_CUw9niV5DPSOxY_+7pO*%QH>CsmRijG{Bz8GGnN)Uidf0L+$faZJ z9OX;n3{t!zB9<0wPd@?KOX*G3%l5i-BYr^{!W6+^UB;B*Z*E_;^;AfRAK$sE;Q6$LpAC}7LZ=GwJ%$V*v)pNzV-swfV2 z--EsqrSl?k!i9KYlgsnwfkWqthYubw+~q>1+x4_J$F5zQ{8{_7X-}N}>HML*Da)5U zftA2+(4GT@BrA_Q^0po3gT+pja-6#uCS(PW5uD&cS!yGM5T%dZ|NJJJLYB0-ZjN9= z${{Bj)_-|&;#2hv5;Kxu*kFf1;P@Z)*?cE(LVxdl+~A3%=UZ@|Fxtj!M`Emm)m-ieu1 zOHbE0W6RAMTeJeYUzoV?ZCMve`bpf`9SC4BxGGwMxsdAWar1R?_T}c4D(Zi!_qp=* z&-xDx)HnQxtPN<;+EbK=jR!a!85S+6Uh-wlz~d|IAFSq4*GvB4yuScG3|ki&qBEzr z3s`pl7iB@~rKgB5V9(xGWe|U_8}nb322fMT#<|Duwe>ByEzUv=iO!0b5s3IT8CPUw zeR3Ko6K7B9$0}8H<-?X5*&peX8r`g*b-_+iZb~FNo4L4R8_bFh7G9-S%E68fj5p=P64J~OLClW4iThbM6B}^3jOQ4@!N`Kd)?h8y&7vD#}trbtK6`kO}G_6GefTM|IJL5WG9=+uPupTRTADee58C?X2u z84kTc$|SpE6qW|gSOcwg}6DA66kYQ6BecyO@V_ z>p-xGST_pP+^AYZ7Q7bwZxO5i{8jM}`tKt4+hRRTw0wS>)_D8cwcB0gqi($UR%z6j zF;RhY=S!m|2M*{T#i`@NSFc^SDm?IX1e$pZT8-->iMB9IRft z_x%YP8==UcM92#+dwa9SFj`2>IA|IuSb@et#Vc8HSVxxnok%Lye*0I+zkYR>h{O_c zBuk8fGXCoC`j-{-%OWLFRQ(Ot>Ak5xeW&^!!HY1CYbGR5D)NNAW=A;UN}OaNL6q(c zrm*Uey4;csNVXdh;LZRQ%?<5N&p58ZB%y<@K(eGCN(d6S8)Z?ud$KSPMWLiR^~j=G zdp2%(DSwvUV(>`P=VA75@Rf`NovXZ>8@$_WGgJ^Ovh{T(eO$srHMgp?~^E75&W( z)HgIe_>;RHa9&Xv<1a7oZ!F7ML*9M4I&cZn3v4W$lE>UgpjYV>P)8B4KYMXAsNF_Z z#PBJm8^^*E&i+QGyB2#QmgpO_#rn!M8{Yf!n=ARVo}9gLburu!>+}!rzIfv3(KU}x zoja`ou0{dHKqst^9jK3DbW28$6Xh~2R*?z_n+2fz>s-IZ;&K3RI z6W^{q|DS~7`23mcws^#AdTZC_XBXxtifKpQM*jwF;0u2*diThjiO2V@^}jK8F8L}l zkkxe)JCqC!XS(0T9s7v4%IX%*-733QrZ#D#_>g^Ob7cB}09ywwe_}kNB{9=($dZ|D z)B3PJI0;DGj8?rhvJoLhXd@15L%UF8=R7z6eO#}r4~&WIy5@W zSXGIZprs_-PTo6Qh}K%^0LnAx7u=V321-4!w}?6TT}Go`q`V`TV9ynVK4RB-fg&4E zBx)twgp+Ux3uLMYbLAOiP!`id2?2q_5D-EnO_=xO79;eO-D zo`IjveHU{(^m(;$JBNIh+8*zxRXzU?C(l#_i)@^QAh*t0GQcK(1f8*^`bIiqD>l9N zxvS*KSsPbFsPPFqhms`m$U;6~fN}}CMng-2bkDW=vCy@Dz_LS--d4i%FzFev3vnn0 zB*y^{;}tgFefm?y`mAELL$SVIJPMOFQu{-C>ca5+a*zrS`!&WBXcMVehNN|zbSVLd z!fmX{uSK#zK=T%uHuhZyk=u5ix7lzd(IyKfY!qZ`s{(sO+}r>D`lMc0i`0+P-s+dN z|L9jvYJJgbcj+&=z6HcFEXNWIh>;~tzC{RJ!koi@BPrJovCj+jfFv`e zoEdsMVvI2QZHx<@OK=RS8znhVfXf6R6rCLB*Y4248?AYl7nhcl2yvI%Mt`JS+}gW) z2R;((N+b0|(Gyoz{;2iW&*niwaHK7D0OW6O5P`P=%!<6vpY}Tv!Di6pEkGeJ<&|gA*ZH;G|H&) zfPzk=rkY|hJHges7*a9n1z%fN?SZ*bhW&J1pQG>6zj1HVyaivXu%(2OhAiGlKoqC6 z^$T0f$RQ7IuiJ|-+LbaMLG;cLxOLf^hWk8`VS{&n+$j>@*9X?h-Ibo3=;?oVr|SA+ zAE@=Gs_&P!>-21-2wUO4yQx+PSeAf?Q9LgaeJ#VyE?oa3*S8qG{ah0lBMp`>BqA9K zUf=d*TmX~{USG17xRJ^11@cA}?J{GagClC@AQJ}$r1|ELG8&*qp{HEP$;XBp{CF@= zjQAOf?6u3q&uoRvE1n6NS1jJBf9`dWr*DM3QxU{utI>UmSDx#4n=2<~=GcY*S@PMz zU`}qxJ6=EGz!$ad|@s*Fc-y557L3*U^2HmpSi^;raulQlbcT3?wjA7rk?z zt@!vJ%-3h2?1@GDn&{4^qeq)!;V|HF((6xI@HuEimma|R@T1Nr^!ZYC5K0$VGnLtzdD3Cc zIFi^Z!-T9%P8y{$b&z#Psqlo#_{i|FZ-NJT|KRYva581+vP%AaoZX8|wy`aW;E&<2 zV-beQ0>#lVVrq~{qa@P}uymM&D=~jz{uZy^S{!w6T{|;BzBu7O=f4(l?x|m{x_}cs zZSL43#cTH-pE&2pyZYtpleYf7@a-dn`{1vhB&?5OnE8H}5yP}uGLEC|Q0(MJI2bVw zJ(*rJP?}d^|KO;+D6}`;gc3dD_W_QTmWhC37o8DM_QT0bcpBd(bmvKeAMP{#$8sMP z7k?Bj5!M!ZuD@b3DzsH|W8 zRgFsDIDE5TMU3sTo~qT~?-Db>2O|M5X|YkbAw!sbAc+q;c(D}O*a;4XgZFF{BHS``hT=v0Nm?OMRiZM@AIWFH*iVN*b+9|f0@(0i-WNx_Zw87Tv1)VTNr{jy4B12e|2&1GCmG&Z2GZ%4TBT6}=&pMSWcBmAME&KJ)e0 zhQ28NeEV(EAF+ZOkSj^}En1o7S8S1S#|j)Kg*+s@1(G7+C!?gR88}Z^0d79tKR7He zj8;HD#yKd=*_830?m<@9j409fs*yv*d}9?vM%o{1EuEM09e#B8a}{C@cPVTAiJA2Q z0XcW&je8C zHrIR7Wlyp3SymH->~zgY10;7RZug8$ZVXQwTp60X-@mpm-imwaPF=qwWM-v5UY&#<1k?* z*3G|;aNR$jM(Nr?HXb={{E)KfDLXfk4qX`))9^i!zT0*W>HPY7IGt9h z?F}W9JWi!Ake?@{`a!ZPzUuT#lYuCdh&|BOs9dTKK3(%d^;IHmc(4DHF@@KR^ zsTQ9dWUNt{4@o!2j>+TdPc_o-(TVOgYC>nz5PXOhr*c*`IHf%;4{m$gZ9BFLB+K&+ zlIZw_rkqG%qYE=BHJ|Rx)SeCMZ*M=mZqQ@yh2KB@mxwLh^ZKFt7v|pE?C|R42R!P! zJ+UI~_sCN_22Lrr;-{zdAN9bTqGKs{JaRZH?F<1uTV@@0H_S$beTH3!@7`)eip=wbgk)t@um- zRqOuxp%u^E+xpnzXZLvm!%$79^83QH#@+E8Q&aNYp*)yox06 z=*PGso6DLELT99im2(ILR?A@!X2TJmK%|$RUM8bXcdghF9+({Qa{jZs!_+0=$W1I8 zB-g9Fvfp=1n{xc6eXn4*WcEmg;`djz-C4y|(~{aOR_&?EK6VeMXD{;glhh6Z_!Y!OkdU*%0;1C5)bz+P`RWW!H){)gDW@^ zf-I$)A*BXHjPMeofk~;rg^`j1rP}DK?8r(%PTgvKj3$=rqa$h>nJFz33%6-o3RGKa zin?RkfY@mxJFHzBUpOsxz_eB}H--3f8+cC(a5__!E#^J82H)XUND@!hsZ34cE2F@7 zV!(Iy$EH?KC4aAN`7jA={#BA3kRM=3@OR@C{S)H}o$;CRE#q_I37zpkXN+wE^ir}N z0fe}yZ7q^?s*#G98lTz#42rB(!U(xiVZu^xf$AF2g_@j9eRy@D4jEo~^4NF(NL;^W z&HD0xTo}AC>7i*srMg(FKO!~&XV?YwrR_# zPTEC!b#h3<_X8Gjn>KASybNQ7e5e9#+QtOlRqqTu_ljuv>d`gpUfVkG!JY#j?$P~W z{ea9Fef4QoTUBy+eeT+Whc>t$8abkW_rAl24JeLxlJ2+_7c*d%JAhI%DyM z_H9<}S~PEaLC$^cJ8kGA-fUj~&L&y4hdeQDcy_;vwU>{4a^@)9r;s%c+6Q&GR*#?x zmg>$r8!KefOs>!}3T&ljAvnni08R!&IV_Uw9!JF)_JS+Uvf{jI?x;~4^~D}BZL>b_ za-66;XXnnxR1dV+)GEY<`T@%?0*cDYBL)ntYfBiUaYeCRS9qut-y6k+VkqCM7y`-f z_Hs2EJQPOxUP9<^#D}R#377AADV}fCBcgmy;@O+mKzy!mE#JEH?B$ylOncF@KH{m? z9lLez)KttB&&}Iab@8+r&(3^wXqUDvy4D5$dIR#^S~d8-Qg9aqA8}S_BXvw#Oc?QJC2{cuyEee7e9Y%W>(j@ z9xa=9>!4MetA5h;*(npB-@Yd6;@56{Oug!9J$vQMxF6VVf<4~`Y9tpHlSIhz5%mFqEaat0f>)oL|Y0S>ny_}ux zY0{u;dbnk7&CG+BYhJAxL?7mZF*Q?aX5trr5bc@w(>vT=mTUt-tx295f4StE_yKWR zR5kQRAMTG!3B3jG(60d7YgX_YwaNCXU24U_)u-yxDN8r$zi#T>YRZ}?XRcY?twqZ& z_s_h4S$4~oc`aM1_f5`jI(Ou>X(QV_TseF4u*sA4CJmc3Y1pVq6Y*=K`gh%PPycMt zL8su~>ME=}9xFF1X;^B?bz7+mY7C1|745Zg@lmD!u5v2HIiY%&^z3a!PT?H-++zxAob8#H}F_Ud_046KvWtm*xoMXT0JW=`9*ZDn)) zkwh_TNI{2YJ#u^A*Ba%HLRpT!dyyLT-HTTsjqGj;JP@Kqiww+DXK=SYO(}4-Qpb44 zV{{BotjQPokWwEOFVr2d@Rr^j?;!73uWNuI;SRP`bJRh!Tx3KknXTetaAGo%X_uo6 zQpPH?lrRj8h51qu-PtOT@Jp~Yt$-V}V(2YkLPu$@QEtu^#o0y~6~|vi(W{@1pYuq^ zwnHCo-|>-NSv70auV1591JC%wAGUvZV5biK2ezxx;O?5~4H{zQkonpkNU=!V9?YlL z;qZ~%&yY+0%aK%Bj+Y{bJJgX?NMvafR)jv|q8`raelYNpI;!+jty*Bcny5zWxQ7;b z-MEJoCD2GIi9=_>+UT^>R#|C4lMZzuU3Rx&GnwuaN;lh!6e%Hf!5>zhZAX-3M~AT& zIy!UzGtrx(Aw07~%B8E6s$<}{Wo?8zvIxk;?^_~V~C|xgp)+siUtjZ1 zaA41SChWO(B)5YY8)$Yt`Qe zH5PW8nMcm@P2!aKvwUN*KC-+mTVGKr%fuha*$#9%ZDB1+Jh7>((8JVJ+&N56uIdTd zSz1C3zMUrl>G3GL(&miTe>?W|mnTH{=rrHRalXK$=N7)(vC4C!7Oc94670&?W9Z^x zJ@|9r%fQ#-`rhMWVa=m&euZ@uLEHMuy_c=%q5cYn6^*X!F4Kx;<4m^4b;P$V&Xa7E zUEvm98}<6blUe^j>uixfSiH-S)Tjw!@mMno1JsvW&zSkh-^vsh4xFnVYNolv16-6 z;A-GKwbzg8(}D45+c#646KD~L2Yk-~&xyG4temWeVfbVlDu(a2)MCNsH9{s(O6*uR zbiXp7i1V{cN@j|tpXdw3o=?OddZb4weHxb+CIt4GxN_Y9uB=Lq{OG(9y3N z5jIGQM3eFzZdvIeBURBJ&xQ77b7WHoHwr?7nV}B_nj0BuxJ$%{EjO2G`dR(&f)`3o zy?V%%KmX6duBG}1NDSY4@mQ;4ZviJVH?@k=&9B+~Kn{?H(wq3>II~jYAoBX0&~&KHAWc{<+kYZCo8N<-kij;we#TdO+%qAGMvXX14S9UC1v}0{frw%##_UH2+b^8X5 zA3rF&dCNv0pHkG)7hJFC=RGTMt|}CSgT0m z=CPJZIZ1d50;!y z{bc76ZNjtCle&!Rl9jH1LHjVq^@XdCXB8}-2-41F`(HP5FS(dNfi}+SDAZFdP{pHB z1LSw1W{3<8yhWZG{e`Re47?mP(1LFuoihSMA{bauQ-&8r1;To6tw=k$bJr;??abMH z_jmf=g@t0j9)Qn(pzDIx-ZQ5xJTA=Q!h;n2geQR>D98axX0`_)dQv=@9@s~!MuLt0 zj5I7HuXr)ui}CQP^WGe!t1>bpG=#KFXxwP;rL{k~Yu5>pwpL%h?96G`g@OX%=_ORc z&j{Do+E1PffG0_rz;x;+)Eta)r?@lSc%qA&BuMBiz)*qA*+1TkGYEiIW$7B;|>+6Do>)*5(*x|0K2`z`T zzq1PX4p}Jkaodv@^>^Ao)jL^+3ak%Di4!swI8{VFUrZ%W)8KV4Jmz3d4BZv=oL2+ytb$IH)(xGv(Aa?v$a?^6=3MLtl5^!?u0n!et;u658qZ^I4$TF|4(UT>Of+LB^;vZlkFI5Z zvZc^hq;a6;naEYBihFaaL3=7^tL$MrjHV^i%hI08@ri?1%$Cg$=3_6^Azs9>0T22! z;BI*26V#-vHZIgr(OD>-e0$mMDi!okekszw*djKH%Ko24X2sVlyteV!4`a?ex!G4q zynR_O-7h-4+4f!0d7pmctF1dw5T<9NUHLN`cbafl!zoNd^sk)lF8kZU?T(8emJwrYk6>=l(jOKxiYWUTp3*k?5=j7{*~{D{=p7y zy{K~Fnn+DMR;^^ifuAD8)OY8PKS24FF-IRBj}>0J^ApkS;5Q$yTBd*cTl<&vKbJMB zFWRrirm<}n$M!}N_06zqGGsK6RY$o;c1_!+T9cpC5fUd=&=n6&TXi8*6gxu&ZZ-S} zuZnw$TrcZyy!rj*A8^ysf4+13UeZsTX>n11y-0P(-&`u{2(4zRxC4+8)eHjF!~y>u z{VvA84;h9jrVYT(CkdIw3&E!C5pZO$IJ5Nuk{z+}=<1=8nnC_mqMGs(9+9nMb}jsV`8c&J|}T^la2~^wX2_UK@RQ zZP9+6asguWt=i{UeFgIQM;gUH?5+Teb{7QPGkz=PPgbDaXo7#;mdW6+kZkl~cTd~y%5>Ny(lFLf&Q-p6SeXBZ2y<~`QW)r4Yw8T|FHO2Gmi3)uJGr+zx9uYE$wq| z+wN_{h~`@82VI*0BSm)19w;nRBpMy=73r3@J1yYJ^syRL&Qf$&)34s_F-)1I^TkDy!G%heW5xU8$wvYH1_j>QQ}@%k5eQPcd+1UbG{PP)9CQ zD4b(!yn}EKC32F=Ww)SV7+HZF4UKK%%U}yJk_C^UpW)2LV^^KIreC>sWp9%?@2-1o z+rp8P(!@lq!ft(HD^=D1_~NSm<@lwKUU*^o!6wvIuCsnnqf9CfPAX~MbRbzQ($3l< z+wiTJ+eOwR9OSjib5V&xd>wbk%Uj0(FFFi@ zSg`;2@6ThjqOW5s1D+Gl(C{>k0e-ih4@gdhK!sLPu@^rXU9JDH# z3!NvYan4O~BZ6#r@ZH&Q88AZOk?}kp z7^**QbbJ#1a5XEu`S9$IzIpA3pV0a#)@u0_3+Mh?eQ}gm8y3!upNJ~v;D+m#uFc>c zwa{%6^>j>StVz(}M1vB$>(HIZxhcpQ(%kf$Ll{84sBRYqZm2ql58*N}&h1YivCCW} z0e>Ji!ci}Ax#-iRDTgivCtaHNqj0Ow>A&wSoSZ)W%80_W&CktRyY;o}{~93@zufTC zO#M^+&l{iWC3~7Z-9VJ~@4oWn$>Y0Moy8qL2lXyu819lOhe)41*DQJwp>VKXL}F2( zQVw0HYbBA3i+Nh3Mq-%QwWevq=xX;ZUi-%mU;M_XH@+uLvZ=n6dh7|0dVf9Z#xTiT zS<9UOj*{S7h7sMOtr3!?@Q51Vedt+&5naDgq~+i)05pA{+6Aj;_s^xa9yjP$G3fzo>x$`l%X%#T;;q<2U25;yOiN2U2okw_-7tTZga`Stb zm%ay^HTaYEH)j=@_bfZoiDYDjAx}YsD+St)-E8$&Od*2|NoD&}DrO>`%ok?e*N3*S zFx8PIq2V=G_c

7FC&wU0#e68wq?jH85`NvBO}2 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 diff --git a/www/build/main.js b/www/build/main.js index a569a080..dc103707 100644 --- a/www/build/main.js +++ b/www/build/main.js @@ -447,7 +447,7 @@ var PdQuestionCategoryPage = (function () { }; PdQuestionCategoryPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-category',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question-category\pd-question-category.html"*/'\n\n \n\n \n\n \n\n {{pddetails.applicant_name | titlecase}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n\n\n\n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n {{category.category_name[0] | slice : 0 :1 | uppercase}}\n\n \n\n \n\n

{{category.category_name}}

\n\n

{{category.answerd_count}} / {{category.questions_count}} Questions

\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{tempForm.form_name[0] | slice : 0 :1 | uppercase}}\n\n \n\n \n\n

{{tempForm.form_name}}

\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n\n\n \n\n \n\n
\n\n \n\n \n\n

{{questionCate}}

\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n '/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question-category\pd-question-category.html"*/, + selector: 'page-pd-question-category',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question-category/pd-question-category.html"*/'\n \n \n \n {{pddetails.applicant_name | titlecase}}\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n \n \n \n \n \n\n \n \n \n \n
\n \n \n \n \n {{category.category_name[0] | slice : 0 :1 | uppercase}}\n \n \n

{{category.category_name}}

\n

{{category.answerd_count}} / {{category.questions_count}} Questions

\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n \n {{tempForm.form_name[0] | slice : 0 :1 | uppercase}}\n \n \n

{{tempForm.form_name}}

\n \n
\n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n\n \n \n
\n \n \n

{{questionCate}}

\n
\n
\n \n \n \n \n \n '/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question-category/pd-question-category.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_cognito_service__["a" /* CognitoServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_7__providers_pdtrigger_pdtrigger__["a" /* PdtriggerProvider */]]) ], PdQuestionCategoryPage); @@ -640,7 +640,7 @@ var OtpPage = (function () { }; OtpPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-otp',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\otp\otp.html"*/'\n\n\n\n\n\n \n\n \n\n OTP Page\n\n Reason Page\n\n \n\n \n\n \n\n \n\n\n\n\n\n \n\n \n\n \n\n \n\n \n\n Circle Image\n\n \n\n \n\n \n\n \n\n \n\n

OTP

\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n

{{balance_time}}

\n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n

With out OTP Reason

\n\n
\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n {{otp.rejection_reason}}\n\n \n\n \n\n {{reason}}\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\otp\otp.html"*/, + selector: 'page-otp',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/otp/otp.html"*/'\n\n\n \n \n OTP Page\n Reason Page\n \n \n \n \n\n\n \n \n \n \n \n Circle Image\n \n \n \n \n \n

OTP

\n
\n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n

{{balance_time}}

\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n

With out OTP Reason

\n
\n
\n \n
\n \n \n \n \n \n {{otp.rejection_reason}}\n \n \n {{reason}}\n \n \n \n \n
\n
\n
\n \n \n \n \n \n
\n\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/otp/otp.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_pdtrigger_pdtrigger__["a" /* PdtriggerProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["o" /* MenuController */], __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__["a" /* ConstantsProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* AlertController */], __WEBPACK_IMPORTED_MODULE_7__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_8__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_9__ionic_native_geolocation__["a" /* Geolocation */], __WEBPACK_IMPORTED_MODULE_10__ionic_native_android_permissions__["a" /* AndroidPermissions */]]) ], OtpPage); @@ -1173,7 +1173,7 @@ var PdQuestionSupplierInfoPage = (function () { }; PdQuestionSupplierInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-supplier-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-supplier-info\pd-question-supplier-info.html"*/'\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n \n\n
Manufacturing Product Details
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n Raw Material #{{l+1}}\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number.\n\n \n\n \n\n \n\n Enter Valid STD Code Number.\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number.\n\n \n\n \n\n \n\n {{ pm.name }}\n\n \n\n \n\n \n\n \n\n Payment made in Cash.\n\n Payment made through Banking\n\n channels.\n\n \n\n \n\n \n\n No.of days of Credit Provided by Supplier \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n\n\n \n\n
Trading Product Details
\n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n Trading Product #{{l+1}}\n\n \n\n
\n\n \n\n \n\n {{ tp.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number.\n\n \n\n \n\n \n\n Enter Valid STD Code Number.\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number.\n\n \n\n \n\n \n\n {{ pm.name }}\n\n \n\n \n\n \n\n \n\n Payment made in Cash.\n\n Payment made through Banking\n\n channels.\n\n \n\n \n\n \n\n No.of days of Credit Provided by Supplier \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n\n\n \n\n
Service Provider Product Details
\n\n
\n\n\n\n
Service Provider Details Not applicable here !!
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
{{ errorMessage }}
\n\n
\n\n
\n\n
\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-supplier-info\pd-question-supplier-info.html"*/, + selector: 'page-pd-question-supplier-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.html"*/'\n \n \n {{formDetails.form_name}}\n \n\n\n
\n
\n
\n \n \n
Manufacturing Product Details
\n
\n
\n
\n
\n
\n Raw Material #{{l+1}}\n \n
\n \n \n \n \n \n \n \n \n \n {{tl.name}}\n \n \n \n \n \n \n \n \n Select\n \n {{comrelShip.name}}\n \n \n \n \n \n \n \n \n \n Enter Valid Mobile Number.\n \n \n \n Enter Valid STD Code Number.\n \n \n \n \n Enter Valid LandLine Number.\n \n \n \n {{ pm.name }}\n \n \n \n \n Payment made in Cash.\n Payment made through Banking\n channels.\n \n \n \n No.of days of Credit Provided by Supplier \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n\n \n
Trading Product Details
\n
\n\n
\n
\n
\n
\n Trading Product #{{l+1}}\n \n
\n \n \n {{ tp.name }}\n \n \n \n \n \n \n \n \n {{tl.name}}\n \n \n \n \n \n \n \n \n Select\n \n {{comrelShip.name}}\n \n \n \n \n \n \n \n \n \n Enter Valid Mobile Number.\n \n \n \n Enter Valid STD Code Number.\n \n \n \n \n Enter Valid LandLine Number.\n \n \n \n {{ pm.name }}\n \n \n \n \n Payment made in Cash.\n Payment made through Banking\n channels.\n \n \n \n No.of days of Credit Provided by Supplier \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n\n \n
Service Provider Product Details
\n
\n\n
Service Provider Details Not applicable here !!
\n
\n \n \n Remarks\n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n
{{ errorMessage }}
\n
\n
\n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-supplier-info/pd-question-supplier-info.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]]) ], PdQuestionSupplierInfoPage); @@ -1876,7 +1876,7 @@ var PdQuestionStockInfoPage = (function () { }; PdQuestionStockInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-stock-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-stock-info\pd-question-stock-info.html"*/'\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n
Manufacturing Stock Details
\n\n
\n\n
\n\n
\n\n
\n\n Raw Material #{{a+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No Stock Observed\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{M_rawValueInWords[a]}} Only\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n Is the stock of Raw Materials observed, sufficient considering the size of operations
\n\n \n\n Yes\n\n No\n\n \n\n
\n\n \n\n Please comment on the stock level observed?\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n Finished Goods #{{b+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No Stock Observed\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{M_goodsValueInWords[b]}} Only\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n
Retail Trading Details
\n\n
\n\n
\n\n
\n\n
\n\n Traded Goods #{{e+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No Stock Observed\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{R_tradedGoodsValueInWords[e]}} Only\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n
Wholesale Trading Details
\n\n
\n\n
\n\n
\n\n
\n\n Traded Goods #{{g+1}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n Add Stock Details\n\n No stock observed\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}}\n\n {{T_tradedGoodsValueInWords[g]}} Only\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n Is the stock of finished / traded goods observed, sufficient considering the size of operations
\n\n \n\n Select\n\n Yes\n\n No\n\n \n\n
\n\n \n\n Please comment on the stock level observed? \n\n \n\n \n\n
\n\n
\n\n \n\n
Service Provider Details
\n\n
Service Provider Details Not applicable here !!
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
{{ errorMessage }}
\n\n
\n\n
\n\n
\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-stock-info\pd-question-stock-info.html"*/, + selector: 'page-pd-question-stock-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.html"*/'\n \n \n {{formDetails.form_name}}\n \n\n\n
\n
\n
\n \n
Manufacturing Stock Details
\n
\n
\n
\n
\n Raw Material #{{a+1}}\n \n \n \n \n \n \n \n Add Stock Details\n No Stock Observed\n \n \n \n \n \n \n \n \n {{uom.name}}\n \n \n \n \n \n \n \n {{"₹"}}\n {{M_rawValueInWords[a]}} Only\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n Is the stock of Raw Materials observed, sufficient considering the size of operations
\n \n Yes\n No\n \n
\n \n Please comment on the stock level observed?\n \n \n \n
\n
\n
\n
\n Finished Goods #{{b+1}}\n \n \n \n \n \n \n Add Stock Details\n No Stock Observed\n \n \n \n \n \n \n \n \n {{uom.name}}\n \n \n \n \n \n \n \n {{"₹"}}\n {{M_goodsValueInWords[b]}} Only\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n \n
Retail Trading Details
\n
\n
\n
\n
\n Traded Goods #{{e+1}}\n \n \n \n \n \n \n Add Stock Details\n No Stock Observed\n \n \n \n \n \n \n \n \n {{uom.name}}\n \n \n \n \n \n \n \n {{"₹"}}\n {{R_tradedGoodsValueInWords[e]}} Only\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n \n
Wholesale Trading Details
\n
\n
\n
\n
\n Traded Goods #{{g+1}}\n \n \n \n \n \n \n Add Stock Details\n No stock observed\n \n \n \n \n \n \n \n \n {{uom.name}}\n \n \n \n \n \n \n \n {{"₹"}}\n {{T_tradedGoodsValueInWords[g]}} Only\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n \n Is the stock of finished / traded goods observed, sufficient considering the size of operations
\n \n Select\n Yes\n No\n \n
\n \n Please comment on the stock level observed? \n \n \n
\n
\n \n
Service Provider Details
\n
Service Provider Details Not applicable here !!
\n
\n \n \n Remarks\n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n
{{ errorMessage }}
\n
\n
\n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-stock-info/pd-question-stock-info.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) ], PdQuestionStockInfoPage); @@ -2906,13 +2906,13 @@ var PdQuestionFinancialInfoPage = (function () { }; PdQuestionFinancialInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-financial-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-financial-info\pd-question-financial-info.html"*/'\n\n\n\n\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n \n\n \n\n \n\n
Data As Per Financial Statements
\n\n
\n\n
\n\n \n\n \n\n \n\n Yes\n\n No\n\n\n\n \n\n \n\n
\n\n \n\n Enter year from Which Financials Provided\n\n \n\n Invalid year format\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n Financial Year : {{details.get(\'financial_year\').value}}\n\n
\n\n \n\n {{"₹"}} {{FY_annualSalesInwords[i]}} Only \n\n \n\n
\n\n \n\n Sale Variation from Previous Year in %\n\n   -\n\n \n\n

\n\n \n\n No difference in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n\n \n\n \n\n Increase in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_annualsales_variation\').value}} % \n\n \n\n \n\n Decrease in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_annualsales_variation\').value).replace(\'-\', \'\')}} % \n\n \n\n

\n\n \n\n
\n\n \n\n \n\n Net Profit\n\n Net Loss\n\n \n\n \n\n
\n\n \n\n \n\n {{"₹"}} {{FY_netProfitAmtInwords[i]}} Only\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n {{"₹"}}{{FY_netLossAmtInwords[i]}} Only\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n Profit Variation from Previous Year in %: \n\n   - \n\n

\n\n \n\n No difference in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n\n \n\n \n\n Increase in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_variation\').value}} % \n\n \n\n \n\n Decrease in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_variation\').value).replace(\'-\', \'\')}} % \n\n \n\n

\n\n \n\n \n\n Variation of Profit % over sales\n\n   -\n\n

\n\n \n\n No difference in Profit sales % in FY {{details.get(\'financial_year\').value}} over Profit sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n\n \n\n \n\n Increase in Profit sales % in FY {{details.get(\'financial_year\').value}} over Profit sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_profit_to_sale_variation\').value}} % \n\n \n\n \n\n Decrease in Profit sales % in FY {{details.get(\'financial_year\').value}} over Profit sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_profit_to_sale_variation\').value).replace(\'-\', \'\')}} % \n\n \n\n

\n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
Financial As Per Customers
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n {{"₹"}} {{AV_SalesFrmInwords[i]}} Only\n\n \n\n \n\n \n\n {{"₹"}} {{AV_SalesToInwords[i]}} Only\n\n \n\n \n\n \n\n {{"₹"}} {{AV_SalesInwords[i]}} Only\n\n \n\n\n\n \n\n \n\n Net Profit\n\n Net Loss\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{AV_marginProfitAmtInwords[i]}} Only \n\n \n\n
\n\n\n\n
\n\n \n\n \n\n {{"₹"}} {{AV_netProfitAmtFrmInwords[i]}} Only \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netProfitAmtToInwords[i]}} Only \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netProfitAmtInwords[i]}} Only \n\n \n\n \n\n
\n\n \n\n \n\n\n\n\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{AV_marginLossAmtInwords[i]}} Only \n\n \n\n
\n\n
\n\n \n\n \n\n {{"₹"}} {{AV_netLossAmtFrmInwords[i]}} Only \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netLossAmtToInwords[i]}} Only \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{AV_netLossAmtInwords[i]}} Only\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n\n\n
\n\n \n\n
\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n
Working Capital Details
\n\n
\n\n
\n\n \n\n \n\n \n\n In case of Credit Sales, what is the average no of days taken to receive the money?\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n {{a.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-financial-info\pd-question-financial-info.html"*/, + selector: 'page-pd-question-financial-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.html"*/'\n\n\n \n \n {{formDetails.form_name}}\n \n\n\n\n\n\n
\n \n \n \n
Data As Per Financial Statements
\n
\n
\n \n \n \n Yes\n No\n\n \n \n
\n \n Enter year from Which Financials Provided\n \n Invalid year format\n \n \n \n \n
\n
\n
\n \n Financial Year : {{details.get(\'financial_year\').value}}\n
\n \n {{"₹"}} {{FY_annualSalesInwords[i]}} Only \n \n
\n \n Sale Variation from Previous Year in %\n   -\n \n

\n \n No difference in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n \n \n Increase in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_annualsales_variation\').value}} % \n \n \n Decrease in Sales in FY {{details.get(\'financial_year\').value}} over Sales in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_annualsales_variation\').value).replace(\'-\', \'\')}} % \n \n

\n \n
\n \n \n Net Profit\n Net Loss\n \n \n
\n \n \n {{"₹"}} {{FY_netProfitAmtInwords[i]}} Only\n \n \n \n \n
\n
\n \n \n {{"₹"}}{{FY_netLossAmtInwords[i]}} Only\n \n \n \n \n
\n
\n Profit Variation from Previous Year in %: \n   - \n

\n \n No difference in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n \n \n Increase in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_variation\').value}} % \n \n \n Decrease in Profit in FY {{details.get(\'financial_year\').value}} over Profit in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_variation\').value).replace(\'-\', \'\')}} % \n \n

\n \n \n Variation of Profit % over sales\n   -\n

\n \n No difference in Profit sales % in FY {{details.get(\'financial_year\').value}} over Profit sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} \n \n \n Increase in Profit sales % in FY {{details.get(\'financial_year\').value}} over Profit sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{details.get(\'financial_profit_to_sale_variation\').value}} % \n \n \n Decrease in Profit sales % in FY {{details.get(\'financial_year\').value}} over Profit sales % in FY {{financialForm.controls.date_per_financial[\'controls\'][i-1].get(\'financial_year\').value}} {{(details.get(\'financial_profit_to_sale_variation\').value).replace(\'-\', \'\')}} % \n \n

\n \n
\n
\n
\n
\n
\n \n \n \n
\n
\n \n \n \n
Financial As Per Customers
\n
\n
\n \n \n \n \n Yes\n No\n \n \n \n
\n
\n \n \n \n {{"₹"}} {{AV_SalesFrmInwords[i]}} Only\n \n \n \n {{"₹"}} {{AV_SalesToInwords[i]}} Only\n \n \n \n {{"₹"}} {{AV_SalesInwords[i]}} Only\n \n\n \n \n Net Profit\n Net Loss\n \n \n \n \n Yes\n No\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n {{"₹"}} {{AV_marginProfitAmtInwords[i]}} Only \n \n
\n\n
\n \n \n {{"₹"}} {{AV_netProfitAmtFrmInwords[i]}} Only \n \n \n \n {{"₹"}} {{AV_netProfitAmtToInwords[i]}} Only \n \n \n \n \n \n \n {{"₹"}} {{AV_netProfitAmtInwords[i]}} Only \n \n \n
\n \n \n\n\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n {{"₹"}} {{AV_marginLossAmtInwords[i]}} Only \n \n
\n
\n \n \n {{"₹"}} {{AV_netLossAmtFrmInwords[i]}} Only \n \n \n \n {{"₹"}} {{AV_netLossAmtToInwords[i]}} Only \n \n \n \n \n \n \n {{"₹"}} {{AV_netLossAmtInwords[i]}} Only\n \n \n
\n
\n \n \n \n
\n\n
\n \n
\n
\n \n
\n \n \n \n
Working Capital Details
\n
\n
\n \n \n \n In case of Credit Sales, what is the average no of days taken to receive the money?\n \n \n \n \n \n \n \n \n \n \n \n Yes\n No\n \n \n \n \n \n {{a.name}}\n \n \n \n \n \n \n
\n\n \n \n Remarks\n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-financial-info/pd-question-financial-info.html"*/, encapsulation: __WEBPACK_IMPORTED_MODULE_0__angular_core__["_12" /* ViewEncapsulation */].None, }), - __metadata("design:paramtypes", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */]) === "function" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */]) === "function" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__["a" /* ToastProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__["a" /* ToastProvider */]) === "function" && _d || Object, typeof (_e = typeof __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */]) === "function" && _e || Object, typeof (_f = typeof __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]) === "function" && _f || Object, typeof (_g = typeof __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]) === "function" && _g || Object]) + __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], + __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) ], PdQuestionFinancialInfoPage); return PdQuestionFinancialInfoPage; - var _a, _b, _c, _d, _e, _f, _g; }()); //# sourceMappingURL=pd-question-financial-info.js.map @@ -3515,7 +3515,7 @@ var PdQuestionClientInfoPage = (function () { }; PdQuestionClientInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-client-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-client-info\pd-question-client-info.html"*/'\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n
Manufacturing Product Details
\n\n
\n\n
\n\n
\n\n
\n\n Product #{{l+1}}\n\n \n\n
\n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number.\n\n \n\n \n\n \n\n Enter Valid STD Code Number.\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number.\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n Payment received in\n\n Cash.\n\n Payment\n\n received through Banking channels.\n\n \n\n \n\n \n\n No of days of Credit provided to Client for payment\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
Trading Product Details
\n\n
\n\n
\n\n
\n\n
\n\n Trading Product #{{l+1}}\n\n \n\n
\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number.\n\n \n\n \n\n \n\n Enter Valid STD Code Number.\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number.\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n\n\n \n\n \n\n \n\n Payment received in\n\n Cash.\n\n Payment\n\n received through Banking channels.\n\n \n\n\n\n \n\n \n\n No of days of Credit provided to Client for payment\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
Service Provider Product Details
\n\n \n\n
\n\n
\n\n
\n\n
\n\n Service Provided #{{l+1}}\n\n \n\n
\n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tl.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n \n\n {{comrelShip.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number.\n\n \n\n \n\n \n\n Enter Valid STD Code Number.\n\n \n\n \n\n \n\n \n\n Enter Valid LandLine Number.\n\n \n\n \n\n \n\n {{\n\n pm.name }}\n\n \n\n \n\n \n\n \n\n Payment received in\n\n Cash.\n\n Payment\n\n received through Banking channels.\n\n \n\n \n\n \n\n
\n\n \n\n No of days of Credit provided to Client for payment\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
{{ errorMessage }}
\n\n
\n\n
\n\n
\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-client-info\pd-question-client-info.html"*/, + selector: 'page-pd-question-client-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.html"*/'\n \n \n {{formDetails.form_name}}\n \n\n\n
\n
\n
\n \n
Manufacturing Product Details
\n
\n
\n
\n
\n Product #{{l+1}}\n \n
\n \n \n {{\n pm.name }}\n \n \n \n \n \n \n \n \n {{tl.name}}\n \n \n \n \n \n \n \n \n Select\n \n {{comrelShip.name}}\n \n \n \n \n \n \n \n \n \n Enter Valid Mobile Number.\n \n \n \n Enter Valid STD Code Number.\n \n \n \n \n Enter Valid LandLine Number.\n \n \n \n {{\n pm.name }}\n \n \n \n \n Payment received in\n Cash.\n Payment\n received through Banking channels.\n \n \n \n No of days of Credit provided to Client for payment\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n
Trading Product Details
\n
\n
\n
\n
\n Trading Product #{{l+1}}\n \n
\n \n \n \n {{\n pm.name }}\n \n \n \n \n \n \n \n \n {{tl.name}}\n \n \n \n \n \n \n \n \n Select\n \n {{comrelShip.name}}\n \n \n \n \n \n \n \n \n \n Enter Valid Mobile Number.\n \n \n \n Enter Valid STD Code Number.\n \n \n \n \n Enter Valid LandLine Number.\n \n \n \n {{\n pm.name }}\n \n\n \n \n \n Payment received in\n Cash.\n Payment\n received through Banking channels.\n \n\n \n \n No of days of Credit provided to Client for payment\n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n
Service Provider Product Details
\n \n
\n
\n
\n
\n Service Provided #{{l+1}}\n \n
\n \n \n {{\n pm.name }}\n \n \n \n \n \n \n \n \n {{tl.name}}\n \n \n \n \n \n \n \n \n Select\n \n {{comrelShip.name}}\n \n \n \n \n \n \n \n \n \n Enter Valid Mobile Number.\n \n \n \n Enter Valid STD Code Number.\n \n \n \n \n Enter Valid LandLine Number.\n \n \n \n {{\n pm.name }}\n \n \n \n \n Payment received in\n Cash.\n Payment\n received through Banking channels.\n \n \n \n
\n \n No of days of Credit provided to Client for payment\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n \n Remarks\n \n \n \n \n \n \n\n \n
\n
\n
\n
\n \n
\n
{{ errorMessage }}
\n
\n
\n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-client-info/pd-question-client-info.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]]) ], PdQuestionClientInfoPage); @@ -3846,7 +3846,7 @@ var LoginPage = (function () { }; LoginPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-login',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\login\login.html"*/'\n\n\n\n\n\n\n\n\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\login\login.html"*/, + selector: 'page-login',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/login/login.html"*/'\n\n\n\n\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/login/login.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__angular_material__["h" /* MatDialog */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_cognito_service__["a" /* CognitoServiceProvider */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["o" /* MenuController */], @@ -4254,7 +4254,7 @@ var InputPage = (function () { ], InputPage.prototype, "scrolltop", void 0); InputPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-input',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\input\input.html"*/'\n\n \n\n \n\n {{applicatentDetails.lender_full_name}} - {{applicatentDetails.lender_applicant_id}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n   {{applicatentDetails.applicat_details[0].applicant_name | titlecase}}\n\n \n\n
\n\n \n\n \n\n {{applicatentDetails.customer_segment_name}}\n\n \n\n
\n\n \n\n \n\n \n\n {{applicatentDetails.addressline1}}
\n\n {{applicatentDetails.city_name}}
\n\n {{applicatentDetails.state_name}}\n\n -{{applicatentDetails.pincode}}\n\n -{{applicatentDetails.other_pincode}}
\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n {{applicatentDetails.applicat_details[0].mobile_no}} \n\n \n\n \n\n \n\n
\n\n \n\n \n\n {{applicatentDetails.product_name}}\n\n / {{applicatentDetails.subproduct_name}}\n\n \n\n
\n\n \n\n \n\n \n\n Schedule Date\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n  {{applicatentDetails.scheduled_on}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n \n\n \n\n
Applicant # {{i+1}}
\n\n
\n\n \n\n \n\n   {{other_app.applicant_name | titlecase}}\n\n \n\n \n\n \n\n \n\n {{other_app.mobile_no}}\n\n \n\n \n\n \n\n \n\n
\n\n

\n\n \n\n
\n\n \n\n
Lender Contact Details
\n\n
\n\n \n\n \n\n \n\n \n\n   {{applicatentDetails.pd_contact_person}}\n\n \n\n \n\n \n\n \n\n {{applicatentDetails.pd_contact_mobileno}}\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n '/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\input\input.html"*/, + selector: 'page-input',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/input/input.html"*/'\n \n \n {{applicatentDetails.lender_full_name}} - {{applicatentDetails.lender_applicant_id}}\n \n \n \n \n \n \n \n \n \n \n   {{applicatentDetails.applicat_details[0].applicant_name | titlecase}}\n \n
\n \n \n {{applicatentDetails.customer_segment_name}}\n \n
\n \n \n \n {{applicatentDetails.addressline1}}
\n {{applicatentDetails.city_name}}
\n {{applicatentDetails.state_name}}\n -{{applicatentDetails.pincode}}\n -{{applicatentDetails.other_pincode}}
\n \n
\n
\n \n \n \n {{applicatentDetails.applicat_details[0].mobile_no}} \n \n \n \n
\n \n \n {{applicatentDetails.product_name}}\n / {{applicatentDetails.subproduct_name}}\n \n
\n \n \n \n Schedule Date\n \n \n \n \n \n \n \n  {{applicatentDetails.scheduled_on}}\n \n \n \n \n \n \n
\n
\n \n
\n \n \n
Applicant # {{i+1}}
\n
\n \n \n   {{other_app.applicant_name | titlecase}}\n \n \n \n \n {{other_app.mobile_no}}\n \n \n \n \n
\n

\n \n
\n \n
Lender Contact Details
\n
\n \n \n \n \n   {{applicatentDetails.pd_contact_person}}\n \n \n \n \n {{applicatentDetails.pd_contact_mobileno}}\n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n '/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/input/input.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__ionic_native_status_bar__["a" /* StatusBar */], __WEBPACK_IMPORTED_MODULE_4__angular_cdk_platform__["a" /* Platform */], __WEBPACK_IMPORTED_MODULE_5__ionic_native_launch_navigator__["a" /* LaunchNavigator */], @@ -4657,7 +4657,7 @@ var PdQuestionPage = (function () { ], PdQuestionPage.prototype, "ItemsTitles", void 0); PdQuestionPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question.html"*/'\n\n\n\n\n\n \n\n \n\n {{questionDetails.category_name}} Category\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tab}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n\n\n
\n\n\n\n\n\n\n\n\n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n

{{qustDetails.question}}

\n\n
\n\n
\n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n {{answerType.answer}}\n\n\n\n\n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n\n\n \n\n\n\n \n\n \n\n\n\n
\n\n \n\n \n\n
\n\n
\n\n {{img.pd_document_title}}\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n\n\n
\n\n
\n\n \n\n \n\n \n\n\n\n \n\n\n\n \n\n \n\n \n\n \n\n
\n\n\n\n \n\n \n\n\n\n \n\n \n\n \n\n {{ control.controls.pd_answer.value }}\n\n \n\n\n\n \n\n\n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n\n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n\n\n
\n\n\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n\n\n \n\n \n\n \n\n\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n\n\n\n\n
\n\n\n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question.html"*/, + selector: 'page-pd-question',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question.html"*/'\n\n\n \n \n {{questionDetails.category_name}} Category\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{tab}}\n \n \n \n
\n
\n
\n\n
\n\n\n\n\n \n\n \n \n \n \n \n \n \n \n

{{qustDetails.question}}

\n
\n
\n
\n
\n\n \n \n \n \n \n \n\n {{answerType.answer}}\n\n\n \n \n \n\n \n \n \n\n \n\n \n \n\n
\n \n \n
\n
\n {{img.pd_document_title}}\n
\n
\n
\n
\n
\n
\n\n
\n
\n \n \n \n\n \n\n \n \n \n \n
\n\n \n \n\n \n \n \n {{ control.controls.pd_answer.value }}\n \n\n \n\n \n
\n
\n \n
\n
\n
\n
\n\n \n \n \n
\n \n \n \n
\n\n
\n\n
\n
\n \n \n \n \n \n \n\n \n\n \n \n \n\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n\n\n
\n\n \n \n \n \n\n \n \n \n \n\n \n \n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["u" /* Platform */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_camera__["a" /* CameraProvider */], __WEBPACK_IMPORTED_MODULE_7__providers_common_provider_toast__["a" /* ToastProvider */]]) ], PdQuestionPage); @@ -5202,7 +5202,7 @@ var PdQuestionAddressPage = (function () { }; PdQuestionAddressPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-address',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-address\pd-question-address.html"*/'\n\n\n\n \n\n \n\n \n\n {{FormId.form_name}}\n\n \n\n\n\n\n\n\n\n \n\n
\n\n \n\n
\n\n
\n\n \n\n
Address Details # {{i+1}}
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n {{SL.name}}\n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n \n\n \n\n\n\n \n\n \n\n Select\n\n {{PL.pincode}}\n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n \n\n \n\n --\n\n {{m_addressType.address_type}} \n\n \n\n \n\n
\n\n\n\n
\n\n \n\n \n\n \n\n
\n\n\n\n \n\n
\n\n \n\n \n\n --\n\n {{m_locality.locality_name}}\n\n \n\n\n\n \n\n \n\n
\n\n\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n \n\n \n\n --\n\n {{data.description}}\n\n \n\n \n\n \n\n
\n\n\n\n
\n\n \n\n \n\n --\n\n {{data.rating}}\n\n \n\n \n\n \n\n
\n\n\n\n
\n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n
\n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n \n\n\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-address\pd-question-address.html"*/, + selector: 'page-pd-question-address',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-address/pd-question-address.html"*/'\n\n \n \n \n {{FormId.form_name}}\n \n\n\n\n \n
\n \n
\n
\n \n
Address Details # {{i+1}}
\n
\n
\n \n \n \n \n
\n \n \n \n {{SL.name}}\n \n \n \n \n {{CL.city_name}}\n \n \n\n \n \n Select\n {{PL.pincode}}\n \n \n \n \n \n\n
\n \n \n --\n {{m_addressType.address_type}} \n \n \n
\n\n
\n \n \n \n
\n\n \n
\n \n \n --\n {{m_locality.locality_name}}\n \n\n \n \n
\n\n\n \n \n \n \n \n \n \n \n\n
\n \n \n --\n {{data.description}}\n \n \n \n
\n\n
\n \n \n --\n {{data.rating}}\n \n \n \n
\n\n
\n \n \n \n
\n \n \n \n \n \n Select\n {{uom.name}}\n \n \n \n \n \n \n \n\n\n\n\n\n \n
\n
\n
\n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n
\n\n \n\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-address/pd-question-address.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* AlertController */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) ], PdQuestionAddressPage); @@ -5262,7 +5262,7 @@ var PdQuestionEmpInfoPage = (function () { }; PdQuestionEmpInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-emp-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-emp-info\pd-question-emp-info.html"*/'\n\n\n\n \n\n \n\n Employee Salary Category\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n

Emp Met

\n\n \n\n YES\n\n NO\n\n \n\n
\n\n \n\n\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n

Salary amt confirmed

\n\n \n\n YES\n\n NO\n\n \n\n
\n\n\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n

Attendance Register seen

\n\n \n\n YES\n\n NO\n\n \n\n
\n\n\n\n \n\n

Salary register seen

\n\n \n\n YES\n\n NO\n\n \n\n
\n\n\n\n
\n\n
\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-emp-info\pd-question-emp-info.html"*/, + selector: 'page-pd-question-emp-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.html"*/'\n\n \n \n Employee Salary Category\n\n\n \n\n\n\n\n
\n \n
\n \n \n \n \n
\n
\n \n \n \n \n \n
\n \n

Emp Met

\n \n YES\n NO\n \n
\n \n\n
\n \n \n \n \n \n
\n \n

Salary amt confirmed

\n \n YES\n NO\n \n
\n\n
\n \n \n \n \n \n
\n \n

Attendance Register seen

\n \n YES\n NO\n \n
\n\n \n

Salary register seen

\n \n YES\n NO\n \n
\n\n
\n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-emp-info/pd-question-emp-info.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */]]) ], PdQuestionEmpInfoPage); @@ -5797,7 +5797,7 @@ var PdQuestionCurrentLoansPage = (function () { }; PdQuestionCurrentLoansPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-current-loans',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-current-loans\pd-question-current-loans.html"*/'\n\n \n \n \n\n\n \n\n\n\n\n\n
\n \n \n Do you have any other Existing Loans\n \n Yes\n No\n \n \n \n
\n
\n
\n
Loan Details #{{i+1}} {{details.get(\'label\').value}}
\n \n \n \n {{types.loan_type_name}}\n \n\n \n \n \n \n \n \n {{"₹"}}{{amtInwords[i]}}only\n \n \n \n \n {{btLen.lender_name}}\n \n \n \n \n \n \n \n \n {{val.name}}\n \n \n \n \n \n \n \n \n \n \n {{freq.name}}\n \n \n \n \n \n \n \n {{"₹"}}{{emiAmtInwords[i]}}only\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-current-loans\pd-question-current-loans.html"*/, + selector: 'page-pd-question-current-loans',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.html"*/'\n\n \n \n \n\n\n \n\n\n\n\n\n
\n \n \n Do you have any other Existing Loans\n \n Yes\n No\n \n \n \n
\n
\n
\n
Loan Details #{{i+1}} {{details.get(\'label\').value}}
\n \n \n \n {{types.loan_type_name}}\n \n\n \n \n \n \n \n \n {{"₹"}}{{amtInwords[i]}}only\n \n \n \n \n {{btLen.lender_name}}\n \n \n \n \n \n \n \n \n {{val.name}}\n \n \n \n \n \n \n \n \n \n \n {{freq.name}}\n \n \n \n \n \n \n \n {{"₹"}}{{emiAmtInwords[i]}}only\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-current-loans/pd-question-current-loans.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) ], PdQuestionCurrentLoansPage); @@ -6359,7 +6359,7 @@ var PdQuestionLoansPage = (function () { }; PdQuestionLoansPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-loans',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-loans\pd-question-loans.html"*/'\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n\n\n\n\n \n\n
\n\n \n\n \n\n \n\n \n\n {{"₹"}} {{loanAmtInWords}} Only\n\n \n\n \n\n Loan Tenture applied for?\n\n \n\n \n\n \n\n \n\n {{sub.name}}\n\n \n\n \n\n \n\n \n\n {{ enduse.enduse_of_loan }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{balTxrfAmtInWords}} Only\n\n \n\n \n\n \n\n \n\n {{ btLen.lender_name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{topUpAmtInWords}} Only\n\n \n\n \n\n \n\n {{ list.end_use_of_topup }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{ownContributionInWords}} Only\n\n \n\n \n\n \n\n \n\n {{ sour.name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{emiAmtInWords}} Only\n\n \n\n \n\n \n\n
\n\n \n\n \n\n

Details of Property being Mortgaged\n\n

\n\n \n\n \n\n \n\n \n\n {{ typeprop.property_name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{val.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{ status.name }} \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{emvAmtInWords}} Only\n\n \n\n \n\n \n\n \n\n

\n\n \n\n
\n\n
\n\n \n\n Remarks\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-loans\pd-question-loans.html"*/, + selector: 'page-pd-question-loans',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-loans/pd-question-loans.html"*/'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n\n\n\n\n \n
\n \n \n \n \n {{"₹"}} {{loanAmtInWords}} Only\n \n \n Loan Tenture applied for?\n \n \n \n \n {{sub.name}}\n \n \n \n \n {{ enduse.enduse_of_loan }}\n \n \n \n \n \n \n \n \n Yes\n No\n \n \n \n \n \n {{"₹"}} {{balTxrfAmtInWords}} Only\n \n \n \n \n {{ btLen.lender_name }}\n \n \n \n \n \n \n \n \n {{"₹"}} {{topUpAmtInWords}} Only\n \n \n \n {{ list.end_use_of_topup }}\n \n \n \n \n \n \n \n {{"₹"}} {{ownContributionInWords}} Only\n \n \n \n \n {{ sour.name }}\n \n \n \n \n \n \n \n\n \n \n \n \n \n {{"₹"}} {{emiAmtInWords}} Only\n \n \n \n
\n \n \n

Details of Property being Mortgaged\n

\n \n \n \n \n {{ typeprop.property_name }}\n \n \n \n \n \n \n \n \n \n {{val.name}}\n \n \n \n \n \n \n \n \n {{ status.name }} \n \n \n \n \n \n \n \n \n \n {{"₹"}} {{emvAmtInWords}} Only\n \n \n \n \n

\n \n
\n
\n \n Remarks\n \n \n
\n
\n
\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-loans/pd-question-loans.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) ], PdQuestionLoansPage); @@ -6596,7 +6596,7 @@ var PdQuestionBankingPage = (function () { }; PdQuestionBankingPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-banking',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-banking\pd-question-banking.html"*/'\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n \n\n\n\n\n\n \n\n
\n\n
\n\n
\n\n\n\n \n\n \n\n
Banking details {{i+1}}
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{val.name}} \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n \n\n \n\n {{ btLen.lender_name }}\n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n \n\n\n\n \n\n {{bankacc.name}}\n\n\n\n \n\n\n\n \n\n \n\n
\n\n
\n\n \n\n\n\n \n\n Yes\n\n No\n\n NA\n\n \n\n \n\n \n\n
\n\n
\n\n In case of OD / CC account, What is the Limit \n\n \n\n {{"₹"}} {{amtInwords[i]}} only\n\n \n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n

Approximate vintage of the account (No of years)

\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-banking\pd-question-banking.html"*/, + selector: 'page-pd-question-banking',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-banking/pd-question-banking.html"*/'\n\n \n \n {{FormId.form_name}}\n \n\n\n \n
\n
\n
\n\n \n \n
Banking details {{i+1}}
\n \n \n \n
\n
\n
\n \n \n \n {{val.name}} \n \n \n \n
\n \n \n \n
\n \n \n {{ btLen.lender_name }}\n \n \n
\n \n \n \n
\n \n\n \n {{bankacc.name}}\n\n \n\n \n \n
\n
\n \n\n \n Yes\n No\n NA\n \n \n \n
\n
\n In case of OD / CC account, What is the Limit \n \n {{"₹"}} {{amtInwords[i]}} only\n \n
\n\n \n \n \n \n \n \n \n \n \n
\n

Approximate vintage of the account (No of years)

\n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-banking/pd-question-banking.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) ], PdQuestionBankingPage); @@ -7337,7 +7337,7 @@ var PdQuestionFamilyPage = (function () { }; PdQuestionFamilyPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-family',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-family\pd-question-family.html"*/'\n\n \n \n {{FormId.form_name}}\n \n \n\n
\n
\n \n \n \n

Family Details {{i+1}}

\n \n
\n \n \n \n {{pd.applicant_name}}\n \n \n \n
\n \n \n \n \n
Residence Details of {{FamilyMemberAsLabel[i]}}
\n \n \n \n \n \n \n \n {{s.name}}\n \n \n \n \n \n \n {{c.city_name}}\n \n \n \n \n \n \n {{p.pincode}}\n \n \n \n \n \n \n \n \n \n \n \n {{own.name}}\n \n\n\n \n {{"₹"}} {{RentAmount[i]}} Only\n\n\n \n \n \n
\n \n \n \n \n \n \n
\n \n
\n
\n \n Family Details # {{ix+1}} Of {{FamilyMemberAsLabel[i]}}\n \n \n \n \n \n {{relation.name}}\n \n \n \n \n \n \n \n \n {{earning.type}}\n \n \n \n
\n
Earning Details
\n \n \n \n {{segment.earning_member_status}}\n \n \n \n \n \n \n \n \n {{"₹"}} {{IncomePerMonth[ix]}} Only\n \n \n \n \n \n \n \n \n
\n \n
\n \n \n \n {{occupation.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n
\n \n \n
\n
\n\n\n
\n\n \n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n \n \n \n
\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-family\pd-question-family.html"*/, + selector: 'page-pd-question-family',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-family/pd-question-family.html"*/'\n\n \n \n {{FormId.form_name}}\n \n \n\n
\n
\n \n \n \n

Family Details {{i+1}}

\n \n
\n \n \n \n {{pd.applicant_name}}\n \n \n \n
\n \n \n \n \n
Residence Details of {{FamilyMemberAsLabel[i]}}
\n \n \n \n \n \n \n \n {{s.name}}\n \n \n \n \n \n \n {{c.city_name}}\n \n \n \n \n \n \n {{p.pincode}}\n \n \n \n \n \n \n \n \n \n \n \n {{own.name}}\n \n\n\n \n {{"₹"}} {{RentAmount[i]}} Only\n\n\n \n \n \n
\n \n \n \n \n \n \n
\n \n
\n
\n \n Family Details # {{ix+1}} Of {{FamilyMemberAsLabel[i]}}\n \n \n \n \n \n {{relation.name}}\n \n \n \n \n \n \n \n \n {{earning.type}}\n \n \n \n
\n
Earning Details
\n \n \n \n {{segment.earning_member_status}}\n \n \n \n \n \n \n \n \n {{"₹"}} {{IncomePerMonth[ix]}} Only\n \n \n \n \n \n \n \n \n
\n \n
\n \n \n \n {{occupation.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n
\n \n \n
\n
\n\n\n
\n\n \n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n \n \n \n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-family/pd-question-family.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) @@ -7967,7 +7967,7 @@ var PdQuestionAssestsPage = (function () { }; PdQuestionAssestsPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assests',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assests\pd-question-assests.html"*/'\n\n \n\n \n\n {{FormId.form_name}}\n\n \n\n\n\n\n\n \n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n
Asset Details # {{i+1}}
\n\n \n\n
\n\n
\n\n \n\n \n\n {{ asset.name }}\n\n \n\n \n\n
\n\n \n\n
\n\n \n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n {{ prop.name }}\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n\n\n \n\n
\n\n
\n\n
\n\n\n\n \n\n\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n \n\n {{"₹"}} {{PremiumPaidInwords[s]}} Only\n\n \n\n
\n\n
\n\n \n\n \n\n {{ freqn.name }}\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n {{"₹"}} {{SumAssuredInwords[s]}} Only\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n {{ ins_type.name }}\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n \n\n \n\n {{"₹"}} {{AmtInvestInwords[s]}} Only\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n {{val.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n \n\n\n\n Vintage\n\n \n\n \n\n\n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n

Is there a loan?

\n\n \n\n \n\n YES\n\n NO\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n\n\n\n\n\n\n \n\n \n\n \n\n\n\n \n\n
\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assests\pd-question-assests.html"*/, + selector: 'page-pd-question-assests',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assests/pd-question-assests.html"*/'\n \n \n {{FormId.form_name}}\n \n\n\n \n
\n \n
\n
\n
\n \n
Asset Details # {{i+1}}
\n \n
\n
\n \n \n {{ asset.name }}\n \n \n
\n \n
\n \n
\n \n
\n
\n
\n \n \n \n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n \n \n {{ prop.name }}\n \n \n \n \n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n\n \n
\n
\n
\n\n \n\n
\n \n \n \n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n
\n
\n \n
\n \n \n {{"₹"}} {{PremiumPaidInwords[s]}} Only\n \n
\n
\n \n \n {{ freqn.name }}\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n \n \n {{"₹"}} {{SumAssuredInwords[s]}} Only\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n \n {{ ins_type.name }}\n \n \n \n \n \n
\n \n \n \n
\n \n \n {{"₹"}} {{AmtInvestInwords[s]}} Only\n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n \n \n \n {{val.name}}\n \n \n \n \n \n \n \n
\n \n \n \n
\n \n\n Vintage\n \n \n\n \n \n
\n \n \n \n \n
\n
\n \n \n
\n
\n
\n \n

Is there a loan?

\n \n \n YES\n NO\n \n \n
\n
\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n
\n \n \n Remarks\n \n \n \n \n\n\n\n \n \n \n\n \n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assests/pd-question-assests.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__["a" /* ConstantsProvider */]]) ], PdQuestionAssestsPage); @@ -8224,7 +8224,7 @@ var PdQuestionOtherIncomePage = (function () { }; PdQuestionOtherIncomePage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-other-income',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-other-income\pd-question-other-income.html"*/'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n\n
\n \n \n

Other Income

\n \n Yes\n      \n No\n \n \n
\n \n \n
\n
\n

Income Details {{i+1}}

\n \n \n \n {{source.name}}\n \n \n \n Address\n \n \n \n \n \n \n \n \n {{app.name}}\n \n \n \n \n \n \n \n \n {{"₹"}} {{amtInWords[i]}}\n \n \n \n \n {{frq.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-other-income\pd-question-other-income.html"*/, + selector: 'page-pd-question-other-income',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-other-income/pd-question-other-income.html"*/'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n\n
\n \n \n

Other Income

\n \n Yes\n      \n No\n \n \n
\n \n \n
\n
\n

Income Details {{i+1}}

\n \n \n \n {{source.name}}\n \n \n \n Address\n \n \n \n \n \n \n \n \n {{app.name}}\n \n \n \n \n \n \n \n \n {{"₹"}} {{amtInWords[i]}}\n \n \n \n \n {{frq.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-other-income/pd-question-other-income.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) ], PdQuestionOtherIncomePage); @@ -8493,7 +8493,7 @@ var PdQuestionPersonalInfoPage = (function () { }; PdQuestionPersonalInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-personal-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-personal-info\pd-question-personal-info.html"*/'\n\n\n\n \n\n \n\n Personal Info Category\n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n\n\n \n\n
\n\n\n\n \n\n \n\n \n\n
\n\n \n\n
\n\n \n\n \n\n Main Applicant\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{education}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{earning}}\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n Co Applicant\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{education}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{earning}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{rel.name}}\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n
\n\n \n\n
\n\n \n\n \n\n
\n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n Remarks\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-personal-info\pd-question-personal-info.html"*/, + selector: 'page-pd-question-personal-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.html"*/'\n\n \n \n Personal Info Category\n \n \n \n \n \n\n\n\n \n
\n\n \n \n \n
\n \n
\n \n \n Main Applicant\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{education}}\n \n \n \n \n \n \n \n {{earning}}\n \n \n \n
\n
\n \n
\n
\n \n \n
\n \n \n \n \n \n
\n \n \n Co Applicant\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{education}}\n \n \n \n \n \n \n \n \n {{earning}}\n \n \n \n \n \n \n \n {{rel.name}}\n \n \n \n
\n
\n \n \n
\n \n
\n \n \n
\n \n
\n
\n \n
\n
\n \n Remarks\n \n \n
\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-personal-info/pd-question-personal-info.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]]) ], PdQuestionPersonalInfoPage); @@ -8714,7 +8714,7 @@ var PdQuestionRentalInfoPage = (function () { }; PdQuestionRentalInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-rental-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-rental-info\pd-question-rental-info.html"*/'\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n Applicant\n\n Co-Applicant\n\n Parental\n\n\n\n \n\n \n\n \n\n \n\n Residential/commercial\n\n Others\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n Rentel Home Details {{rent_i+1}}\n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n\n\n\n\n \n\n \n\n \n\n

Is Rent agreement available

\n\n \n\n Yes\n\n No\n\n \n\n
\n\n \n\n
\n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n

Photo of agreement taken ?

\n\n \n\n Yes\n\n No\n\n \n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n \n\n\n\n \n\n
\n\n

Details of the tenants {{i+1}}

\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n\n\n\n\n\n\n \n\n \n\n \n\n\n\n \n\n
\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-rental-info\pd-question-rental-info.html"*/, + selector: 'page-pd-question-rental-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.html"*/'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n\n
\n \n \n \n \n \n \n Applicant\n Co-Applicant\n Parental\n\n \n \n \n \n Residential/commercial\n Others\n \n \n \n \n \n \n
\n
\n \n Rentel Home Details {{rent_i+1}}\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n\n \n \n \n

Is Rent agreement available

\n \n Yes\n No\n \n
\n \n
\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n

Photo of agreement taken ?

\n \n Yes\n No\n \n
\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n\n \n\n \n
\n

Details of the tenants {{i+1}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n
\n \n \n \n \n \n \n\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n\n\n\n \n \n \n\n \n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-rental-info/pd-question-rental-info.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]]) ], PdQuestionRentalInfoPage); @@ -8843,7 +8843,7 @@ var PdQuestionAssessedDashPage = (function () { }; PdQuestionAssessedDashPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-dash',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-dash\pd-question-assessed-dash.html"*/'\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Purchase Calculation\n\n \n\n \n\n \n\n
\n\n \n\n

Purchase Detail Available

\n\n \n\n Yes\n\n No\n\n \n\n
\n\n \n\n

Sales

\n\n \n\n Gross Margin\n\n Net Margin\n\n \n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

SALES

\n\n
\n\n
\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

PURCHASE

\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

BUSINESS EXPENSE

\n\n
\n\n
\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

HOUSE HOLD

\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n --\n\n \n\n \n\n \n\n

OTHER BUSINESS INCOME

\n\n
\n\n
\n\n
\n\n \n\n

SUMMARY

\n\n
\n\n \n\n \n\n
Business Revenue
\n\n
\n\n \n\n
{{finalIncome.sales_revenue}}
\n\n
\n\n
\n\n
\n\n \n\n \n\n
Purchase
\n\n
\n\n \n\n
{{finalExpense.purchase}}
\n\n
\n\n
\n\n
\n\n \n\n \n\n
Gross Profit
\n\n
\n\n \n\n
{{finalData.gross_profit}}
\n\n
\n\n
\n\n
\n\n \n\n \n\n
Business Expense
\n\n
\n\n \n\n
{{finalExpense.business_expense}}
\n\n
\n\n
\n\n
\n\n \n\n \n\n
Business Income
\n\n
\n\n \n\n
{{finalData.other_business_income}}
\n\n
\n\n
\n\n
\n\n \n\n \n\n
Net Profit
\n\n
\n\n \n\n
{{finalExpense.net_profit}}
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-dash\pd-question-assessed-dash.html"*/, + selector: 'page-pd-question-assessed-dash',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.html"*/'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n \n \n \n \n \n \n Purchase Calculation\n \n \n \n
\n \n

Purchase Detail Available

\n \n Yes\n No\n \n
\n \n

Sales

\n \n Gross Margin\n Net Margin\n \n
\n \n \n \n
\n
\n
\n
\n
\n
\n \n \n \n \n --\n \n \n \n --\n \n \n \n

SALES

\n
\n
\n \n \n \n --\n \n \n \n --\n \n \n \n

PURCHASE

\n
\n
\n
\n \n \n \n \n --\n \n \n \n --\n \n \n \n

BUSINESS EXPENSE

\n
\n
\n \n \n \n --\n \n \n \n --\n \n \n \n

HOUSE HOLD

\n
\n
\n
\n \n \n \n \n --\n \n \n \n --\n \n \n \n

OTHER BUSINESS INCOME

\n
\n
\n
\n \n

SUMMARY

\n
\n \n \n
Business Revenue
\n
\n \n
{{finalIncome.sales_revenue}}
\n
\n
\n
\n \n \n
Purchase
\n
\n \n
{{finalExpense.purchase}}
\n
\n
\n
\n \n \n
Gross Profit
\n
\n \n
{{finalData.gross_profit}}
\n
\n
\n
\n \n \n
Business Expense
\n
\n \n
{{finalExpense.business_expense}}
\n
\n
\n
\n \n \n
Business Income
\n
\n \n
{{finalData.other_business_income}}
\n
\n
\n
\n \n \n
Net Profit
\n
\n \n
{{finalExpense.net_profit}}
\n
\n
\n
\n \n
\n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-dash/pd-question-assessed-dash.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]]) ], PdQuestionAssessedDashPage); @@ -9101,7 +9101,7 @@ var PdQuestionAssessedInfoPage = (function () { }; PdQuestionAssessedInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-info\pd-question-assessed-info.html"*/'\n\n\n\n \n\n \n\n {{FormName}}\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n \n\n \n\n \n\n \n\n Sales Calculation\n\n \n\n \n\n \n\n
\n\n

Sales declared by the customer as the annual sales actually done.

\n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n\n\n\n\n\n\n \n\n \n\n \n\n\n\n \n\n
\n\n\n\n
\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n Sales Details\n\n \n\n \n\n \n\n

Sales Details

\n\n \n\n \n\n \n\n \n\n

{{"✎"}}

\n\n
\n\n
\n\n \n\n\n\n\n\n \n\n \n\n \n\n\n\n\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n {{salesItem.sales_item}}\n\n \n\n \n\n {{"₹"}} {{salesItem.annual_sale_value}}\n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n Daily Sales Details\n\n \n\n \n\n

Daily Sales Details

\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n

{{monthwise.salesItem | titlecase}}

\n\n \n\n \n\n {{eachItem.header}}\n\n
\n\n \n\n \n\n \n\n {{eachmonthItem.sales_date | date:\'dd-MM-yyyy\'}}\n\n \n\n \n\n {{"₹"}} {{eachmonthItem.sales_value}}\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n {{monthwise.footerMessage[0].month_message}}
\n\n {{monthwise.footerMessage[0].year_message}}\n\n
\n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n\n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n

Purchase Details

\n\n \n\n

{{"✎"}}

\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n {{purchase.purchase_item}}\n\n \n\n \n\n {{"₹"}} {{purchase.annual_purchase_value}}\n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n

Business Expenses

\n\n \n\n \n\n

{{"✎"}}

\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n {{expense.expense_item}}\n\n \n\n \n\n {{"₹"}} {{expense.annual_expenses_value}}\n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n

HouseHold Details

\n\n \n\n \n\n

{{"✎"}}

\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n {{houseExepense.expense_item}}\n\n \n\n \n\n {{"₹"}} {{houseExepense.annual_expense_value}}\n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n

Business Income Details

\n\n \n\n \n\n

{{"✎"}}

\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n {{busIncome.business_income_item !=\'Others(Please Specify)\'?busIncome.business_income_item:busIncome.other_frequncy_item}}\n\n \n\n \n\n {{"₹"}} {{busIncome.income_value}}\n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n\n\n\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-info\pd-question-assessed-info.html"*/, + selector: 'page-pd-question-assessed-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.html"*/'\n\n \n \n {{FormName}}\n\n\n \n\n\n\n\n\n\n
\n \n \n \n \n Sales Calculation\n \n \n \n
\n

Sales declared by the customer as the annual sales actually done.

\n \n \n \n
\n \n \n \n \n \n \n
\n \n\n\n\n \n \n \n\n \n
\n\n
\n
\n \n
\n \n \n \n \n \n \n Sales Details\n \n \n \n

Sales Details

\n \n \n \n \n

{{"✎"}}

\n
\n
\n \n\n\n \n \n \n\n\n \n
\n \n \n \n \n \n {{salesItem.sales_item}}\n \n \n {{"₹"}} {{salesItem.annual_sale_value}}\n \n \n
\n
\n \n
\n
\n \n \n
\n \n \n \n \n Daily Sales Details\n \n \n

Daily Sales Details

\n \n \n \n \n \n \n \n
\n
\n

{{monthwise.salesItem | titlecase}}

\n \n \n {{eachItem.header}}\n
\n \n \n \n {{eachmonthItem.sales_date | date:\'dd-MM-yyyy\'}}\n \n \n {{"₹"}} {{eachmonthItem.sales_value}}\n \n \n \n
\n
\n \n \n \n {{monthwise.footerMessage[0].month_message}}
\n {{monthwise.footerMessage[0].year_message}}\n
\n \n \n \n
\n \n \n \n
\n
\n
\n \n \n\n
\n
\n \n
\n
\n \n

Purchase Details

\n \n

{{"✎"}}

\n \n \n \n \n \n
\n \n \n \n \n {{purchase.purchase_item}}\n \n \n {{"₹"}} {{purchase.annual_purchase_value}}\n \n \n
\n
\n \n
\n
\n
\n
\n \n

Business Expenses

\n \n \n

{{"✎"}}

\n \n \n \n \n \n
\n
\n
\n \n \n {{expense.expense_item}}\n \n \n {{"₹"}} {{expense.annual_expenses_value}}\n \n \n
\n
\n \n
\n
\n
\n
\n \n

HouseHold Details

\n \n \n

{{"✎"}}

\n \n \n \n \n \n
\n
\n
\n \n \n {{houseExepense.expense_item}}\n \n \n {{"₹"}} {{houseExepense.annual_expense_value}}\n \n \n
\n
\n \n
\n
\n
\n
\n \n

Business Income Details

\n \n \n

{{"✎"}}

\n \n \n \n \n \n
\n
\n
\n \n \n {{busIncome.business_income_item !=\'Others(Please Specify)\'?busIncome.business_income_item:busIncome.other_frequncy_item}}\n \n \n {{"₹"}} {{busIncome.income_value}}\n \n \n
\n
\n \n
\n
\n
\n \n\n\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-info/pd-question-assessed-info.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]]) ], PdQuestionAssessedInfoPage); @@ -9339,7 +9339,7 @@ var PdQuestionAssessedSalesPage = (function () { }; PdQuestionAssessedSalesPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-sales',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-sales\pd-question-assessed-sales.html"*/'\n\n\n\n \n\n \n\n Item Salas Details\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n

Itemwise

\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{uom.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{frq.name}}\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n

Grand Total : {{grandTotal}}

\n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-sales\pd-question-assessed-sales.html"*/, + selector: 'page-pd-question-assessed-sales',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.html"*/'\n\n \n \n Item Salas Details\n\n\n \n\n\n\n\n\n
\n
\n
\n \n

Itemwise

\n \n \n \n \n \n \n \n \n {{uom.name}}\n \n \n \n \n \n \n \n {{frq.name}}\n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n

Grand Total : {{grandTotal}}

\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-sales/pd-question-assessed-sales.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]]) ], PdQuestionAssessedSalesPage); @@ -9559,7 +9559,7 @@ var PdQuestionAssessedDailySalesPage = (function () { }; PdQuestionAssessedDailySalesPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-daily-sales',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-daily-sales\pd-question-assessed-daily-sales.html"*/'\n\n\n\n \n\n \n\n Assessed Daily Sales Details\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n
\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n

{{item.get(\'sales_item\').value | titlecase}}

\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n\n\n\n\n\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-daily-sales\pd-question-assessed-daily-sales.html"*/, + selector: 'page-pd-question-assessed-daily-sales',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.html"*/'\n\n \n \n Assessed Daily Sales Details\n\n\n \n\n\n\n\n
\n
\n \n
\n \n \n \n \n
\n \n \n \n \n \n \n
\n
\n \n

{{item.get(\'sales_item\').value | titlecase}}

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n\n\n\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-daily-sales/pd-question-assessed-daily-sales.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_3__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) ], PdQuestionAssessedDailySalesPage); @@ -9767,7 +9767,7 @@ var PdQuestionAssessedPurchasePage = (function () { }; PdQuestionAssessedPurchasePage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-purchase',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-purchase\pd-question-assessed-purchase.html"*/'\n\n\n\n \n\n \n\n Purchase\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n\n\n
\n\n \n\n \n\n \n\n
\n\n\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n\n\n \n\n {{uom.name}}\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n\n\n \n\n {{frq.name}}\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n

Grand Total:

\n\n
\n\n \n\n

{{grandpurchaseTotal}}

\n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-purchase\pd-question-assessed-purchase.html"*/, + selector: 'page-pd-question-assessed-purchase',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.html"*/'\n\n \n \n Purchase\n\n\n \n\n\n\n\n\n
\n
\n
\n \n\n
\n \n \n \n
\n\n
\n \n \n \n
\n
\n \n\n \n {{uom.name}}\n \n \n
\n
\n \n \n \n
\n
\n \n\n \n {{frq.name}}\n \n \n
\n
\n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n

Grand Total:

\n
\n \n

{{grandpurchaseTotal}}

\n
\n
\n
\n \n
\n
\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-purchase/pd-question-assessed-purchase.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_aws_service_aws_service__["a" /* AwsServiceProvider */]]) ], PdQuestionAssessedPurchasePage); @@ -9957,7 +9957,7 @@ var PdQuestionAssessedBusinessPage = (function () { }; PdQuestionAssessedBusinessPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-business',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-business\pd-question-assessed-business.html"*/'\n\n\n\n \n\n \n\n Business Expense\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{expense.expense_item}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{frq.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n

Total Business Expenses:

\n\n
\n\n \n\n

{{grandExpenseTotal}}

\n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-business\pd-question-assessed-business.html"*/, + selector: 'page-pd-question-assessed-business',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.html"*/'\n\n \n \n Business Expense\n\n\n \n\n\n\n\n\n
\n
\n
\n \n \n \n {{expense.expense_item}}\n \n \n \n \n \n \n \n {{frq.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n

Total Business Expenses:

\n
\n \n

{{grandExpenseTotal}}

\n
\n
\n
\n \n
\n
\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-business/pd-question-assessed-business.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]]) ], PdQuestionAssessedBusinessPage); @@ -10143,7 +10143,7 @@ var PdQuestionAssessedHouseholdPage = (function () { }; PdQuestionAssessedHouseholdPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-household',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-household\pd-question-assessed-household.html"*/'\n\n\n\n \n\n \n\n House Hold Expense\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{frq.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n

Total Household Expenses :

\n\n
\n\n \n\n

{{grandHouseExpenseTotal}}

\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-household\pd-question-assessed-household.html"*/, + selector: 'page-pd-question-assessed-household',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.html"*/'\n\n \n \n House Hold Expense\n\n\n \n\n\n\n\n\n
\n
\n
\n \n \n \n \n \n \n \n \n \n {{frq.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

Total Household Expenses :

\n
\n \n

{{grandHouseExpenseTotal}}

\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-household/pd-question-assessed-household.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_question_category_question_category__["a" /* QuestionCategoryProvider */]]) ], PdQuestionAssessedHouseholdPage); @@ -10351,7 +10351,7 @@ var PdQuestionAssessedBusinessIncomePage = (function () { }; PdQuestionAssessedBusinessIncomePage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-assessed-business-income',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-business-income\pd-question-assessed-business-income.html"*/'\n\n\n\n \n\n \n\n Business Income\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{income.business_income_item}}\n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{frq.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n

Total Business Income:

\n\n
\n\n \n\n

{{grandIncomeTotal}}

\n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-assessed-business-income\pd-question-assessed-business-income.html"*/, + selector: 'page-pd-question-assessed-business-income',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.html"*/'\n\n \n \n Business Income\n\n\n \n\n\n\n\n\n
\n
\n
\n \n \n \n {{income.business_income_item}}\n \n \n\n \n \n \n \n \n \n \n \n \n {{frq.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n

Total Business Income:

\n
\n \n

{{grandIncomeTotal}}

\n
\n
\n
\n \n
\n
\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-assessed-business-income/pd-question-assessed-business-income.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]]) ], PdQuestionAssessedBusinessIncomePage); @@ -10478,7 +10478,7 @@ var PdQuestionLenderRepresentativePage = (function () { }; PdQuestionLenderRepresentativePage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-lender-representative',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-lender-representative\pd-question-lender-representative.html"*/'\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-lender-representative\pd-question-lender-representative.html"*/, + selector: 'page-pd-question-lender-representative',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.html"*/'\n\n \n \n {{FormId.form_name}}\n \n \n \n \n \n\n\n\n\n\n
\n \n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n\n
\n \n \n Remarks\n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-lender-representative/pd-question-lender-representative.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]]) ], PdQuestionLenderRepresentativePage); @@ -10543,6 +10543,7 @@ var PdQuestionGeneralInfoPage = (function () { this.OldData = []; this.OldData_indi = []; this.cart = []; + this.temp = 0; this.maxDate = new Date(); this.pd_applicants_details = []; this.pd_applicants_details.pop(); @@ -11192,6 +11193,18 @@ var PdQuestionGeneralInfoPage = (function () { valuesData.push(element); }); } + if (valuesData_indi.length > 0) { + valuesData_indi.forEach(function (val, index) { + if (val.is_person_met == false) { + _this.temp++; + } + }); + if (this.temp == valuesData_indi.length) { + this.toast.pdTriggerappmessage('Please Choose Name of Person Met.!'); + this.temp = 0; + return; + } + } saveRecords.individuals = valuesData_indi; saveRecords.companies = valuesData; saveRecords.pdid = answerData.pdid; @@ -11427,16 +11440,17 @@ var PdQuestionGeneralInfoPage = (function () { }; __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_9" /* ViewChild */])('remark'), - __metadata("design:type", __WEBPACK_IMPORTED_MODULE_0__angular_core__["t" /* ElementRef */]) + __metadata("design:type", typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_0__angular_core__["t" /* ElementRef */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_0__angular_core__["t" /* ElementRef */]) === "function" && _a || Object) ], PdQuestionGeneralInfoPage.prototype, "nameField", void 0); PdQuestionGeneralInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-general-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-general-info\pd-question-general-info.html"*/'\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n \n\n \n\n
\n\n \n\n
Name of individuals
\n\n \n\n \n\n \n\n \n\n

{{item.get(\'applicant_name\').value | titlecase}}

\n\n

Age : {{item.get(\'age\').value}}  \n\n {{item.get(\'qualification_name\').value}}

\n\n

  {{item.get(\'course_name\').value | titlecase}}

\n\n
\n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n

Person

\n\n \n\n
\n\n \n\n

Applicant

\n\n \n\n
\n\n \n\n
\n\n \n\n
\n\n \n\n \n\n
\n\n \n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n Add Individual\n\n Update Individual\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n {{t1.name}}\n\n \n\n \n\n \n\n \n\n \n\n Name is Required \n\n \n\n \n\n \n\n Age is Required\n\n \n\n \n\n \n\n \n\n {{qu.qualification_name}} \n\n \n\n Qualification is Required \n\n \n\n \n\n \n\n \n\n \n\n Is Person Met

\n\n Is Applicant \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n\n\n\n\n \n\n \n\n
Number of Years for which rental income is being received
\n\n \n\n \n\n Please Enter Correct Year\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n
Company/Firm
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n

{{item.get(\'company_name\').value | titlecase}}

\n\n

{{item.get(\'business_entity_type_name\').value}}{{item.get(\'business_entity_type_other\').value+"-Others"}}

\n\n

  {{item.get(\'business_years\').value}} Years {{item.get(\'business_month\').value}} Months

\n\n
\n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n

Company Applicant

\n\n \n\n
\n\n \n\n
\n\n \n\n
\n\n \n\n
\n\n \n\n
\n\n
\n\n
\n\n\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n Add Company/Firm\n\n \n\n
\n\n
\n\n \n\n Company / Firm\n\n \n\n Company Name is Required\n\n \n\n Is Applicant
\n\n \n\n \n\n
\n\n \n\n \n\n \n\n {{business.business_entity_type_name}}\n\n \n\n \n\n Business Entity Required\n\n \n\n \n\n \n\n \n\n \n\n

Number of Years For Which The Business Has Been Running

\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n\n\n \n\n \n\n \n\n Relationship Between Individuals\n\n \n\n \n\n
\n\n \n\n \n\n
Applicant {{i+1}}
\n\n \n\n \n\n {{name.applicant_name}}\n\n \n\n \n\n \n\n \n\n {{member.name}}\n\n \n\n \n\n \n\n \n\n Select\n\n {{rel.applicant_name | titlecase}}\n\n Not Applicable\n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n\n\n \n\n
\n\n \n\n Relationship of Individuals to Company / Firm\n\n \n\n
\n\n
Applicant {{i+1}}
\n\n \n\n \n\n {{name.applicant_name}}\n\n \n\n \n\n \n\n \n\n \n\n {{comrelShip.name }}\n\n \n\n \n\n \n\n \n\n \n\n {{comp.company_name}}\n\n \n\n \n\n \n\n
\n\n

\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n \n\n \n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-general-info\pd-question-general-info.html"*/, + selector: 'page-pd-question-general-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-general-info/pd-question-general-info.html"*/'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n \n \n
\n \n
Name of individuals
\n \n \n \n \n

{{item.get(\'applicant_name\').value | titlecase}}

\n

Age : {{item.get(\'age\').value}}  \n {{item.get(\'qualification_name\').value}}

\n

  {{item.get(\'course_name\').value | titlecase}}

\n
\n \n \n
\n \n \n \n \n

Person

\n \n
\n \n

Applicant

\n \n
\n \n
\n \n
\n \n \n
\n \n
\n \n
\n
\n \n \n \n
\n \n \n
\n
\n
\n \n
\n \n Add Individual\n Update Individual\n \n \n
\n
\n \n \n {{t1.name}}\n \n \n \n \n \n Name is Required \n \n \n \n Age is Required\n \n \n \n \n {{qu.qualification_name}} \n \n Qualification is Required \n \n \n \n \n \n Is Person Met

\n Is Applicant \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n \n \n \n\n\n \n \n
Number of Years for which rental income is being received
\n \n \n Please Enter Correct Year\n \n \n \n \n
\n \n \n \n \n \n
Company/Firm
\n
\n \n \n \n \n \n

{{item.get(\'company_name\').value | titlecase}}

\n

{{item.get(\'business_entity_type_name\').value}}{{item.get(\'business_entity_type_other\').value+"-Others"}}

\n

  {{item.get(\'business_years\').value}} Years {{item.get(\'business_month\').value}} Months

\n
\n \n \n \n
\n \n \n \n \n

Company Applicant

\n \n
\n \n
\n \n
\n \n
\n \n
\n
\n
\n\n \n \n \n \n
\n \n \n
\n
\n
\n \n
\n \n Add Company/Firm\n \n
\n
\n \n Company / Firm\n \n Company Name is Required\n \n Is Applicant
\n \n \n
\n \n \n \n {{business.business_entity_type_name}}\n \n \n Business Entity Required\n \n \n \n \n \n

Number of Years For Which The Business Has Been Running

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n \n\n \n \n \n Relationship Between Individuals\n \n \n
\n \n \n
Applicant {{i+1}}
\n \n \n {{name.applicant_name}}\n \n \n \n \n {{member.name}}\n \n \n \n \n Select\n {{rel.applicant_name | titlecase}}\n Not Applicable\n \n \n
\n
\n \n
\n\n \n
\n \n Relationship of Individuals to Company / Firm\n \n
\n
Applicant {{i+1}}
\n \n \n {{name.applicant_name}}\n \n \n \n \n \n {{comrelShip.name }}\n \n \n \n \n \n {{comp.company_name}}\n \n \n \n
\n

\n \n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n \n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-general-info/pd-question-general-info.html"*/, providers: [__WEBPACK_IMPORTED_MODULE_8__pipes_pd_pd__["a" /* PdPipe */]], }), - __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["p" /* ModalController */]]) + __metadata("design:paramtypes", [typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */]) === "function" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */]) === "function" && _d || Object, typeof (_e = typeof __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */]) === "function" && _e || Object, typeof (_f = typeof __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */]) === "function" && _f || Object, typeof (_g = typeof __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */]) === "function" && _g || Object, typeof (_h = typeof __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["p" /* ModalController */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["p" /* ModalController */]) === "function" && _h || Object]) ], PdQuestionGeneralInfoPage); return PdQuestionGeneralInfoPage; + var _a, _b, _c, _d, _e, _f, _g, _h; }()); //# sourceMappingURL=pd-question-general-info.js.map @@ -11515,7 +11529,7 @@ var PdQuestionGeneralOtherApplicantPage = (function () { }; PdQuestionGeneralOtherApplicantPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-general-other-applicant',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-general-info\pd-question-general-other-applicant\pd-question-general-other-applicant.html"*/'\n\n\n\n \n\n \n\n \n\n \n\n Other Applicant Details Added\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-general-info\pd-question-general-other-applicant\pd-question-general-other-applicant.html"*/, + selector: 'page-pd-question-general-other-applicant',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.html"*/'\n\n \n \n \n \n Other Applicant Details Added\n\n\n \n\n\n\n\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-general-info/pd-question-general-other-applicant/pd-question-general-other-applicant.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["y" /* ViewController */]]) ], PdQuestionGeneralOtherApplicantPage); @@ -11933,7 +11947,7 @@ var PdQuestionNeighbourHoodPage = (function () { }; PdQuestionNeighbourHoodPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-neighbour-hood',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-neighbour-hood\pd-question-neighbour-hood.html"*/'\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n
\n\n \n\n Please Select the type
\n\n \n\n {{types.type_name}}\n\n \n\n
\n\n\n\n \n\n
\n\n
\n\n \n\n
Neighbour Details #{{n+1}}

\n\n \n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n {{app.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n


\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n
\n\n
\n\n \n\n
\n\n \n\n \n\n Positive\n\n Negative\n\n \n\n \n\n
\n\n
\n\n\n\n \n\n\n\n
\n\n
\n\n \n\n
Reference Details #{{r+1}}

\n\n \n\n \n\n \n\n \n\n \n\n \n\n Enter Valid Mobile Number. \n\n \n\n \n\n \n\n

Enter valid Mobile Number

\n\n

Landline Number

\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n Select\n\n \n\n {{relationship.relation_with_business_name | titlecase}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n

Period of Relationship

\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{amtInWords[r]}}\n\n \n\n \n\n \n\n Select\n\n \n\n {{volume.name | titlecase}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n {{rem.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-neighbour-hood\pd-question-neighbour-hood.html"*/, + selector: 'page-pd-question-neighbour-hood',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.html"*/'\n\n \n \n {{FormId.form_name}}\n\n\n \n\n\n\n\n
\n \n Please Select the type
\n \n {{types.type_name}}\n \n
\n\n \n
\n
\n \n
Neighbour Details #{{n+1}}

\n \n \n \n \n \n \n Yes\n No\n \n \n
\n
\n
\n \n
\n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n \n {{app.name}}\n \n \n \n \n \n \n
\n \n


\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n
\n
\n \n
\n \n \n Positive\n Negative\n \n \n
\n
\n\n \n\n
\n
\n \n
Reference Details #{{r+1}}

\n \n \n \n \n \n \n Enter Valid Mobile Number. \n \n \n \n

Enter valid Mobile Number

\n

Landline Number

\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n Select\n \n {{relationship.relation_with_business_name | titlecase}}\n \n \n \n \n \n \n

Period of Relationship

\n \n \n \n \n \n \n \n \n {{amtInWords[r]}}\n \n \n \n Select\n \n {{volume.name | titlecase}}\n \n \n \n \n \n \n \n \n Select\n {{rem.name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-neighbour-hood/pd-question-neighbour-hood.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) ], PdQuestionNeighbourHoodPage); @@ -12278,7 +12292,7 @@ var PdQuestionFinalRemarkPage = (function () { }; PdQuestionFinalRemarkPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-final-remark',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-final-remark\pd-question-final-remark.html"*/'\n\n\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n \n\n \n\n \n\n \n\n {{pm.description}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Location\n\n
\n\n \n\n \n\n Is the location of the business / profession suited to the nature of business / service provided?
\n\n \n\n Select \n\n Well Suited.\n\n Fairly Suited\n\n Not Suited\n\n \n\n
\n\n \n\n \n\n Select \n\n {{ list.pdofficer_recommendation }}\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n Reason for Marking PD Status as Positive\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n Reasons for marking PD status as Negative\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n Reasons for marking PD status as Refer to Credit\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-final-remark\pd-question-final-remark.html"*/, + selector: 'page-pd-question-final-remark',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.html"*/'\n\n\n \n \n {{FormId.form_name}}\n \n\n\n\n\n\n
\n \n \n \n \n {{pm.description}}\n \n \n \n \n \n \n \n \n \n Location\n
\n \n \n Is the location of the business / profession suited to the nature of business / service provided?
\n \n Select \n Well Suited.\n Fairly Suited\n Not Suited\n \n
\n \n \n Select \n {{ list.pdofficer_recommendation }}\n \n \n \n \n \n
\n
\n
\n \n Reason for Marking PD Status as Positive\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n \n Reasons for marking PD status as Negative\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n \n Reasons for marking PD status as Refer to Credit\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n
\n \n \n Remarks\n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-final-remark/pd-question-final-remark.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */]]) ], PdQuestionFinalRemarkPage); @@ -12388,7 +12402,7 @@ var PdQuestionBusinessGroupPage = (function () { }; PdQuestionBusinessGroupPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business-group',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-group.html"*/'\n\n\n\n\n\n \n\n \n\n {{FormId.form_name}}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n \n\n \n\n \n\n {{companyList.company_name}}\n\n \n\n \n\n \n\n \n\n {{quesIndex+1}}\n\n {{quesIndex+1}}\n\n
\n\n

{{ formButton.form_name }}

\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n

Business Related Information is Not Available.Please Check General Information

\n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-group.html"*/, + selector: 'page-pd-question-business-group',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-group.html"*/'\n\n\n \n \n {{FormId.form_name}}\n \n\n\n\n\n\n \n \n \n \n {{companyList.company_name}}\n \n \n \n \n {{quesIndex+1}}\n {{quesIndex+1}}\n
\n

{{ formButton.form_name }}

\n
\n
\n
\n
\n
\n \n

Business Related Information is Not Available.Please Check General Information

\n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-group.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], @@ -14004,7 +14018,7 @@ var PdQuestionBusinessInfoPage = (function () { }; PdQuestionBusinessInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-info\pd-question-business-info.html"*/'\n\n\n\n \n\n \n\n {{formdetails.form_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
{{businessEntityTypeList.section_label }} # {{i+1}}
\n\n
\n\n \n\n \n\n \n\n {{app.applicant_name}}\n\n Others\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Select\n\n Yes\n\n No\n\n \n\n \n\n

No of Years in Current Business

\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n

\n\n
\n\n \n\n \n\n
\n\n \n\n
\n\n

Add Others Family Members Involved in Business

\n\n \n\n \n\n \n\n \n\n
Family Member #{{i+1}}
\n\n
\n\n \n\n \n\n \n\n {{title.name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{member.name | titlecase}}\n\n \n\n \n\n \n\n \n\n {{member.applicant_name | titlecase}}\n\n \n\n \n\n \n\n \n\n {{comrelship.name | titlecase}}\n\n \n\n \n\n \n\n \n\n Select\n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n

\n\n \n\n Type of Business Activity\n\n \n\n
\n\n \n\n {{entityType.controls.name.value | titlecase}}\n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
Manufacturing Details {{i+1}}
\n\n \n\n \n\n \n\n \n\n \n\n Within India"\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n {{CL.city_name}} \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n
\n\n
\n\n \n\n
Within India
\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for {{manufacturing.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n
\n\n \n\n \n\n Description of {{manufacturing.value.main_products}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n
\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n
Retail Trading Details {{r+1}}
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{retail.value.main_products}}\n\n \n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{retail.value.main_products}}\n\n \n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n Countries Where Export Is Being Done for {{retail.value.main_products}}\n\n \n\n \n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n

Within India

\n\n \n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{retail.value.main_products}}\n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{retail.value.main_products}}\n\n \n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for {{retail.value.main_products}}\n\n \n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n Description of {{retail.value.main_products}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n
\n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
Wholesale Trade Details {{w+1}}
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{wholesale.value.main_products}}\n\n \n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n \n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n Countries Where The Export Is Being Done for {{wholesale.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n

Within India

\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n States Where Max Sales Done for {{wholesale.value.main_products}}\n\n \n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n \n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n\n \n\n Countries Where The Export Is Being Done for {{wholesale.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n
\n\n \n\n \n\n
\n\n \n\n
\n\n \n\n \n\n Description of {{wholesale.value.main_products}}\n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n\n\n
\n\n \n\n
\n\n \n\n
\n\n \n\n \n\n
\n\n
\n\n \n\n
Service Provider Details {{sp+1}}
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n Within India\n\n Export\n\n Both\n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n States Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n\n \n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n\n \n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n Countries Where The Export Is Being Done for {{serviceprovider.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n
\n\n \n\n \n\n

Within India

\n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{SL.state_name}}\n\n \n\n \n\n \n\n \n\n \n\n {{CL.city_name}}\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n States Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n\n \n\n \n\n \n\n {{MSL.state_name}}\n\n \n\n \n\n \n\n \n\n Cities Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n\n \n\n \n\n \n\n {{MCL.city_name}}\n\n \n\n \n\n \n\n
\n\n
\n\n

Export

\n\n
\n\n
\n\n \n\n Countries Where The Export Is Being Done for {{serviceprovider.value.main_products}}\n\n \n\n \n\n {{CL.country_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n Description of {{serviceprovider.value.main_products}}\n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n\n\n
\n\n
\n\n \n\n \n\n
\n\n \n\n\n\n\n\n \n\n \n\n Export Sale As a % Total Sales\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Digital Payments\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n Machine Details {{i+1}}\n\n \n\n \n\n \n\n Select\n\n {{b.lender_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n
\n\n \n\n \n\n \n\n Seasonality\n\n \n\n \n\n
\n\n \n\n

Is The Business Seasonal

\n\n \n\n \n\n Yes\n\n No Major Changes In Sales\n\n \n\n \n\n \n\n \n\n \n\n January\n\n February\n\n March\n\n April\n\n May\n\n June\n\n July\n\n August\n\n September\n\n October\n\n November\n\n December\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n Employees As Per Applicant \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{"₹"}} {{appxSalaryAmtInwords}} Only\n\n \n\n \n\n \n\n \n\n \n\n \n\n No of Employees Sighted By PD Officer During His Visit \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Documents Sighted \n\n \n\n \n\n \n\n \n\n

Shop and Est Act Cert

\n\n \n\n \n\n Yes\n\n No\n\n NA\n\n \n\n \n\n \n\n \n\n \n\n

GST Regn Cert

\n\n \n\n \n\n Yes\n\n No\n\n NA\n\n \n\n \n\n \n\n \n\n
\n\n

Export / Import cert

\n\n \n\n \n\n Yes\n\n No\n\n NA\n\n \n\n \n\n \n\n
\n\n \n\n
\n\n

Factory Cert

\n\n \n\n \n\n Yes\n\n No\n\n NA\n\n \n\n
\n\n \n\n
\n\n \n\n \n\n

Cert of Practice

\n\n \n\n \n\n Yes\n\n No\n\n NA\n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n

PF Regn

\n\n \n\n \n\n Yes\n\n No\n\n NA\n\n \n\n \n\n \n\n \n\n

ESIC Regn

\n\n \n\n \n\n Yes\n\n No\n\n NA\n\n \n\n \n\n \n\n \n\n

Do You Want to Add Other Documents?

\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n
\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n '/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-info\pd-question-business-info.html"*/, + selector: 'page-pd-question-business-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.html"*/'\n\n \n \n {{formdetails.form_name}}\n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
{{businessEntityTypeList.section_label }} # {{i+1}}
\n
\n \n \n \n {{app.applicant_name}}\n Others\n \n \n \n \n \n \n \n \n \n \n Select\n Yes\n No\n \n \n

No of Years in Current Business

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n \n

\n
\n \n \n
\n \n
\n

Add Others Family Members Involved in Business

\n \n \n \n \n
Family Member #{{i+1}}
\n
\n \n \n \n {{title.name}}\n \n \n \n \n \n \n \n {{member.name | titlecase}}\n \n \n \n \n {{member.applicant_name | titlecase}}\n \n \n \n \n {{comrelship.name | titlecase}}\n \n \n \n \n Select\n Yes\n No\n \n \n \n \n \n \n \n \n
\n
\n
\n \n

\n \n Type of Business Activity\n \n
\n \n {{entityType.controls.name.value | titlecase}}\n \n
\n
\n
\n \n \n \n
\n
Manufacturing Details {{i+1}}
\n \n \n \n \n \n Within India"\n Export\n Both\n \n \n \n \n Yes\n No\n \n \n \n
\n
\n
\n \n \n {{SL.state_name}}\n \n \n \n \n {{CL.city_name}} \n \n \n
\n
\n
\n
\n
\n
\n
\n \n States Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n
\n
\n \n Countries Where The Export Is Being Done for {{manufacturing.value.main_products}}\n \n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n
\n \n
\n
\n \n
Within India
\n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n
\n
\n \n
\n
\n \n \n \n \n
\n
\n \n States Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{manufacturing.value.main_products}}\n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Countries Where The Export Is Being Done for {{manufacturing.value.main_products}}\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n \n
\n \n \n Description of {{manufacturing.value.main_products}}\n \n \n \n \n \n \n \n
\n
\n
\n \n
\n \n
\n \n
\n \n \n \n \n \n \n \n \n
\n \n
Retail Trading Details {{r+1}}
\n
\n \n \n \n \n \n Within India\n Export\n Both\n \n \n \n \n Yes\n No\n \n \n \n \n
\n
\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n States Where Max Sales Done for {{retail.value.main_products}}\n \n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{retail.value.main_products}}\n \n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n
\n
\n \n \n Countries Where Export Is Being Done for {{retail.value.main_products}}\n \n \n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n
\n \n
\n
\n \n \n

Within India

\n \n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n States Where Max Sales Done for {{retail.value.main_products}}\n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{retail.value.main_products}}\n \n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Countries Where The Export Is Being Done for {{retail.value.main_products}}\n \n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n \n \n
\n \n \n Description of {{retail.value.main_products}}\n \n \n \n \n \n \n \n
\n
\n
\n \n
\n \n
\n \n \n
\n \n \n \n \n
\n
\n \n
Wholesale Trade Details {{w+1}}
\n
\n \n \n \n \n \n \n Within India\n Export\n Both\n \n \n \n \n \n Yes\n No\n \n \n \n
\n
\n \n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n States Where Max Sales Done for {{wholesale.value.main_products}}\n \n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n \n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n \n
\n
\n \n \n Countries Where The Export Is Being Done for {{wholesale.value.main_products}}\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n \n

Within India

\n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n \n \n
\n
\n \n
\n \n
\n
\n
\n \n States Where Max Sales Done for {{wholesale.value.main_products}}\n \n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n \n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Cities Where Max Sales Done for {{wholesale.value.main_products}}\n \n Countries Where The Export Is Being Done for {{wholesale.value.main_products}}\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n \n
\n \n
\n \n \n
\n \n
\n \n \n Description of {{wholesale.value.main_products}}\n \n \n \n\n \n \n \n \n \n
\n
\n
\n\n
\n \n
\n \n
\n \n \n
\n
\n \n
Service Provider Details {{sp+1}}
\n
\n \n \n \n \n \n \n Within India\n Export\n Both\n \n \n \n \n \n Yes\n No\n \n \n \n \n \n
\n
\n \n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n
\n
\n \n
\n
\n
\n
\n \n States Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n \n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n \n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n
\n \n \n
\n
\n \n \n Countries Where The Export Is Being Done for {{serviceprovider.value.main_products}}\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n \n
\n \n \n

Within India

\n
\n \n \n Yes\n No\n \n \n
\n
\n
\n \n \n \n {{SL.state_name}}\n \n \n \n \n \n {{CL.city_name}}\n \n \n \n \n \n
\n
\n \n
\n \n
\n
\n
\n \n States Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n \n \n \n {{MSL.state_name}}\n \n \n \n \n Cities Where Max Revenue From Services for {{serviceprovider.value.main_products}}\n \n \n \n {{MCL.city_name}}\n \n \n \n
\n
\n

Export

\n
\n
\n \n Countries Where The Export Is Being Done for {{serviceprovider.value.main_products}}\n \n \n {{CL.country_name}}\n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n
\n \n \n
\n \n \n \n \n Description of {{serviceprovider.value.main_products}}\n \n \n \n\n \n \n \n \n \n
\n
\n
\n\n
\n
\n \n \n
\n \n\n\n \n \n Export Sale As a % Total Sales\n \n \n \n \n \n \n \n \n \n \n Digital Payments\n \n \n \n \n Yes\n No\n \n \n \n \n Yes\n No\n \n \n
\n \n \n \n
\n
\n
\n \n Machine Details {{i+1}}\n \n \n \n Select\n {{b.lender_name}}\n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n \n
\n \n \n \n Seasonality\n \n \n
\n \n

Is The Business Seasonal

\n \n \n Yes\n No Major Changes In Sales\n \n \n \n \n \n January\n February\n March\n April\n May\n June\n July\n August\n September\n October\n November\n December\n \n \n \n
\n
\n \n \n \n \n \n
\n \n \n
\n
\n \n \n \n Employees As Per Applicant \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{"₹"}} {{appxSalaryAmtInwords}} Only\n \n \n \n \n \n \n No of Employees Sighted By PD Officer During His Visit \n \n \n \n \n \n \n \n \n \n Yes\n No\n \n \n \n \n \n \n \n \n Documents Sighted \n \n \n \n \n

Shop and Est Act Cert

\n \n \n Yes\n No\n NA\n \n \n \n \n \n

GST Regn Cert

\n \n \n Yes\n No\n NA\n \n \n \n \n
\n

Export / Import cert

\n \n \n Yes\n No\n NA\n \n \n \n
\n \n
\n

Factory Cert

\n \n \n Yes\n No\n NA\n \n
\n \n
\n \n \n

Cert of Practice

\n \n \n Yes\n No\n NA\n \n \n \n
\n \n \n \n

PF Regn

\n \n \n Yes\n No\n NA\n \n \n \n \n

ESIC Regn

\n \n \n Yes\n No\n NA\n \n \n \n \n

Do You Want to Add Other Documents?

\n \n \n Yes\n No\n \n \n \n \n \n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n
\n \n
\n \n
\n
\n \n \n Remarks\n \n \n \n \n \n \n \n
\n
\n '/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-info/pd-question-business-info.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_6__providers_constants_constants__["a" /* ConstantsProvider */]]) ], PdQuestionBusinessInfoPage); @@ -14803,7 +14817,7 @@ var PdQuestionBusinessAssetsPage = (function () { }; PdQuestionBusinessAssetsPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business-assets',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-assets\pd-question-business-assets.html"*/'\n\n\n\n\n\n \n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
Address Details {{ itemrow.get(\'address_label\').value | titlecase}}\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n

How long has business been operated from this premise?

\n\n \n\n \n\n {{yearErrorMessage[i]}}\n\n\n\n \n\n \n\n \n\n {{monthErrorMessage[i]}}\n\n\n\n \n\n\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n \n\n\n\n\n\n \n\n \n\n \n\n \n\n\n\n
\n\n \n\n \n\n \n\n Owned\n\n Rented\n\n \n\n \n\n\n\n \n\n \n\n {{"₹"}}\n\n {{RentAmtInwordsForAddress[i]}} Only\n\n Monthly Rent Amount Required\n\n \n\n\n\n\n\n
\n\n \n\n\n\n \n\n \n\n \n\n {{"₹"}}\n\n {{appxMarketAmtInwordsForAddress[i]}} Only\n\n \n\n\n\n \n\n \n\n \n\n \n\n {{val.name}}\n\n \n\n \n\n \n\n Asset Owned by Required\n\n \n\n\n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n\n\n \n\n \n\n Approx Vintage\n\n \n\n \n\n \n\n\n\n \n\n Purchase Year\n\n \n\n \n\n \n\n
\n\n \n\n\n\n \n\n
\n\n

Is There a Loan Existing Against This Asset?

\n\n \n\n Yes\n\n No\n\n \n\n
\n\n
\n\n\n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n \n\n
\n\n \n\n \n\n
Other Assets Used in Business # {{i+1}}
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n {{asset.name | titlecase}}\n\n \n\n \n\n \n\n\n\n
\n\n\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{prop.address_type | titlecase}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n {{vehicle.vehicle_type_name }}\n\n \n\n \n\n\n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{data.viewValue | titlecase}}\n\n \n\n \n\n
\n\n
\n\n
\n\n\n\n
\n\n\n\n \n\n \n\n \n\n Owned\n\n Rented\n\n \n\n \n\n\n\n\n\n\n\n \n\n \n\n \n\n {{"₹"}} {{RentAmtInwords[i]}} Only\n\n Monthly Rent Amount Required\n\n \n\n\n\n
\n\n \n\n \n\n \n\n {{"₹"}}\n\n {{appxMarketAmtInwords[i]}} Only\n\n Approximate Market Value Required\n\n \n\n \n\n \n\n \n\n \n\n \n\n {{val.name}}\n\n \n\n \n\n \n\n \n\n\n\n \n\n \n\n \n\n\n\n \n\n
\n\n \n\n Approx Vintage\n\n \n\n \n\n \n\n Purchase Year\n\n \n\n \n\n
\n\n
\n\n\n\n \n\n \n\n\n\n

Is There a Loan Existing Against This Asset?

\n\n \n\n Yes\n\n No\n\n \n\n
\n\n\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n

\n\n\n\n \n\n\n\n \n\n\n\n
\n\n \n\n \n\n Remarks\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-assets\pd-question-business-assets.html"*/, + selector: 'page-pd-question-business-assets',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.html"*/'\n\n\n \n \n {{formDetails.form_name}}\n \n\n\n\n\n\n
\n
\n \n \n \n \n
Address Details {{ itemrow.get(\'address_label\').value | titlecase}}\n
\n
\n
\n \n \n \n Yes\n No\n \n \n
\n

How long has business been operated from this premise?

\n \n \n {{yearErrorMessage[i]}}\n\n \n \n \n {{monthErrorMessage[i]}}\n\n \n\n \n \n Yes\n No\n \n \n \n\n\n \n \n \n \n\n
\n \n \n \n Owned\n Rented\n \n \n\n \n \n {{"₹"}}\n {{RentAmtInwordsForAddress[i]}} Only\n Monthly Rent Amount Required\n \n\n\n
\n \n\n \n \n \n {{"₹"}}\n {{appxMarketAmtInwordsForAddress[i]}} Only\n \n\n \n \n \n \n {{val.name}}\n \n \n \n Asset Owned by Required\n \n\n \n \n \n \n \n\n\n\n \n \n Approx Vintage\n \n \n \n\n \n Purchase Year\n \n \n \n
\n \n\n \n
\n

Is There a Loan Existing Against This Asset?

\n \n Yes\n No\n \n
\n
\n\n
\n\n
\n
\n
\n
\n \n \n
\n \n
\n \n \n
Other Assets Used in Business # {{i+1}}
\n
\n
\n \n \n \n \n {{asset.name | titlecase}}\n \n \n \n\n
\n\n
\n
\n
\n \n \n \n {{prop.address_type | titlecase}}\n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n
\n
\n \n \n \n {{vehicle.vehicle_type_name }}\n \n \n\n \n \n \n\n \n \n \n
\n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n \n {{data.viewValue | titlecase}}\n \n \n
\n
\n
\n\n
\n\n \n \n \n Owned\n Rented\n \n \n\n\n\n \n \n \n {{"₹"}} {{RentAmtInwords[i]}} Only\n Monthly Rent Amount Required\n \n\n
\n \n \n \n {{"₹"}}\n {{appxMarketAmtInwords[i]}} Only\n Approximate Market Value Required\n \n \n \n \n \n \n {{val.name}}\n \n \n \n \n\n \n \n \n\n \n
\n \n Approx Vintage\n \n \n \n Purchase Year\n \n \n
\n
\n\n \n \n\n

Is There a Loan Existing Against This Asset?

\n \n Yes\n No\n \n
\n\n
\n \n \n \n \n \n
\n
\n

\n\n \n\n \n\n
\n \n \n Remarks\n \n \n \n \n \n \n
\n\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-assets/pd-question-business-assets.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__["a" /* ConstantsProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__["a" /* ToastProvider */]]) ], PdQuestionBusinessAssetsPage); @@ -15073,7 +15087,7 @@ var PdQuestionBusinessBankingPage = (function () { }; PdQuestionBusinessBankingPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business-banking',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-banking\pd-question-business-banking.html"*/'\n\n\n\n\n\n \n\n {{formDetails.form_name}}\n\n \n\n\n\n\n\n\n\n\n\n\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
Banking details {{i+1}}
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n {{val.name}} \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{ btLen.lender_name }}\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n {{bankacc.name}}\n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n Yes\n\n No\n\n \n\n \n\n
\n\n \n\n \n\n \n\n Yes\n\n No\n\n NA\n\n \n\n \n\n \n\n
\n\n \n\n
\n\n Limit In case of OD / CC account, What is the Limit \n\n \n\n \n\n {{"₹"}} {{amtInwords[i]}} Only\n\n \n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business-group\pd-question-business-banking\pd-question-business-banking.html"*/, + selector: 'page-pd-question-business-banking',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.html"*/'\n\n\n \n {{formDetails.form_name}}\n \n\n\n\n\n\n
\n
\n \n \n \n \n
Banking details {{i+1}}
\n
\n
\n \n \n \n \n \n {{val.name}} \n \n \n \n \n \n \n \n \n \n \n {{ btLen.lender_name }}\n \n \n \n \n \n \n
\n \n \n \n {{bankacc.name}}\n \n \n \n \n \n
\n \n \n Yes\n No\n \n \n
\n \n \n \n Yes\n No\n NA\n \n \n \n
\n \n
\n Limit In case of OD / CC account, What is the Limit \n \n \n {{"₹"}} {{amtInwords[i]}} Only\n \n
\n\n \n \n \n \n \n\n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business-group/pd-question-business-banking/pd-question-business-banking.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__["a" /* ConstantsProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_common_provider_toast__["a" /* ToastProvider */]]) ], PdQuestionBusinessBankingPage); @@ -15161,7 +15175,7 @@ var PdGeneralImagesPage = (function () { }; PdGeneralImagesPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-general-images',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-general-images\pd-general-images.html"*/'\n\n \n\n \n\n {{applicatentDetails.lender_full_name}} - {{applicatentDetails.lender_applicant_id}}\n\n \n\n \n\n\n\n\n\n\n\n \n\n \n\n \n\n\n\n \n\n General Images\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n \n\n
\n\n \n\n \n\n
\n\n
\n\n {{img.Name}}\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-general-images\pd-general-images.html"*/, + selector: 'page-pd-general-images',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-general-images/pd-general-images.html"*/'\n \n \n {{applicatentDetails.lender_full_name}} - {{applicatentDetails.lender_applicant_id}}\n \n \n\n\n\n \n \n \n\n \n General Images\n \n \n \n \n \n \n \n\n \n
\n \n \n
\n
\n {{img.Name}}\n
\n
\n
\n \n \n \n \n
\n \n \n \n \n \n \n \n \n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-general-images/pd-general-images.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_common_provider_camera__["a" /* CameraProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */]]) ], PdGeneralImagesPage); @@ -15269,7 +15283,7 @@ var BouncedRejectPage = (function () { }; BouncedRejectPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-bounced-reject',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\input\bounced-reject\bounced-reject.html"*/'\n\n \n\n \n\n Bounced Reject Reason\n\n \n\n\n\n\n\n\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n Reason to Reject\n\n \n\n \n\n {{bouns.bounce_reason_name}}\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\input\bounced-reject\bounced-reject.html"*/, + selector: 'page-bounced-reject',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/input/bounced-reject/bounced-reject.html"*/'\n \n \n Bounced Reject Reason\n \n\n\n\n\n \n \n \n \n \n \n Reason to Reject\n \n \n {{bouns.bounce_reason_name}}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/input/bounced-reject/bounced-reject.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["y" /* ViewController */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_pdtrigger_pdtrigger__["a" /* PdtriggerProvider */], @@ -15417,7 +15431,7 @@ var PasswordPage = (function () { }; PasswordPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-password',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\password\password.html"*/'\n\n\n\n\n\n \n\n password\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n \n\n \n\n \n\n Circle Image\n\n \n\n \n\n \n\n \n\n \n\n

New Password

\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n\n\n\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\password\password.html"*/, + selector: 'page-password',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/password/password.html"*/'\n\n\n \n password\n \n\n\n\n\n\n\n \n \n \n \n Circle Image\n \n \n \n \n \n

New Password

\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n
\n \n \n \n \n \n \n
\n
\n\n\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/password/password.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_constants_constants__["a" /* ConstantsProvider */]]) ], PasswordPage); @@ -15568,7 +15582,7 @@ var AuthPage = (function () { }; AuthPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-auth',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\auth\auth.html"*/'\n\n\n\n\n\n\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n Circle Image\n\n \n\n \n\n \n\n \n\n \n\n

PIN

\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n\n\n \n\n \n\n \n\n \n\n \n\n Circle Image\n\n \n\n \n\n \n\n \n\n \n\n

PIN

\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\auth\auth.html"*/, + selector: 'page-auth',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/auth/auth.html"*/'\n\n\n\n\n \n \n \n \n \n \n Circle Image\n \n \n \n \n \n

PIN

\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n
\n \n \n \n \n \n \n
\n\n \n \n \n \n \n Circle Image\n \n \n \n \n \n

PIN

\n
\n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/auth/auth.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["o" /* MenuController */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */], __WEBPACK_IMPORTED_MODULE_4__providers_aws_service_cognito_service__["a" /* CognitoServiceProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_common_provider_toast__["a" /* ToastProvider */], __WEBPACK_IMPORTED_MODULE_6__ionic_native_fingerprint_aio__["a" /* FingerprintAIO */], __WEBPACK_IMPORTED_MODULE_7__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_8__providers_common_provider_loading__["a" /* LoadingProvider */], __WEBPACK_IMPORTED_MODULE_9__providers_constants_constants__["a" /* ConstantsProvider */]]) ], AuthPage); @@ -16152,7 +16166,7 @@ var MyApp = (function () { __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["q" /* Nav */]) ], MyApp.prototype, "nav", void 0); MyApp = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({template:/*ion-inline-start:"S:\pd_office\pd_officer\src\app\app.html"*/'\n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n '/*ion-inline-end:"S:\pd_office\pd_officer\src\app\app.html"*/ + Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/app/app.html"*/'\n \n \n \n
\n \n \n \n
\n
\n \n '/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/app/app.html"*/ }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["u" /* Platform */], __WEBPACK_IMPORTED_MODULE_2__ionic_native_status_bar__["a" /* StatusBar */], __WEBPACK_IMPORTED_MODULE_3__ionic_native_splash_screen__["a" /* SplashScreen */], __WEBPACK_IMPORTED_MODULE_6__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_7__providers_aws_service_cognito_service__["a" /* CognitoServiceProvider */], __WEBPACK_IMPORTED_MODULE_6__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["a" /* AlertController */]]) @@ -16405,7 +16419,7 @@ var GoogleplaytabPage = (function () { ], GoogleplaytabPage.prototype, "ItemsTitles", void 0); GoogleplaytabPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-googleplaytab',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\googleplaytab\googleplaytab.html"*/'\n\n\n\n\n\n \n\n \n\n PD Listing\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{tab}}\n\n \n\n \n\n \n\n
\n\n
\n\n
\n\n\n\n
\n\n\n\n\n\n\n\n\n\n \n\n \n\n \n\n \n\n \n\n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n

1. 28.5

\n\n
\n\n \n\n

2. 47.6

\n\n
\n\n \n\n

3. 86.6

\n\n
\n\n \n\n

4. 58.4

\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n

1. 28.5

\n\n
\n\n \n\n

2. 47.6

\n\n
\n\n \n\n

3. 86.6

\n\n
\n\n \n\n

4. 58.4

\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n

1. 28.5

\n\n
\n\n \n\n

2. 47.6

\n\n
\n\n \n\n

3. 86.6

\n\n
\n\n \n\n

4. 58.4

\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n

1. 28.5

\n\n
\n\n \n\n

2. 47.6

\n\n
\n\n \n\n

3. 86.6

\n\n
\n\n \n\n

4. 58.4

\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n

1. 28.5

\n\n
\n\n \n\n

2. 47.6

\n\n
\n\n \n\n

3. 86.6

\n\n
\n\n \n\n

4. 58.4

\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n

1. 28.5

\n\n
\n\n \n\n

2. 47.6

\n\n
\n\n \n\n

3. 86.6

\n\n
\n\n \n\n

4. 58.4

\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n

1. 28.5

\n\n
\n\n \n\n

2. 47.6

\n\n
\n\n \n\n

3. 86.6

\n\n
\n\n \n\n

4. 58.4

\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n

1. 28.5

\n\n
\n\n \n\n

2. 47.6

\n\n
\n\n \n\n

3. 86.6

\n\n
\n\n \n\n

4. 58.4

\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n

1. 28.5

\n\n
\n\n \n\n

2. 47.6

\n\n
\n\n \n\n

3. 86.6

\n\n
\n\n \n\n

4. 58.4

\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n \n\n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n

1. 28.5

\n\n
\n\n \n\n

2. 47.6

\n\n
\n\n \n\n

3. 86.6

\n\n
\n\n \n\n

4. 58.4

\n\n
\n\n
\n\n
\n\n
\n\n\n\n\n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\googleplaytab\googleplaytab.html"*/, + selector: 'page-googleplaytab',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/googleplaytab/googleplaytab.html"*/'\n\n\n \n \n PD Listing\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{tab}}\n \n \n \n
\n
\n
\n\n
\n\n\n\n\n \n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n \n \n \n \n

What should come in place of question mark (?) in the following given question?
56+12*0.45-3=?

\n
\n
\n
\n \n \n \n

1. 28.5

\n
\n \n

2. 47.6

\n
\n \n

3. 86.6

\n
\n \n

4. 58.4

\n
\n
\n
\n
\n\n\n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/googleplaytab/googleplaytab.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["u" /* Platform */]]) ], GoogleplaytabPage); @@ -16453,7 +16467,7 @@ var PdAllocationPage = (function () { }; PdAllocationPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-allocation',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-allocation\pd-allocation.html"*/'\n\n \n\n \n\n PD Listing\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n\n\n\n\n\n\n \n\n \n\n \n\n \n\n
\n\n \n\n \n\n \n\n
\n\n \n\n

{{pdFullDetails.lender_full_name}}

\n\n
\n\n \n\n \n\n {{pdFullDetails.city_name}} / -{{pdFullDetails.pincode}}\n\n \n\n
\n\n
\n\n
\n\n \n\n

Product

\n\n

{{pdFullDetails.product_name}} / {{pdFullDetails.subproduct_name}}.

\n\n

{{pdFullDetails.pd_type_name}}

\n\n

{{pdFullDetails.pd_allocated_to}}

\n\n
{{pdFullDetails.pd_date_of_initiation}}
\n\n
\n\n

\n\n \n\n \n\n

{{pdFullDetails.pd_status_name}}

\n\n
\n\n \n\n

{{pdFullDetails.loan_amount}}

\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n
\n\n \n\n

Applicants

\n\n
\n\n
\n\n
\n\n
\n\n \n\n \n\n \n\n   {{Mainapplicatent.applicant_name}} (Main)\n\n \n\n \n\n  {{Mainapplicatent.mobile_no}} \n\n \n\n \n\n \n\n \n\n   {{Mainapplicatent.applicant_name}}\n\n \n\n \n\n  {{Mainapplicatent.mobile_no}} \n\n \n\n \n\n \n\n
\n\n \n\n\n\n
\n\n\n\n \n\n\n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-allocation\pd-allocation.html"*/, + selector: 'page-pd-allocation',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-allocation/pd-allocation.html"*/'\n \n \n PD Listing\n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n \n \n \n \n
\n \n \n \n
\n \n

{{pdFullDetails.lender_full_name}}

\n
\n \n \n {{pdFullDetails.city_name}} / -{{pdFullDetails.pincode}}\n \n
\n
\n
\n \n

Product

\n

{{pdFullDetails.product_name}} / {{pdFullDetails.subproduct_name}}.

\n

{{pdFullDetails.pd_type_name}}

\n

{{pdFullDetails.pd_allocated_to}}

\n
{{pdFullDetails.pd_date_of_initiation}}
\n
\n

\n \n \n

{{pdFullDetails.pd_status_name}}

\n
\n \n

{{pdFullDetails.loan_amount}}

\n
\n
\n
\n
\n
\n \n \n
\n \n

Applicants

\n
\n
\n
\n
\n \n \n \n   {{Mainapplicatent.applicant_name}} (Main)\n \n \n  {{Mainapplicatent.mobile_no}} \n \n \n \n \n   {{Mainapplicatent.applicant_name}}\n \n \n  {{Mainapplicatent.mobile_no}} \n \n \n \n
\n \n\n
\n\n \n\n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-allocation/pd-allocation.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */]]) ], PdAllocationPage); @@ -16517,7 +16531,7 @@ var PdQuestionBusinessPage = (function () { }; PdQuestionBusinessPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-business',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business\pd-question-business.html"*/'\n\n\n\n\n\n \n\n {{FormId.form_name}}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-business\pd-question-business.html"*/, + selector: 'page-pd-question-business',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business/pd-question-business.html"*/'\n\n\n \n {{FormId.form_name}}\n \n\n\n\n\n\n\n\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-business/pd-question-business.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__providers_question_category_question_category__["a" /* QuestionCategoryProvider */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */]]) ], PdQuestionBusinessPage); @@ -16572,7 +16586,7 @@ var PdQuestionSalaryInfoPage = (function () { }; PdQuestionSalaryInfoPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-question-salary-info',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-salary-info\pd-question-salary-info.html"*/'\n\n\n\n \n\n \n\n Salary Category\n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n\n\n\n\n

Salary info

\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n
\n\n
\n\n \n\n \n\n \n\n \n\n \n\n
\n\n
\n\n'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-question\pd-question-salary-info\pd-question-salary-info.html"*/, + selector: 'page-pd-question-salary-info',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.html"*/'\n\n \n \n Salary Category\n \n \n \n \n \n\n\n\n\n

Salary info

\n
\n \n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n
\n
\n \n \n \n \n \n
\n
\n'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-question/pd-question-salary-info/pd-question-salary-info.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_2__angular_forms__["c" /* FormBuilder */]]) ], PdQuestionSalaryInfoPage); @@ -17157,7 +17171,7 @@ var PdListPage = (function () { ], PdListPage.prototype, "slider", void 0); PdListPage = __decorate([ Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({ - selector: 'page-pd-list',template:/*ion-inline-start:"S:\pd_office\pd_officer\src\pages\pd-list\pd-list.html"*/'\n\n \n\n \n\n PD Cases\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n Allocated\n\n \n\n \n\n Scheduled\n\n \n\n \n\n \n\n\n\n\n\n\n\n\n\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{progess.applicat_details[0].applicant_name | slice : 0 :1 | uppercase}}\n\n \n\n \n\n

{{progess.applicat_details[0].applicant_name | titlecase}}

\n\n \n\n
\n\n \n\n
\n\n
{{progess.pd_date_of_initiation}}
\n\n
{{progess.city_name}}
\n\n
\n\n
\n\n
\n\n \n\n \n\n
{{progess.lender_short_name}}, {{progess.lender_applicant_id}}
\n\n
\n\n \n\n
{{progess.pd_status}}
\n\n
\n\n
\n\n
\n\n \n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n {{progess.applicat_details[0].applicant_name | slice : 0 :1 | uppercase}}\n\n \n\n \n\n

{{progess.applicat_details[0].applicant_name | titlecase}}

\n\n \n\n
\n\n
\n\n \n\n \n\n
{{progess.lender_short_name}}, {{progess.lender_applicant_id}}
\n\n
\n\n \n\n
{{progess.city_name}}
\n\n
\n\n
\n\n \n\n \n\n
{{progess.pd_status}}
\n\n
\n\n \n\n
\n\n
{{progess.pd_date_of_initiation}}
\n\n
{{progess.scheduled_on}}
\n\n
\n\n
\n\n
\n\n \n\n
\n\n\n\n
\n\n
\n\n
\n\n
\n\n \n\n
\n\n \n\n
\n\n \n\n
\n\n \n\n \n\n \n\n
\n\n \n\n \n\n
'/*ion-inline-end:"S:\pd_office\pd_officer\src\pages\pd-list\pd-list.html"*/, + selector: 'page-pd-list',template:/*ion-inline-start:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-list/pd-list.html"*/'\n \n \n PD Cases\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Allocated\n \n \n Scheduled\n \n \n \n\n\n\n\n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{progess.applicat_details[0].applicant_name | slice : 0 :1 | uppercase}}\n \n \n

{{progess.applicat_details[0].applicant_name | titlecase}}

\n \n
\n \n
\n
{{progess.pd_date_of_initiation}}
\n
{{progess.city_name}}
\n
\n
\n
\n \n \n
{{progess.lender_short_name}}, {{progess.lender_applicant_id}}
\n
\n \n
{{progess.pd_status}}
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n {{progess.applicat_details[0].applicant_name | slice : 0 :1 | uppercase}}\n \n \n

{{progess.applicat_details[0].applicant_name | titlecase}}

\n \n
\n
\n \n \n
{{progess.lender_short_name}}, {{progess.lender_applicant_id}}
\n
\n \n
{{progess.city_name}}
\n
\n
\n \n \n
{{progess.pd_status}}
\n
\n \n
\n
{{progess.pd_date_of_initiation}}
\n
{{progess.scheduled_on}}
\n
\n
\n
\n \n
\n\n
\n
\n
\n
\n \n
\n \n
\n \n
\n \n \n \n
\n \n \n
'/*ion-inline-end:"/home/rajasekar/Desktop/pd_officer/src/pages/pd-list/pd-list.html"*/, }), __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["r" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["s" /* NavParams */], __WEBPACK_IMPORTED_MODULE_3__providers_aws_service_aws_service__["a" /* AwsServiceProvider */], __WEBPACK_IMPORTED_MODULE_4__providers_pdtrigger_pdtrigger__["a" /* PdtriggerProvider */], __WEBPACK_IMPORTED_MODULE_5__providers_aws_service_cognito_service__["a" /* CognitoServiceProvider */], __WEBPACK_IMPORTED_MODULE_8__providers_database_database__["a" /* DatabaseProvider */], __WEBPACK_IMPORTED_MODULE_9__ionic_native_android_permissions__["a" /* AndroidPermissions */]]) ], PdListPage); diff --git a/www/build/vendor.js b/www/build/vendor.js index af4f5d88..3d949cd4 100644 --- a/www/build/vendor.js +++ b/www/build/vendor.js @@ -16870,172 +16870,172 @@ function transition$$1(stateChangeExpr, steps) { /* unused harmony export __asyncDelegator */ /* unused harmony export __asyncValues */ /* unused harmony export __makeTemplateObject */ -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ -/* global Reflect, Promise */ - -var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - -function __extends(d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -var __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; -} - -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; - return t; -} - -function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -function __awaiter(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} - -function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [0, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -function __exportStar(m, exports) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} - -function __values(o) { - var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; - if (m) return m.call(o); - return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; -} - -function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; - function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; }; } -} - -function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator]; - return m ? m.call(o) : typeof __values === "function" ? __values(o) : o[Symbol.iterator](); -} - -function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ +/* global Reflect, Promise */ + +var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + +function __extends(d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +var __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; +} + +function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) + t[p[i]] = s[p[i]]; + return t; +} + +function __decorate(decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} + +function __param(paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +} + +function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); +} + +function __awaiter(thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} + +function __generator(thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [0, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +} + +function __exportStar(m, exports) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; +} + +function __values(o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; +} + +function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), r, ar = [], e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } + catch (error) { e = { error: error }; } + finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } + finally { if (e) throw e.error; } + } + return ar; +} + +function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) + ar = ar.concat(__read(arguments[i])); + return ar; +} + +function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); +} + +function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), i, q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; + function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } + function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } + function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } + function fulfill(value) { resume("next", value); } + function reject(value) { resume("throw", value); } + function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } +} + +function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; + function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; }; } +} + +function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator]; + return m ? m.call(o) : typeof __values === "function" ? __values(o) : o[Symbol.iterator](); +} + +function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } + return cooked; +}; /***/ }), @@ -58321,10 +58321,10 @@ function cssFormat(val) { /* unused harmony namespace reexport */ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ionic_native_plugin__ = __webpack_require__(576); /* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_3__ionic_native_plugin__["a"]; }); - - - - + + + + //# sourceMappingURL=index.js.map /***/ }), @@ -80617,71 +80617,71 @@ var StatusBar = (function (_super) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getPlugin; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return pluginWarn; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cordovaWarn; }); -/** - * @private - */ -var get = function (element, path) { - var paths = path.split('.'); - var obj = element; - for (var i = 0; i < paths.length; i++) { - if (!obj) { - return null; - } - obj = obj[paths[i]]; - } - return obj; -}; -/** - * @private - */ -var getPromise = function (callback) { - var tryNativePromise = function () { - if (window.Promise) { - return new Promise(function (resolve, reject) { - callback(resolve, reject); - }); - } - else { - console.error('No Promise support or polyfill found. To enable Ionic Native support, please add the es6-promise polyfill before this script, or run with a library like Angular or on a recent browser.'); - } - }; - return tryNativePromise(); -}; -/** - * @private - * @param pluginRef - * @returns {null|*} - */ -var getPlugin = function (pluginRef) { - return get(window, pluginRef); -}; -/** - * @private - */ -var pluginWarn = function (pluginName, plugin, method) { - if (method) { - console.warn('Native: tried calling ' + pluginName + '.' + method + ', but the ' + pluginName + ' plugin is not installed.'); - } - else { - console.warn('Native: tried accessing the ' + pluginName + ' plugin but it\'s not installed.'); - } - if (plugin) { - console.warn('Install the ' + pluginName + ' plugin: \'ionic cordova plugin add ' + plugin + '\''); - } -}; -/** - * @private - * @param pluginName - * @param method - */ -var cordovaWarn = function (pluginName, method) { - if (method) { - console.warn('Native: tried calling ' + pluginName + '.' + method + ', but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'); - } - else { - console.warn('Native: tried accessing the ' + pluginName + ' plugin but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'); - } -}; +/** + * @private + */ +var get = function (element, path) { + var paths = path.split('.'); + var obj = element; + for (var i = 0; i < paths.length; i++) { + if (!obj) { + return null; + } + obj = obj[paths[i]]; + } + return obj; +}; +/** + * @private + */ +var getPromise = function (callback) { + var tryNativePromise = function () { + if (window.Promise) { + return new Promise(function (resolve, reject) { + callback(resolve, reject); + }); + } + else { + console.error('No Promise support or polyfill found. To enable Ionic Native support, please add the es6-promise polyfill before this script, or run with a library like Angular or on a recent browser.'); + } + }; + return tryNativePromise(); +}; +/** + * @private + * @param pluginRef + * @returns {null|*} + */ +var getPlugin = function (pluginRef) { + return get(window, pluginRef); +}; +/** + * @private + */ +var pluginWarn = function (pluginName, plugin, method) { + if (method) { + console.warn('Native: tried calling ' + pluginName + '.' + method + ', but the ' + pluginName + ' plugin is not installed.'); + } + else { + console.warn('Native: tried accessing the ' + pluginName + ' plugin but it\'s not installed.'); + } + if (plugin) { + console.warn('Install the ' + pluginName + ' plugin: \'ionic cordova plugin add ' + plugin + '\''); + } +}; +/** + * @private + * @param pluginName + * @param method + */ +var cordovaWarn = function (pluginName, method) { + if (method) { + console.warn('Native: tried calling ' + pluginName + '.' + method + ', but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'); + } + else { + console.warn('Native: tried accessing the ' + pluginName + ' plugin but Cordova is not available. Make sure to include cordova.js or run in a device/simulator'); + } +}; //# sourceMappingURL=util.js.map /***/ }), @@ -84392,61 +84392,61 @@ var Geolocation = (function (_super) { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__image_viewer__ = __webpack_require__(400); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__image_viewer_component__ = __webpack_require__(206); -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; - - - - -var ImageViewerController = (function () { - function ImageViewerController(_app, config, deepLinker) { - this._app = _app; - this.config = config; - this.deepLinker = deepLinker; - } - /** - * Create a image-viewer instance to display. See below for options. - * - * @param {object} imageElement The image element - * @param {object} opts ImageViewer options - */ - /** - * Create a image-viewer instance to display. See below for options. - * - * @param {object} imageElement The image element - * @param {object} opts ImageViewer options - */ - ImageViewerController.prototype.create = /** - * Create a image-viewer instance to display. See below for options. - * - * @param {object} imageElement The image element - * @param {object} opts ImageViewer options - */ - function (imageElement, opts) { - if (opts === void 0) { opts = {}; } - var image = imageElement.src; - var position = imageElement.getBoundingClientRect(); - var options = __assign({ image: image, position: position }, opts); - return new __WEBPACK_IMPORTED_MODULE_2__image_viewer__["a" /* ImageViewer */](this._app, __WEBPACK_IMPORTED_MODULE_3__image_viewer_component__["a" /* ImageViewerComponent */], options, this.config, this.deepLinker); - }; - ImageViewerController.decorators = [ - { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["B" /* Injectable */] }, - ]; - /** @nocollapse */ - ImageViewerController.ctorParameters = function () { return [ - { type: __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["c" /* App */], }, - { type: __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["d" /* Config */], }, - { type: __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* DeepLinker */], }, - ]; }; - return ImageViewerController; -}()); - +var __assign = (this && this.__assign) || Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; +}; + + + + +var ImageViewerController = (function () { + function ImageViewerController(_app, config, deepLinker) { + this._app = _app; + this.config = config; + this.deepLinker = deepLinker; + } + /** + * Create a image-viewer instance to display. See below for options. + * + * @param {object} imageElement The image element + * @param {object} opts ImageViewer options + */ + /** + * Create a image-viewer instance to display. See below for options. + * + * @param {object} imageElement The image element + * @param {object} opts ImageViewer options + */ + ImageViewerController.prototype.create = /** + * Create a image-viewer instance to display. See below for options. + * + * @param {object} imageElement The image element + * @param {object} opts ImageViewer options + */ + function (imageElement, opts) { + if (opts === void 0) { opts = {}; } + var image = imageElement.src; + var position = imageElement.getBoundingClientRect(); + var options = __assign({ image: image, position: position }, opts); + return new __WEBPACK_IMPORTED_MODULE_2__image_viewer__["a" /* ImageViewer */](this._app, __WEBPACK_IMPORTED_MODULE_3__image_viewer_component__["a" /* ImageViewerComponent */], options, this.config, this.deepLinker); + }; + ImageViewerController.decorators = [ + { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["B" /* Injectable */] }, + ]; + /** @nocollapse */ + ImageViewerController.ctorParameters = function () { return [ + { type: __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["c" /* App */], }, + { type: __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["d" /* Config */], }, + { type: __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* DeepLinker */], }, + ]; }; + return ImageViewerController; +}()); + //# sourceMappingURL=image-viewer.controller.js.map /***/ }), @@ -84461,98 +84461,98 @@ var ImageViewerController = (function () { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__image_viewer_src_animation__ = __webpack_require__(681); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__image_viewer_transition_gesture__ = __webpack_require__(682); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__image_viewer_zoom_gesture__ = __webpack_require__(683); -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); - - - - - - -var ImageViewerComponent = (function (_super) { - __extends(ImageViewerComponent, _super); - function ImageViewerComponent(_gestureCtrl, elementRef, _nav, _zone, renderer, domCtrl, platform, _navParams, _config, _sanitizer) { - var _this = _super.call(this, _config, elementRef, renderer) || this; - _this._gestureCtrl = _gestureCtrl; - _this.elementRef = elementRef; - _this._nav = _nav; - _this._zone = _zone; - _this.renderer = renderer; - _this.domCtrl = domCtrl; - _this.platform = platform; - _this._navParams = _navParams; - _this._sanitizer = _sanitizer; - var url = _navParams.get('image'); - _this.updateImageSrc(url); - return _this; - } - ImageViewerComponent.prototype.updateImageSrc = function (src) { - this.imageUrl = this._sanitizer.bypassSecurityTrustUrl(src); - }; - ImageViewerComponent.prototype.updateImageSrcWithTransition = function (src) { - var imageElement = this.image.nativeElement; - var lowResImgWidth = imageElement.clientWidth; - this.updateImageSrc(src); - var animation = new __WEBPACK_IMPORTED_MODULE_3__image_viewer_src_animation__["a" /* ImageViewerSrcAnimation */](this.platform, this.image); - imageElement.onload = function () { return animation.scaleFrom(lowResImgWidth); }; - }; - ImageViewerComponent.prototype.ngOnInit = function () { - var _this = this; - var navPop = function () { return _this._nav.pop(); }; - this.unregisterBackButton = this.platform.registerBackButtonAction(navPop); - this._zone.runOutsideAngular(function () { return _this.dragGesture = new __WEBPACK_IMPORTED_MODULE_4__image_viewer_transition_gesture__["a" /* ImageViewerTransitionGesture */](_this.platform, _this, _this.domCtrl, _this.renderer, navPop); }); - }; - ImageViewerComponent.prototype.ngAfterViewInit = function () { - var _this = this; - // imageContainer is set after the view has been initialized - this._zone.runOutsideAngular(function () { return _this.pinchGesture = new __WEBPACK_IMPORTED_MODULE_5__image_viewer_zoom_gesture__["a" /* ImageViewerZoomGesture */](_this, _this.imageContainer, _this.platform, _this.renderer); }); - }; - ImageViewerComponent.prototype.ngOnDestroy = function () { - this.dragGesture && this.dragGesture.destroy(); - this.pinchGesture && this.pinchGesture.destroy(); - this.unregisterBackButton(); - }; - ImageViewerComponent.prototype.bdClick = function () { - if (this._navParams.get('enableBackdropDismiss')) { - this._nav.pop(); - } - }; - ImageViewerComponent.decorators = [ - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["m" /* Component */], args: [{ - selector: 'image-viewer', - template: "\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t", - styles: ['image-viewer.ion-page { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; flex-direction: column; height: 100%; opacity: 1; } image-viewer.ion-page ion-navbar.toolbar .toolbar-background { background-color: transparent; } image-viewer.ion-page ion-navbar.toolbar.toolbar-ios { padding-top: calc(20px + 4px); } image-viewer.ion-page ion-navbar .bar-button-default { color: white; } image-viewer.ion-page .backdrop { will-change: opacity; } image-viewer.ion-page .image-wrapper { position: relative; z-index: 10; display: flex; overflow: hidden; flex-direction: column; pointer-events: none; margin-top: 56px; flex-grow: 1; justify-content: center; } image-viewer.ion-page .image { will-change: transform; } image-viewer.ion-page img { display: block; pointer-events: auto; max-width: 100%; max-height: 100vh; margin: 0 auto; } '], - encapsulation: __WEBPACK_IMPORTED_MODULE_1__angular_core__["_12" /* ViewEncapsulation */].None - },] }, - ]; - /** @nocollapse */ - ImageViewerComponent.ctorParameters = function () { return [ - { type: __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["i" /* GestureController */], }, - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["t" /* ElementRef */], }, - { type: __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["r" /* NavController */], }, - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["N" /* NgZone */], }, - { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["W" /* Renderer */], }, - { type: __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["g" /* DomController */], }, - { type: __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["u" /* Platform */], }, - { type: __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["s" /* NavParams */], }, - { type: __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["d" /* Config */], }, - { type: __WEBPACK_IMPORTED_MODULE_2__angular_platform_browser__["c" /* DomSanitizer */], }, - ]; }; - ImageViewerComponent.propDecorators = { - "imageContainer": [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["_9" /* ViewChild */], args: ['imageContainer',] },], - "image": [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["_9" /* ViewChild */], args: ['image',] },], - }; - return ImageViewerComponent; -}(__WEBPACK_IMPORTED_MODULE_0_ionic_angular__["j" /* Ion */])); - +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); + + + + + + +var ImageViewerComponent = (function (_super) { + __extends(ImageViewerComponent, _super); + function ImageViewerComponent(_gestureCtrl, elementRef, _nav, _zone, renderer, domCtrl, platform, _navParams, _config, _sanitizer) { + var _this = _super.call(this, _config, elementRef, renderer) || this; + _this._gestureCtrl = _gestureCtrl; + _this.elementRef = elementRef; + _this._nav = _nav; + _this._zone = _zone; + _this.renderer = renderer; + _this.domCtrl = domCtrl; + _this.platform = platform; + _this._navParams = _navParams; + _this._sanitizer = _sanitizer; + var url = _navParams.get('image'); + _this.updateImageSrc(url); + return _this; + } + ImageViewerComponent.prototype.updateImageSrc = function (src) { + this.imageUrl = this._sanitizer.bypassSecurityTrustUrl(src); + }; + ImageViewerComponent.prototype.updateImageSrcWithTransition = function (src) { + var imageElement = this.image.nativeElement; + var lowResImgWidth = imageElement.clientWidth; + this.updateImageSrc(src); + var animation = new __WEBPACK_IMPORTED_MODULE_3__image_viewer_src_animation__["a" /* ImageViewerSrcAnimation */](this.platform, this.image); + imageElement.onload = function () { return animation.scaleFrom(lowResImgWidth); }; + }; + ImageViewerComponent.prototype.ngOnInit = function () { + var _this = this; + var navPop = function () { return _this._nav.pop(); }; + this.unregisterBackButton = this.platform.registerBackButtonAction(navPop); + this._zone.runOutsideAngular(function () { return _this.dragGesture = new __WEBPACK_IMPORTED_MODULE_4__image_viewer_transition_gesture__["a" /* ImageViewerTransitionGesture */](_this.platform, _this, _this.domCtrl, _this.renderer, navPop); }); + }; + ImageViewerComponent.prototype.ngAfterViewInit = function () { + var _this = this; + // imageContainer is set after the view has been initialized + this._zone.runOutsideAngular(function () { return _this.pinchGesture = new __WEBPACK_IMPORTED_MODULE_5__image_viewer_zoom_gesture__["a" /* ImageViewerZoomGesture */](_this, _this.imageContainer, _this.platform, _this.renderer); }); + }; + ImageViewerComponent.prototype.ngOnDestroy = function () { + this.dragGesture && this.dragGesture.destroy(); + this.pinchGesture && this.pinchGesture.destroy(); + this.unregisterBackButton(); + }; + ImageViewerComponent.prototype.bdClick = function () { + if (this._navParams.get('enableBackdropDismiss')) { + this._nav.pop(); + } + }; + ImageViewerComponent.decorators = [ + { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["m" /* Component */], args: [{ + selector: 'image-viewer', + template: "\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\n\t\t\n\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t", + styles: ['image-viewer.ion-page { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; flex-direction: column; height: 100%; opacity: 1; } image-viewer.ion-page ion-navbar.toolbar .toolbar-background { background-color: transparent; } image-viewer.ion-page ion-navbar.toolbar.toolbar-ios { padding-top: calc(20px + 4px); } image-viewer.ion-page ion-navbar .bar-button-default { color: white; } image-viewer.ion-page .backdrop { will-change: opacity; } image-viewer.ion-page .image-wrapper { position: relative; z-index: 10; display: flex; overflow: hidden; flex-direction: column; pointer-events: none; margin-top: 56px; flex-grow: 1; justify-content: center; } image-viewer.ion-page .image { will-change: transform; } image-viewer.ion-page img { display: block; pointer-events: auto; max-width: 100%; max-height: 100vh; margin: 0 auto; } '], + encapsulation: __WEBPACK_IMPORTED_MODULE_1__angular_core__["_12" /* ViewEncapsulation */].None + },] }, + ]; + /** @nocollapse */ + ImageViewerComponent.ctorParameters = function () { return [ + { type: __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["i" /* GestureController */], }, + { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["t" /* ElementRef */], }, + { type: __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["r" /* NavController */], }, + { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["N" /* NgZone */], }, + { type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["W" /* Renderer */], }, + { type: __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["g" /* DomController */], }, + { type: __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["u" /* Platform */], }, + { type: __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["s" /* NavParams */], }, + { type: __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["d" /* Config */], }, + { type: __WEBPACK_IMPORTED_MODULE_2__angular_platform_browser__["c" /* DomSanitizer */], }, + ]; }; + ImageViewerComponent.propDecorators = { + "imageContainer": [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["_9" /* ViewChild */], args: ['imageContainer',] },], + "image": [{ type: __WEBPACK_IMPORTED_MODULE_1__angular_core__["_9" /* ViewChild */], args: ['image',] },], + }; + return ImageViewerComponent; +}(__WEBPACK_IMPORTED_MODULE_0_ionic_angular__["j" /* Ion */])); + //# sourceMappingURL=image-viewer.component.js.map /***/ }), @@ -102384,397 +102384,397 @@ var IonicGestureConfig = (function (_super) { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_observable_fromEvent__ = __webpack_require__(572); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_observable_fromEvent___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_observable_fromEvent__); - - - - -Object(__WEBPACK_IMPORTED_MODULE_1__bootstrap__["a" /* checkReady */])(); -// declare const window; -// declare var Promise; -var ERR_CORDOVA_NOT_AVAILABLE = { error: 'cordova_not_available' }; -var ERR_PLUGIN_NOT_INSTALLED = { error: 'plugin_not_installed' }; -function checkAvailability(plugin, methodName, pluginName) { - var pluginRef, pluginInstance, pluginPackage; - if (typeof plugin === 'string') { - pluginRef = plugin; - } - else { - pluginRef = plugin.constructor.getPluginRef(); - pluginName = plugin.constructor.getPluginName(); - pluginPackage = plugin.constructor.getPluginInstallName(); - } - pluginInstance = Object(__WEBPACK_IMPORTED_MODULE_0__util__["b" /* getPlugin */])(pluginRef); - if (!pluginInstance || (!!methodName && typeof pluginInstance[methodName] === 'undefined')) { - if (!window.cordova) { - Object(__WEBPACK_IMPORTED_MODULE_0__util__["a" /* cordovaWarn */])(pluginName, methodName); - return ERR_CORDOVA_NOT_AVAILABLE; - } - Object(__WEBPACK_IMPORTED_MODULE_0__util__["d" /* pluginWarn */])(pluginName, pluginPackage, methodName); - return ERR_PLUGIN_NOT_INSTALLED; - } - return true; -} -/** - * Checks if _objectInstance exists and has the method/property - * @private - */ -function instanceAvailability(pluginObj, methodName) { - return pluginObj._objectInstance && (!methodName || typeof pluginObj._objectInstance[methodName] !== 'undefined'); -} -function setIndex(args, opts, resolve, reject) { - if (opts === void 0) { opts = {}; } - // ignore resolve and reject in case sync - if (opts.sync) { - return args; - } - // If the plugin method expects myMethod(success, err, options) - if (opts.callbackOrder === 'reverse') { - // Get those arguments in the order [resolve, reject, ...restOfArgs] - args.unshift(reject); - args.unshift(resolve); - } - else if (opts.callbackStyle === 'node') { - args.push(function (err, result) { - if (err) { - reject(err); - } - else { - resolve(result); - } - }); - } - else if (opts.callbackStyle === 'object' && opts.successName && opts.errorName) { - var obj = {}; - obj[opts.successName] = resolve; - obj[opts.errorName] = reject; - args.push(obj); - } - else if (typeof opts.successIndex !== 'undefined' || typeof opts.errorIndex !== 'undefined') { - var setSuccessIndex = function () { - // If we've specified a success/error index - if (opts.successIndex > args.length) { - args[opts.successIndex] = resolve; - } - else { - args.splice(opts.successIndex, 0, resolve); - } - }; - var setErrorIndex = function () { - // We don't want that the reject cb gets spliced into the position of an optional argument that has not been defined and thus causing non expected behaviour. - if (opts.errorIndex > args.length) { - args[opts.errorIndex] = reject; // insert the reject fn at the correct specific index - } - else { - args.splice(opts.errorIndex, 0, reject); // otherwise just splice it into the array - } - }; - if (opts.successIndex > opts.errorIndex) { - setErrorIndex(); - setSuccessIndex(); - } - else { - setSuccessIndex(); - setErrorIndex(); - } - } - else { - // Otherwise, let's tack them on to the end of the argument list - // which is 90% of cases - args.push(resolve); - args.push(reject); - } - return args; -} -function callCordovaPlugin(pluginObj, methodName, args, opts, resolve, reject) { - if (opts === void 0) { opts = {}; } - // Try to figure out where the success/error callbacks need to be bound - // to our promise resolve/reject handlers. - args = setIndex(args, opts, resolve, reject); - var availabilityCheck = checkAvailability(pluginObj, methodName); - if (availabilityCheck === true) { - var pluginInstance = Object(__WEBPACK_IMPORTED_MODULE_0__util__["b" /* getPlugin */])(pluginObj.constructor.getPluginRef()); - return pluginInstance[methodName].apply(pluginInstance, args); - } - else { - return availabilityCheck; - } -} -function wrapPromise(pluginObj, methodName, args, opts) { - if (opts === void 0) { opts = {}; } - var pluginResult, rej; - var p = Object(__WEBPACK_IMPORTED_MODULE_0__util__["c" /* getPromise */])(function (resolve, reject) { - if (opts.destruct) { - pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return resolve(args); - }, function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return reject(args); - }); - } - else { - pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, resolve, reject); - } - rej = reject; - }); - // Angular throws an error on unhandled rejection, but in this case we have already printed - // a warning that Cordova is undefined or the plugin is uninstalled, so there is no reason - // to error - if (pluginResult && pluginResult.error) { - p.catch(function () { }); - typeof rej === 'function' && rej(pluginResult.error); - } - return p; -} -function wrapOtherPromise(pluginObj, methodName, args, opts) { - if (opts === void 0) { opts = {}; } - return Object(__WEBPACK_IMPORTED_MODULE_0__util__["c" /* getPromise */])(function (resolve, reject) { - var pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts); - if (pluginResult) { - if (pluginResult.error) { - reject(pluginResult.error); - } - else if (pluginResult.then) { - pluginResult.then(resolve).catch(reject); - } - } - else { - reject({ error: 'unexpected_error' }); - } - }); -} -function wrapObservable(pluginObj, methodName, args, opts) { - if (opts === void 0) { opts = {}; } - return new __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"](function (observer) { - var pluginResult; - if (opts.destruct) { - pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return observer.next(args); - }, function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return observer.error(args); - }); - } - else { - pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, observer.next.bind(observer), observer.error.bind(observer)); - } - if (pluginResult && pluginResult.error) { - observer.error(pluginResult.error); - observer.complete(); - } - return function () { - try { - if (opts.clearFunction) { - if (opts.clearWithArgs) { - return callCordovaPlugin(pluginObj, opts.clearFunction, args, opts, observer.next.bind(observer), observer.error.bind(observer)); - } - return callCordovaPlugin(pluginObj, opts.clearFunction, []); - } - } - catch (e) { - console.warn('Unable to clear the previous observable watch for', pluginObj.constructor.getPluginName(), methodName); - console.warn(e); - } - }; - }); -} -function callInstance(pluginObj, methodName, args, opts, resolve, reject) { - if (opts === void 0) { opts = {}; } - args = setIndex(args, opts, resolve, reject); - if (instanceAvailability(pluginObj, methodName)) { - return pluginObj._objectInstance[methodName].apply(pluginObj._objectInstance, args); - } -} -/** - * Wrap the event with an observable - * @private - * @param event even name - * @param element The element to attach the event listener to - * @returns {Observable} - */ -function wrapEventObservable(event, element) { - if (element === void 0) { element = window; } - return __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"].fromEvent(element, event); -} -/** - * Certain plugins expect the user to override methods in the plugin. For example, - * window.cordova.plugins.backgroundMode.onactivate = function() { ... }. - * - * Unfortunately, this is brittle and would be better wrapped as an Observable. overrideFunction - * does just this. - * @private - */ -function overrideFunction(pluginObj, methodName, args, opts) { - if (opts === void 0) { opts = {}; } - return new __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"](function (observer) { - var availabilityCheck = checkAvailability(pluginObj, methodName); - if (availabilityCheck === true) { - var pluginInstance_1 = Object(__WEBPACK_IMPORTED_MODULE_0__util__["b" /* getPlugin */])(pluginObj.constructor.getPluginRef()); - pluginInstance_1[methodName] = observer.next.bind(observer); - return function () { return pluginInstance_1[methodName] = function () { }; }; - } - else { - observer.error(availabilityCheck); - observer.complete(); - } - }); -} -/** - * @private - */ -var wrap = function (pluginObj, methodName, opts) { - if (opts === void 0) { opts = {}; } - return function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - if (opts.sync) { - // Sync doesn't wrap the plugin with a promise or observable, it returns the result as-is - return callCordovaPlugin(pluginObj, methodName, args, opts); - } - else if (opts.observable) { - return wrapObservable(pluginObj, methodName, args, opts); - } - else if (opts.eventObservable && opts.event) { - return wrapEventObservable(opts.event, opts.element); - } - else if (opts.otherPromise) { - return wrapOtherPromise(pluginObj, methodName, args, opts); - } - else { - return wrapPromise(pluginObj, methodName, args, opts); - } - }; -}; -/** - * @private - */ -function wrapInstance(pluginObj, methodName, opts) { - if (opts === void 0) { opts = {}; } - return function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - if (opts.sync) { - return callInstance(pluginObj, methodName, args, opts); - } - else if (opts.observable) { - return new __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"](function (observer) { - var pluginResult; - if (opts.destruct) { - pluginResult = callInstance(pluginObj, methodName, args, opts, function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return observer.next(args); - }, function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return observer.error(args); - }); - } - else { - pluginResult = callInstance(pluginObj, methodName, args, opts, observer.next.bind(observer), observer.error.bind(observer)); - } - if (pluginResult && pluginResult.error) { - observer.error(pluginResult.error); - observer.complete(); - } - return function () { - try { - if (opts.clearWithArgs) { - return callInstance(pluginObj, opts.clearFunction, args, opts, observer.next.bind(observer), observer.error.bind(observer)); - } - return callInstance(pluginObj, opts.clearFunction, []); - } - catch (e) { - console.warn('Unable to clear the previous observable watch for', pluginObj.constructor.getPluginName(), methodName); - console.warn(e); - } - }; - }); - } - else if (opts.otherPromise) { - return Object(__WEBPACK_IMPORTED_MODULE_0__util__["c" /* getPromise */])(function (resolve, reject) { - var result; - if (opts.destruct) { - result = callInstance(pluginObj, methodName, args, opts, function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return resolve(args); - }, function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return reject(args); - }); - } - else { - result = callInstance(pluginObj, methodName, args, opts, resolve, reject); - } - if (result && !!result.then) { - result.then(resolve, reject); - } - else { - reject(); - } - }); - } - else { - var pluginResult_1, rej_1; - var p = Object(__WEBPACK_IMPORTED_MODULE_0__util__["c" /* getPromise */])(function (resolve, reject) { - if (opts.destruct) { - pluginResult_1 = callInstance(pluginObj, methodName, args, opts, function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return resolve(args); - }, function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return reject(args); - }); - } - else { - pluginResult_1 = callInstance(pluginObj, methodName, args, opts, resolve, reject); - } - rej_1 = reject; - }); - // Angular throws an error on unhandled rejection, but in this case we have already printed - // a warning that Cordova is undefined or the plugin is uninstalled, so there is no reason - // to error - if (pluginResult_1 && pluginResult_1.error) { - p.catch(function () { }); - typeof rej_1 === 'function' && rej_1(pluginResult_1.error); - } - return p; - } - }; -} + + + + +Object(__WEBPACK_IMPORTED_MODULE_1__bootstrap__["a" /* checkReady */])(); +// declare const window; +// declare var Promise; +var ERR_CORDOVA_NOT_AVAILABLE = { error: 'cordova_not_available' }; +var ERR_PLUGIN_NOT_INSTALLED = { error: 'plugin_not_installed' }; +function checkAvailability(plugin, methodName, pluginName) { + var pluginRef, pluginInstance, pluginPackage; + if (typeof plugin === 'string') { + pluginRef = plugin; + } + else { + pluginRef = plugin.constructor.getPluginRef(); + pluginName = plugin.constructor.getPluginName(); + pluginPackage = plugin.constructor.getPluginInstallName(); + } + pluginInstance = Object(__WEBPACK_IMPORTED_MODULE_0__util__["b" /* getPlugin */])(pluginRef); + if (!pluginInstance || (!!methodName && typeof pluginInstance[methodName] === 'undefined')) { + if (!window.cordova) { + Object(__WEBPACK_IMPORTED_MODULE_0__util__["a" /* cordovaWarn */])(pluginName, methodName); + return ERR_CORDOVA_NOT_AVAILABLE; + } + Object(__WEBPACK_IMPORTED_MODULE_0__util__["d" /* pluginWarn */])(pluginName, pluginPackage, methodName); + return ERR_PLUGIN_NOT_INSTALLED; + } + return true; +} +/** + * Checks if _objectInstance exists and has the method/property + * @private + */ +function instanceAvailability(pluginObj, methodName) { + return pluginObj._objectInstance && (!methodName || typeof pluginObj._objectInstance[methodName] !== 'undefined'); +} +function setIndex(args, opts, resolve, reject) { + if (opts === void 0) { opts = {}; } + // ignore resolve and reject in case sync + if (opts.sync) { + return args; + } + // If the plugin method expects myMethod(success, err, options) + if (opts.callbackOrder === 'reverse') { + // Get those arguments in the order [resolve, reject, ...restOfArgs] + args.unshift(reject); + args.unshift(resolve); + } + else if (opts.callbackStyle === 'node') { + args.push(function (err, result) { + if (err) { + reject(err); + } + else { + resolve(result); + } + }); + } + else if (opts.callbackStyle === 'object' && opts.successName && opts.errorName) { + var obj = {}; + obj[opts.successName] = resolve; + obj[opts.errorName] = reject; + args.push(obj); + } + else if (typeof opts.successIndex !== 'undefined' || typeof opts.errorIndex !== 'undefined') { + var setSuccessIndex = function () { + // If we've specified a success/error index + if (opts.successIndex > args.length) { + args[opts.successIndex] = resolve; + } + else { + args.splice(opts.successIndex, 0, resolve); + } + }; + var setErrorIndex = function () { + // We don't want that the reject cb gets spliced into the position of an optional argument that has not been defined and thus causing non expected behaviour. + if (opts.errorIndex > args.length) { + args[opts.errorIndex] = reject; // insert the reject fn at the correct specific index + } + else { + args.splice(opts.errorIndex, 0, reject); // otherwise just splice it into the array + } + }; + if (opts.successIndex > opts.errorIndex) { + setErrorIndex(); + setSuccessIndex(); + } + else { + setSuccessIndex(); + setErrorIndex(); + } + } + else { + // Otherwise, let's tack them on to the end of the argument list + // which is 90% of cases + args.push(resolve); + args.push(reject); + } + return args; +} +function callCordovaPlugin(pluginObj, methodName, args, opts, resolve, reject) { + if (opts === void 0) { opts = {}; } + // Try to figure out where the success/error callbacks need to be bound + // to our promise resolve/reject handlers. + args = setIndex(args, opts, resolve, reject); + var availabilityCheck = checkAvailability(pluginObj, methodName); + if (availabilityCheck === true) { + var pluginInstance = Object(__WEBPACK_IMPORTED_MODULE_0__util__["b" /* getPlugin */])(pluginObj.constructor.getPluginRef()); + return pluginInstance[methodName].apply(pluginInstance, args); + } + else { + return availabilityCheck; + } +} +function wrapPromise(pluginObj, methodName, args, opts) { + if (opts === void 0) { opts = {}; } + var pluginResult, rej; + var p = Object(__WEBPACK_IMPORTED_MODULE_0__util__["c" /* getPromise */])(function (resolve, reject) { + if (opts.destruct) { + pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return resolve(args); + }, function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return reject(args); + }); + } + else { + pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, resolve, reject); + } + rej = reject; + }); + // Angular throws an error on unhandled rejection, but in this case we have already printed + // a warning that Cordova is undefined or the plugin is uninstalled, so there is no reason + // to error + if (pluginResult && pluginResult.error) { + p.catch(function () { }); + typeof rej === 'function' && rej(pluginResult.error); + } + return p; +} +function wrapOtherPromise(pluginObj, methodName, args, opts) { + if (opts === void 0) { opts = {}; } + return Object(__WEBPACK_IMPORTED_MODULE_0__util__["c" /* getPromise */])(function (resolve, reject) { + var pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts); + if (pluginResult) { + if (pluginResult.error) { + reject(pluginResult.error); + } + else if (pluginResult.then) { + pluginResult.then(resolve).catch(reject); + } + } + else { + reject({ error: 'unexpected_error' }); + } + }); +} +function wrapObservable(pluginObj, methodName, args, opts) { + if (opts === void 0) { opts = {}; } + return new __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"](function (observer) { + var pluginResult; + if (opts.destruct) { + pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return observer.next(args); + }, function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return observer.error(args); + }); + } + else { + pluginResult = callCordovaPlugin(pluginObj, methodName, args, opts, observer.next.bind(observer), observer.error.bind(observer)); + } + if (pluginResult && pluginResult.error) { + observer.error(pluginResult.error); + observer.complete(); + } + return function () { + try { + if (opts.clearFunction) { + if (opts.clearWithArgs) { + return callCordovaPlugin(pluginObj, opts.clearFunction, args, opts, observer.next.bind(observer), observer.error.bind(observer)); + } + return callCordovaPlugin(pluginObj, opts.clearFunction, []); + } + } + catch (e) { + console.warn('Unable to clear the previous observable watch for', pluginObj.constructor.getPluginName(), methodName); + console.warn(e); + } + }; + }); +} +function callInstance(pluginObj, methodName, args, opts, resolve, reject) { + if (opts === void 0) { opts = {}; } + args = setIndex(args, opts, resolve, reject); + if (instanceAvailability(pluginObj, methodName)) { + return pluginObj._objectInstance[methodName].apply(pluginObj._objectInstance, args); + } +} +/** + * Wrap the event with an observable + * @private + * @param event even name + * @param element The element to attach the event listener to + * @returns {Observable} + */ +function wrapEventObservable(event, element) { + if (element === void 0) { element = window; } + return __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"].fromEvent(element, event); +} +/** + * Certain plugins expect the user to override methods in the plugin. For example, + * window.cordova.plugins.backgroundMode.onactivate = function() { ... }. + * + * Unfortunately, this is brittle and would be better wrapped as an Observable. overrideFunction + * does just this. + * @private + */ +function overrideFunction(pluginObj, methodName, args, opts) { + if (opts === void 0) { opts = {}; } + return new __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"](function (observer) { + var availabilityCheck = checkAvailability(pluginObj, methodName); + if (availabilityCheck === true) { + var pluginInstance_1 = Object(__WEBPACK_IMPORTED_MODULE_0__util__["b" /* getPlugin */])(pluginObj.constructor.getPluginRef()); + pluginInstance_1[methodName] = observer.next.bind(observer); + return function () { return pluginInstance_1[methodName] = function () { }; }; + } + else { + observer.error(availabilityCheck); + observer.complete(); + } + }); +} +/** + * @private + */ +var wrap = function (pluginObj, methodName, opts) { + if (opts === void 0) { opts = {}; } + return function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + if (opts.sync) { + // Sync doesn't wrap the plugin with a promise or observable, it returns the result as-is + return callCordovaPlugin(pluginObj, methodName, args, opts); + } + else if (opts.observable) { + return wrapObservable(pluginObj, methodName, args, opts); + } + else if (opts.eventObservable && opts.event) { + return wrapEventObservable(opts.event, opts.element); + } + else if (opts.otherPromise) { + return wrapOtherPromise(pluginObj, methodName, args, opts); + } + else { + return wrapPromise(pluginObj, methodName, args, opts); + } + }; +}; +/** + * @private + */ +function wrapInstance(pluginObj, methodName, opts) { + if (opts === void 0) { opts = {}; } + return function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + if (opts.sync) { + return callInstance(pluginObj, methodName, args, opts); + } + else if (opts.observable) { + return new __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"](function (observer) { + var pluginResult; + if (opts.destruct) { + pluginResult = callInstance(pluginObj, methodName, args, opts, function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return observer.next(args); + }, function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return observer.error(args); + }); + } + else { + pluginResult = callInstance(pluginObj, methodName, args, opts, observer.next.bind(observer), observer.error.bind(observer)); + } + if (pluginResult && pluginResult.error) { + observer.error(pluginResult.error); + observer.complete(); + } + return function () { + try { + if (opts.clearWithArgs) { + return callInstance(pluginObj, opts.clearFunction, args, opts, observer.next.bind(observer), observer.error.bind(observer)); + } + return callInstance(pluginObj, opts.clearFunction, []); + } + catch (e) { + console.warn('Unable to clear the previous observable watch for', pluginObj.constructor.getPluginName(), methodName); + console.warn(e); + } + }; + }); + } + else if (opts.otherPromise) { + return Object(__WEBPACK_IMPORTED_MODULE_0__util__["c" /* getPromise */])(function (resolve, reject) { + var result; + if (opts.destruct) { + result = callInstance(pluginObj, methodName, args, opts, function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return resolve(args); + }, function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return reject(args); + }); + } + else { + result = callInstance(pluginObj, methodName, args, opts, resolve, reject); + } + if (result && !!result.then) { + result.then(resolve, reject); + } + else { + reject(); + } + }); + } + else { + var pluginResult_1, rej_1; + var p = Object(__WEBPACK_IMPORTED_MODULE_0__util__["c" /* getPromise */])(function (resolve, reject) { + if (opts.destruct) { + pluginResult_1 = callInstance(pluginObj, methodName, args, opts, function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return resolve(args); + }, function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return reject(args); + }); + } + else { + pluginResult_1 = callInstance(pluginObj, methodName, args, opts, resolve, reject); + } + rej_1 = reject; + }); + // Angular throws an error on unhandled rejection, but in this case we have already printed + // a warning that Cordova is undefined or the plugin is uninstalled, so there is no reason + // to error + if (pluginResult_1 && pluginResult_1.error) { + p.catch(function () { }); + typeof rej_1 === 'function' && rej_1(pluginResult_1.error); + } + return p; + } + }; +} //# sourceMappingURL=plugin.js.map /***/ }), @@ -102798,117 +102798,117 @@ __export(__webpack_require__(575)); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return SplashScreen; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ionic_native_core__ = __webpack_require__(60); -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -}; -var __metadata = (this && this.__metadata) || function (k, v) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); -}; - - -/** - * @name Splash Screen - * @description This plugin displays and hides a splash screen during application launch. The methods below allows showing and hiding the splashscreen after the app has loaded. - * @usage - * ```typescript - * import { SplashScreen } from '@ionic-native/splash-screen'; - * - * constructor(private splashScreen: SplashScreen) { } - * - * ... - * - * this.splashScreen.show(); - * - * this.splashScreen.hide(); - * ``` - */ -var SplashScreen = (function (_super) { - __extends(SplashScreen, _super); - function SplashScreen() { - return _super !== null && _super.apply(this, arguments) || this; - } - /** - * Shows the splashscreen - */ - /** - * Shows the splashscreen - */ - SplashScreen.prototype.show = /** - * Shows the splashscreen - */ - function () { }; - /** - * Hides the splashscreen - */ - /** - * Hides the splashscreen - */ - SplashScreen.prototype.hide = /** - * Hides the splashscreen - */ - function () { }; - SplashScreen.decorators = [ - { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["B" /* Injectable */] }, - ]; - /** @nocollapse */ - SplashScreen.ctorParameters = function () { return []; }; - __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["a" /* Cordova */])({ - sync: true - }), - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], SplashScreen.prototype, "show", null); - __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["a" /* Cordova */])({ - sync: true - }), - __metadata("design:type", Function), - __metadata("design:paramtypes", []), - __metadata("design:returntype", void 0) - ], SplashScreen.prototype, "hide", null); - /** - * @name Splash Screen - * @description This plugin displays and hides a splash screen during application launch. The methods below allows showing and hiding the splashscreen after the app has loaded. - * @usage - * ```typescript - * import { SplashScreen } from '@ionic-native/splash-screen'; - * - * constructor(private splashScreen: SplashScreen) { } - * - * ... - * - * this.splashScreen.show(); - * - * this.splashScreen.hide(); - * ``` - */ - SplashScreen = __decorate([ - Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["g" /* Plugin */])({ - pluginName: 'SplashScreen', - plugin: 'cordova-plugin-splashscreen', - pluginRef: 'navigator.splashscreen', - repo: 'https://github.com/apache/cordova-plugin-splashscreen', - platforms: ['Amazon Fire OS', 'Android', 'BlackBerry 10', 'iOS', 'Tizen', 'Ubuntu', 'Windows', 'Windows Phone'] - }) - ], SplashScreen); - return SplashScreen; -}(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["f" /* IonicNativePlugin */])); - +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; + + +/** + * @name Splash Screen + * @description This plugin displays and hides a splash screen during application launch. The methods below allows showing and hiding the splashscreen after the app has loaded. + * @usage + * ```typescript + * import { SplashScreen } from '@ionic-native/splash-screen'; + * + * constructor(private splashScreen: SplashScreen) { } + * + * ... + * + * this.splashScreen.show(); + * + * this.splashScreen.hide(); + * ``` + */ +var SplashScreen = (function (_super) { + __extends(SplashScreen, _super); + function SplashScreen() { + return _super !== null && _super.apply(this, arguments) || this; + } + /** + * Shows the splashscreen + */ + /** + * Shows the splashscreen + */ + SplashScreen.prototype.show = /** + * Shows the splashscreen + */ + function () { }; + /** + * Hides the splashscreen + */ + /** + * Hides the splashscreen + */ + SplashScreen.prototype.hide = /** + * Hides the splashscreen + */ + function () { }; + SplashScreen.decorators = [ + { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["B" /* Injectable */] }, + ]; + /** @nocollapse */ + SplashScreen.ctorParameters = function () { return []; }; + __decorate([ + Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["a" /* Cordova */])({ + sync: true + }), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) + ], SplashScreen.prototype, "show", null); + __decorate([ + Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["a" /* Cordova */])({ + sync: true + }), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", void 0) + ], SplashScreen.prototype, "hide", null); + /** + * @name Splash Screen + * @description This plugin displays and hides a splash screen during application launch. The methods below allows showing and hiding the splashscreen after the app has loaded. + * @usage + * ```typescript + * import { SplashScreen } from '@ionic-native/splash-screen'; + * + * constructor(private splashScreen: SplashScreen) { } + * + * ... + * + * this.splashScreen.show(); + * + * this.splashScreen.hide(); + * ``` + */ + SplashScreen = __decorate([ + Object(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["g" /* Plugin */])({ + pluginName: 'SplashScreen', + plugin: 'cordova-plugin-splashscreen', + pluginRef: 'navigator.splashscreen', + repo: 'https://github.com/apache/cordova-plugin-splashscreen', + platforms: ['Amazon Fire OS', 'Android', 'BlackBerry 10', 'iOS', 'Tizen', 'Ubuntu', 'Windows', 'Windows Phone'] + }) + ], SplashScreen); + return SplashScreen; +}(__WEBPACK_IMPORTED_MODULE_1__ionic_native_core__["f" /* IonicNativePlugin */])); + //# sourceMappingURL=index.js.map /***/ }), @@ -115370,40 +115370,40 @@ var FingerprintAIO = (function (_super) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ImageViewerDirective; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__image_viewer_controller__ = __webpack_require__(205); - - -var ImageViewerDirective = (function () { - function ImageViewerDirective(_el, imageViewerCtrl) { - this._el = _el; - this.imageViewerCtrl = imageViewerCtrl; - this.close = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["w" /* EventEmitter */](); - } - ImageViewerDirective.prototype.onClick = function (event) { - var _this = this; - event.stopPropagation(); - var element = this._el.nativeElement; - var onCloseCallback = function () { return _this.close.emit(); }; - var imageViewer = this.imageViewerCtrl.create(element, { fullResImage: this.src, onCloseCallback: onCloseCallback }); - imageViewer.present(); - }; - ImageViewerDirective.decorators = [ - { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["s" /* Directive */], args: [{ - selector: '[imageViewer]' - },] }, - ]; - /** @nocollapse */ - ImageViewerDirective.ctorParameters = function () { return [ - { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["t" /* ElementRef */], }, - { type: __WEBPACK_IMPORTED_MODULE_1__image_viewer_controller__["a" /* ImageViewerController */], }, - ]; }; - ImageViewerDirective.propDecorators = { - "src": [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["E" /* Input */], args: ['imageViewer',] },], - "close": [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["P" /* Output */] },], - "onClick": [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["z" /* HostListener */], args: ['click', ['$event'],] },], - }; - return ImageViewerDirective; -}()); - + + +var ImageViewerDirective = (function () { + function ImageViewerDirective(_el, imageViewerCtrl) { + this._el = _el; + this.imageViewerCtrl = imageViewerCtrl; + this.close = new __WEBPACK_IMPORTED_MODULE_0__angular_core__["w" /* EventEmitter */](); + } + ImageViewerDirective.prototype.onClick = function (event) { + var _this = this; + event.stopPropagation(); + var element = this._el.nativeElement; + var onCloseCallback = function () { return _this.close.emit(); }; + var imageViewer = this.imageViewerCtrl.create(element, { fullResImage: this.src, onCloseCallback: onCloseCallback }); + imageViewer.present(); + }; + ImageViewerDirective.decorators = [ + { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["s" /* Directive */], args: [{ + selector: '[imageViewer]' + },] }, + ]; + /** @nocollapse */ + ImageViewerDirective.ctorParameters = function () { return [ + { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["t" /* ElementRef */], }, + { type: __WEBPACK_IMPORTED_MODULE_1__image_viewer_controller__["a" /* ImageViewerController */], }, + ]; }; + ImageViewerDirective.propDecorators = { + "src": [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["E" /* Input */], args: ['imageViewer',] },], + "close": [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["P" /* Output */] },], + "onClick": [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["z" /* HostListener */], args: ['click', ['$event'],] },], + }; + return ImageViewerDirective; +}()); + //# sourceMappingURL=image-viewer.directive.js.map /***/ }), @@ -115414,32 +115414,32 @@ var ImageViewerDirective = (function () { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ImageViewer; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_ionic_angular_navigation_overlay_proxy__ = __webpack_require__(163); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__image_viewer_impl__ = __webpack_require__(679); -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); - - -var ImageViewer = (function (_super) { - __extends(ImageViewer, _super); - function ImageViewer(app, component, opts, config, deepLinker) { - if (opts === void 0) { opts = {}; } - var _this = _super.call(this, app, component, config, deepLinker) || this; - _this.opts = opts; - return _this; - } - ImageViewer.prototype.getImplementation = function () { - return new __WEBPACK_IMPORTED_MODULE_1__image_viewer_impl__["a" /* ImageViewerImpl */](this._app, this._component, this.opts, this._config); - }; - return ImageViewer; -}(__WEBPACK_IMPORTED_MODULE_0_ionic_angular_navigation_overlay_proxy__["a" /* OverlayProxy */])); - +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); + + +var ImageViewer = (function (_super) { + __extends(ImageViewer, _super); + function ImageViewer(app, component, opts, config, deepLinker) { + if (opts === void 0) { opts = {}; } + var _this = _super.call(this, app, component, config, deepLinker) || this; + _this.opts = opts; + return _this; + } + ImageViewer.prototype.getImplementation = function () { + return new __WEBPACK_IMPORTED_MODULE_1__image_viewer_impl__["a" /* ImageViewerImpl */](this._app, this._component, this.opts, this._config); + }; + return ImageViewer; +}(__WEBPACK_IMPORTED_MODULE_0_ionic_angular_navigation_overlay_proxy__["a" /* OverlayProxy */])); + //# sourceMappingURL=image-viewer.js.map /***/ }), @@ -163272,24 +163272,24 @@ var ClickBlock = (function () { "use strict"; /* harmony export (immutable) */ __webpack_exports__["a"] = checkReady; -function checkReady() { - var DEVICE_READY_TIMEOUT = 5000; - // To help developers using cordova, we listen for the device ready event and - // log an error if it didn't fire in a reasonable amount of time. Generally, - // when this happens, developers should remove and reinstall plugins, since - // an inconsistent plugin is often the culprit. - var before = Date.now(); - var didFireReady = false; - document.addEventListener('deviceready', function () { - console.log("Ionic Native: deviceready event fired after " + (Date.now() - before) + " ms"); - didFireReady = true; - }); - setTimeout(function () { - if (!didFireReady && !!window.cordova) { - console.warn("Ionic Native: deviceready did not fire within " + DEVICE_READY_TIMEOUT + "ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them."); - } - }, DEVICE_READY_TIMEOUT); -} +function checkReady() { + var DEVICE_READY_TIMEOUT = 5000; + // To help developers using cordova, we listen for the device ready event and + // log an error if it didn't fire in a reasonable amount of time. Generally, + // when this happens, developers should remove and reinstall plugins, since + // an inconsistent plugin is often the culprit. + var before = Date.now(); + var didFireReady = false; + document.addEventListener('deviceready', function () { + console.log("Ionic Native: deviceready event fired after " + (Date.now() - before) + " ms"); + didFireReady = true; + }); + setTimeout(function () { + if (!didFireReady && !!window.cordova) { + console.warn("Ionic Native: deviceready did not fire within " + DEVICE_READY_TIMEOUT + "ms. This can happen when plugins are in an inconsistent state. Try removing plugins from plugins/ and reinstalling them."); + } + }, DEVICE_READY_TIMEOUT); +} //# sourceMappingURL=bootstrap.js.map /***/ }), @@ -163332,225 +163332,225 @@ rxjs_1.Observable.fromEvent = rxjs_1.fromEvent; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_observable_throw__ = __webpack_require__(331); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_observable_throw___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_observable_throw__); - - - - -/** - * @private - */ -function InstanceCheck(opts) { - if (opts === void 0) { opts = {}; } - return function (pluginObj, methodName, descriptor) { - return { - value: function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - if (Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["b" /* instanceAvailability */])(this)) { - return descriptor.value.apply(this, args); - } - else { - if (opts.sync) { - return; - } - else if (opts.observable) { - return new __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"](function () { }); - } - return Object(__WEBPACK_IMPORTED_MODULE_1__util__["c" /* getPromise */])(function () { }); - } - }, - enumerable: true - }; - }; -} -/** - * Executes function only if plugin is available - * @private - */ -function CordovaCheck(opts) { - if (opts === void 0) { opts = {}; } - return function (pluginObj, methodName, descriptor) { - return { - value: function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - var check = Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["a" /* checkAvailability */])(pluginObj); - if (check === true) { - return descriptor.value.apply(this, args); - } - else { - if (opts.sync) { - return null; - } - else if (opts.observable) { - return __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"].throw(new Error(check && check.error)); - } - return Promise.reject(check && check.error); - } - }, - enumerable: true - }; - }; -} -/** - * @private - * - * Class decorator specifying Plugin metadata. Required for all plugins. - * - * @usage - * ```typescript - * @Plugin({ - * pluginName: 'MyPlugin', - * plugin: 'cordova-plugin-myplugin', - * pluginRef: 'window.myplugin' - * }) - * export class MyPlugin { - * - * // Plugin wrappers, properties, and functions go here ... - * - * } - * ``` - */ -function Plugin(config) { - return function (cls) { - // Add these fields to the class - for (var prop in config) { - cls[prop] = config[prop]; - } - cls['installed'] = function (printWarning) { - return !!Object(__WEBPACK_IMPORTED_MODULE_1__util__["b" /* getPlugin */])(config.pluginRef); - }; - cls['getPlugin'] = function () { - return Object(__WEBPACK_IMPORTED_MODULE_1__util__["b" /* getPlugin */])(config.pluginRef); - }; - cls['checkInstall'] = function () { - return Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["a" /* checkAvailability */])(cls) === true; - }; - cls['getPluginName'] = function () { - return config.pluginName; - }; - cls['getPluginRef'] = function () { - return config.pluginRef; - }; - cls['getPluginInstallName'] = function () { - return config.plugin; - }; - cls['getPluginRepo'] = function () { - return config.repo; - }; - cls['getSupportedPlatforms'] = function () { - return config.platforms; - }; - return cls; - }; -} -/** - * @private - * - * Wrap a stub function in a call to a Cordova plugin, checking if both Cordova - * and the required plugin are installed. - */ -function Cordova(opts) { - if (opts === void 0) { opts = {}; } - return function (target, methodName, descriptor) { - return { - value: function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["d" /* wrap */])(this, methodName, opts).apply(this, args); - }, - enumerable: true - }; - }; -} -/** - * @private - * - * Wrap an instance method - */ -function CordovaInstance(opts) { - if (opts === void 0) { opts = {}; } - return function (target, methodName) { - return { - value: function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["e" /* wrapInstance */])(this, methodName, opts).apply(this, args); - }, - enumerable: true - }; - }; -} -/** - * @private - * - * - * Before calling the original method, ensure Cordova and the plugin are installed. - */ -function CordovaProperty(target, key) { - Object.defineProperty(target, key, { - enumerable: true, - get: function () { - if (Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["a" /* checkAvailability */])(target, key) === true) { - return Object(__WEBPACK_IMPORTED_MODULE_1__util__["b" /* getPlugin */])(target.constructor.getPluginRef())[key]; - } - else { - return null; - } - }, - set: function (value) { - if (Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["a" /* checkAvailability */])(target, key) === true) { - Object(__WEBPACK_IMPORTED_MODULE_1__util__["b" /* getPlugin */])(target.constructor.getPluginRef())[key] = value; - } - } - }); -} -/** - * @private - * @param target - * @param key - * @constructor - */ -function InstanceProperty(target, key) { - Object.defineProperty(target, key, { - enumerable: true, - get: function () { - return this._objectInstance[key]; - }, - set: function (value) { - this._objectInstance[key] = value; - } - }); -} -/** - * @private - * - * Wrap a stub function in a call to a Cordova plugin, checking if both Cordova - * and the required plugin are installed. - */ -function CordovaFunctionOverride(opts) { - if (opts === void 0) { opts = {}; } - return function (target, methodName, descriptor) { - return { - value: function () { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - return Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["c" /* overrideFunction */])(this, methodName, opts); - }, - enumerable: true - }; - }; -} + + + + +/** + * @private + */ +function InstanceCheck(opts) { + if (opts === void 0) { opts = {}; } + return function (pluginObj, methodName, descriptor) { + return { + value: function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + if (Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["b" /* instanceAvailability */])(this)) { + return descriptor.value.apply(this, args); + } + else { + if (opts.sync) { + return; + } + else if (opts.observable) { + return new __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"](function () { }); + } + return Object(__WEBPACK_IMPORTED_MODULE_1__util__["c" /* getPromise */])(function () { }); + } + }, + enumerable: true + }; + }; +} +/** + * Executes function only if plugin is available + * @private + */ +function CordovaCheck(opts) { + if (opts === void 0) { opts = {}; } + return function (pluginObj, methodName, descriptor) { + return { + value: function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var check = Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["a" /* checkAvailability */])(pluginObj); + if (check === true) { + return descriptor.value.apply(this, args); + } + else { + if (opts.sync) { + return null; + } + else if (opts.observable) { + return __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"].throw(new Error(check && check.error)); + } + return Promise.reject(check && check.error); + } + }, + enumerable: true + }; + }; +} +/** + * @private + * + * Class decorator specifying Plugin metadata. Required for all plugins. + * + * @usage + * ```typescript + * @Plugin({ + * pluginName: 'MyPlugin', + * plugin: 'cordova-plugin-myplugin', + * pluginRef: 'window.myplugin' + * }) + * export class MyPlugin { + * + * // Plugin wrappers, properties, and functions go here ... + * + * } + * ``` + */ +function Plugin(config) { + return function (cls) { + // Add these fields to the class + for (var prop in config) { + cls[prop] = config[prop]; + } + cls['installed'] = function (printWarning) { + return !!Object(__WEBPACK_IMPORTED_MODULE_1__util__["b" /* getPlugin */])(config.pluginRef); + }; + cls['getPlugin'] = function () { + return Object(__WEBPACK_IMPORTED_MODULE_1__util__["b" /* getPlugin */])(config.pluginRef); + }; + cls['checkInstall'] = function () { + return Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["a" /* checkAvailability */])(cls) === true; + }; + cls['getPluginName'] = function () { + return config.pluginName; + }; + cls['getPluginRef'] = function () { + return config.pluginRef; + }; + cls['getPluginInstallName'] = function () { + return config.plugin; + }; + cls['getPluginRepo'] = function () { + return config.repo; + }; + cls['getSupportedPlatforms'] = function () { + return config.platforms; + }; + return cls; + }; +} +/** + * @private + * + * Wrap a stub function in a call to a Cordova plugin, checking if both Cordova + * and the required plugin are installed. + */ +function Cordova(opts) { + if (opts === void 0) { opts = {}; } + return function (target, methodName, descriptor) { + return { + value: function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["d" /* wrap */])(this, methodName, opts).apply(this, args); + }, + enumerable: true + }; + }; +} +/** + * @private + * + * Wrap an instance method + */ +function CordovaInstance(opts) { + if (opts === void 0) { opts = {}; } + return function (target, methodName) { + return { + value: function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["e" /* wrapInstance */])(this, methodName, opts).apply(this, args); + }, + enumerable: true + }; + }; +} +/** + * @private + * + * + * Before calling the original method, ensure Cordova and the plugin are installed. + */ +function CordovaProperty(target, key) { + Object.defineProperty(target, key, { + enumerable: true, + get: function () { + if (Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["a" /* checkAvailability */])(target, key) === true) { + return Object(__WEBPACK_IMPORTED_MODULE_1__util__["b" /* getPlugin */])(target.constructor.getPluginRef())[key]; + } + else { + return null; + } + }, + set: function (value) { + if (Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["a" /* checkAvailability */])(target, key) === true) { + Object(__WEBPACK_IMPORTED_MODULE_1__util__["b" /* getPlugin */])(target.constructor.getPluginRef())[key] = value; + } + } + }); +} +/** + * @private + * @param target + * @param key + * @constructor + */ +function InstanceProperty(target, key) { + Object.defineProperty(target, key, { + enumerable: true, + get: function () { + return this._objectInstance[key]; + }, + set: function (value) { + this._objectInstance[key] = value; + } + }); +} +/** + * @private + * + * Wrap a stub function in a call to a Cordova plugin, checking if both Cordova + * and the required plugin are installed. + */ +function CordovaFunctionOverride(opts) { + if (opts === void 0) { opts = {}; } + return function (target, methodName, descriptor) { + return { + value: function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return Object(__WEBPACK_IMPORTED_MODULE_0__plugin__["c" /* overrideFunction */])(this, methodName, opts); + }, + enumerable: true + }; + }; +} //# sourceMappingURL=decorators.js.map /***/ }), @@ -163570,75 +163570,75 @@ exports._throw = rxjs_1.throwError; "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return IonicNativePlugin; }); -var IonicNativePlugin = (function () { - function IonicNativePlugin() { - } - /** - * Returns a boolean that indicates whether the plugin is installed - * @return {boolean} - */ - /** - * Returns a boolean that indicates whether the plugin is installed - * @return {boolean} - */ - IonicNativePlugin.installed = /** - * Returns a boolean that indicates whether the plugin is installed - * @return {boolean} - */ - function () { return false; }; - /** - * Returns the original plugin object - */ - /** - * Returns the original plugin object - */ - IonicNativePlugin.getPlugin = /** - * Returns the original plugin object - */ - function () { }; - /** - * Returns the plugin's name - */ - /** - * Returns the plugin's name - */ - IonicNativePlugin.getPluginName = /** - * Returns the plugin's name - */ - function () { return; }; - /** - * Returns the plugin's reference - */ - /** - * Returns the plugin's reference - */ - IonicNativePlugin.getPluginRef = /** - * Returns the plugin's reference - */ - function () { return; }; - /** - * Returns the plugin's install name - */ - /** - * Returns the plugin's install name - */ - IonicNativePlugin.getPluginInstallName = /** - * Returns the plugin's install name - */ - function () { return; }; - /** - * Returns the plugin's supported platforms - */ - /** - * Returns the plugin's supported platforms - */ - IonicNativePlugin.getSupportedPlatforms = /** - * Returns the plugin's supported platforms - */ - function () { return; }; - return IonicNativePlugin; -}()); - +var IonicNativePlugin = (function () { + function IonicNativePlugin() { + } + /** + * Returns a boolean that indicates whether the plugin is installed + * @return {boolean} + */ + /** + * Returns a boolean that indicates whether the plugin is installed + * @return {boolean} + */ + IonicNativePlugin.installed = /** + * Returns a boolean that indicates whether the plugin is installed + * @return {boolean} + */ + function () { return false; }; + /** + * Returns the original plugin object + */ + /** + * Returns the original plugin object + */ + IonicNativePlugin.getPlugin = /** + * Returns the original plugin object + */ + function () { }; + /** + * Returns the plugin's name + */ + /** + * Returns the plugin's name + */ + IonicNativePlugin.getPluginName = /** + * Returns the plugin's name + */ + function () { return; }; + /** + * Returns the plugin's reference + */ + /** + * Returns the plugin's reference + */ + IonicNativePlugin.getPluginRef = /** + * Returns the plugin's reference + */ + function () { return; }; + /** + * Returns the plugin's install name + */ + /** + * Returns the plugin's install name + */ + IonicNativePlugin.getPluginInstallName = /** + * Returns the plugin's install name + */ + function () { return; }; + /** + * Returns the plugin's supported platforms + */ + /** + * Returns the plugin's supported platforms + */ + IonicNativePlugin.getSupportedPlatforms = /** + * Returns the plugin's supported platforms + */ + function () { return; }; + return IonicNativePlugin; +}()); + //# sourceMappingURL=ionic-native-plugin.js.map /***/ }), @@ -198222,11 +198222,11 @@ function supportsWebAnimations() { /* unused harmony reexport ImageViewerController */ /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__src_image_viewer__ = __webpack_require__(400); /* unused harmony reexport ImageViewer */ - - - - - + + + + + //# sourceMappingURL=ionic-img-viewer.js.map /***/ }), @@ -198240,31 +198240,31 @@ function supportsWebAnimations() { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__image_viewer_directive__ = __webpack_require__(399); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__image_viewer_component__ = __webpack_require__(206); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__image_viewer_controller__ = __webpack_require__(205); - - - - - -var IonicImageViewerModule = (function () { - function IonicImageViewerModule() { - } - IonicImageViewerModule.decorators = [ - { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["J" /* NgModule */], args: [{ - imports: [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["m" /* IonicModule */]], - declarations: [ - __WEBPACK_IMPORTED_MODULE_3__image_viewer_component__["a" /* ImageViewerComponent */], - __WEBPACK_IMPORTED_MODULE_2__image_viewer_directive__["a" /* ImageViewerDirective */] - ], - providers: [__WEBPACK_IMPORTED_MODULE_4__image_viewer_controller__["a" /* ImageViewerController */]], - exports: [__WEBPACK_IMPORTED_MODULE_2__image_viewer_directive__["a" /* ImageViewerDirective */]], - entryComponents: [__WEBPACK_IMPORTED_MODULE_3__image_viewer_component__["a" /* ImageViewerComponent */]] - },] }, - ]; - /** @nocollapse */ - IonicImageViewerModule.ctorParameters = function () { return []; }; - return IonicImageViewerModule; -}()); - + + + + + +var IonicImageViewerModule = (function () { + function IonicImageViewerModule() { + } + IonicImageViewerModule.decorators = [ + { type: __WEBPACK_IMPORTED_MODULE_0__angular_core__["J" /* NgModule */], args: [{ + imports: [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["m" /* IonicModule */]], + declarations: [ + __WEBPACK_IMPORTED_MODULE_3__image_viewer_component__["a" /* ImageViewerComponent */], + __WEBPACK_IMPORTED_MODULE_2__image_viewer_directive__["a" /* ImageViewerDirective */] + ], + providers: [__WEBPACK_IMPORTED_MODULE_4__image_viewer_controller__["a" /* ImageViewerController */]], + exports: [__WEBPACK_IMPORTED_MODULE_2__image_viewer_directive__["a" /* ImageViewerDirective */]], + entryComponents: [__WEBPACK_IMPORTED_MODULE_3__image_viewer_component__["a" /* ImageViewerComponent */]] + },] }, + ]; + /** @nocollapse */ + IonicImageViewerModule.ctorParameters = function () { return []; }; + return IonicImageViewerModule; +}()); + //# sourceMappingURL=module.js.map /***/ }), @@ -198278,71 +198278,71 @@ var IonicImageViewerModule = (function () { /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__ = __webpack_require__(48); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__image_viewer_transitions__ = __webpack_require__(680); -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); - - - - -var ImageViewerImpl = (function (_super) { - __extends(ImageViewerImpl, _super); - function ImageViewerImpl(app, component, opts, config) { - if (opts === void 0) { opts = {}; } - var _this = _super.call(this, component, opts) || this; - _this.app = app; - config.setTransition('image-viewer-enter', __WEBPACK_IMPORTED_MODULE_3__image_viewer_transitions__["a" /* ImageViewerEnter */]); - config.setTransition('image-viewer-leave', __WEBPACK_IMPORTED_MODULE_3__image_viewer_transitions__["b" /* ImageViewerLeave */]); - _this.didLeave.subscribe(function () { return opts.onCloseCallback && opts.onCloseCallback(); }); - _this.willEnter.subscribe(function () { - return _this.handleHighResImageLoad(opts.fullResImage); - }); - return _this; - } - ImageViewerImpl.prototype.getTransitionName = function (direction) { - return "image-viewer-" + (direction === 'back' ? 'leave' : 'enter'); - }; - ImageViewerImpl.prototype.present = function (navOptions) { - if (navOptions === void 0) { navOptions = {}; } - return this.app.present(this, navOptions); - }; - ImageViewerImpl.prototype.handleHighResImageLoad = function (fullResImage) { - var _this = this; - if (!fullResImage) { - return; - } - var image = new Image(); - image.src = fullResImage; - if (!image.complete) { - var onLoadObservable = __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"].create(function (obs) { - image.onload = function () { - obs.next(image); - obs.complete(); - }; - }); - // We want the animation to finish before replacing the pic - // as the calculation has been done with the smaller image - // AND, to avoid a flash if it loads "too quickly", wait at least 300ms after didEnter - onLoadObservable - .pipe(Object(__WEBPACK_IMPORTED_MODULE_0_rxjs_operators__["zip"])(this.didEnter.pipe(Object(__WEBPACK_IMPORTED_MODULE_0_rxjs_operators__["delay"])(300)))) - .subscribe(function () { - return _this.instance.updateImageSrcWithTransition(fullResImage); - }); - } - else { - this.instance.updateImageSrc(fullResImage); - } - }; - return ImageViewerImpl; -}(__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["y" /* ViewController */])); - +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); + + + + +var ImageViewerImpl = (function (_super) { + __extends(ImageViewerImpl, _super); + function ImageViewerImpl(app, component, opts, config) { + if (opts === void 0) { opts = {}; } + var _this = _super.call(this, component, opts) || this; + _this.app = app; + config.setTransition('image-viewer-enter', __WEBPACK_IMPORTED_MODULE_3__image_viewer_transitions__["a" /* ImageViewerEnter */]); + config.setTransition('image-viewer-leave', __WEBPACK_IMPORTED_MODULE_3__image_viewer_transitions__["b" /* ImageViewerLeave */]); + _this.didLeave.subscribe(function () { return opts.onCloseCallback && opts.onCloseCallback(); }); + _this.willEnter.subscribe(function () { + return _this.handleHighResImageLoad(opts.fullResImage); + }); + return _this; + } + ImageViewerImpl.prototype.getTransitionName = function (direction) { + return "image-viewer-" + (direction === 'back' ? 'leave' : 'enter'); + }; + ImageViewerImpl.prototype.present = function (navOptions) { + if (navOptions === void 0) { navOptions = {}; } + return this.app.present(this, navOptions); + }; + ImageViewerImpl.prototype.handleHighResImageLoad = function (fullResImage) { + var _this = this; + if (!fullResImage) { + return; + } + var image = new Image(); + image.src = fullResImage; + if (!image.complete) { + var onLoadObservable = __WEBPACK_IMPORTED_MODULE_2_rxjs_Observable__["Observable"].create(function (obs) { + image.onload = function () { + obs.next(image); + obs.complete(); + }; + }); + // We want the animation to finish before replacing the pic + // as the calculation has been done with the smaller image + // AND, to avoid a flash if it loads "too quickly", wait at least 300ms after didEnter + onLoadObservable + .pipe(Object(__WEBPACK_IMPORTED_MODULE_0_rxjs_operators__["zip"])(this.didEnter.pipe(Object(__WEBPACK_IMPORTED_MODULE_0_rxjs_operators__["delay"])(300)))) + .subscribe(function () { + return _this.instance.updateImageSrcWithTransition(fullResImage); + }); + } + else { + this.instance.updateImageSrc(fullResImage); + } + }; + return ImageViewerImpl; +}(__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["y" /* ViewController */])); + //# sourceMappingURL=image-viewer-impl.js.map /***/ }), @@ -198353,91 +198353,91 @@ var ImageViewerImpl = (function (_super) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ImageViewerEnter; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return ImageViewerLeave; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_ionic_angular__ = __webpack_require__(5); -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); - -var ImageViewerEnter = (function (_super) { - __extends(ImageViewerEnter, _super); - function ImageViewerEnter() { - return _super !== null && _super.apply(this, arguments) || this; - } - ImageViewerEnter.prototype.init = function () { - var css = this.plt.Css; - var ele = this.enteringView.pageRef().nativeElement; - var imgElement = ele.querySelector('img'); - var backdropElement = ele.querySelector('ion-backdrop'); - var fromPosition = this.enteringView.data.position; - var toPosition = imgElement.getBoundingClientRect(); - var flipS = fromPosition.width / toPosition.width; - var flipY = fromPosition.top - toPosition.top; - var flipX = fromPosition.left - toPosition.left; - var backdrop = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, backdropElement); - var image = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, imgElement); - // Using `Animation.beforeStyles()` here does not seems to work - imgElement.style[css.transformOrigin] = '0 0'; - image.fromTo('translateY', flipY + "px", '0px') - .fromTo('translateX', flipX + "px", '0px') - .fromTo('scale', flipS, 1) - .afterClearStyles([css.transformOrigin]); - backdrop.fromTo('opacity', 0.01, 1); - this.easing('ease-in-out') - .duration(150) - .add(backdrop) - .add(image); - var enteringPageEle = this.enteringView.pageRef().nativeElement; - var enteringNavbarEle = enteringPageEle.querySelector('ion-navbar'); - var enteringBackBtnEle = enteringPageEle.querySelector('.back-button'); - var enteringNavBar = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, enteringNavbarEle); - enteringNavBar.afterAddClass('show-navbar'); - this.add(enteringNavBar); - var enteringBackButton = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, enteringBackBtnEle); - this.add(enteringBackButton); - enteringBackButton.afterAddClass('show-back-button'); - }; - return ImageViewerEnter; -}(__WEBPACK_IMPORTED_MODULE_0_ionic_angular__["x" /* Transition */])); - -var ImageViewerLeave = (function (_super) { - __extends(ImageViewerLeave, _super); - function ImageViewerLeave() { - return _super !== null && _super.apply(this, arguments) || this; - } - ImageViewerLeave.prototype.init = function () { - var css = this.plt.Css; - var ele = this.leavingView.pageRef().nativeElement; - var imgElement = ele.querySelector('img'); - var backdropElement = ele.querySelector('ion-backdrop'); - var toPosition = this.leavingView.data.position; - var fromPosition = imgElement.getBoundingClientRect(); - var flipS = toPosition.width / fromPosition.width; - var flipY = toPosition.top - fromPosition.top; - var flipX = toPosition.left - fromPosition.left; - var backdropOpacity = backdropElement.style['opacity']; - var backdrop = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, backdropElement); - var image = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, imgElement); - image.fromTo('translateY', 0 + "px", flipY + "px") - .fromTo('translateX', "0px", flipX + "px") - .fromTo('scale', 1, flipS) - .beforeStyles((_a = {}, _a[css.transformOrigin] = '0 0', _a)) - .afterClearStyles([css.transformOrigin]); - backdrop.fromTo('opacity', backdropOpacity, 0); - this.easing('ease-in-out') - .duration(150) - .add(backdrop) - .add(image); - var _a; - }; - return ImageViewerLeave; -}(__WEBPACK_IMPORTED_MODULE_0_ionic_angular__["x" /* Transition */])); - +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); + +var ImageViewerEnter = (function (_super) { + __extends(ImageViewerEnter, _super); + function ImageViewerEnter() { + return _super !== null && _super.apply(this, arguments) || this; + } + ImageViewerEnter.prototype.init = function () { + var css = this.plt.Css; + var ele = this.enteringView.pageRef().nativeElement; + var imgElement = ele.querySelector('img'); + var backdropElement = ele.querySelector('ion-backdrop'); + var fromPosition = this.enteringView.data.position; + var toPosition = imgElement.getBoundingClientRect(); + var flipS = fromPosition.width / toPosition.width; + var flipY = fromPosition.top - toPosition.top; + var flipX = fromPosition.left - toPosition.left; + var backdrop = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, backdropElement); + var image = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, imgElement); + // Using `Animation.beforeStyles()` here does not seems to work + imgElement.style[css.transformOrigin] = '0 0'; + image.fromTo('translateY', flipY + "px", '0px') + .fromTo('translateX', flipX + "px", '0px') + .fromTo('scale', flipS, 1) + .afterClearStyles([css.transformOrigin]); + backdrop.fromTo('opacity', 0.01, 1); + this.easing('ease-in-out') + .duration(150) + .add(backdrop) + .add(image); + var enteringPageEle = this.enteringView.pageRef().nativeElement; + var enteringNavbarEle = enteringPageEle.querySelector('ion-navbar'); + var enteringBackBtnEle = enteringPageEle.querySelector('.back-button'); + var enteringNavBar = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, enteringNavbarEle); + enteringNavBar.afterAddClass('show-navbar'); + this.add(enteringNavBar); + var enteringBackButton = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, enteringBackBtnEle); + this.add(enteringBackButton); + enteringBackButton.afterAddClass('show-back-button'); + }; + return ImageViewerEnter; +}(__WEBPACK_IMPORTED_MODULE_0_ionic_angular__["x" /* Transition */])); + +var ImageViewerLeave = (function (_super) { + __extends(ImageViewerLeave, _super); + function ImageViewerLeave() { + return _super !== null && _super.apply(this, arguments) || this; + } + ImageViewerLeave.prototype.init = function () { + var css = this.plt.Css; + var ele = this.leavingView.pageRef().nativeElement; + var imgElement = ele.querySelector('img'); + var backdropElement = ele.querySelector('ion-backdrop'); + var toPosition = this.leavingView.data.position; + var fromPosition = imgElement.getBoundingClientRect(); + var flipS = toPosition.width / fromPosition.width; + var flipY = toPosition.top - fromPosition.top; + var flipX = toPosition.left - fromPosition.left; + var backdropOpacity = backdropElement.style['opacity']; + var backdrop = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, backdropElement); + var image = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, imgElement); + image.fromTo('translateY', 0 + "px", flipY + "px") + .fromTo('translateX', "0px", flipX + "px") + .fromTo('scale', 1, flipS) + .beforeStyles((_a = {}, _a[css.transformOrigin] = '0 0', _a)) + .afterClearStyles([css.transformOrigin]); + backdrop.fromTo('opacity', backdropOpacity, 0); + this.easing('ease-in-out') + .duration(150) + .add(backdrop) + .add(image); + var _a; + }; + return ImageViewerLeave; +}(__WEBPACK_IMPORTED_MODULE_0_ionic_angular__["x" /* Transition */])); + //# sourceMappingURL=image-viewer-transitions.js.map /***/ }), @@ -198447,23 +198447,23 @@ var ImageViewerLeave = (function (_super) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ImageViewerSrcAnimation; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_ionic_angular__ = __webpack_require__(5); - -var ImageViewerSrcAnimation = (function () { - function ImageViewerSrcAnimation(platform, image) { - this.element = image.nativeElement; - this.imageAnimation = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](platform, image); - } - ImageViewerSrcAnimation.prototype.scaleFrom = function (lowResImgWidth) { - var highResImgWidth = this.element.clientWidth; - var imageTransition = this.imageAnimation - .fromTo('scale', lowResImgWidth / highResImgWidth, 1) - .duration(100) - .easing('ease-in-out') - .play(); - }; - return ImageViewerSrcAnimation; -}()); - + +var ImageViewerSrcAnimation = (function () { + function ImageViewerSrcAnimation(platform, image) { + this.element = image.nativeElement; + this.imageAnimation = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](platform, image); + } + ImageViewerSrcAnimation.prototype.scaleFrom = function (lowResImgWidth) { + var highResImgWidth = this.element.clientWidth; + var imageTransition = this.imageAnimation + .fromTo('scale', lowResImgWidth / highResImgWidth, 1) + .duration(100) + .easing('ease-in-out') + .play(); + }; + return ImageViewerSrcAnimation; +}()); + //# sourceMappingURL=image-viewer-src-animation.js.map /***/ }), @@ -198474,94 +198474,94 @@ var ImageViewerSrcAnimation = (function () { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ImageViewerTransitionGesture; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_ionic_angular__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular_util_dom__ = __webpack_require__(29); -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); - - -var HAMMER_THRESHOLD = 10; -var MAX_ATTACK_ANGLE = 45; -var DRAG_THRESHOLD = 70; -var ImageViewerTransitionGesture = (function (_super) { - __extends(ImageViewerTransitionGesture, _super); - function ImageViewerTransitionGesture(platform, component, domCtrl, renderer, cb) { - var _this = _super.call(this, platform, component.getNativeElement(), { - maxAngle: MAX_ATTACK_ANGLE, - threshold: HAMMER_THRESHOLD, - gesture: component._gestureCtrl.createGesture({ name: 'image-viewer' }), - direction: 'y', - domController: domCtrl - }) || this; - _this.component = component; - _this.renderer = renderer; - _this.cb = cb; - _this.translationY = 0; - _this.imageContainer = component.getNativeElement().querySelector('.image'); - _this.backdrop = component.getNativeElement().querySelector('ion-backdrop'); - _this.listen(); - return _this; - } - // As we handle both pinch and drag, we have to make sure we don't drag when we are trying to pinch - // As we handle both pinch and drag, we have to make sure we don't drag when we are trying to pinch - ImageViewerTransitionGesture.prototype.isPinching = - // As we handle both pinch and drag, we have to make sure we don't drag when we are trying to pinch - function (ev) { - return ev.touches && ev.touches.length > 1; - }; - ImageViewerTransitionGesture.prototype.onDragStart = function (ev) { - ev.preventDefault(); - if (this.isPinching(ev)) { - this.abort(ev); - } - var coord = Object(__WEBPACK_IMPORTED_MODULE_1_ionic_angular_util_dom__["f" /* pointerCoord */])(ev); - this.startY = coord.y; - return true; - }; - ImageViewerTransitionGesture.prototype.canStart = function (ev) { - return !this.component.isZoomed && !this.isPinching(ev); - }; - ImageViewerTransitionGesture.prototype.onDragMove = function (ev) { - var _this = this; - if (this.isPinching(ev)) { - this.abort(ev); - } - var coord = Object(__WEBPACK_IMPORTED_MODULE_1_ionic_angular_util_dom__["f" /* pointerCoord */])(ev); - this.translationY = coord.y - this.startY; - this.opacity = Math.max(1 - Math.abs(this.translationY) / (10 * DRAG_THRESHOLD), .5); - this.plt.raf(function () { - _this.renderer.setElementStyle(_this.imageContainer, _this.plt.Css.transform, "translateY(" + _this.translationY + "px)"); - _this.renderer.setElementStyle(_this.backdrop, 'opacity', _this.opacity.toString()); - }); - return true; - }; - ImageViewerTransitionGesture.prototype.onDragEnd = function (ev) { - if (Math.abs(this.translationY) > DRAG_THRESHOLD) { - this.cb(); - } - else { - var imageContainerAnimation = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, this.imageContainer); - var backdropAnimation = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, this.backdrop); - backdropAnimation.fromTo('opacity', this.opacity, '1'); - imageContainerAnimation.fromTo('translateY', this.translationY + "px", '0px'); - new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt) - .easing('ease-in') - .duration(150) - .add(backdropAnimation) - .add(imageContainerAnimation) - .play(); - } - return true; - }; - return ImageViewerTransitionGesture; -}(__WEBPACK_IMPORTED_MODULE_0_ionic_angular__["t" /* PanGesture */])); - +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); + + +var HAMMER_THRESHOLD = 10; +var MAX_ATTACK_ANGLE = 45; +var DRAG_THRESHOLD = 70; +var ImageViewerTransitionGesture = (function (_super) { + __extends(ImageViewerTransitionGesture, _super); + function ImageViewerTransitionGesture(platform, component, domCtrl, renderer, cb) { + var _this = _super.call(this, platform, component.getNativeElement(), { + maxAngle: MAX_ATTACK_ANGLE, + threshold: HAMMER_THRESHOLD, + gesture: component._gestureCtrl.createGesture({ name: 'image-viewer' }), + direction: 'y', + domController: domCtrl + }) || this; + _this.component = component; + _this.renderer = renderer; + _this.cb = cb; + _this.translationY = 0; + _this.imageContainer = component.getNativeElement().querySelector('.image'); + _this.backdrop = component.getNativeElement().querySelector('ion-backdrop'); + _this.listen(); + return _this; + } + // As we handle both pinch and drag, we have to make sure we don't drag when we are trying to pinch + // As we handle both pinch and drag, we have to make sure we don't drag when we are trying to pinch + ImageViewerTransitionGesture.prototype.isPinching = + // As we handle both pinch and drag, we have to make sure we don't drag when we are trying to pinch + function (ev) { + return ev.touches && ev.touches.length > 1; + }; + ImageViewerTransitionGesture.prototype.onDragStart = function (ev) { + ev.preventDefault(); + if (this.isPinching(ev)) { + this.abort(ev); + } + var coord = Object(__WEBPACK_IMPORTED_MODULE_1_ionic_angular_util_dom__["f" /* pointerCoord */])(ev); + this.startY = coord.y; + return true; + }; + ImageViewerTransitionGesture.prototype.canStart = function (ev) { + return !this.component.isZoomed && !this.isPinching(ev); + }; + ImageViewerTransitionGesture.prototype.onDragMove = function (ev) { + var _this = this; + if (this.isPinching(ev)) { + this.abort(ev); + } + var coord = Object(__WEBPACK_IMPORTED_MODULE_1_ionic_angular_util_dom__["f" /* pointerCoord */])(ev); + this.translationY = coord.y - this.startY; + this.opacity = Math.max(1 - Math.abs(this.translationY) / (10 * DRAG_THRESHOLD), .5); + this.plt.raf(function () { + _this.renderer.setElementStyle(_this.imageContainer, _this.plt.Css.transform, "translateY(" + _this.translationY + "px)"); + _this.renderer.setElementStyle(_this.backdrop, 'opacity', _this.opacity.toString()); + }); + return true; + }; + ImageViewerTransitionGesture.prototype.onDragEnd = function (ev) { + if (Math.abs(this.translationY) > DRAG_THRESHOLD) { + this.cb(); + } + else { + var imageContainerAnimation = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, this.imageContainer); + var backdropAnimation = new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt, this.backdrop); + backdropAnimation.fromTo('opacity', this.opacity, '1'); + imageContainerAnimation.fromTo('translateY', this.translationY + "px", '0px'); + new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.plt) + .easing('ease-in') + .duration(150) + .add(backdropAnimation) + .add(imageContainerAnimation) + .play(); + } + return true; + }; + return ImageViewerTransitionGesture; +}(__WEBPACK_IMPORTED_MODULE_0_ionic_angular__["t" /* PanGesture */])); + //# sourceMappingURL=image-viewer-transition-gesture.js.map /***/ }), @@ -198572,122 +198572,122 @@ var ImageViewerTransitionGesture = (function (_super) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ImageViewerZoomGesture; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_ionic_angular__ = __webpack_require__(5); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular_gestures_hammer__ = __webpack_require__(325); -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); - - -var MAX_SCALE = 3; -var ImageViewerZoomGesture = (function (_super) { - __extends(ImageViewerZoomGesture, _super); - function ImageViewerZoomGesture(component, element, platform, renderer) { - var _this = _super.call(this, element.nativeElement) || this; - _this.component = component; - _this.platform = platform; - _this.renderer = renderer; - _this.adjustScale = 1; - _this.adjustDeltaX = 0; - _this.adjustDeltaY = 0; - _this.currentScale = 1; - _this.currentDeltaX = 0; - _this.currentDeltaY = 0; - _this.allowedXMargin = 0; - _this.allowedYMargin = 0; - // Force both directions after super to avoid override allowing only one direction - // Force both directions after super to avoid override allowing only one direction - _this.options({ direction: __WEBPACK_IMPORTED_MODULE_1_ionic_angular_gestures_hammer__["a" /* DIRECTION_HORIZONTAL */] | __WEBPACK_IMPORTED_MODULE_1_ionic_angular_gestures_hammer__["b" /* DIRECTION_VERTICAL */] }); - _this.listen(); - _this.on('pinch', function (e) { return _this.onPinch(e); }); - _this.on('pinchend', function (e) { return _this.onPinchEnd(e); }); - _this.on('panstart', function (e) { return _this.onPanStart(e); }); - _this.on('pan', function (e) { return _this.onPan(e); }); - _this.on('panend', function (e) { return _this.onPanEnd(e); }); - _this.on('doubletap', function (e) { return _this.onDoubleTap(e); }); - return _this; - } - ImageViewerZoomGesture.prototype.onPinch = function (event) { - this.component.dragGesture.abort(event); - this.currentScale = Math.max(1, Math.min(MAX_SCALE, this.adjustScale * event.scale)); - this.currentDeltaX = this.adjustDeltaX + (event.deltaX / this.currentScale); - this.currentDeltaY = this.adjustDeltaY + (event.deltaY / this.currentScale); - this.setImageContainerTransform(); - }; - ImageViewerZoomGesture.prototype.onPinchEnd = function (event) { - this.component.isZoomed = (this.currentScale !== 1); - if (!this.component.isZoomed) { - new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.platform, this.element) - .fromTo('translateX', this.currentDeltaX + "px", '0') - .fromTo('translateY', this.currentDeltaY + "px", '0') - .easing('ease-in') - .duration(50) - .play(); - this.currentDeltaX = 0; - this.currentDeltaY = 0; - } - // Saving the final transforms for adjustment next time the user interacts. - this.adjustScale = this.currentScale; - this.adjustDeltaX = this.currentDeltaX; - this.adjustDeltaY = this.currentDeltaY; - }; - ImageViewerZoomGesture.prototype.onPanStart = function (event) { - if (!this.component.isZoomed) { - return; - } - var originalImageWidth = this.element.offsetWidth; - var originalImageHeight = this.element.offsetHeight; - this.allowedXMargin = ((originalImageWidth * this.currentScale) - originalImageWidth) / 4; - this.allowedYMargin = ((originalImageHeight * this.currentScale) - originalImageHeight) / 4; - }; - ImageViewerZoomGesture.prototype.onPan = function (event) { - if (!this.component.isZoomed) { - return; - } - this.currentDeltaX = this.boundAdjustement(Math.floor(this.adjustDeltaX + event.deltaX / this.currentScale), this.allowedXMargin); - this.currentDeltaY = this.boundAdjustement(Math.floor(this.adjustDeltaY + event.deltaY / this.currentScale), this.allowedYMargin); - this.setImageContainerTransform(); - }; - ImageViewerZoomGesture.prototype.boundAdjustement = function (adjustement, bound) { - if (adjustement > bound || adjustement < -bound) { - return Math.min(bound, Math.max(adjustement, -bound)); - } - return adjustement; - }; - ImageViewerZoomGesture.prototype.onPanEnd = function (event) { - if (!this.component.isZoomed) { - return; - } - this.adjustDeltaX = this.currentDeltaX; - this.adjustDeltaY = this.currentDeltaY; - }; - ImageViewerZoomGesture.prototype.onDoubleTap = function (event) { - this.component.isZoomed = !this.component.isZoomed; - if (this.component.isZoomed) { - this.currentScale = 2; - } - else { - this.currentScale = 1; - this.adjustDeltaX = this.currentDeltaX = 0; - this.adjustDeltaY = this.currentDeltaY = 0; - } - this.adjustScale = this.currentScale; - this.setImageContainerTransform(); - }; - ImageViewerZoomGesture.prototype.setImageContainerTransform = function () { - var transforms = []; - transforms.push("scale(" + this.currentScale + ")"); - transforms.push("translate(" + this.currentDeltaX + "px, " + this.currentDeltaY + "px)"); - this.renderer.setElementStyle(this.element, this.platform.Css.transform, transforms.join(' ')); - }; - return ImageViewerZoomGesture; -}(__WEBPACK_IMPORTED_MODULE_0_ionic_angular__["h" /* Gesture */])); - +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); + + +var MAX_SCALE = 3; +var ImageViewerZoomGesture = (function (_super) { + __extends(ImageViewerZoomGesture, _super); + function ImageViewerZoomGesture(component, element, platform, renderer) { + var _this = _super.call(this, element.nativeElement) || this; + _this.component = component; + _this.platform = platform; + _this.renderer = renderer; + _this.adjustScale = 1; + _this.adjustDeltaX = 0; + _this.adjustDeltaY = 0; + _this.currentScale = 1; + _this.currentDeltaX = 0; + _this.currentDeltaY = 0; + _this.allowedXMargin = 0; + _this.allowedYMargin = 0; + // Force both directions after super to avoid override allowing only one direction + // Force both directions after super to avoid override allowing only one direction + _this.options({ direction: __WEBPACK_IMPORTED_MODULE_1_ionic_angular_gestures_hammer__["a" /* DIRECTION_HORIZONTAL */] | __WEBPACK_IMPORTED_MODULE_1_ionic_angular_gestures_hammer__["b" /* DIRECTION_VERTICAL */] }); + _this.listen(); + _this.on('pinch', function (e) { return _this.onPinch(e); }); + _this.on('pinchend', function (e) { return _this.onPinchEnd(e); }); + _this.on('panstart', function (e) { return _this.onPanStart(e); }); + _this.on('pan', function (e) { return _this.onPan(e); }); + _this.on('panend', function (e) { return _this.onPanEnd(e); }); + _this.on('doubletap', function (e) { return _this.onDoubleTap(e); }); + return _this; + } + ImageViewerZoomGesture.prototype.onPinch = function (event) { + this.component.dragGesture.abort(event); + this.currentScale = Math.max(1, Math.min(MAX_SCALE, this.adjustScale * event.scale)); + this.currentDeltaX = this.adjustDeltaX + (event.deltaX / this.currentScale); + this.currentDeltaY = this.adjustDeltaY + (event.deltaY / this.currentScale); + this.setImageContainerTransform(); + }; + ImageViewerZoomGesture.prototype.onPinchEnd = function (event) { + this.component.isZoomed = (this.currentScale !== 1); + if (!this.component.isZoomed) { + new __WEBPACK_IMPORTED_MODULE_0_ionic_angular__["b" /* Animation */](this.platform, this.element) + .fromTo('translateX', this.currentDeltaX + "px", '0') + .fromTo('translateY', this.currentDeltaY + "px", '0') + .easing('ease-in') + .duration(50) + .play(); + this.currentDeltaX = 0; + this.currentDeltaY = 0; + } + // Saving the final transforms for adjustment next time the user interacts. + this.adjustScale = this.currentScale; + this.adjustDeltaX = this.currentDeltaX; + this.adjustDeltaY = this.currentDeltaY; + }; + ImageViewerZoomGesture.prototype.onPanStart = function (event) { + if (!this.component.isZoomed) { + return; + } + var originalImageWidth = this.element.offsetWidth; + var originalImageHeight = this.element.offsetHeight; + this.allowedXMargin = ((originalImageWidth * this.currentScale) - originalImageWidth) / 4; + this.allowedYMargin = ((originalImageHeight * this.currentScale) - originalImageHeight) / 4; + }; + ImageViewerZoomGesture.prototype.onPan = function (event) { + if (!this.component.isZoomed) { + return; + } + this.currentDeltaX = this.boundAdjustement(Math.floor(this.adjustDeltaX + event.deltaX / this.currentScale), this.allowedXMargin); + this.currentDeltaY = this.boundAdjustement(Math.floor(this.adjustDeltaY + event.deltaY / this.currentScale), this.allowedYMargin); + this.setImageContainerTransform(); + }; + ImageViewerZoomGesture.prototype.boundAdjustement = function (adjustement, bound) { + if (adjustement > bound || adjustement < -bound) { + return Math.min(bound, Math.max(adjustement, -bound)); + } + return adjustement; + }; + ImageViewerZoomGesture.prototype.onPanEnd = function (event) { + if (!this.component.isZoomed) { + return; + } + this.adjustDeltaX = this.currentDeltaX; + this.adjustDeltaY = this.currentDeltaY; + }; + ImageViewerZoomGesture.prototype.onDoubleTap = function (event) { + this.component.isZoomed = !this.component.isZoomed; + if (this.component.isZoomed) { + this.currentScale = 2; + } + else { + this.currentScale = 1; + this.adjustDeltaX = this.currentDeltaX = 0; + this.adjustDeltaY = this.currentDeltaY = 0; + } + this.adjustScale = this.currentScale; + this.setImageContainerTransform(); + }; + ImageViewerZoomGesture.prototype.setImageContainerTransform = function () { + var transforms = []; + transforms.push("scale(" + this.currentScale + ")"); + transforms.push("translate(" + this.currentDeltaX + "px, " + this.currentDeltaY + "px)"); + this.renderer.setElementStyle(this.element, this.platform.Css.transform, transforms.join(' ')); + }; + return ImageViewerZoomGesture; +}(__WEBPACK_IMPORTED_MODULE_0_ionic_angular__["h" /* Gesture */])); + //# sourceMappingURL=image-viewer-zoom-gesture.js.map /***/ })