@tasenor/common-node 1.9.138 → 1.9.140

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { AccountAddress, Asset, AssetExchange, AssetTransfer, AssetType, Currency, Language, TransactionDescription, AccountNumber, ProcessConfig, ImportStateText, TextFileLine, SegmentId, NO_SEGMENT, ImportSegment, Directions, ImportConfig, BalanceSummaryEntry, DirectoryPath, Timestamp } from '@tasenor/common';
1
+ import { AccountAddress, Asset, AssetExchange, AssetTransfer, AssetType, Currency, Language, TransactionDescription, AccountNumber, ProcessConfig, ImportStateText, TextFileLine, SegmentId, NO_SEGMENT, ImportSegment, Directions, ImportConfig, BalanceSummaryEntry, DirectoryPath, TimeType } from '@tasenor/common';
2
2
  import { TransactionUI } from './TransactionUI';
3
3
  import { TransactionRules } from './TransactionRules';
4
4
  import { TextFileProcessHandler } from './TextFileProcessHandler';
@@ -48,7 +48,7 @@ export declare class TransactionImportHandler extends TextFileProcessHandler {
48
48
  * Get a single account balance.
49
49
  * @param addr
50
50
  */
51
- getBalance(addr: AccountAddress, time: Timestamp): number;
51
+ getBalance(addr: AccountAddress, time: TimeType | undefined): number;
52
52
  /**
53
53
  * Get the translation for the text to the currently configured language.
54
54
  * @param text
@@ -600,12 +600,12 @@ export class TransactionImportHandler extends TextFileProcessHandler {
600
600
  if (balance.account === loanAccount) {
601
601
  continue;
602
602
  }
603
- const accountBalance = this.analyzer.getBalance(balance.address, new Date(tx.date).getTime()) || 0;
604
- const debtBalance = this.analyzer.getBalance(balance.debtAddress, new Date(tx.date).getTime()) || 0;
603
+ const accountBalance = this.analyzer.getBalance(balance.address, tx.date) || 0;
604
+ const debtBalance = this.analyzer.getBalance(balance.debtAddress, tx.date) || 0;
605
605
  // Take more loan.
606
606
  if (realNegative(accountBalance) && realNegative(entry.amount)) {
607
- this.analyzer.revertBalance(entry);
608
- const originalBalance = this.analyzer.getBalance(balance.address, new Date(tx.date).getTime()) || 0;
607
+ this.analyzer.revertBalance(entry, tx.date);
608
+ const originalBalance = this.analyzer.getBalance(balance.address, tx.date) || 0;
609
609
  // Only partial loan needed.
610
610
  if (realPositive(originalBalance)) {
611
611
  const loanEntry = {
@@ -617,18 +617,18 @@ export class TransactionImportHandler extends TextFileProcessHandler {
617
617
  // Add tags if any.
618
618
  loanEntry.description = mergeTags(loanEntry.description, await this.analyzer.getTagsForAddr(balance.debtAddress) || []);
619
619
  tx.entries.push(loanEntry);
620
- this.analyzer.applyBalance(entry);
621
- this.analyzer.applyBalance(loanEntry);
620
+ this.analyzer.applyBalance(entry, tx.date);
621
+ this.analyzer.applyBalance(loanEntry, tx.date);
622
622
  }
623
623
  else {
624
624
  // Full loan needed.
625
625
  entry.account = loanAccount || '0';
626
- this.analyzer.applyBalance(entry);
626
+ this.analyzer.applyBalance(entry, tx.date);
627
627
  }
628
628
  }
629
629
  // Pay back loan.
630
630
  if (realNegative(debtBalance) && realPositive(entry.amount)) {
631
- this.analyzer.revertBalance(entry);
631
+ this.analyzer.revertBalance(entry, tx.date);
632
632
  // Getting more than full payment.
633
633
  if (less(-debtBalance, entry.amount)) {
634
634
  const loanEntry = {
@@ -640,13 +640,13 @@ export class TransactionImportHandler extends TextFileProcessHandler {
640
640
  // Add tags if any.
641
641
  loanEntry.description = mergeTags(loanEntry.description, await this.analyzer.getTagsForAddr(balance.debtAddress) || []);
642
642
  tx.entries.push(loanEntry);
643
- this.analyzer.applyBalance(entry);
644
- this.analyzer.applyBalance(loanEntry);
643
+ this.analyzer.applyBalance(entry, tx.date);
644
+ this.analyzer.applyBalance(loanEntry, tx.date);
645
645
  }
646
646
  else {
647
647
  // Partial payment.
648
648
  entry.account = loanAccount || '0';
649
- this.analyzer.applyBalance(entry);
649
+ this.analyzer.applyBalance(entry, tx.date);
650
650
  }
651
651
  }
652
652
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionImportHandler.js","sourceRoot":"","sources":["../../../src/import/TransactionImportHandler.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAmJ,uBAAuB,EAAE,KAAK,EAAE,YAAY,EAAiB,YAAY,EAA2D,UAAU,EAAE,GAAG,EAAiB,UAAU,EAAoD,IAAI,EAAE,SAAS,EAAE,GAAG,EAA4B,MAAM,iBAAiB,CAAA;AACnc,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,4BAA4B,EAA8B,MAAM,8BAA8B,CAAA;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC7E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,wBAAyB,SAAQ,sBAAsB;IAE3D,EAAE,CAAe;IACjB,KAAK,CAAkB;IACtB,QAAQ,CAAyB;IAEzC,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,IAAI;QACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,kCAAkC,CAAC,CAAA;IACjF,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,IAAiB;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAoB,EAAE,IAAe;QAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,iCAAiC,CAAC,CAAA;SACpF;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,QAA8B;QAC/D,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,WAAW,CAAC,qFAAqF,CAAC,CAAA;SAC7G;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACnD,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,IAAoB,EAAE,MAAqB;QAC9D,OAAQ,IAAI,CAAC,MAAM,CAAC,SAAmD,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC5G,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,KAAmC;QACpD,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAA;QACnB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC/C,+BAA+B;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3D,MAAM,IAAI,GAAiB,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBACzD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3D,SAAQ;iBACT;gBACD,MAAM,EAAE,GAAkC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBAC9D,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAC1B,MAAM,IAAI,WAAW,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAA;iBAC/G;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,SAAQ;iBACT;gBACD,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;gBAC7E,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;gBAC5D,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;aACpB;YAED,0CAA0C;YAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACnB,MAAM,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAA;aAC7C;YACD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAsB,EAAE,EAAE;gBAC/D,MAAM,MAAM,GAAgB,IAAI,GAAG,EAAE,CAAA;gBACrC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;oBAClC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;oBACpE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAC5B,IAAI,IAAI,EAAE;wBACR,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;qBAC3B;gBACH,CAAC,CAAC,CAAA;gBACF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE;oBACrB,MAAM,IAAI,WAAW,CAAC,6CAA6C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;iBACrG;gBACD,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE;oBACnB,MAAM,IAAI,WAAW,CAAC,wBAAwB,MAAM,CAAC,IAAI,8BAA8B,CAAC,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;iBACpJ;gBACD,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzC,CAAC,CAAC,CAAA;SACH;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,KAAiC,EAAE,SAAwB,EAAE;QACvE,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YACjC,KAAK,KAAK;gBACR,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,SAAS,EAAE;oBACxC,MAAM,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAA;iBACjD;gBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;YACrD,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE;oBAC3C,MAAM,IAAI,WAAW,CAAC,4BAA4B,CAAC,CAAA;iBACpD;gBACD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YAC3D;gBACE,MAAM,IAAI,WAAW,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,MAAM,uBAAuB,CAAC,CAAA;SACrF;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,OAAgB,EAAE,KAAiC,EAAE,KAAoB;QAC7F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAChD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QAChC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,uBAAuB,CAAC,KAAmC;QAC/D,MAAM,MAAM,GAA8C,EAAE,CAAA;QAE5D,4BAA4B;QAC5B,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC3D,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;gBACnG,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC3D,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBAClD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;4BAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;4BAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;yBACpB;qBACF;iBACF;YACH,CAAC,CAAC,CAAA;SACH;QAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC/C,yBAAyB;YACzB,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;YAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC7D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;oBACpD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;wBAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;qBACnB;iBACF;gBACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;oBACnD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;wBAC/B,+FAA+F;wBAC/F,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAsB,CAAA;qBACrF;iBACF;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;oBACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;wBAClD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;4BAC/B,MAAM,CAAC,SAAsB,CAAC,GAAG,MAAM,CAAC,SAAsB,CAAC,IAAI,EAAE,CAAA;4BACrE,IAAI,MAAM,CAAC,SAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;gCACtD,MAAM,CAAC,SAAsB,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;6BACrD;iCAAM;gCACL,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,uCAAuC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;6BACxM;yBACF;qBACF;iBACF;gBACD,IAAI,SAAS,EAAE;oBACb,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;iBACxC;gBACD,IAAI,gBAAgB,EAAE;oBACpB,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;iBACtD;aACF;SACF;QAED,qBAAqB;QACrB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC7D,IAAI,MAAM,CAAC,SAAsB,CAAC,EAAE;oBAClC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAsB,CAAC,CAAC,CAAA;iBACvD;aACF;SACF;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAgB,EAAE,KAAiC,EAAE,KAAoB;QAC1F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;QACpG,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,KAAmC;QACnD,IAAI,KAAK,CAAC,KAAK,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC1C,KAAK,CAAC,cAAc,EAAE,mBAAmB,QAAQ,EAAE,CAAC,CAAA;gBACpD,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YACzG,CAAC,CAAC,CAAA;SACH;IACH,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAkB,EAAE,UAAgC,SAAS;QAChE,4CAA4C;QAC5C,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACpC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QAEjK,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,CAAA;IACpC,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,IAAkB,EAAE,UAAgC,SAAS;QACrE,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACpC;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;YAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SAChC;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAkB;QACrB,MAAM,IAAI,cAAc,CAAC,gBAAgB,IAAI,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAA;IAC9F,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAAC,OAAgB,EAAE,KAAmC,EAAE,KAAoB;QAC9F,MAAM,QAAQ,GAAkC;YAC9C,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,EAAE;SACX,CAAA;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,2BAA2B;YAC3B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC3F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC1F,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,uBAAuB;oBAC5C,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;iBACvC;aACF;SACF;QAED,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAElC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,KAAoC;QACtD,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC5C,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;oBAC3C,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,SAAS,EAAE,CAAC,CAAA;oBACzD,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;iBACjD;YACH,CAAC,CAAC,CAAA;SACH;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,KAAqB,EAAE,MAAqB,EAAE,OAAsB;QACtF,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAoC,EAAE,SAAoB;QACjE,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YACzC,MAAM,KAAK,GAAmB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YAClG,OAAO,KAAK,CAAA;SACb;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAoC,EAAE,MAAqB;QAEpF,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACpC,OAAO,KAAK,CAAA;SACb;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;QACzC,yDAAyD;QACzD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QAE1D,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC9D,MAAM,OAAO,GAAkB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YACxD,MAAM,KAAK,GAA6B,MAAkC,CAAA;YAE1E,6BAA6B;YAC7B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;gBAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAqB,EAAE;oBAC9G,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;iBACjB;aACF;YAED,uGAAuG;YACvG,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE;gBAC7B,IAAI,MAAM,CAAC,OAAO,EAAE;oBAClB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAqD,CAAA;oBAC5E,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC;wBACxB,CAAC,WAAW,OAAO,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;wBAC5C,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC,KAAK,SAAS,CAAC,EAAE;wBAE1D,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;wBACvB,SAAQ;qBACT;iBACF;gBACD,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,MAA6B,EAAE,IAAiB,EAAE,KAAc,CAAC,CAAA;gBAC9G,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;gBAC7C,IAAI,CAAC,KAAK,EAAE;oBACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,GAAG,CAAC,CAAA;iBACrE;gBACD,IAAI,KAAK,EAAE;oBACT,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,QAAoB,CAAC,CAAA;oBACnF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,SAAS,YAAY,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,QAAoB,CAAC,CAAA;oBACtH,OAAO,IAAI,UAAU,CAAC;wBACpB,IAAI,EAAE,IAAI;wBACV,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;yBAClC;qBACF,CAAC,CAAA;iBACH;aACF;SACF;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACjB,OAAO,KAAK,CAAA;SACb;QAED,GAAG,CAAC,oCAAoC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAElE,OAAO,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC3D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,4BAA4B,CAAC,OAA4B,EAAE,MAAqB;QACpF,wCAAwC;QACxC,MAAM,UAAU,GAAa,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAEhG,+DAA+D;QAC/D,MAAM,KAAK,GAAwC,EAAE,CAAA;QACrD,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE;YAChC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClD,IAAI,KAAK,KAAK,GAAG,EAAE;gBACjB,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;gBACpE,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,IAAI,KAAK,EAAoB,CAAC,CAAA;aAC/E;SACF;QACD,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE;YAC7B,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAChD,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;YACpE,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,IAAI,KAAK,EAAoB,CAAC,CAAA;SAC/E;QAED,kFAAkF;QAClF,MAAM,QAAQ,GAAqB,EAAE,CAAA;QACrC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC5C,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE;gBACxB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;oBAClC,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;iBAChE;aACF;iBAAM;gBACL,IAAI,KAAK,GAAG,CAAC,CAAA;gBACb,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;oBAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;wBAAE,KAAK,EAAE,CAAA;iBAClC;gBACD,IAAI,KAAK,EAAE;oBACT,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;iBAClE;aACF;SACF;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK,CAAA;SACb;QAED,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,QAAoB,CAAC,CAAC,CAAA;QAE/E,OAAO,IAAI,UAAU,CAAC;YACpB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,QAAQ;aACT;SACF,CAAC,CAAA;IAEJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAoC,EAAE,MAAoB;QACnF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpB,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAA;SACrB;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAA;SACvB;QAED,IAAI,SAAS,IAAI,MAAM,IAAI,EAAE,IAAK,MAAM,CAAC,OAAmC,EAAE;YAE5E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAwB,CAAA;YAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,CAAC,QAAoB,CAAC,CAAA;YACtF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,QAAoB,CAAC,CAAA;YACvF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,QAAoB,CAAC,CAAA;YAEvF,IAAI,EAAE,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE;gBAChC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE;oBACxD,MAAM,SAAS,GAAoB;wBACjC;4BACE,MAAM,EAAE,OAAO;4BACf,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,KAAK,EAAE,MAAM,CAAC,GAAG;4BACjB,IAAI,EAAE;gCACJ,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;6BAC1B;yBACF;wBACD;4BACE,MAAM,EAAE,OAAO;4BACf,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,KAAK,EAAE,MAAM,CAAC,GAAG;4BACjB,IAAI,EAAE;gCACJ,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;6BAC1B;yBACF;qBACF,CAAA;oBAED,MAAM,OAAO,GAAkB;wBAC7B,EAAE,EAAE,UAAU,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE;wBACvD,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,gBAAgB,CAAC;wBAC9C,KAAK,EAAE,EAAE;qBACV,CAAA;oBAED,MAAM,EAAE,GAA2B;wBACjC,IAAI,EAAE,WAAW;wBACjB,SAAS;qBACV,CAAA;oBAED,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAA;oBACvC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;iBACnC;aACF;SACF;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,QAAuC;QAClD,MAAM,IAAI,GAAG,CAAC,KAAK,EAAU,EAAE;YAC7B,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QACjG,CAAC,CAAA;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,KAAoC,EAAE,KAAoB,EAAE,MAAqB;QAChH,uCAAuC;QACvC,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAsB,CAAC,CAAA;QAEtE,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QAEzD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE;YAElC,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAElD,IAAI,cAAgC,CAAA;YAEpC,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACnB,gDAAgD;gBAChD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC7F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxC,MAAM,WAAW,GAAG,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;oBACxG,IAAI,CAAC,aAAa,IAAI,WAAW,IAAI,aAAa,EAAE;wBAClD,cAAc,GAAG,WAAW,CAAA;wBAC5B,MAAK;qBACN;iBACF;gBACD,IAAI,CAAC,cAAc,EAAE;oBACnB,MAAM,IAAI,KAAK,CAAC,8CAA8C,aAAa,GAAG,CAAC,CAAA;iBAChF;gBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;aAC/C;YAED,oCAAoC;YACpC,MAAM,YAAY,GAA+C,EAAE,CAAA;YACnE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACnF,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;YACzC,CAAC,CAAC,CAAA;YAEF,+CAA+C;YAC/C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,MAAM,MAAM,GAA6B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAA6B,CAAA;gBAC7F,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,IAAI,QAAQ,CAAC,mCAAmC,OAAO,CAAC,EAAE,qBAAqB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;iBACjH;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;iBAChF;aACF;SACF;QAED,MAAM,QAAQ,GAAgC;YAC5C,GAAG,KAAK;YACR,KAAK,EAAE,UAAU;SAClB,CAAA;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAE5B,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,GAA2B,EAAE,OAAsB,EAAE,MAAqB,EAAE,KAAoC,EAAE,YAAwD;QACtL,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,WAAW,CAAC,gDAAgD,CAAC,CAAA;SACxE;QACD,IAAI,MAA8B,CAAA;QAClC,QAAQ,GAAG,CAAC,IAAI,EAAE;YAChB,KAAK,WAAW;gBACd,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;gBAC1D,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;YACtD;gBACE,MAAM,IAAI,cAAc,CAAC,4BAA4B,GAAG,CAAC,IAAI,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAA;SACjG;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAA8B,EAAE,YAAwD;QAEzG,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAEnE,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE;YAC1C,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE;gBAC9B,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE;oBACjC,gCAAgC;oBAChC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;oBAC3C,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBACxE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAiC,EAAE,QAAqB,EAAE,SAAkB,CAAC,CAAA;oBAChI,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE;wBACnC,SAAQ;qBACT;oBACD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAe,CAAC,IAAI,CAAC,CAAA;oBAC/G,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAe,CAAC,IAAI,CAAC,CAAA;oBAChH,kBAAkB;oBAClB,IAAI,YAAY,CAAC,cAAc,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;wBAC9D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;wBAClC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAe,CAAC,IAAI,CAAC,CAAA;wBAChH,4BAA4B;wBAC5B,IAAI,YAAY,CAAC,eAAe,CAAC,EAAE;4BACjC,MAAM,SAAS,GAAG;gCAChB,OAAO,EAAE,WAAW,IAAI,GAAoB;gCAC5C,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC;gCAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;6BAC/B,CAAA;4BACD,KAAK,CAAC,MAAM,GAAG,CAAC,eAAe,CAAA;4BAE/B,mBAAmB;4BACnB,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;4BAEvH,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;4BAE1B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;4BACjC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;yBACtC;6BAAM;4BACL,oBAAoB;4BACpB,KAAK,CAAC,OAAO,GAAG,WAAW,IAAI,GAAoB,CAAA;4BACnD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;yBAClC;qBACF;oBAED,iBAAiB;oBACjB,IAAI,YAAY,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;wBAC3D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;wBAClC,kCAAkC;wBAClC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;4BACpC,MAAM,SAAS,GAAG;gCAChB,OAAO,EAAE,WAAW,IAAI,GAAoB;gCAC5C,MAAM,EAAE,CAAC,WAAW;gCACpB,WAAW,EAAE,KAAK,CAAC,WAAW;6BAC/B,CAAA;4BAED,KAAK,CAAC,MAAM,IAAI,CAAC,WAAW,CAAA;4BAE5B,mBAAmB;4BACnB,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;4BAEvH,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;4BAC1B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;4BACjC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;yBACtC;6BAAM;4BACL,mBAAmB;4BACnB,KAAK,CAAC,OAAO,GAAG,WAAW,IAAI,GAAoB,CAAA;4BACnD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;yBAClC;qBACF;iBACF;aACF;SACF;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,KAAkC;QAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC5C,KAAK,CAAC,UAAU,EAAE,YAAY,SAAS,EAAE,CAAC,CAAA;gBAC1C,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE;oBAC7C,KAAK,MAAM,MAAM,IAAK,KAAK,CAAC,MAAM,CAAC,SAAS,CAA8B,EAAE;wBAC1E,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;qBACpC;iBACF;YACH,CAAC,CAAC,CAAA;SACH;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,OAAgB,EAAE,KAAkC,EAAE,KAAoB;QAExF,MAAM,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAA;QAE5C,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,oCAAoC;YACpC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACjD,MAAM,MAAM,GAA6B,KAAK,CAAC,MAAM,CAAC,SAAS,CAA6B,CAAA;gBAC5F,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;oBACxB,IAAI,GAAG,CAAC,YAAY,EAAE;wBACpB,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE;4BACjC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE;gCACvB,EAAE,CAAC,eAAe,GAAG,UAAU,CAAA;6BAChC;yBACF;qBACF;iBACF;aACF;YAED,uCAAuC;YACvC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACjD,KAAK,CAAC,WAAW,EAAE,wBAAwB,SAAS,EAAE,CAAC,CAAA;gBACvD,MAAM,MAAM,GAA6B,KAAK,CAAC,MAAM,CAAC,SAAS,CAA6B,CAAA;gBAC5F,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;oBACxB,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;oBACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;oBACxE,IAAI,MAAM,EAAE;wBACV,GAAG,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;wBACvE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE,yEAAyE,CAAC,CAAA;wBACrJ,IAAI,CAAC,KAAK,EAAE;4BACV,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE;gCACvC,EAAE,CAAC,eAAe,GAAG,WAAW,CAAA;gCAChC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;6BACrB;4BACD,SAAQ;yBACT;wBACD,GAAG,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAA;qBACpG;oBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;oBACxE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;iBACpB;aACF;SACF;QAED,qBAAqB;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QAEpB,OAAO;YACL,GAAG,KAAK;YACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YACvB,KAAK,EAAE,UAAU;SAClB,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,IAAU,EAAE,QAAuB,EAAE,QAAkB;QAClE,MAAM,SAAS,GAA+B,IAAI,CAAC,MAAM,CAAC,SAAkD,CAAA;QAC5G,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACnD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,IAAU,EAAE,IAAe,EAAE,KAAY,EAAE,QAAkB,EAAE,QAAuB;QAClG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YACxD,MAAM,IAAI,WAAW,CAAC,uDAAuD,CAAC,CAAA;SAC/E;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC7E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,KAAkC;QACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAChE,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,WAAW,CAAC,kBAAkB,CAAC,CAAA;SAC1C;QAED,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACjD,MAAM,MAAM,GAA6B,KAAK,CAAC,MAAM,CAAC,SAAS,CAA6B,CAAA;gBAC5F,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;oBACxB,IAAI,GAAG,CAAC,YAAY,EAAE;wBACpB,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE;4BACjC,EAAE,CAAC,eAAe,GAAG,UAAU,CAAA;yBAChC;qBACF;iBACF;aACF;SACF;QAED,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,YAAY;SACpB,CAAA;IACH,CAAC;CAEF"}
1
+ {"version":3,"file":"TransactionImportHandler.js","sourceRoot":"","sources":["../../../src/import/TransactionImportHandler.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAmJ,uBAAuB,EAAE,KAAK,EAAE,YAAY,EAAiB,YAAY,EAA2D,UAAU,EAAE,GAAG,EAAiB,UAAU,EAAoD,IAAI,EAAE,SAAS,EAAE,GAAG,EAAkD,MAAM,iBAAiB,CAAA;AACzd,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,4BAA4B,EAA8B,MAAM,8BAA8B,CAAA;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC7E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,wBAAyB,SAAQ,sBAAsB;IAE3D,EAAE,CAAe;IACjB,KAAK,CAAkB;IACtB,QAAQ,CAAyB;IAEzC,YAAY,IAAY;QACtB,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,EAAE,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,IAAI;QACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,kCAAkC,CAAC,CAAA;IACjF,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,IAAiB;QACzB,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,IAAoB,EAAE,IAA0B;QACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,iCAAiC,CAAC,CAAA;SACpF;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,QAA8B;QAC/D,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,WAAW,CAAC,qFAAqF,CAAC,CAAA;SAC7G;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IACnD,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,IAAoB,EAAE,MAAqB;QAC9D,OAAQ,IAAI,CAAC,MAAM,CAAC,SAAmD,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAC5G,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,KAAmC;QACpD,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAA;QACnB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC/C,+BAA+B;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3D,MAAM,IAAI,GAAiB,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBACzD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC3D,SAAQ;iBACT;gBACD,MAAM,EAAE,GAAkC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;gBAC9D,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAC1B,MAAM,IAAI,WAAW,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAA;iBAC/G;gBACD,IAAI,EAAE,KAAK,UAAU,EAAE;oBACrB,SAAQ;iBACT;gBACD,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;gBAC7E,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAA;gBAC5D,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;aACpB;YAED,0CAA0C;YAC1C,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACnB,MAAM,IAAI,WAAW,CAAC,qBAAqB,CAAC,CAAA;aAC7C;YACD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAsB,EAAE,EAAE;gBAC/D,MAAM,MAAM,GAAgB,IAAI,GAAG,EAAE,CAAA;gBACrC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;oBAClC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;oBACpE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAC5B,IAAI,IAAI,EAAE;wBACR,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;qBAC3B;gBACH,CAAC,CAAC,CAAA;gBACF,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE;oBACrB,MAAM,IAAI,WAAW,CAAC,6CAA6C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;iBACrG;gBACD,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE;oBACnB,MAAM,IAAI,WAAW,CAAC,wBAAwB,MAAM,CAAC,IAAI,8BAA8B,CAAC,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;iBACpJ;gBACD,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACzC,CAAC,CAAC,CAAA;SACH;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,KAAiC,EAAE,SAAwB,EAAE;QACvE,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;YACjC,KAAK,KAAK;gBACR,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,SAAS,EAAE;oBACxC,MAAM,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAA;iBACjD;gBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;YACrD,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE;oBAC3C,MAAM,IAAI,WAAW,CAAC,4BAA4B,CAAC,CAAA;iBACpD;gBACD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YAC3D;gBACE,MAAM,IAAI,WAAW,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,MAAM,uBAAuB,CAAC,CAAA;SACrF;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,OAAgB,EAAE,KAAiC,EAAE,KAAoB;QAC7F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QAChD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;QAChC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,uBAAuB,CAAC,KAAmC;QAC/D,MAAM,MAAM,GAA8C,EAAE,CAAA;QAE5D,4BAA4B;QAC5B,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC3D,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;gBACnG,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC3D,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBAClD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;4BAC9B,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;4BAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;yBACpB;qBACF;iBACF;YACH,CAAC,CAAC,CAAA;SACH;QAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC/C,yBAAyB;YACzB,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;YAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC7D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE;oBACpD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;wBAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;qBACnB;iBACF;gBACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;oBACnD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;wBAC/B,+FAA+F;wBAC/F,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAsB,CAAA;qBACrF;iBACF;gBACD,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;oBACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE;wBAClD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;4BAC/B,MAAM,CAAC,SAAsB,CAAC,GAAG,MAAM,CAAC,SAAsB,CAAC,IAAI,EAAE,CAAA;4BACrE,IAAI,MAAM,CAAC,SAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;gCACtD,MAAM,CAAC,SAAsB,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;6BACrD;iCAAM;gCACL,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,uCAAuC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;6BACxM;yBACF;qBACF;iBACF;gBACD,IAAI,SAAS,EAAE;oBACb,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;iBACxC;gBACD,IAAI,gBAAgB,EAAE;oBACpB,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;iBACtD;aACF;SACF;QAED,qBAAqB;QACrB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3D,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC7D,IAAI,MAAM,CAAC,SAAsB,CAAC,EAAE;oBAClC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,SAAsB,CAAC,CAAC,CAAA;iBACvD;aACF;SACF;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAgB,EAAE,KAAiC,EAAE,KAAoB;QAC1F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;QACpG,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,KAAmC;QACnD,IAAI,KAAK,CAAC,KAAK,EAAE;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC1C,KAAK,CAAC,cAAc,EAAE,mBAAmB,QAAQ,EAAE,CAAC,CAAA;gBACpD,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;YACzG,CAAC,CAAC,CAAA;SACH;IACH,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAkB,EAAE,UAAgC,SAAS;QAChE,4CAA4C;QAC5C,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACpC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QAEjK,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAc,CAAA;IACpC,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,IAAkB,EAAE,UAAgC,SAAS;QACrE,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;SACpC;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE;YAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;SAChC;QACD,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAkB;QACrB,MAAM,IAAI,cAAc,CAAC,gBAAgB,IAAI,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAA;IAC9F,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAAC,OAAgB,EAAE,KAAmC,EAAE,KAAoB;QAC9F,MAAM,QAAQ,GAAkC;YAC9C,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,EAAE;SACX,CAAA;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,2BAA2B;YAC3B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;gBACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;gBAC3F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;gBAC1F,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,uBAAuB;oBAC5C,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;iBACvC;aACF;SACF;QAED,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAElC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,KAAoC;QACtD,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC5C,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;oBAC3C,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,SAAS,EAAE,CAAC,CAAA;oBACzD,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;iBACjD;YACH,CAAC,CAAC,CAAA;SACH;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,KAAqB,EAAE,MAAqB,EAAE,OAAsB;QACtF,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAoC,EAAE,SAAoB;QACjE,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YACzC,MAAM,KAAK,GAAmB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;YAClG,OAAO,KAAK,CAAA;SACb;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAoC,EAAE,MAAqB;QAEpF,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACpC,OAAO,KAAK,CAAA;SACb;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;QACzC,yDAAyD;QACzD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QAE1D,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YAC9D,MAAM,OAAO,GAAkB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YACxD,MAAM,KAAK,GAA6B,MAAkC,CAAA;YAE1E,6BAA6B;YAC7B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;gBAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAqB,EAAE;oBAC9G,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;iBACjB;aACF;YAED,uGAAuG;YACvG,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE;gBAC7B,IAAI,MAAM,CAAC,OAAO,EAAE;oBAClB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAqD,CAAA;oBAC5E,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC;wBACxB,CAAC,WAAW,OAAO,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;wBAC5C,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC,KAAK,SAAS,CAAC,EAAE;wBAE1D,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;wBACvB,SAAQ;qBACT;iBACF;gBACD,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,MAA6B,EAAE,IAAiB,EAAE,KAAc,CAAC,CAAA;gBAC9G,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;gBAC7C,IAAI,CAAC,KAAK,EAAE;oBACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,SAAS,GAAG,CAAC,CAAA;iBACrE;gBACD,IAAI,KAAK,EAAE;oBACT,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,QAAoB,CAAC,CAAA;oBACnF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,SAAS,YAAY,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,QAAoB,CAAC,CAAA;oBACtH,OAAO,IAAI,UAAU,CAAC;wBACpB,IAAI,EAAE,IAAI;wBACV,OAAO,EAAE;4BACP,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;yBAClC;qBACF,CAAC,CAAA;iBACH;aACF;SACF;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YACjB,OAAO,KAAK,CAAA;SACb;QAED,GAAG,CAAC,oCAAoC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAElE,OAAO,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC3D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,4BAA4B,CAAC,OAA4B,EAAE,MAAqB;QACpF,wCAAwC;QACxC,MAAM,UAAU,GAAa,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAEhG,+DAA+D;QAC/D,MAAM,KAAK,GAAwC,EAAE,CAAA;QACrD,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE;YAChC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClD,IAAI,KAAK,KAAK,GAAG,EAAE;gBACjB,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;gBACpE,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,IAAI,KAAK,EAAoB,CAAC,CAAA;aAC/E;SACF;QACD,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE;YAC7B,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAChD,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE,CAAA;YACpE,KAAK,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI,IAAI,KAAK,EAAoB,CAAC,CAAA;SAC/E;QAED,kFAAkF;QAClF,MAAM,QAAQ,GAAqB,EAAE,CAAA;QACrC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YAC5C,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE;gBACxB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;oBAClC,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;iBAChE;aACF;iBAAM;gBACL,IAAI,KAAK,GAAG,CAAC,CAAA;gBACb,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;oBAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;wBAAE,KAAK,EAAE,CAAA;iBAClC;gBACD,IAAI,KAAK,EAAE;oBACT,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAA;iBAClE;aACF;SACF;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,OAAO,KAAK,CAAA;SACb;QAED,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,QAAoB,CAAC,CAAC,CAAA;QAE/E,OAAO,IAAI,UAAU,CAAC;YACpB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,QAAQ;aACT;SACF,CAAC,CAAA;IAEJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAoC,EAAE,MAAoB;QACnF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpB,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAA;SACrB;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAA;SACvB;QAED,IAAI,SAAS,IAAI,MAAM,IAAI,EAAE,IAAK,MAAM,CAAC,OAAmC,EAAE;YAE5E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAwB,CAAA;YAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,CAAC,QAAoB,CAAC,CAAA;YACtF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,QAAoB,CAAC,CAAA;YACvF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,MAAM,CAAC,QAAoB,CAAC,CAAA;YAEvF,IAAI,EAAE,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE;gBAChC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE;oBACxD,MAAM,SAAS,GAAoB;wBACjC;4BACE,MAAM,EAAE,OAAO;4BACf,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,KAAK,EAAE,MAAM,CAAC,GAAG;4BACjB,IAAI,EAAE;gCACJ,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;6BAC1B;yBACF;wBACD;4BACE,MAAM,EAAE,OAAO;4BACf,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,KAAK,EAAE,MAAM,CAAC,GAAG;4BACjB,IAAI,EAAE;gCACJ,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;6BAC1B;yBACF;qBACF,CAAA;oBAED,MAAM,OAAO,GAAkB;wBAC7B,EAAE,EAAE,UAAU,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE;wBACvD,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,gBAAgB,CAAC;wBAC9C,KAAK,EAAE,EAAE;qBACV,CAAA;oBAED,MAAM,EAAE,GAA2B;wBACjC,IAAI,EAAE,WAAW;wBACjB,SAAS;qBACV,CAAA;oBAED,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAA;oBACvC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;iBACnC;aACF;SACF;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,QAAuC;QAClD,MAAM,IAAI,GAAG,CAAC,KAAK,EAAU,EAAE;YAC7B,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QACjG,CAAC,CAAA;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAClE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,KAAoC,EAAE,KAAoB,EAAE,MAAqB;QAChH,uCAAuC;QACvC,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAsB,CAAC,CAAA;QAEtE,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;QAEzD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE;YAElC,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAElD,IAAI,cAAgC,CAAA;YAEpC,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACnB,gDAAgD;gBAChD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC7F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACxC,MAAM,WAAW,GAAG,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;oBACxG,IAAI,CAAC,aAAa,IAAI,WAAW,IAAI,aAAa,EAAE;wBAClD,cAAc,GAAG,WAAW,CAAA;wBAC5B,MAAK;qBACN;iBACF;gBACD,IAAI,CAAC,cAAc,EAAE;oBACnB,MAAM,IAAI,KAAK,CAAC,8CAA8C,aAAa,GAAG,CAAC,CAAA;iBAChF;gBACD,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;aAC/C;YAED,oCAAoC;YACpC,MAAM,YAAY,GAA+C,EAAE,CAAA;YACnE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACnF,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAA;YACzC,CAAC,CAAC,CAAA;YAEF,+CAA+C;YAC/C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;gBAC9B,MAAM,MAAM,GAA6B,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAA6B,CAAA;gBAC7F,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,IAAI,QAAQ,CAAC,mCAAmC,OAAO,CAAC,EAAE,qBAAqB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;iBACjH;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACtC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;iBAChF;aACF;SACF;QAED,MAAM,QAAQ,GAAgC;YAC5C,GAAG,KAAK;YACR,KAAK,EAAE,UAAU;SAClB,CAAA;QAED,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QAE5B,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,GAA2B,EAAE,OAAsB,EAAE,MAAqB,EAAE,KAAoC,EAAE,YAAwD;QACtL,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,WAAW,CAAC,gDAAgD,CAAC,CAAA;SACxE;QACD,IAAI,MAA8B,CAAA;QAClC,QAAQ,GAAG,CAAC,IAAI,EAAE;YAChB,KAAK,WAAW;gBACd,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;gBAC1D,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;YACtD;gBACE,MAAM,IAAI,cAAc,CAAC,4BAA4B,GAAG,CAAC,IAAI,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAA;SACjG;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAA8B,EAAE,YAAwD;QAEzG,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAEnE,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,YAAY,IAAI,EAAE,EAAE;YAC1C,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE;gBAC9B,IAAI,KAAK,CAAC,OAAO,IAAI,YAAY,EAAE;oBACjC,gCAAgC;oBAChC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;oBAC3C,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBACxE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAiC,EAAE,QAAqB,EAAE,SAAkB,CAAC,CAAA;oBAChI,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE;wBACnC,SAAQ;qBACT;oBACD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBAC/E,kBAAkB;oBAClB,IAAI,YAAY,CAAC,cAAc,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;wBAC9D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;wBAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAC/E,4BAA4B;wBAC5B,IAAI,YAAY,CAAC,eAAe,CAAC,EAAE;4BACjC,MAAM,SAAS,GAAG;gCAChB,OAAO,EAAE,WAAW,IAAI,GAAoB;gCAC5C,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,eAAe,CAAC;gCAC1C,WAAW,EAAE,KAAK,CAAC,WAAW;6BAC/B,CAAA;4BACD,KAAK,CAAC,MAAM,GAAG,CAAC,eAAe,CAAA;4BAE/B,mBAAmB;4BACnB,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;4BAEvH,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;4BAE1B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;4BAC1C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;yBAC/C;6BAAM;4BACL,oBAAoB;4BACpB,KAAK,CAAC,OAAO,GAAG,WAAW,IAAI,GAAoB,CAAA;4BACnD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;yBAC3C;qBACF;oBAED,iBAAiB;oBACjB,IAAI,YAAY,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;wBAC3D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;wBAC3C,kCAAkC;wBAClC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;4BACpC,MAAM,SAAS,GAAG;gCAChB,OAAO,EAAE,WAAW,IAAI,GAAoB;gCAC5C,MAAM,EAAE,CAAC,WAAW;gCACpB,WAAW,EAAE,KAAK,CAAC,WAAW;6BAC/B,CAAA;4BAED,KAAK,CAAC,MAAM,IAAI,CAAC,WAAW,CAAA;4BAE5B,mBAAmB;4BACnB,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;4BAEvH,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;4BAC1B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;4BAC1C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;yBAC/C;6BAAM;4BACL,mBAAmB;4BACnB,KAAK,CAAC,OAAO,GAAG,WAAW,IAAI,GAAoB,CAAA;4BACnD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;yBAC3C;qBACF;iBACF;aACF;SACF;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,KAAkC;QAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;YAC9B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC5C,KAAK,CAAC,UAAU,EAAE,YAAY,SAAS,EAAE,CAAC,CAAA;gBAC1C,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE;oBAC7C,KAAK,MAAM,MAAM,IAAK,KAAK,CAAC,MAAM,CAAC,SAAS,CAA8B,EAAE;wBAC1E,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;qBACpC;iBACF;YACH,CAAC,CAAC,CAAA;SACH;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CAAC,OAAgB,EAAE,KAAkC,EAAE,KAAoB;QAExF,MAAM,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAA;QAE5C,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,oCAAoC;YACpC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACjD,MAAM,MAAM,GAA6B,KAAK,CAAC,MAAM,CAAC,SAAS,CAA6B,CAAA;gBAC5F,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;oBACxB,IAAI,GAAG,CAAC,YAAY,EAAE;wBACpB,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE;4BACjC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE;gCACvB,EAAE,CAAC,eAAe,GAAG,UAAU,CAAA;6BAChC;yBACF;qBACF;iBACF;aACF;YAED,uCAAuC;YACvC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACjD,KAAK,CAAC,WAAW,EAAE,wBAAwB,SAAS,EAAE,CAAC,CAAA;gBACvD,MAAM,MAAM,GAA6B,KAAK,CAAC,MAAM,CAAC,SAAS,CAA6B,CAAA;gBAC5F,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;oBACxB,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;oBACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;oBACxE,IAAI,MAAM,EAAE;wBACV,GAAG,CAAC,+BAA+B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;wBACvE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,kBAAkB,EAAE,yEAAyE,CAAC,CAAA;wBACrJ,IAAI,CAAC,KAAK,EAAE;4BACV,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,EAAE;gCACvC,EAAE,CAAC,eAAe,GAAG,WAAW,CAAA;gCAChC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;6BACrB;4BACD,SAAQ;yBACT;wBACD,GAAG,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAA;qBACpG;oBACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;oBACxE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;iBACpB;aACF;SACF;QAED,qBAAqB;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QAEpB,OAAO;YACL,GAAG,KAAK;YACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YACvB,KAAK,EAAE,UAAU;SAClB,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,IAAU,EAAE,QAAuB,EAAE,QAAkB;QAClE,MAAM,SAAS,GAA+B,IAAI,CAAC,MAAM,CAAC,SAAkD,CAAA;QAC5G,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACnD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,IAAU,EAAE,IAAe,EAAE,KAAY,EAAE,QAAkB,EAAE,QAAuB;QAClG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YACxD,MAAM,IAAI,WAAW,CAAC,uDAAuD,CAAC,CAAA;SAC/E;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC7E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,KAAkC;QACjE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAChE,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,WAAW,CAAC,kBAAkB,CAAC,CAAA;SAC1C;QAED,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACjD,MAAM,MAAM,GAA6B,KAAK,CAAC,MAAM,CAAC,SAAS,CAA6B,CAAA;gBAC5F,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;oBACxB,IAAI,GAAG,CAAC,YAAY,EAAE;wBACpB,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE;4BACjC,EAAE,CAAC,eAAe,GAAG,UAAU,CAAA;yBAChC;qBACF;iBACF;aACF;SACF;QAED,OAAO;YACL,GAAG,KAAK;YACR,KAAK,EAAE,YAAY;SACpB,CAAA;IACH,CAAC;CAEF"}
@@ -1,4 +1,4 @@
1
- import { AccountNumber, Asset, AccountAddress, AssetTransfer, AssetTransferReason, AssetType, StockValueData, Transaction, TransactionDescription, TransactionKind, TransactionLine, UIQuery, Tag, ImportSegment, ImportStateText, ProcessConfig, SegmentId, TextFileLine, Timestamp } from '@tasenor/common';
1
+ import { AccountNumber, Asset, AccountAddress, AssetTransfer, AssetTransferReason, AssetType, StockValueData, Transaction, TransactionDescription, TransactionKind, TransactionLine, UIQuery, Tag, ImportSegment, ImportStateText, ProcessConfig, SegmentId, TextFileLine, TimeType } from '@tasenor/common';
2
2
  import { TransactionImportHandler } from './TransactionImportHandler';
3
3
  import { TransactionUI } from './TransactionUI';
4
4
  /**
@@ -100,21 +100,21 @@ export declare class TransferAnalyzer {
100
100
  * Get a single account balance.
101
101
  * @param addr
102
102
  */
103
- getBalance(addr: AccountAddress, time: Timestamp): number;
103
+ getBalance(addr: AccountAddress, time: TimeType | undefined): number;
104
104
  /**
105
105
  * Update balance.
106
106
  * @param txEntry
107
107
  * @param name
108
108
  * @returns
109
109
  */
110
- applyBalance(txEntry: TransactionLine): number;
110
+ applyBalance(txEntry: TransactionLine, time: TimeType | undefined): number;
111
111
  /**
112
112
  * Revert balance.
113
113
  * @param txEntry
114
114
  * @param name
115
115
  * @returns
116
116
  */
117
- revertBalance(txEntry: TransactionLine): number;
117
+ revertBalance(txEntry: TransactionLine, time: TimeType | undefined): number;
118
118
  /**
119
119
  * Get the value from the system configuration.
120
120
  */
@@ -165,8 +165,8 @@ export class TransferAnalyzer {
165
165
  * @param name
166
166
  * @returns
167
167
  */
168
- applyBalance(txEntry) {
169
- return this.balances.apply(txEntry);
168
+ applyBalance(txEntry, time) {
169
+ return this.balances.apply(txEntry, time);
170
170
  }
171
171
  /**
172
172
  * Revert balance.
@@ -174,8 +174,8 @@ export class TransferAnalyzer {
174
174
  * @param name
175
175
  * @returns
176
176
  */
177
- revertBalance(txEntry) {
178
- return this.balances.revert(txEntry);
177
+ revertBalance(txEntry, time) {
178
+ return this.balances.revert(txEntry, time);
179
179
  }
180
180
  /**
181
181
  * Get the value from the system configuration.
@@ -1101,7 +1101,7 @@ export class TransferAnalyzer {
1101
1101
  }
1102
1102
  }
1103
1103
  // Update balance and check for negative currency account if it needs to be configured.
1104
- const total = tx.executionResult === 'ignored' ? 0 : this.applyBalance(txEntry);
1104
+ const total = tx.executionResult === 'ignored' ? 0 : this.applyBalance(txEntry, tx.date);
1105
1105
  if (this.balances.mayTakeLoan(transfer.reason, transfer.type, transfer.asset) && realNegative(total)) {
1106
1106
  const addr = `${transfer.reason}.${transfer.type}.${transfer.asset}`;
1107
1107
  const debtAddr = this.balances.debtAddress(addr);
@@ -1 +1 @@
1
- {"version":3,"file":"TransferAnalyzer.js","sourceRoot":"","sources":["../../../src/import/TransferAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TransferAnalyzer.js","sourceRoot":"","sources":["../../../src/import/TransferAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { TasenorPlugin, PluginCatalog, FilePath, DirectoryPath } from '@tasenor/common';
2
2
  interface PluginConfig {
3
3
  PLUGIN_PATH?: string;
4
+ INITIAL_PLUGIN_REPOS?: string;
4
5
  }
5
6
  type ConfigVariable = keyof PluginConfig;
6
7
  interface PluginState {
@@ -81,7 +82,15 @@ declare function pluginLocalPath(indexFilePath: FilePath): string | undefined;
81
82
  /**
82
83
  * Go through repository URLs and install all missing plugin repositories.
83
84
  */
84
- declare function updateRepositories(repos: string[], src: DirectoryPath, dst: DirectoryPath): Promise<boolean>;
85
+ declare function fetchRepositories(srcRoot: DirectoryPath): Promise<boolean>;
86
+ /**
87
+ * Go through repository URLs and install all missing plugin repositories.
88
+ */
89
+ declare function upgradeRepositories(srcRoot: DirectoryPath): Promise<boolean>;
90
+ /**
91
+ * Check that plugin directory does not have any extra files or that there are no missing plugin repositories.
92
+ */
93
+ declare function verifyPluginDir(): boolean;
85
94
  /**
86
95
  * Collection of file system and API related plugin handling functions for fetching, building and scanning.
87
96
  */
@@ -101,6 +110,8 @@ export declare const plugins: {
101
110
  sortPlugins: typeof sortPlugins;
102
111
  updatePluginIndex: typeof updatePluginIndex;
103
112
  updatePluginList: typeof updatePluginList;
104
- updateRepositories: typeof updateRepositories;
113
+ upgradeRepositories: typeof upgradeRepositories;
114
+ fetchRepositories: typeof fetchRepositories;
115
+ verifyPluginDir: typeof verifyPluginDir;
105
116
  };
106
117
  export {};
@@ -1,14 +1,16 @@
1
1
  import fs from 'fs';
2
- import glob from 'fast-glob';
2
+ import glob, { globSync } from 'fast-glob';
3
3
  import path from 'path';
4
- import { note, log, error, GET } from '@tasenor/common';
4
+ import { note, log, error, GET, warning } from '@tasenor/common';
5
5
  import { create } from 'ts-opaque';
6
6
  import { vault } from '../net';
7
7
  import { systemPiped } from '..';
8
8
  const PLUGIN_FIELDS = ['code', 'title', 'version', 'icon', 'releaseDate', 'use', 'type', 'description'];
9
+ const SAFE_PLUGIN_FILES = ['.gitkeep', 'index.json', 'index.jsx', 'workspace', '.keep'];
9
10
  // Internal configuration for the module.
10
11
  const config = {
11
- PLUGIN_PATH: undefined
12
+ PLUGIN_PATH: undefined,
13
+ INITIAL_PLUGIN_REPOS: undefined
12
14
  };
13
15
  /**
14
16
  * Get the configuration variable or throw an error.
@@ -274,18 +276,46 @@ function pluginLocalPath(indexFilePath) {
274
276
  return match[0].substring(1);
275
277
  }
276
278
  }
279
+ /**
280
+ * Calculate target directory for the repository.
281
+ */
282
+ function targetDir(repo) {
283
+ if (!config.PLUGIN_PATH)
284
+ throw new Error('config.PLUGIN_PATH not set.');
285
+ if (repo.startsWith('file://')) {
286
+ return path.join(config.PLUGIN_PATH, path.basename(repo));
287
+ }
288
+ else if (repo.startsWith('npm://')) {
289
+ const npm = repo.substring(6);
290
+ return path.join(config.PLUGIN_PATH, npm.replace(/@/g, '').replace(/[^a-zA-Z0-9]/g, '-'));
291
+ }
292
+ else {
293
+ return path.join(config.PLUGIN_PATH, repo.replace(/.*\//, '').replace('.git', ''));
294
+ }
295
+ }
277
296
  /**
278
297
  * Go through repository URLs and install all missing plugin repositories.
279
298
  */
280
- async function updateRepositories(repos, src, dst) {
299
+ async function fetchRepositories(srcRoot) {
281
300
  let changes = false;
282
- for (const repo of repos) {
283
- log(`Checking plugin repo ${repo}.`);
301
+ if (!config.INITIAL_PLUGIN_REPOS) {
302
+ warning('Cannot fetch plugin repos, since none defined in INITIAL_PLUGIN_REPOS.');
303
+ return false;
304
+ }
305
+ if (!config.PLUGIN_PATH) {
306
+ warning('Cannot fetch plugin repos, since PLUGIN_PATH not defined.');
307
+ return false;
308
+ }
309
+ for (const repo of config.INITIAL_PLUGIN_REPOS?.split(' ')) {
310
+ const target = targetDir(repo);
311
+ if (fs.existsSync(target)) {
312
+ continue;
313
+ }
314
+ log(`Fetching plugin repo ${repo}.`);
284
315
  if (repo.startsWith('file://')) {
285
316
  // Handle local file.
286
- const source = path.join(src, repo.substring(7));
287
- const target = path.join(dst, path.basename(repo));
288
- if (fs.existsSync(src)) {
317
+ const source = path.join(srcRoot, repo.substring(7));
318
+ if (fs.existsSync(srcRoot)) {
289
319
  if (!fs.existsSync(target)) {
290
320
  log(` Linking repo ${source} => ${target}.`);
291
321
  const cmd = `ln -sf "${source}" "${target}"`;
@@ -299,28 +329,97 @@ async function updateRepositories(repos, src, dst) {
299
329
  }
300
330
  else if (repo.startsWith('npm://')) {
301
331
  const npm = repo.substring(6);
302
- const source = path.join(dst, 'package');
303
- const target = path.join(dst, npm.replace(/@/g, '').replace(/[^a-zA-Z0-9]/g, '-'));
304
- if (!fs.existsSync(target)) {
305
- log(` Downloading NPM ${npm}.`);
306
- const cmd = `cd "${dst}" && rm -fr "${source}" && npm view ${npm} dist.tarball | xargs curl -s | tar xz && mv "${source}" "${target}"`;
307
- await systemPiped(cmd);
308
- changes = true;
309
- }
332
+ const source = path.join(config.PLUGIN_PATH, 'package');
333
+ log(` Downloading NPM ${npm}.`);
334
+ const cmd = `cd "${config.PLUGIN_PATH}" && rm -fr "${source}" && npm view ${npm} dist.tarball | xargs curl -s | tar xz && mv "${source}" "${target}"`;
335
+ await systemPiped(cmd);
336
+ changes = true;
310
337
  }
311
338
  else {
312
339
  // By default, assume git repo.
313
- const target = path.join(dst, repo.replace(/.*\//, '').replace('.git', ''));
314
- if (!fs.existsSync(target)) {
315
- log(` Fetching plugin repo ${repo} to ${target}.`);
316
- const cmd = `cd "${dst}" && git clone "${repo}"`;
340
+ log(` Fetching plugin repo ${repo} to ${target}.`);
341
+ const cmd = `cd "${config.PLUGIN_PATH}" && git clone "${repo}"`;
342
+ await systemPiped(cmd);
343
+ changes = true;
344
+ }
345
+ }
346
+ return changes;
347
+ }
348
+ /**
349
+ * Go through repository URLs and install all missing plugin repositories.
350
+ */
351
+ async function upgradeRepositories(srcRoot) {
352
+ let changes = false;
353
+ if (!config.INITIAL_PLUGIN_REPOS) {
354
+ warning('Cannot fetch plugin repos, since none defined in INITIAL_PLUGIN_REPOS.');
355
+ return false;
356
+ }
357
+ if (!config.PLUGIN_PATH) {
358
+ warning('Cannot fetch plugin repos, since PLUGIN_PATH not defined.');
359
+ return false;
360
+ }
361
+ changes = await fetchRepositories(srcRoot);
362
+ for (const repo of config.INITIAL_PLUGIN_REPOS?.split(' ')) {
363
+ log(`Upgrading plugin repo '${repo}'...`);
364
+ const target = targetDir(repo);
365
+ if (repo.startsWith('file://')) {
366
+ log(' Nothing to do for symlink.');
367
+ }
368
+ else if (repo.startsWith('npm://')) {
369
+ const npm = repo.substring(6);
370
+ const cmd = `npm view ${npm} version`;
371
+ const newVersion = (await systemPiped(cmd, true))?.trim();
372
+ const oldVersion = JSON.parse(fs.readFileSync(path.join(target, 'package.json')).toString('utf-8')).version;
373
+ if (newVersion === oldVersion) {
374
+ log(` The latest version ${newVersion} already installed.`);
375
+ }
376
+ else {
377
+ log(` Upgrading ${npm} from version ${oldVersion} to ${newVersion}.`);
378
+ const source = path.join(config.PLUGIN_PATH, 'package');
379
+ const cmd = `cd "${config.PLUGIN_PATH}" && rm -fr "${source}" "${target}" && npm view ${npm} dist.tarball | xargs curl -s | tar xz && mv "${source}" "${target}"`;
317
380
  await systemPiped(cmd);
318
381
  changes = true;
319
382
  }
320
383
  }
384
+ else {
385
+ const cmd = `cd "${config.PLUGIN_PATH}" && git pull`;
386
+ await systemPiped(cmd);
387
+ // Note, too lazy to detect changes. Is the return value even used?
388
+ }
321
389
  }
322
390
  return changes;
323
391
  }
392
+ /**
393
+ * Check that plugin directory does not have any extra files or that there are no missing plugin repositories.
394
+ */
395
+ function verifyPluginDir() {
396
+ if (!config.INITIAL_PLUGIN_REPOS) {
397
+ warning('No plugin repositories to verify.');
398
+ return true;
399
+ }
400
+ let fail = false;
401
+ const okayFiles = new Set(SAFE_PLUGIN_FILES);
402
+ for (const repo of config.INITIAL_PLUGIN_REPOS?.split(' ')) {
403
+ const dir = targetDir(repo);
404
+ okayFiles.add(path.basename(dir));
405
+ if (!fs.existsSync(dir)) {
406
+ error(`Requiered repository ${repo} does not exist.`);
407
+ fail = true;
408
+ }
409
+ }
410
+ if (config.PLUGIN_PATH) {
411
+ for (const fullPath of globSync(config.PLUGIN_PATH + '/**', { dot: true, deep: 2 })) {
412
+ const localPath = fullPath.replace(config.PLUGIN_PATH + '/', '');
413
+ const file = localPath.indexOf('/') < 0 ? localPath : path.dirname(localPath);
414
+ if (!okayFiles.has(file)) {
415
+ error(`Plugin directory has unrecognized file/dir '${fullPath}'.`);
416
+ }
417
+ }
418
+ }
419
+ if (!fail)
420
+ log('Plugin directory verified as correct.');
421
+ return fail;
422
+ }
324
423
  /**
325
424
  * Collection of file system and API related plugin handling functions for fetching, building and scanning.
326
425
  */
@@ -340,6 +439,8 @@ export const plugins = {
340
439
  sortPlugins,
341
440
  updatePluginIndex,
342
441
  updatePluginList,
343
- updateRepositories
442
+ upgradeRepositories,
443
+ fetchRepositories,
444
+ verifyPluginDir,
344
445
  };
345
446
  //# sourceMappingURL=plugins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/plugins/plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../src/plugins/plugins.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tasenor/common-node",
3
- "version": "1.9.138",
3
+ "version": "1.9.140",
4
4
  "description": "Common Node-parts of Tasenor project",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",
@@ -36,7 +36,7 @@
36
36
  "sqlite3": "^5.1.6",
37
37
  "tar": "^6.1.15",
38
38
  "ts-opaque": "^3.0.1",
39
- "@tasenor/common": "1.9.138"
39
+ "@tasenor/common": "1.9.140"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@jest/globals": "^29.6.1",
@@ -45,8 +45,8 @@
45
45
  "jest": "^29.6.1",
46
46
  "ts-jest": "^29.1.1",
47
47
  "typescript": "^5.1.6",
48
- "@tasenor/config": "1.9.138",
49
- "eslint-config-tasenor": "0.0.0"
48
+ "eslint-config-tasenor": "0.0.0",
49
+ "@tasenor/config": "1.9.140"
50
50
  },
51
51
  "scripts": {
52
52
  "ci": "pnpm run lint && pnpm run test",
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-unused-vars */
2
- import { TasenorElement, AccountAddress, Asset, AssetExchange, AssetTransfer, AssetTransferReason, AssetType, Currency, Language, TransactionDescription, TransactionApplyResults, debug, realNegative, AccountNumber, realPositive, ProcessConfig, ImportStateText, TextFileLine, SegmentId, NO_SEGMENT, num, ImportSegment, Directions, ImportAnswers, ImportConfig, BalanceSummaryEntry, less, mergeTags, log, DirectoryPath, Timestamp } from '@tasenor/common'
2
+ import { TasenorElement, AccountAddress, Asset, AssetExchange, AssetTransfer, AssetTransferReason, AssetType, Currency, Language, TransactionDescription, TransactionApplyResults, debug, realNegative, AccountNumber, realPositive, ProcessConfig, ImportStateText, TextFileLine, SegmentId, NO_SEGMENT, num, ImportSegment, Directions, ImportAnswers, ImportConfig, BalanceSummaryEntry, less, mergeTags, log, DirectoryPath, Timestamp, Timestring, TimeType } from '@tasenor/common'
3
3
  import { TransferAnalyzer } from './TransferAnalyzer'
4
4
  import hash from 'object-hash'
5
5
  import { TransactionUI } from './TransactionUI'
@@ -68,7 +68,7 @@ export class TransactionImportHandler extends TextFileProcessHandler {
68
68
  * Get a single account balance.
69
69
  * @param addr
70
70
  */
71
- getBalance(addr: AccountAddress, time: Timestamp): number {
71
+ getBalance(addr: AccountAddress, time: TimeType | undefined): number {
72
72
  if (!this.analyzer) {
73
73
  throw new Error(`Cannot access balance for ${addr} when no analyzer instantiated.`)
74
74
  }
@@ -671,12 +671,12 @@ export class TransactionImportHandler extends TextFileProcessHandler {
671
671
  if (balance.account === loanAccount) {
672
672
  continue
673
673
  }
674
- const accountBalance = this.analyzer.getBalance(balance.address, new Date(tx.date).getTime() as Timestamp) || 0
675
- const debtBalance = this.analyzer.getBalance(balance.debtAddress, new Date(tx.date).getTime() as Timestamp) || 0
674
+ const accountBalance = this.analyzer.getBalance(balance.address, tx.date) || 0
675
+ const debtBalance = this.analyzer.getBalance(balance.debtAddress, tx.date) || 0
676
676
  // Take more loan.
677
677
  if (realNegative(accountBalance) && realNegative(entry.amount)) {
678
- this.analyzer.revertBalance(entry)
679
- const originalBalance = this.analyzer.getBalance(balance.address, new Date(tx.date).getTime() as Timestamp) || 0
678
+ this.analyzer.revertBalance(entry, tx.date)
679
+ const originalBalance = this.analyzer.getBalance(balance.address, tx.date) || 0
680
680
  // Only partial loan needed.
681
681
  if (realPositive(originalBalance)) {
682
682
  const loanEntry = {
@@ -691,18 +691,18 @@ export class TransactionImportHandler extends TextFileProcessHandler {
691
691
 
692
692
  tx.entries.push(loanEntry)
693
693
 
694
- this.analyzer.applyBalance(entry)
695
- this.analyzer.applyBalance(loanEntry)
694
+ this.analyzer.applyBalance(entry, tx.date)
695
+ this.analyzer.applyBalance(loanEntry, tx.date)
696
696
  } else {
697
697
  // Full loan needed.
698
698
  entry.account = loanAccount || '0' as AccountNumber
699
- this.analyzer.applyBalance(entry)
699
+ this.analyzer.applyBalance(entry, tx.date)
700
700
  }
701
701
  }
702
702
 
703
703
  // Pay back loan.
704
704
  if (realNegative(debtBalance) && realPositive(entry.amount)) {
705
- this.analyzer.revertBalance(entry)
705
+ this.analyzer.revertBalance(entry, tx.date)
706
706
  // Getting more than full payment.
707
707
  if (less(-debtBalance, entry.amount)) {
708
708
  const loanEntry = {
@@ -717,12 +717,12 @@ export class TransactionImportHandler extends TextFileProcessHandler {
717
717
  loanEntry.description = mergeTags(loanEntry.description, await this.analyzer.getTagsForAddr(balance.debtAddress) || [])
718
718
 
719
719
  tx.entries.push(loanEntry)
720
- this.analyzer.applyBalance(entry)
721
- this.analyzer.applyBalance(loanEntry)
720
+ this.analyzer.applyBalance(entry, tx.date)
721
+ this.analyzer.applyBalance(loanEntry, tx.date)
722
722
  } else {
723
723
  // Partial payment.
724
724
  entry.account = loanAccount || '0' as AccountNumber
725
- this.analyzer.applyBalance(entry)
725
+ this.analyzer.applyBalance(entry, tx.date)
726
726
  }
727
727
  }
728
728
  }
@@ -4,7 +4,7 @@ import { sprintf } from 'sprintf-js'
4
4
  import {
5
5
  AccountNumber, Asset, AccountAddress, AssetExchange, AssetTransfer, AssetTransferReason, AssetType,
6
6
  Currency, Language, StockValueData, TradeableAsset, Transaction, TransactionDescription, TransactionKind,
7
- TransactionLine, StockBookkeeping, UIQuery, Tag, VATTarget, IncomeSource, ExpenseSink, isCurrency, TransferNote, isAssetTransferReason, isAssetType, ZERO_CENTS, less, warning, BalanceBookkeeping, realNegative, AdditionalTransferInfo, CryptoCurrency, ImportSegment, ImportStateText, ProcessConfig, SegmentId, TextFileLine, Timestamp
7
+ TransactionLine, StockBookkeeping, UIQuery, Tag, VATTarget, IncomeSource, ExpenseSink, isCurrency, TransferNote, isAssetTransferReason, isAssetType, ZERO_CENTS, less, warning, BalanceBookkeeping, realNegative, AdditionalTransferInfo, CryptoCurrency, ImportSegment, ImportStateText, ProcessConfig, SegmentId, TextFileLine, TimeType
8
8
  } from '@tasenor/common'
9
9
  import { TransactionImportHandler } from './TransactionImportHandler'
10
10
  import { isTransactionImportConnector, TransactionImportConnector } from './TransactionImportConnector'
@@ -171,7 +171,7 @@ export class TransferAnalyzer {
171
171
  * Get a single account balance.
172
172
  * @param addr
173
173
  */
174
- getBalance(addr: AccountAddress, time: Timestamp) {
174
+ getBalance(addr: AccountAddress, time: TimeType | undefined) {
175
175
  return this.balances.get(addr, time)
176
176
  }
177
177
 
@@ -181,8 +181,8 @@ export class TransferAnalyzer {
181
181
  * @param name
182
182
  * @returns
183
183
  */
184
- applyBalance(txEntry: TransactionLine): number {
185
- return this.balances.apply(txEntry)
184
+ applyBalance(txEntry: TransactionLine, time: TimeType | undefined): number {
185
+ return this.balances.apply(txEntry, time)
186
186
  }
187
187
 
188
188
  /**
@@ -191,8 +191,8 @@ export class TransferAnalyzer {
191
191
  * @param name
192
192
  * @returns
193
193
  */
194
- revertBalance(txEntry: TransactionLine): number {
195
- return this.balances.revert(txEntry)
194
+ revertBalance(txEntry: TransactionLine, time: TimeType | undefined): number {
195
+ return this.balances.revert(txEntry, time)
196
196
  }
197
197
 
198
198
  /**
@@ -1148,7 +1148,7 @@ export class TransferAnalyzer {
1148
1148
  }
1149
1149
 
1150
1150
  // Update balance and check for negative currency account if it needs to be configured.
1151
- const total = tx.executionResult === 'ignored' ? 0 : this.applyBalance(txEntry)
1151
+ const total = tx.executionResult === 'ignored' ? 0 : this.applyBalance(txEntry, tx.date)
1152
1152
  if (this.balances.mayTakeLoan(transfer.reason, transfer.type, transfer.asset) && realNegative(total)) {
1153
1153
  const addr: AccountAddress = `${transfer.reason}.${transfer.type}.${transfer.asset}` as AccountAddress
1154
1154
  const debtAddr: AccountAddress = this.balances.debtAddress(addr)
@@ -1,21 +1,24 @@
1
1
  import fs from 'fs'
2
- import glob from 'fast-glob'
2
+ import glob, { globSync } from 'fast-glob'
3
3
  import path from 'path'
4
- import { TasenorPlugin, PluginCatalog, FilePath, Url, note, log, DirectoryPath, error, GET } from '@tasenor/common'
4
+ import { TasenorPlugin, PluginCatalog, FilePath, Url, note, log, DirectoryPath, error, GET, warning } from '@tasenor/common'
5
5
  import { create } from 'ts-opaque'
6
6
  import { vault } from '../net'
7
7
  import { systemPiped } from '..'
8
8
 
9
9
  const PLUGIN_FIELDS = ['code', 'title', 'version', 'icon', 'releaseDate', 'use', 'type', 'description']
10
+ const SAFE_PLUGIN_FILES = ['.gitkeep', 'index.json', 'index.jsx', 'workspace', '.keep']
10
11
 
11
12
  interface PluginConfig {
12
13
  PLUGIN_PATH?: string
14
+ INITIAL_PLUGIN_REPOS?: string
13
15
  }
14
16
  type ConfigVariable = keyof PluginConfig
15
17
 
16
18
  // Internal configuration for the module.
17
19
  const config: PluginConfig = {
18
- PLUGIN_PATH: undefined
20
+ PLUGIN_PATH: undefined,
21
+ INITIAL_PLUGIN_REPOS: undefined
19
22
  }
20
23
 
21
24
  interface PluginState {
@@ -328,18 +331,44 @@ function pluginLocalPath(indexFilePath: FilePath): string | undefined {
328
331
  }
329
332
  }
330
333
 
334
+ /**
335
+ * Calculate target directory for the repository.
336
+ */
337
+ function targetDir(repo: string): DirectoryPath {
338
+ if (!config.PLUGIN_PATH) throw new Error('config.PLUGIN_PATH not set.')
339
+ if (repo.startsWith('file://')) {
340
+ return path.join(config.PLUGIN_PATH, path.basename(repo)) as DirectoryPath
341
+ } else if (repo.startsWith('npm://')) {
342
+ const npm = repo.substring(6)
343
+ return path.join(config.PLUGIN_PATH, npm.replace(/@/g, '').replace(/[^a-zA-Z0-9]/g, '-')) as DirectoryPath
344
+ } else {
345
+ return path.join(config.PLUGIN_PATH, repo.replace(/.*\//, '').replace('.git', '')) as DirectoryPath
346
+ }
347
+ }
348
+
331
349
  /**
332
350
  * Go through repository URLs and install all missing plugin repositories.
333
351
  */
334
- async function updateRepositories(repos: string[], src: DirectoryPath, dst: DirectoryPath): Promise<boolean> {
352
+ async function fetchRepositories(srcRoot: DirectoryPath): Promise<boolean> {
335
353
  let changes = false
336
- for (const repo of repos) {
337
- log(`Checking plugin repo ${repo}.`)
354
+ if (!config.INITIAL_PLUGIN_REPOS) {
355
+ warning('Cannot fetch plugin repos, since none defined in INITIAL_PLUGIN_REPOS.')
356
+ return false
357
+ }
358
+ if (!config.PLUGIN_PATH) {
359
+ warning('Cannot fetch plugin repos, since PLUGIN_PATH not defined.')
360
+ return false
361
+ }
362
+ for (const repo of config.INITIAL_PLUGIN_REPOS?.split(' ')) {
363
+ const target = targetDir(repo)
364
+ if (fs.existsSync(target)) {
365
+ continue
366
+ }
367
+ log(`Fetching plugin repo ${repo}.`)
338
368
  if (repo.startsWith('file://')) {
339
369
  // Handle local file.
340
- const source = path.join(src, repo.substring(7))
341
- const target = path.join(dst, path.basename(repo))
342
- if (fs.existsSync(src)) {
370
+ const source = path.join(srcRoot, repo.substring(7))
371
+ if (fs.existsSync(srcRoot)) {
343
372
  if (!fs.existsSync(target)) {
344
373
  log(` Linking repo ${source} => ${target}.`)
345
374
  const cmd = `ln -sf "${source}" "${target}"`
@@ -351,29 +380,101 @@ async function updateRepositories(repos: string[], src: DirectoryPath, dst: Dire
351
380
  }
352
381
  } else if (repo.startsWith('npm://')) {
353
382
  const npm = repo.substring(6)
354
- const source = path.join(dst, 'package')
355
- const target = path.join(dst, npm.replace(/@/g, '').replace(/[^a-zA-Z0-9]/g, '-'))
356
- if (!fs.existsSync(target)) {
357
- log(` Downloading NPM ${npm}.`)
358
- const cmd = `cd "${dst}" && rm -fr "${source}" && npm view ${npm} dist.tarball | xargs curl -s | tar xz && mv "${source}" "${target}"`
359
- await systemPiped(cmd)
360
- changes = true
361
- }
383
+ const source = path.join(config.PLUGIN_PATH, 'package')
384
+ log(` Downloading NPM ${npm}.`)
385
+ const cmd = `cd "${config.PLUGIN_PATH}" && rm -fr "${source}" && npm view ${npm} dist.tarball | xargs curl -s | tar xz && mv "${source}" "${target}"`
386
+ await systemPiped(cmd)
387
+ changes = true
362
388
  } else {
363
389
  // By default, assume git repo.
364
- const target = path.join(dst, repo.replace(/.*\//, '').replace('.git', ''))
365
- if (!fs.existsSync(target)) {
366
- log(` Fetching plugin repo ${repo} to ${target}.`)
367
- const cmd = `cd "${dst}" && git clone "${repo}"`
390
+ log(` Fetching plugin repo ${repo} to ${target}.`)
391
+ const cmd = `cd "${config.PLUGIN_PATH}" && git clone "${repo}"`
392
+ await systemPiped(cmd)
393
+ changes = true
394
+ }
395
+ }
396
+
397
+ return changes
398
+ }
399
+
400
+ /**
401
+ * Go through repository URLs and install all missing plugin repositories.
402
+ */
403
+ async function upgradeRepositories(srcRoot: DirectoryPath): Promise<boolean> {
404
+ let changes = false
405
+ if (!config.INITIAL_PLUGIN_REPOS) {
406
+ warning('Cannot fetch plugin repos, since none defined in INITIAL_PLUGIN_REPOS.')
407
+ return false
408
+ }
409
+ if (!config.PLUGIN_PATH) {
410
+ warning('Cannot fetch plugin repos, since PLUGIN_PATH not defined.')
411
+ return false
412
+ }
413
+
414
+ changes = await fetchRepositories(srcRoot)
415
+
416
+ for (const repo of config.INITIAL_PLUGIN_REPOS?.split(' ')) {
417
+ log(`Upgrading plugin repo '${repo}'...`)
418
+ const target = targetDir(repo)
419
+ if (repo.startsWith('file://')) {
420
+ log(' Nothing to do for symlink.')
421
+ } else if (repo.startsWith('npm://')) {
422
+ const npm = repo.substring(6)
423
+ const cmd = `npm view ${npm} version`
424
+ const newVersion = (await systemPiped(cmd, true))?.trim()
425
+ const oldVersion = JSON.parse(fs.readFileSync(path.join(target, 'package.json')).toString('utf-8')).version
426
+ if (newVersion === oldVersion) {
427
+ log(` The latest version ${newVersion} already installed.`)
428
+ } else {
429
+ log(` Upgrading ${npm} from version ${oldVersion} to ${newVersion}.`)
430
+ const source = path.join(config.PLUGIN_PATH, 'package')
431
+ const cmd = `cd "${config.PLUGIN_PATH}" && rm -fr "${source}" "${target}" && npm view ${npm} dist.tarball | xargs curl -s | tar xz && mv "${source}" "${target}"`
368
432
  await systemPiped(cmd)
369
433
  changes = true
370
434
  }
435
+ } else {
436
+ const cmd = `cd "${config.PLUGIN_PATH}" && git pull`
437
+ await systemPiped(cmd)
438
+ // Note, too lazy to detect changes. Is the return value even used?
371
439
  }
372
440
  }
373
441
 
374
442
  return changes
375
443
  }
376
444
 
445
+ /**
446
+ * Check that plugin directory does not have any extra files or that there are no missing plugin repositories.
447
+ */
448
+ function verifyPluginDir(): boolean {
449
+ if (!config.INITIAL_PLUGIN_REPOS) {
450
+ warning('No plugin repositories to verify.')
451
+ return true
452
+ }
453
+ let fail = false
454
+ const okayFiles = new Set(SAFE_PLUGIN_FILES)
455
+ for (const repo of config.INITIAL_PLUGIN_REPOS?.split(' ')) {
456
+ const dir = targetDir(repo)
457
+ okayFiles.add(path.basename(dir))
458
+ if (!fs.existsSync(dir)) {
459
+ error(`Requiered repository ${repo} does not exist.`)
460
+ fail = true
461
+ }
462
+ }
463
+ if (config.PLUGIN_PATH) {
464
+ for (const fullPath of globSync(config.PLUGIN_PATH + '/**', { dot: true, deep: 2 })) {
465
+ const localPath = fullPath.replace(config.PLUGIN_PATH + '/', '')
466
+ const file = localPath.indexOf('/') < 0 ? localPath : path.dirname(localPath)
467
+ if (!okayFiles.has(file)) {
468
+ error(`Plugin directory has unrecognized file/dir '${fullPath}'.`)
469
+ }
470
+ }
471
+ }
472
+
473
+ if (!fail) log('Plugin directory verified as correct.')
474
+
475
+ return fail
476
+ }
477
+
377
478
  /**
378
479
  * Collection of file system and API related plugin handling functions for fetching, building and scanning.
379
480
  */
@@ -393,5 +494,7 @@ export const plugins = {
393
494
  sortPlugins,
394
495
  updatePluginIndex,
395
496
  updatePluginList,
396
- updateRepositories
497
+ upgradeRepositories,
498
+ fetchRepositories,
499
+ verifyPluginDir,
397
500
  }