taxtank-core 0.16.12 → 0.17.1
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.
- package/bundles/taxtank-core.umd.js +370 -383
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/bank-transaction.collection.js +1 -1
- package/esm2015/lib/collections/collection-dictionary.js +16 -1
- package/esm2015/lib/collections/depreciation.collection.js +2 -2
- package/esm2015/lib/collections/exportable.collection.js +17 -0
- package/esm2015/lib/collections/loan/loan-payment.collection.js +31 -0
- package/esm2015/lib/collections/loan/loan.collection.js +18 -0
- package/esm2015/lib/collections/report/property/property-report-item-transaction.collection.js +1 -1
- package/esm2015/lib/collections/report/vehicle-expense/vehicle-expense.collection.js +1 -1
- package/esm2015/lib/collections/tax-summary/report-item.collection.js +50 -120
- package/esm2015/lib/collections/tax-summary/tax-return-categories.const.js +65 -0
- package/esm2015/lib/collections/transaction/transaction-allocation.collection.js +40 -0
- package/esm2015/lib/collections/transaction/transaction.collection.js +167 -0
- package/esm2015/lib/db/Enums/tax-return-category-list.enum.js +21 -7
- package/esm2015/lib/models/bank/bank-transaction.js +1 -1
- package/esm2015/lib/models/export/export-cell-type.enum.js +10 -0
- package/esm2015/lib/models/export/export-cell.js +6 -0
- package/esm2015/lib/models/export/export-data-table.js +1 -7
- package/esm2015/lib/models/income-source/income-source-chart-data.js +1 -1
- package/esm2015/lib/models/loan/loan-payment.js +2 -24
- package/esm2015/lib/models/logbook/vehicle-claim.js +1 -1
- package/esm2015/lib/models/property/property-equity-chart-data.js +1 -1
- package/esm2015/lib/models/report/property/property-report-item-transaction.js +1 -1
- package/esm2015/lib/models/tax-summary/report-item.js +8 -1
- package/esm2015/lib/models/tax-summary/tax-summary.js +28 -9
- package/esm2015/lib/models/transaction/transaction.js +1 -1
- package/esm2015/lib/services/account-setup/account-setup.service.js +2 -2
- package/esm2015/lib/services/bank/bank-account-calculation.service.js +1 -1
- package/esm2015/lib/services/bank/bank-transaction-calculation.service.js +1 -1
- package/esm2015/lib/services/export/export-formatter.service.js +31 -0
- package/esm2015/lib/services/pdf/pdf.service.js +9 -4
- package/esm2015/lib/services/property/property-calculation/property-calculation.service.js +1 -1
- package/esm2015/lib/services/report/property/property-transaction-report.service.js +2 -2
- package/esm2015/lib/services/transaction/transaction-calculation.service.js +2 -2
- package/esm2015/public-api.js +8 -10
- package/fesm2015/taxtank-core.js +307 -286
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/bank-transaction.collection.d.ts +1 -1
- package/lib/collections/collection-dictionary.d.ts +5 -0
- package/lib/collections/depreciation.collection.d.ts +1 -1
- package/lib/collections/exportable.collection.d.ts +9 -0
- package/lib/collections/loan/loan-payment.collection.d.ts +7 -0
- package/lib/collections/{loan.collection.d.ts → loan/loan.collection.d.ts} +2 -2
- package/lib/collections/report/property/property-report-item-transaction.collection.d.ts +1 -1
- package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts +1 -1
- package/lib/collections/tax-summary/report-item.collection.d.ts +17 -51
- package/lib/collections/tax-summary/tax-return-categories.const.d.ts +6 -0
- package/lib/collections/{transaction-allocation.collection.d.ts → transaction/transaction-allocation.collection.d.ts} +6 -6
- package/lib/collections/{transaction.collection.d.ts → transaction/transaction.collection.d.ts} +9 -5
- package/lib/db/Enums/tax-return-category-list.enum.d.ts +20 -6
- package/lib/models/bank/bank-transaction.d.ts +1 -1
- package/lib/models/export/export-cell-type.enum.d.ts +8 -0
- package/lib/models/export/export-cell.d.ts +8 -0
- package/lib/models/export/export-data-table.d.ts +3 -2
- package/lib/models/income-source/income-source-chart-data.d.ts +1 -1
- package/lib/models/loan/loan-payment.d.ts +1 -5
- package/lib/models/logbook/vehicle-claim.d.ts +1 -1
- package/lib/models/property/property-equity-chart-data.d.ts +1 -1
- package/lib/models/report/property/property-report-item-transaction.d.ts +1 -1
- package/lib/models/tax-summary/report-item.d.ts +3 -2
- package/lib/models/transaction/transaction.d.ts +1 -1
- package/lib/services/bank/bank-account-calculation.service.d.ts +1 -1
- package/lib/services/bank/bank-transaction-calculation.service.d.ts +1 -1
- package/lib/services/export/export-formatter.service.d.ts +11 -0
- package/lib/services/pdf/pdf.service.d.ts +3 -0
- package/lib/services/property/property-calculation/property-calculation.service.d.ts +2 -2
- package/lib/services/report/property/property-transaction-report.service.d.ts +1 -1
- package/lib/services/transaction/transaction-calculation.service.d.ts +2 -2
- package/package.json +1 -1
- package/public-api.d.ts +7 -9
- package/esm2015/lib/collections/loan.collection.js +0 -18
- package/esm2015/lib/collections/transaction-allocation.collection.js +0 -40
- package/esm2015/lib/collections/transaction.collection.js +0 -143
- package/esm2015/lib/interfaces/exportable.interface.js +0 -2
- package/esm2015/lib/services/data-table/data-table.service.js +0 -47
- package/esm2015/lib/services/property/property-holding-costs/property-holding-costs.service.js +0 -53
- package/lib/interfaces/exportable.interface.d.ts +0 -9
- package/lib/services/data-table/data-table.service.d.ts +0 -19
- package/lib/services/property/property-holding-costs/property-holding-costs.service.d.ts +0 -24
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { TaxReturnCategoryListEnum } from '../../db/Enums/tax-return-category-list.enum';
|
|
2
|
+
export const TAX_RETURN_CATEGORIES = {
|
|
3
|
+
work: {
|
|
4
|
+
income: [
|
|
5
|
+
TaxReturnCategoryListEnum.SALARY,
|
|
6
|
+
TaxReturnCategoryListEnum.ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES,
|
|
7
|
+
TaxReturnCategoryListEnum.EMPLOYER_LUMP_SUM_PAYMENTS,
|
|
8
|
+
TaxReturnCategoryListEnum.ETP,
|
|
9
|
+
TaxReturnCategoryListEnum.GOVERNMENT_ALLOWANCES,
|
|
10
|
+
TaxReturnCategoryListEnum.GOVERNMENT_PENSIONS,
|
|
11
|
+
TaxReturnCategoryListEnum.ANNUITIES_SUPER_INCOME_STREAMS,
|
|
12
|
+
TaxReturnCategoryListEnum.SUPERANNUATION_LUMP_SUM_PAYMENTS,
|
|
13
|
+
TaxReturnCategoryListEnum.ATTRIBUTED_PSI_INCOME
|
|
14
|
+
],
|
|
15
|
+
expenses: [
|
|
16
|
+
TaxReturnCategoryListEnum.WORK_EXPENSES
|
|
17
|
+
],
|
|
18
|
+
interest: [
|
|
19
|
+
TaxReturnCategoryListEnum.GROSS_INTEREST
|
|
20
|
+
],
|
|
21
|
+
taxWithheld: [
|
|
22
|
+
TaxReturnCategoryListEnum.TAX_WITHHELD
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
property: {
|
|
26
|
+
income: [
|
|
27
|
+
TaxReturnCategoryListEnum.GROSS_RENT
|
|
28
|
+
],
|
|
29
|
+
expenses: [
|
|
30
|
+
TaxReturnCategoryListEnum.OTHER_RENTAL_DEDUCTIONS
|
|
31
|
+
],
|
|
32
|
+
interest: [
|
|
33
|
+
TaxReturnCategoryListEnum.INTEREST_DEDUCTIONS
|
|
34
|
+
],
|
|
35
|
+
depreciation: [
|
|
36
|
+
TaxReturnCategoryListEnum.CAPITAL_WORKS,
|
|
37
|
+
TaxReturnCategoryListEnum.DEPRECIATION
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
other: {
|
|
41
|
+
income: [
|
|
42
|
+
TaxReturnCategoryListEnum.GROSS_INTEREST,
|
|
43
|
+
TaxReturnCategoryListEnum.DIVIDENDS,
|
|
44
|
+
TaxReturnCategoryListEnum.SHARE_SCHEMES,
|
|
45
|
+
TaxReturnCategoryListEnum.PARTNERSHIPS_TRUSTS,
|
|
46
|
+
TaxReturnCategoryListEnum.PSI_SBE_INCOME,
|
|
47
|
+
TaxReturnCategoryListEnum.SOLE_TRADER_BUSINESS_INCOME,
|
|
48
|
+
TaxReturnCategoryListEnum.CAPITAL_GAINS,
|
|
49
|
+
TaxReturnCategoryListEnum.FOREIGN_SOURCE_INCOME,
|
|
50
|
+
TaxReturnCategoryListEnum.BONUSES_FROM_LIFE_INSURANCE,
|
|
51
|
+
TaxReturnCategoryListEnum.FORESTRY_MANAGED_INVESTMENT_SCHEMES,
|
|
52
|
+
TaxReturnCategoryListEnum.OTHER_INCOME
|
|
53
|
+
],
|
|
54
|
+
expenses: [
|
|
55
|
+
TaxReturnCategoryListEnum.OTHER_DEDUCTIONS
|
|
56
|
+
],
|
|
57
|
+
taxCredits: [
|
|
58
|
+
TaxReturnCategoryListEnum.TAX_CREDITS
|
|
59
|
+
],
|
|
60
|
+
taxOffsets: [
|
|
61
|
+
TaxReturnCategoryListEnum.TAX_OFFSETS
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldHVybi1jYXRlZ29yaWVzLmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3RheC1zdW1tYXJ5L3RheC1yZXR1cm4tY2F0ZWdvcmllcy5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUV6RixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBa0U7SUFDbEcsSUFBSSxFQUFFO1FBQ0osTUFBTSxFQUFFO1lBQ04seUJBQXlCLENBQUMsTUFBTTtZQUNoQyx5QkFBeUIsQ0FBQyxzQ0FBc0M7WUFDaEUseUJBQXlCLENBQUMsMEJBQTBCO1lBQ3BELHlCQUF5QixDQUFDLEdBQUc7WUFDN0IseUJBQXlCLENBQUMscUJBQXFCO1lBQy9DLHlCQUF5QixDQUFDLG1CQUFtQjtZQUM3Qyx5QkFBeUIsQ0FBQyw4QkFBOEI7WUFDeEQseUJBQXlCLENBQUMsZ0NBQWdDO1lBQzFELHlCQUF5QixDQUFDLHFCQUFxQjtTQUNoRDtRQUNELFFBQVEsRUFBRTtZQUNSLHlCQUF5QixDQUFDLGFBQWE7U0FDeEM7UUFDRCxRQUFRLEVBQUU7WUFDUix5QkFBeUIsQ0FBQyxjQUFjO1NBQ3pDO1FBQ0QsV0FBVyxFQUFFO1lBQ1gseUJBQXlCLENBQUMsWUFBWTtTQUN2QztLQUNGO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFO1lBQ04seUJBQXlCLENBQUMsVUFBVTtTQUNyQztRQUNELFFBQVEsRUFBRTtZQUNSLHlCQUF5QixDQUFDLHVCQUF1QjtTQUNsRDtRQUNELFFBQVEsRUFBRTtZQUNSLHlCQUF5QixDQUFDLG1CQUFtQjtTQUM5QztRQUNELFlBQVksRUFBRTtZQUNaLHlCQUF5QixDQUFDLGFBQWE7WUFDdkMseUJBQXlCLENBQUMsWUFBWTtTQUN2QztLQUNGO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsTUFBTSxFQUFFO1lBQ04seUJBQXlCLENBQUMsY0FBYztZQUN4Qyx5QkFBeUIsQ0FBQyxTQUFTO1lBQ25DLHlCQUF5QixDQUFDLGFBQWE7WUFDdkMseUJBQXlCLENBQUMsbUJBQW1CO1lBQzdDLHlCQUF5QixDQUFDLGNBQWM7WUFDeEMseUJBQXlCLENBQUMsMkJBQTJCO1lBQ3JELHlCQUF5QixDQUFDLGFBQWE7WUFDdkMseUJBQXlCLENBQUMscUJBQXFCO1lBQy9DLHlCQUF5QixDQUFDLDJCQUEyQjtZQUNyRCx5QkFBeUIsQ0FBQyxtQ0FBbUM7WUFDN0QseUJBQXlCLENBQUMsWUFBWTtTQUN2QztRQUNELFFBQVEsRUFBRTtZQUNSLHlCQUF5QixDQUFDLGdCQUFnQjtTQUMzQztRQUNELFVBQVUsRUFBRTtZQUNWLHlCQUF5QixDQUFDLFdBQVc7U0FDdEM7UUFDRCxVQUFVLEVBQUU7WUFDVix5QkFBeUIsQ0FBQyxXQUFXO1NBQ3RDO0tBQ0Y7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RheC1yZXR1cm4tY2F0ZWdvcnktbGlzdC5lbnVtJztcblxuZXhwb3J0IGNvbnN0IFRBWF9SRVRVUk5fQ0FURUdPUklFUzoge1trZXk6IHN0cmluZ106IHtba2V5OiBzdHJpbmddOiBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtW119fSA9IHtcbiAgd29yazoge1xuICAgIGluY29tZTogW1xuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5TQUxBUlksXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkFMTE9XQU5DRVNfRUFSTklOR1NfVElQU19ESVJFQ1RPUl9GRUVTLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5FTVBMT1lFUl9MVU1QX1NVTV9QQVlNRU5UUyxcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uRVRQLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5HT1ZFUk5NRU5UX0FMTE9XQU5DRVMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkdPVkVSTk1FTlRfUEVOU0lPTlMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkFOTlVJVElFU19TVVBFUl9JTkNPTUVfU1RSRUFNUyxcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uU1VQRVJBTk5VQVRJT05fTFVNUF9TVU1fUEFZTUVOVFMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkFUVFJJQlVURURfUFNJX0lOQ09NRVxuICAgIF0sXG4gICAgZXhwZW5zZXM6IFtcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uV09SS19FWFBFTlNFU1xuICAgIF0sXG4gICAgaW50ZXJlc3Q6IFtcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uR1JPU1NfSU5URVJFU1RcbiAgICBdLFxuICAgIHRheFdpdGhoZWxkOiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9XSVRISEVMRFxuICAgIF1cbiAgfSxcbiAgcHJvcGVydHk6IHtcbiAgICBpbmNvbWU6IFtcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uR1JPU1NfUkVOVFxuICAgIF0sXG4gICAgZXhwZW5zZXM6IFtcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uT1RIRVJfUkVOVEFMX0RFRFVDVElPTlNcbiAgICBdLFxuICAgIGludGVyZXN0OiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLklOVEVSRVNUX0RFRFVDVElPTlNcbiAgICBdLFxuICAgIGRlcHJlY2lhdGlvbjogW1xuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5DQVBJVEFMX1dPUktTLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5ERVBSRUNJQVRJT05cbiAgICBdXG4gIH0sXG4gIG90aGVyOiB7XG4gICAgaW5jb21lOiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkdST1NTX0lOVEVSRVNULFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5ESVZJREVORFMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlNIQVJFX1NDSEVNRVMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlBBUlRORVJTSElQU19UUlVTVFMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlBTSV9TQkVfSU5DT01FLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5TT0xFX1RSQURFUl9CVVNJTkVTU19JTkNPTUUsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkNBUElUQUxfR0FJTlMsXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLkZPUkVJR05fU09VUkNFX0lOQ09NRSxcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uQk9OVVNFU19GUk9NX0xJRkVfSU5TVVJBTkNFLFxuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5GT1JFU1RSWV9NQU5BR0VEX0lOVkVTVE1FTlRfU0NIRU1FUyxcbiAgICAgIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0uT1RIRVJfSU5DT01FXG4gICAgXSxcbiAgICBleHBlbnNlczogW1xuICAgICAgVGF4UmV0dXJuQ2F0ZWdvcnlMaXN0RW51bS5PVEhFUl9ERURVQ1RJT05TXG4gICAgXSxcbiAgICB0YXhDcmVkaXRzOiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9DUkVESVRTXG4gICAgXSxcbiAgICB0YXhPZmZzZXRzOiBbXG4gICAgICBUYXhSZXR1cm5DYXRlZ29yeUxpc3RFbnVtLlRBWF9PRkZTRVRTXG4gICAgXVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Collection } from '../collection';
|
|
2
|
+
import { CollectionDictionary } from '../collection-dictionary';
|
|
3
|
+
export class TransactionAllocationCollection extends Collection {
|
|
4
|
+
get amount() {
|
|
5
|
+
return this.sumBy('amount');
|
|
6
|
+
}
|
|
7
|
+
getByTransactionsIds(ids) {
|
|
8
|
+
return new TransactionAllocationCollection(this.items.filter((allocation) => ids.includes(allocation.transaction.id)));
|
|
9
|
+
}
|
|
10
|
+
getByBankTransactionsIds(ids) {
|
|
11
|
+
return new TransactionAllocationCollection(this.items.filter((allocation) => ids.includes(allocation.bankTransaction.id)));
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Group allocations by bank account via bank transactions collection
|
|
15
|
+
*/
|
|
16
|
+
groupByBankAccount(bankTransactions) {
|
|
17
|
+
// Group bank transactions by bank account id
|
|
18
|
+
const bankTransactionsByBankAccount = new CollectionDictionary(bankTransactions, 'bankAccount.id');
|
|
19
|
+
// Create empty dictionary of transaction allocations
|
|
20
|
+
const allocationsByBankAccount = new CollectionDictionary(new TransactionAllocationCollection([]));
|
|
21
|
+
// Fill allocations dictionary with bank transactions dictionary keys and allocations related with each bank transaction collection
|
|
22
|
+
bankTransactionsByBankAccount.keys.forEach((key) => {
|
|
23
|
+
allocationsByBankAccount.add(key, this.getByBankTransactionsIds(bankTransactionsByBankAccount.get(key).getIds()));
|
|
24
|
+
});
|
|
25
|
+
return allocationsByBankAccount;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* check if collection includes allocation of passed transaction
|
|
29
|
+
*/
|
|
30
|
+
hasTransaction(transaction) {
|
|
31
|
+
return !!this.items.find((allocation) => allocation.transaction.id === transaction.id);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Check if bank transaction is related with current allocations
|
|
35
|
+
*/
|
|
36
|
+
hasBankTransaction(bankTransaction) {
|
|
37
|
+
return !!this.items.find((allocation) => allocation.bankTransaction.id === bankTransaction.id);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBS2hFLE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxVQUFpQztJQUNwRixJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQWE7UUFDaEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMzRyxDQUFDO0lBQ0osQ0FBQztJQUVELHdCQUF3QixDQUFDLEdBQWE7UUFDcEMsT0FBTyxJQUFJLCtCQUErQixDQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQWlDLEVBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUMvRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsZ0JBQTJDO1FBQzVELDZDQUE2QztRQUM3QyxNQUFNLDZCQUE2QixHQUFvRCxJQUFJLG9CQUFvQixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDcEoscURBQXFEO1FBQ3JELE1BQU0sd0JBQXdCLEdBQTBELElBQUksb0JBQW9CLENBQUMsSUFBSSwrQkFBK0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFKLG1JQUFtSTtRQUNuSSw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBVyxFQUFRLEVBQUU7WUFDL0Qsd0JBQXdCLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNwSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sd0JBQXdCLENBQUM7SUFDbEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLFdBQXdCO1FBQ3JDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBaUMsRUFBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3pILENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLGVBQWdDO1FBQ2pELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBaUMsRUFBVyxFQUFFLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pJLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi9jb2xsZWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1hbGxvY2F0aW9uJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi9iYW5rLXRyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgQ29sbGVjdGlvbkRpY3Rpb25hcnkgfSBmcm9tICcuLi9jb2xsZWN0aW9uLWRpY3Rpb25hcnknO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JhbmsvYmFuay10cmFuc2FjdGlvbic7XG5cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gZXh0ZW5kcyBDb2xsZWN0aW9uPFRyYW5zYWN0aW9uQWxsb2NhdGlvbj4ge1xuICBnZXQgYW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3VtQnkoJ2Ftb3VudCcpO1xuICB9XG5cbiAgZ2V0QnlUcmFuc2FjdGlvbnNJZHMoaWRzOiBudW1iZXJbXSk6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKChhbGxvY2F0aW9uOiBUcmFuc2FjdGlvbkFsbG9jYXRpb24pOiBib29sZWFuID0+IGlkcy5pbmNsdWRlcyhhbGxvY2F0aW9uLnRyYW5zYWN0aW9uLmlkKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlCYW5rVHJhbnNhY3Rpb25zSWRzKGlkczogbnVtYmVyW10pOiBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBpZHMuaW5jbHVkZXMoYWxsb2NhdGlvbi5iYW5rVHJhbnNhY3Rpb24uaWQpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR3JvdXAgYWxsb2NhdGlvbnMgYnkgYmFuayBhY2NvdW50IHZpYSBiYW5rIHRyYW5zYWN0aW9ucyBjb2xsZWN0aW9uXG4gICAqL1xuICBncm91cEJ5QmFua0FjY291bnQoYmFua1RyYW5zYWN0aW9uczogQmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbik6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24+IHtcbiAgICAvLyBHcm91cCBiYW5rIHRyYW5zYWN0aW9ucyBieSBiYW5rIGFjY291bnQgaWRcbiAgICBjb25zdCBiYW5rVHJhbnNhY3Rpb25zQnlCYW5rQWNjb3VudDogQ29sbGVjdGlvbkRpY3Rpb25hcnk8QmFua1RyYW5zYWN0aW9uQ29sbGVjdGlvbj4gPSBuZXcgQ29sbGVjdGlvbkRpY3Rpb25hcnkoYmFua1RyYW5zYWN0aW9ucywgJ2JhbmtBY2NvdW50LmlkJyk7XG4gICAgLy8gQ3JlYXRlIGVtcHR5IGRpY3Rpb25hcnkgb2YgdHJhbnNhY3Rpb24gYWxsb2NhdGlvbnNcbiAgICBjb25zdCBhbGxvY2F0aW9uc0J5QmFua0FjY291bnQ6IENvbGxlY3Rpb25EaWN0aW9uYXJ5PFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24+ID0gbmV3IENvbGxlY3Rpb25EaWN0aW9uYXJ5KG5ldyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uKFtdKSk7XG4gICAgLy8gRmlsbCBhbGxvY2F0aW9ucyBkaWN0aW9uYXJ5IHdpdGggYmFuayB0cmFuc2FjdGlvbnMgZGljdGlvbmFyeSBrZXlzIGFuZCBhbGxvY2F0aW9ucyByZWxhdGVkIHdpdGggZWFjaCBiYW5rIHRyYW5zYWN0aW9uIGNvbGxlY3Rpb25cbiAgICBiYW5rVHJhbnNhY3Rpb25zQnlCYW5rQWNjb3VudC5rZXlzLmZvckVhY2goKGtleTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICBhbGxvY2F0aW9uc0J5QmFua0FjY291bnQuYWRkKGtleSwgdGhpcy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHMoYmFua1RyYW5zYWN0aW9uc0J5QmFua0FjY291bnQuZ2V0KGtleSkuZ2V0SWRzKCkpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gYWxsb2NhdGlvbnNCeUJhbmtBY2NvdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIGNvbGxlY3Rpb24gaW5jbHVkZXMgYWxsb2NhdGlvbiBvZiBwYXNzZWQgdHJhbnNhY3Rpb25cbiAgICovXG4gIGhhc1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuaXRlbXMuZmluZCgoYWxsb2NhdGlvbjogVHJhbnNhY3Rpb25BbGxvY2F0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9uLnRyYW5zYWN0aW9uLmlkID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYmFuayB0cmFuc2FjdGlvbiBpcyByZWxhdGVkIHdpdGggY3VycmVudCBhbGxvY2F0aW9uc1xuICAgKi9cbiAgaGFzQmFua1RyYW5zYWN0aW9uKGJhbmtUcmFuc2FjdGlvbjogQmFua1RyYW5zYWN0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pdGVtcy5maW5kKChhbGxvY2F0aW9uOiBUcmFuc2FjdGlvbkFsbG9jYXRpb24pOiBib29sZWFuID0+IGFsbG9jYXRpb24uYmFua1RyYW5zYWN0aW9uLmlkID09PSBiYW5rVHJhbnNhY3Rpb24uaWQpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { TankTypeEnum } from '../../db/Enums/tank-type.enum';
|
|
2
|
+
import { ExportCell } from '../../models/export/export-cell';
|
|
3
|
+
import { plainToClass } from 'class-transformer';
|
|
4
|
+
import { ExportCellTypeEnum } from '../../models/export/export-cell-type.enum';
|
|
5
|
+
import { ExportableCollection } from '../exportable.collection';
|
|
6
|
+
/**
|
|
7
|
+
* Collection of transactions
|
|
8
|
+
*/
|
|
9
|
+
export class TransactionCollection extends ExportableCollection {
|
|
10
|
+
/**
|
|
11
|
+
* Get total amount of all transactions in the collection
|
|
12
|
+
*/
|
|
13
|
+
get amount() {
|
|
14
|
+
return +this.items.reduce((sum, transaction) => sum + transaction.getNetAmount(), 0).toFixed(2);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Difference between allocated amount and total amount
|
|
18
|
+
*/
|
|
19
|
+
getUnallocatedAmount(allocations) {
|
|
20
|
+
return +(this.amount - allocations.getByTransactionsIds(this.getIds()).amount).toFixed(2);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get cash position
|
|
24
|
+
* Cash Position = Income - Expenses
|
|
25
|
+
* Cash position is equal to Total Amount because income is positive and expense is negative,
|
|
26
|
+
*/
|
|
27
|
+
get cashPosition() {
|
|
28
|
+
return this.claimAmount;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* get date of the last transaction
|
|
32
|
+
*/
|
|
33
|
+
getLastTransactionDate() {
|
|
34
|
+
return new Date(Math.max.apply(Math, this.items.map((transaction) => transaction.date)));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get summary of claim amounts
|
|
38
|
+
*/
|
|
39
|
+
get claimAmount() {
|
|
40
|
+
return this.items.reduce((sum, transaction) => sum + transaction.claimAmount, 0);
|
|
41
|
+
}
|
|
42
|
+
get grossAmount() {
|
|
43
|
+
return +this.items.reduce((sum, transaction) => sum + transaction.amount, 0).toFixed(2);
|
|
44
|
+
}
|
|
45
|
+
getByChartAccountsCategories(categories) {
|
|
46
|
+
return new TransactionCollection(this.items.filter((transaction) => categories.includes(transaction.chartAccounts.category)));
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get transactions by month
|
|
50
|
+
* @param monthIndex by which desired month should be taken
|
|
51
|
+
*/
|
|
52
|
+
getByMonth(monthIndex) {
|
|
53
|
+
return new TransactionCollection(this.items.filter((transaction) => transaction.date.getMonth() === monthIndex));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* get list of transactions filtered by chart accounts id
|
|
57
|
+
* @param chartAccountsId chart accounts id for filtering
|
|
58
|
+
*/
|
|
59
|
+
getByChartAccountsId(chartAccountsId) {
|
|
60
|
+
return this.items.filter((transaction) => transaction.chartAccounts.id === chartAccountsId);
|
|
61
|
+
}
|
|
62
|
+
getIncomeTransactions() {
|
|
63
|
+
return new TransactionCollection(this.items.filter((transaction) => transaction.isIncome()));
|
|
64
|
+
}
|
|
65
|
+
get claimIncome() {
|
|
66
|
+
return this.getIncomeTransactions().claimAmount;
|
|
67
|
+
}
|
|
68
|
+
getExpenseTransactions() {
|
|
69
|
+
return new TransactionCollection(this.items.filter((transaction) => transaction.isExpense() && !transaction.isInterest()));
|
|
70
|
+
}
|
|
71
|
+
get claimExpense() {
|
|
72
|
+
return this.getExpenseTransactions().claimAmount;
|
|
73
|
+
}
|
|
74
|
+
getInterestTransactions() {
|
|
75
|
+
return new TransactionCollection(this.items.filter((transaction) => transaction.isInterest()));
|
|
76
|
+
}
|
|
77
|
+
get claimInterest() {
|
|
78
|
+
return this.getInterestTransactions().claimAmount;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get collection of transactions and properties filtered by properties ids
|
|
82
|
+
* @param ids Ids of properties for filter
|
|
83
|
+
*/
|
|
84
|
+
getByPropertiesIds(ids) {
|
|
85
|
+
return new TransactionCollection(this.items.filter((transaction) => {
|
|
86
|
+
var _a;
|
|
87
|
+
return ids.includes((_a = transaction.property) === null || _a === void 0 ? void 0 : _a.id);
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Get new collection filtered by income source id
|
|
92
|
+
* @param id id of income source for filter
|
|
93
|
+
*/
|
|
94
|
+
getByIncomeSourceId(id) {
|
|
95
|
+
return new TransactionCollection(this.items.filter((transaction) => { var _a; return ((_a = transaction.incomeSource) === null || _a === void 0 ? void 0 : _a.id) === id; }));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Get new collection filtered by chart accounts category
|
|
99
|
+
* @param category Chart accounts category value
|
|
100
|
+
*/
|
|
101
|
+
getByChartAccountsCategory(category) {
|
|
102
|
+
return new TransactionCollection(this.items.filter((transaction) => transaction.chartAccounts.category === category));
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Get new collection of property transactions
|
|
106
|
+
*/
|
|
107
|
+
getPropertyTransactions() {
|
|
108
|
+
return new TransactionCollection(this.items.filter((transaction) => transaction.isPropertyTank()));
|
|
109
|
+
}
|
|
110
|
+
getDebitTransactions() {
|
|
111
|
+
return new TransactionCollection(this.items.filter((transaction) => transaction.isDebit()));
|
|
112
|
+
}
|
|
113
|
+
getCreditTransactions() {
|
|
114
|
+
return new TransactionCollection(this.items.filter((transaction) => transaction.isCredit()));
|
|
115
|
+
}
|
|
116
|
+
getByAllocations(allocations) {
|
|
117
|
+
return new TransactionCollection(this.items.filter((transaction) => allocations.hasTransaction(transaction)));
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Get transactions related to Vehicle category
|
|
121
|
+
*/
|
|
122
|
+
getVehicleTransactions() {
|
|
123
|
+
return this.create(this.items.filter((transaction) => {
|
|
124
|
+
return transaction.isVehicleTransaction();
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Get new transaction collection filtered by tank type
|
|
129
|
+
*/
|
|
130
|
+
getByTankType(tankType) {
|
|
131
|
+
return this.create(this.items.filter((transaction) => {
|
|
132
|
+
switch (tankType) {
|
|
133
|
+
case TankTypeEnum.PROPERTY:
|
|
134
|
+
return transaction.isPropertyTank();
|
|
135
|
+
case TankTypeEnum.WORK:
|
|
136
|
+
return transaction.isWorkTank();
|
|
137
|
+
case TankTypeEnum.SOLE:
|
|
138
|
+
return transaction.isSoleTank();
|
|
139
|
+
// Transaction may be not related to any tank type (personal)
|
|
140
|
+
default:
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
145
|
+
getExportHeader() {
|
|
146
|
+
return ['Date', 'Description', 'Debit', 'Credit'];
|
|
147
|
+
}
|
|
148
|
+
getExportFooter() {
|
|
149
|
+
return [
|
|
150
|
+
plainToClass(ExportCell, { value: 'Total', type: ExportCellTypeEnum.STRING }),
|
|
151
|
+
plainToClass(ExportCell, { value: '', type: ExportCellTypeEnum.STRING }),
|
|
152
|
+
plainToClass(ExportCell, { value: this.sumBy('debit'), type: ExportCellTypeEnum.CURRENCY }),
|
|
153
|
+
plainToClass(ExportCell, { value: this.sumBy('credit'), type: ExportCellTypeEnum.CURRENCY })
|
|
154
|
+
];
|
|
155
|
+
}
|
|
156
|
+
getExportBody() {
|
|
157
|
+
return this.items.map((transaction) => {
|
|
158
|
+
return [
|
|
159
|
+
plainToClass(ExportCell, { value: transaction.date, type: ExportCellTypeEnum.DATE }),
|
|
160
|
+
plainToClass(ExportCell, { value: transaction.description, type: ExportCellTypeEnum.STRING }),
|
|
161
|
+
plainToClass(ExportCell, { value: transaction.debit, type: ExportCellTypeEnum.CURRENCY }),
|
|
162
|
+
plainToClass(ExportCell, { value: transaction.credit, type: ExportCellTypeEnum.CURRENCY })
|
|
163
|
+
];
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFpQztJQUMxRTs7T0FFRztJQUNILElBQUksTUFBTTtRQUNSLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVcsRUFBRSxXQUF3QixFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2SCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxvQkFBb0IsQ0FBQyxXQUE0QztRQUMvRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJ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SSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBQyxDQUFDO2FBQ3pGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuL3RyYW5zYWN0aW9uLWFsbG9jYXRpb24uY29sbGVjdGlvbic7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcnkuZW51bSc7XG5pbXBvcnQgeyBUYW5rVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy90YW5rLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBFeHBvcnRDZWxsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBFeHBvcnRDZWxsVHlwZUVudW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvZXhwb3J0L2V4cG9ydC1jZWxsLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBFeHBvcnRhYmxlQ29sbGVjdGlvbiB9IGZyb20gJy4uL2V4cG9ydGFibGUuY29sbGVjdGlvbic7XG5cbi8qKlxuICogQ29sbGVjdGlvbiBvZiB0cmFuc2FjdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQ29sbGVjdGlvbiBleHRlbmRzIEV4cG9ydGFibGVDb2xsZWN0aW9uPFRyYW5zYWN0aW9uPiB7XG4gIC8qKlxuICAgKiBHZXQgdG90YWwgYW1vdW50IG9mIGFsbCB0cmFuc2FjdGlvbnMgaW4gdGhlIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldCBhbW91bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gK3RoaXMuaXRlbXMucmVkdWNlKChzdW06IG51bWJlciwgdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyB0cmFuc2FjdGlvbi5nZXROZXRBbW91bnQoKSwgMCkudG9GaXhlZCgyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaWZmZXJlbmNlIGJldHdlZW4gYWxsb2NhdGVkIGFtb3VudCBhbmQgdG90YWwgYW1vdW50XG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuICsodGhpcy5hbW91bnQgLSBhbGxvY2F0aW9ucy5nZXRCeVRyYW5zYWN0aW9uc0lkcyh0aGlzLmdldElkcygpKS5hbW91bnQpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGNhc2ggcG9zaXRpb25cbiAgICogQ2FzaCBQb3NpdGlvbiA9IEluY29tZSAtIEV4cGVuc2VzXG4gICAqIENhc2ggcG9zaXRpb24gaXMgZXF1YWwgdG8gVG90YWwgQW1vdW50IGJlY2F1c2UgaW5jb21lIGlzIHBvc2l0aXZlIGFuZCBleHBlbnNlIGlzIG5lZ2F0aXZlLFxuICAgKi9cbiAgZ2V0IGNhc2hQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBkYXRlIG9mIHRoZSBsYXN0IHRyYW5zYWN0aW9uXG4gICAqL1xuICBnZXRMYXN0VHJhbnNhY3Rpb25EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShNYXRoLm1heC5hcHBseShNYXRoLCB0aGlzLml0ZW1zLm1hcCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB0cmFuc2FjdGlvbi5kYXRlKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzdW1tYXJ5IG9mIGNsYWltIGFtb3VudHNcbiAgICovXG4gIGdldCBjbGFpbUFtb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uY2xhaW1BbW91bnQsIDApO1xuICB9XG5cbiAgZ2V0IGdyb3NzQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICt0aGlzLml0ZW1zLnJlZHVjZSgoc3VtOiBudW1iZXIsIHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgdHJhbnNhY3Rpb24uYW1vdW50LCAwKS50b0ZpeGVkKDIpO1xuICB9XG5cbiAgZ2V0QnlDaGFydEFjY291bnRzQ2F0ZWdvcmllcyhjYXRlZ29yaWVzOiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtW10pOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gY2F0ZWdvcmllcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLmNhdGVnb3J5KSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0cmFuc2FjdGlvbnMgYnkgbW9udGhcbiAgICogQHBhcmFtIG1vbnRoSW5kZXggYnkgd2hpY2ggZGVzaXJlZCBtb250aCBzaG91bGQgYmUgdGFrZW5cbiAgICovXG4gIGdldEJ5TW9udGgobW9udGhJbmRleDogbnVtYmVyKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbih0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PlxuICAgICAgdHJhbnNhY3Rpb24uZGF0ZS5nZXRNb250aCgpID09PSBtb250aEluZGV4XG4gICAgKSk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGZpbHRlcmVkIGJ5IGNoYXJ0IGFjY291bnRzIGlkXG4gICAqIEBwYXJhbSBjaGFydEFjY291bnRzSWQgY2hhcnQgYWNjb3VudHMgaWQgZm9yIGZpbHRlcmluZ1xuICAgKi9cbiAgZ2V0QnlDaGFydEFjY291bnRzSWQoY2hhcnRBY2NvdW50c0lkOiBudW1iZXIpOiBUcmFuc2FjdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy5pZCA9PT0gY2hhcnRBY2NvdW50c0lkKTtcbiAgfVxuXG4gIGdldEluY29tZVRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNJbmNvbWUoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW5jb21lKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5jb21lVHJhbnNhY3Rpb25zKCkuY2xhaW1BbW91bnQ7XG4gIH1cblxuICBnZXRFeHBlbnNlVHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0V4cGVuc2UoKSAmJiAhdHJhbnNhY3Rpb24uaXNJbnRlcmVzdCgpKVxuICAgICk7XG4gIH1cblxuICBnZXQgY2xhaW1FeHBlbnNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RXhwZW5zZVRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgZ2V0SW50ZXJlc3RUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzSW50ZXJlc3QoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0IGNsYWltSW50ZXJlc3QoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJbnRlcmVzdFRyYW5zYWN0aW9ucygpLmNsYWltQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb2xsZWN0aW9uIG9mIHRyYW5zYWN0aW9ucyBhbmQgcHJvcGVydGllcyBmaWx0ZXJlZCBieSBwcm9wZXJ0aWVzIGlkc1xuICAgKiBAcGFyYW0gaWRzIElkcyBvZiBwcm9wZXJ0aWVzIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5UHJvcGVydGllc0lkcyhpZHM6IG51bWJlcltdKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgcmV0dXJuIGlkcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBpbmNvbWUgc291cmNlIGlkXG4gICAqIEBwYXJhbSBpZCBpZCBvZiBpbmNvbWUgc291cmNlIGZvciBmaWx0ZXJcbiAgICovXG4gIGdldEJ5SW5jb21lU291cmNlSWQoaWQ6IG51bWJlcik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pbmNvbWVTb3VyY2U/LmlkID09PSBpZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgY29sbGVjdGlvbiBmaWx0ZXJlZCBieSBjaGFydCBhY2NvdW50cyBjYXRlZ29yeVxuICAgKiBAcGFyYW0gY2F0ZWdvcnkgQ2hhcnQgYWNjb3VudHMgY2F0ZWdvcnkgdmFsdWVcbiAgICovXG4gIGdldEJ5Q2hhcnRBY2NvdW50c0NhdGVnb3J5KGNhdGVnb3J5OiBDaGFydEFjY291bnRzQ2F0ZWdvcnlFbnVtKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkgPT09IGNhdGVnb3J5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5ldyBjb2xsZWN0aW9uIG9mIHByb3BlcnR5IHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0UHJvcGVydHlUcmFuc2FjdGlvbnMoKTogVHJhbnNhY3Rpb25Db2xsZWN0aW9uIHtcbiAgICByZXR1cm4gbmV3IFRyYW5zYWN0aW9uQ29sbGVjdGlvbihcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldERlYml0VHJhbnNhY3Rpb25zKCk6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc0RlYml0KCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldENyZWRpdFRyYW5zYWN0aW9ucygpOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb24ge1xuICAgIHJldHVybiBuZXcgVHJhbnNhY3Rpb25Db2xsZWN0aW9uKFxuICAgICAgdGhpcy5pdGVtcy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdHJhbnNhY3Rpb24uaXNDcmVkaXQoKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QnlBbGxvY2F0aW9ucyhhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24oXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiBhbGxvY2F0aW9ucy5oYXNUcmFuc2FjdGlvbih0cmFuc2FjdGlvbikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgdG8gVmVoaWNsZSBjYXRlZ29yeVxuICAgKi9cbiAgZ2V0VmVoaWNsZVRyYW5zYWN0aW9ucygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5jcmVhdGUoXG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1ZlaGljbGVUcmFuc2FjdGlvbigpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBuZXcgdHJhbnNhY3Rpb24gY29sbGVjdGlvbiBmaWx0ZXJlZCBieSB0YW5rIHR5cGVcbiAgICovXG4gIGdldEJ5VGFua1R5cGUodGFua1R5cGU6IFRhbmtUeXBlRW51bSk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmNyZWF0ZShcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgc3dpdGNoICh0YW5rVHlwZSkge1xuICAgICAgICAgIGNhc2UgVGFua1R5cGVFbnVtLlBST1BFUlRZOlxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCk7XG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uV09SSzpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1dvcmtUYW5rKCk7XG4gICAgICAgICAgY2FzZSBUYW5rVHlwZUVudW0uU09MRTpcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pc1NvbGVUYW5rKCk7XG4gICAgICAgICAgLy8gVHJhbnNhY3Rpb24gbWF5IGJlIG5vdCByZWxhdGVkIHRvIGFueSB0YW5rIHR5cGUgKHBlcnNvbmFsKVxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldEV4cG9ydEhlYWRlcigpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnRGF0ZScsICdEZXNjcmlwdGlvbicsICdEZWJpdCcsICdDcmVkaXQnXTtcbiAgfVxuXG4gIGdldEV4cG9ydEZvb3RlcigpOiBFeHBvcnRDZWxsW10ge1xuICAgIHJldHVybiBbXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiAnVG90YWwnLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiAnJywgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLlNUUklOR30pLFxuICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogdGhpcy5zdW1CeSgnZGViaXQnKSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZfSksXG4gICAgICBwbGFpblRvQ2xhc3MoRXhwb3J0Q2VsbCwge3ZhbHVlOiB0aGlzLnN1bUJ5KCdjcmVkaXQnKSwgdHlwZTogRXhwb3J0Q2VsbFR5cGVFbnVtLkNVUlJFTkNZfSlcbiAgICBdO1xuICB9XG5cbiAgZ2V0RXhwb3J0Qm9keSgpOiBFeHBvcnRDZWxsW11bXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMubWFwKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHRyYW5zYWN0aW9uLmRhdGUsIHR5cGU6IEV4cG9ydENlbGxUeXBlRW51bS5EQVRFfSksXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHRyYW5zYWN0aW9uLmRlc2NyaXB0aW9uLCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uU1RSSU5HfSksXG4gICAgICAgIHBsYWluVG9DbGFzcyhFeHBvcnRDZWxsLCB7dmFsdWU6IHRyYW5zYWN0aW9uLmRlYml0LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KSxcbiAgICAgICAgcGxhaW5Ub0NsYXNzKEV4cG9ydENlbGwsIHt2YWx1ZTogdHJhbnNhY3Rpb24uY3JlZGl0LCB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW0uQ1VSUkVOQ1l9KVxuICAgICAgXTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,28 +1,42 @@
|
|
|
1
1
|
export var TaxReturnCategoryListEnum;
|
|
2
2
|
(function (TaxReturnCategoryListEnum) {
|
|
3
3
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SALARY"] = 1] = "SALARY";
|
|
4
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES"] = 30] = "ALLOWANCES_EARNINGS_TIPS_DIRECTOR_FEES";
|
|
5
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["EMPLOYER_LUMP_SUM_PAYMENTS"] = 31] = "EMPLOYER_LUMP_SUM_PAYMENTS";
|
|
6
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ETP"] = 32] = "ETP";
|
|
7
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GOVERNMENT_ALLOWANCES"] = 2] = "GOVERNMENT_ALLOWANCES";
|
|
8
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GOVERNMENT_PENSIONS"] = 33] = "GOVERNMENT_PENSIONS";
|
|
9
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ANNUITIES_SUPER_INCOME_STREAMS"] = 3] = "ANNUITIES_SUPER_INCOME_STREAMS";
|
|
10
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SUPERANNUATION_LUMP_SUM_PAYMENTS"] = 34] = "SUPERANNUATION_LUMP_SUM_PAYMENTS";
|
|
11
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["ATTRIBUTED_PSI_INCOME"] = 4] = "ATTRIBUTED_PSI_INCOME";
|
|
4
12
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["WORK_EXPENSES"] = 7] = "WORK_EXPENSES";
|
|
5
13
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GROSS_RENT"] = 8] = "GROSS_RENT";
|
|
14
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_RENTAL_DEDUCTIONS"] = 12] = "OTHER_RENTAL_DEDUCTIONS";
|
|
6
15
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["INTEREST_DEDUCTIONS"] = 9] = "INTEREST_DEDUCTIONS";
|
|
7
16
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["CAPITAL_WORKS"] = 10] = "CAPITAL_WORKS";
|
|
8
17
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["DEPRECIATION"] = 11] = "DEPRECIATION";
|
|
9
|
-
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["
|
|
10
|
-
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["
|
|
18
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GROSS_INTEREST"] = 5] = "GROSS_INTEREST";
|
|
19
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["DIVIDENDS"] = 6] = "DIVIDENDS";
|
|
20
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SHARE_SCHEMES"] = 35] = "SHARE_SCHEMES";
|
|
11
21
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["PARTNERSHIPS_TRUSTS"] = 13] = "PARTNERSHIPS_TRUSTS";
|
|
12
|
-
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["
|
|
22
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["PSI_SBE_INCOME"] = 14] = "PSI_SBE_INCOME";
|
|
23
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["SOLE_TRADER_BUSINESS_INCOME"] = 38] = "SOLE_TRADER_BUSINESS_INCOME";
|
|
13
24
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["CAPITAL_GAINS"] = 15] = "CAPITAL_GAINS";
|
|
14
25
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["FOREIGN_SOURCE_INCOME"] = 16] = "FOREIGN_SOURCE_INCOME";
|
|
15
|
-
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["
|
|
26
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["BONUSES_FROM_LIFE_INSURANCE"] = 17] = "BONUSES_FROM_LIFE_INSURANCE";
|
|
27
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["FORESTRY_MANAGED_INVESTMENT_SCHEMES"] = 39] = "FORESTRY_MANAGED_INVESTMENT_SCHEMES";
|
|
28
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_INCOME"] = 40] = "OTHER_INCOME";
|
|
29
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_CREDITS"] = 23] = "TAX_CREDITS";
|
|
16
30
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["OTHER_DEDUCTIONS"] = 18] = "OTHER_DEDUCTIONS";
|
|
31
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_OFFSETS"] = 27] = "TAX_OFFSETS";
|
|
32
|
+
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["BORROWING_EXPENSES"] = 29] = "BORROWING_EXPENSES";
|
|
17
33
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["GROSS_TAX_PAYABLE"] = 19] = "GROSS_TAX_PAYABLE";
|
|
18
34
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_ON_TAXABLE_INCOME"] = 20] = "TAX_ON_TAXABLE_INCOME";
|
|
19
35
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["MEDICARE"] = 21] = "MEDICARE";
|
|
20
36
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["STUDENT_LOAN_REPAYMENT"] = 22] = "STUDENT_LOAN_REPAYMENT";
|
|
21
|
-
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_CREDITS"] = 23] = "TAX_CREDITS";
|
|
22
37
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_WITHHELD"] = 24] = "TAX_WITHHELD";
|
|
23
38
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_INSTALMENTS"] = 25] = "TAX_INSTALMENTS";
|
|
24
39
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["FRANKING_CREDITS"] = 26] = "FRANKING_CREDITS";
|
|
25
|
-
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_OFFSETS"] = 27] = "TAX_OFFSETS";
|
|
26
40
|
TaxReturnCategoryListEnum[TaxReturnCategoryListEnum["TAX_PAYABLE"] = 28] = "TAX_PAYABLE";
|
|
27
41
|
})(TaxReturnCategoryListEnum || (TaxReturnCategoryListEnum = {}));
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldHVybi1jYXRlZ29yeS1saXN0LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvZGIvRW51bXMvdGF4LXJldHVybi1jYXRlZ29yeS1saXN0LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVkseUJBaURYO0FBakRELFdBQVkseUJBQXlCO0lBQ25DLDZFQUFVLENBQUE7SUFDViw4SUFBMkMsQ0FBQTtJQUMzQyxzSEFBK0IsQ0FBQTtJQUMvQix3RUFBUSxDQUFBO0lBQ1IsMkdBQXlCLENBQUE7SUFDekIsd0dBQXdCLENBQUE7SUFDeEIsNkhBQWtDLENBQUE7SUFDbEMsa0lBQXFDLENBQUE7SUFDckMsMkdBQXlCLENBQUE7SUFFekIsMkZBQWlCLENBQUE7SUFFakIscUZBQWMsQ0FBQTtJQUVkLGdIQUE0QixDQUFBO0lBRTVCLHVHQUF1QixDQUFBO0lBRXZCLDRGQUFrQixDQUFBO0lBQ2xCLDBGQUFpQixDQUFBO0lBRWpCLDZGQUFrQixDQUFBO0lBQ2xCLG1GQUFhLENBQUE7SUFDYiw0RkFBa0IsQ0FBQTtJQUNsQix3R0FBd0IsQ0FBQTtJQUN4Qiw4RkFBbUIsQ0FBQTtJQUNuQix3SEFBZ0MsQ0FBQTtJQUNoQyw0RkFBa0IsQ0FBQTtJQUNsQiw0R0FBMEIsQ0FBQTtJQUMxQix3SEFBZ0MsQ0FBQTtJQUNoQyx3SUFBd0MsQ0FBQTtJQUN4QywwRkFBaUIsQ0FBQTtJQUVqQix3RkFBZ0IsQ0FBQTtJQUVoQixrR0FBcUIsQ0FBQTtJQUVyQix3RkFBZ0IsQ0FBQTtJQUVoQixzR0FBdUIsQ0FBQTtJQUN2QixvR0FBc0IsQ0FBQTtJQUN0Qiw0R0FBMEIsQ0FBQTtJQUMxQixrRkFBYSxDQUFBO0lBQ2IsOEdBQTJCLENBQUE7SUFDM0IsMEZBQWlCLENBQUE7SUFDakIsZ0dBQW9CLENBQUE7SUFDcEIsa0dBQXFCLENBQUE7SUFDckIsd0ZBQWdCLENBQUE7QUFDbEIsQ0FBQyxFQWpEVyx5QkFBeUIsS0FBekIseUJBQXlCLFFBaURwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFRheFJldHVybkNhdGVnb3J5TGlzdEVudW0ge1xuICBTQUxBUlkgPSAxLFxuICBBTExPV0FOQ0VTX0VBUk5JTkdTX1RJUFNfRElSRUNUT1JfRkVFUyA9IDMwLFxuICBFTVBMT1lFUl9MVU1QX1NVTV9QQVlNRU5UUyA9IDMxLFxuICBFVFAgPSAzMixcbiAgR09WRVJOTUVOVF9BTExPV0FOQ0VTID0gMixcbiAgR09WRVJOTUVOVF9QRU5TSU9OUyA9IDMzLFxuICBBTk5VSVRJRVNfU1VQRVJfSU5DT01FX1NUUkVBTVMgPSAzLFxuICBTVVBFUkFOTlVBVElPTl9MVU1QX1NVTV9QQVlNRU5UUyA9IDM0LFxuICBBVFRSSUJVVEVEX1BTSV9JTkNPTUUgPSA0LFxuXG4gIFdPUktfRVhQRU5TRVMgPSA3LFxuXG4gIEdST1NTX1JFTlQgPSA4LFxuXG4gIE9USEVSX1JFTlRBTF9ERURVQ1RJT05TID0gMTIsXG5cbiAgSU5URVJFU1RfREVEVUNUSU9OUyA9IDksXG5cbiAgQ0FQSVRBTF9XT1JLUyA9IDEwLFxuICBERVBSRUNJQVRJT04gPSAxMSxcblxuICBHUk9TU19JTlRFUkVTVCA9IDUsXG4gIERJVklERU5EUyA9IDYsXG4gIFNIQVJFX1NDSEVNRVMgPSAzNSxcbiAgUEFSVE5FUlNISVBTX1RSVVNUUyA9IDEzLFxuICBQU0lfU0JFX0lOQ09NRSA9IDE0LFxuICBTT0xFX1RSQURFUl9CVVNJTkVTU19JTkNPTUUgPSAzOCxcbiAgQ0FQSVRBTF9HQUlOUyA9IDE1LFxuICBGT1JFSUdOX1NPVVJDRV9JTkNPTUUgPSAxNixcbiAgQk9OVVNFU19GUk9NX0xJRkVfSU5TVVJBTkNFID0gMTcsXG4gIEZPUkVTVFJZX01BTkFHRURfSU5WRVNUTUVOVF9TQ0hFTUVTID0gMzksXG4gIE9USEVSX0lOQ09NRSA9IDQwLFxuXG4gIFRBWF9DUkVESVRTID0gMjMsXG5cbiAgT1RIRVJfREVEVUNUSU9OUyA9IDE4LFxuXG4gIFRBWF9PRkZTRVRTID0gMjcsXG5cbiAgQk9SUk9XSU5HX0VYUEVOU0VTID0gMjksXG4gIEdST1NTX1RBWF9QQVlBQkxFID0gMTksXG4gIFRBWF9PTl9UQVhBQkxFX0lOQ09NRSA9IDIwLFxuICBNRURJQ0FSRSA9IDIxLFxuICBTVFVERU5UX0xPQU5fUkVQQVlNRU5UID0gMjIsXG4gIFRBWF9XSVRISEVMRCA9IDI0LFxuICBUQVhfSU5TVEFMTUVOVFMgPSAyNSxcbiAgRlJBTktJTkdfQ1JFRElUUyA9IDI2LFxuICBUQVhfUEFZQUJMRSA9IDI4LFxufVxuIl19
|
|
@@ -64,4 +64,4 @@ export class BankTransaction extends BankTransactionBase {
|
|
|
64
64
|
__decorate([
|
|
65
65
|
Type(() => Date)
|
|
66
66
|
], BankTransaction.prototype, "date", void 0);
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay10cmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxJQUFJLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHekQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsbUJBQW1CO0lBQXhEOztRQUNFLDhDQUE4QztRQUM5QyxvQkFBZSxHQUFXLENBQUMsQ0FBQztRQUM1QixzQkFBaUIsR0FBVyxDQUFDLENBQUM7SUE4RGhDLENBQUM7SUF2REM7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ3hFLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssdUJBQXVCLENBQUMsS0FBSyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssdUJBQXVCLENBQUMsTUFBTSxDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUU7WUFDL0IsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQy9CLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixNQUFNLEVBQUUscUJBQXFCLENBQUMsZ0JBQWdCO1lBQzlDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDaEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLFdBQTRDO1FBQ3RELE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCLENBQUMsV0FBNEM7UUFDN0QsT0FBTyxXQUFXLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsV0FBNEM7UUFDL0QsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0Y7QUF6REM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzZDQUNOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFua1RyYW5zYWN0aW9uIGFzIEJhbmtUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi9kYi9Nb2RlbHMvYmFuay9iYW5rLXRyYW5zYWN0aW9uJztcbmltcG9ydCB7IEJhbmtUcmFuc2FjdGlvblR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvYmFuay10cmFuc2FjdGlvbi10eXBlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzLCBUeXBlIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkFsbG9jYXRpb25Db2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tYWxsb2NhdGlvbi5jb2xsZWN0aW9uJztcblxuZXhwb3J0IGNsYXNzIEJhbmtUcmFuc2FjdGlvbiBleHRlbmRzIEJhbmtUcmFuc2FjdGlvbkJhc2Uge1xuICAvLyBhbGxvY2F0ZWQgbW9uZXkgYW1vdW50IGZvciBiYW5rIHRyYW5zYWN0aW9uXG4gIGFsbG9jYXRlZEFtb3VudDogbnVtYmVyID0gMDtcbiAgdW5hbGxvY2F0ZWRBbW91bnQ6IG51bWJlciA9IDA7XG5cbiAgb3BlcmF0aW9uOiBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW07XG5cbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZTogRGF0ZTtcblxuICAvKipcbiAgICogZ2V0IGFsbG9jYXRlZCBhbW91bnQgdmFsdWUgYnV0IHdpdGggKy8tIHNpZ25cbiAgICovXG4gIGdldCBiYWxhbmNlQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXNDcmVkaXQoKSA/IHRoaXMuYWxsb2NhdGVkQW1vdW50IDogLXRoaXMuYWxsb2NhdGVkQW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGNoZWNrIGlmIGJhbmsgdHJhbnNhY3Rpb24gaXMgZGViaXRcbiAgICovXG4gIGlzRGViaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gQmFua1RyYW5zYWN0aW9uVHlwZUVudW0uREVCSVQ7XG4gIH1cblxuICAvKipcbiAgICogY2hlY2sgaWYgYmFuayB0cmFuc2FjdGlvbiBpcyBjcmVkaXRcbiAgICovXG4gIGlzQ3JlZGl0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEJhbmtUcmFuc2FjdGlvblR5cGVFbnVtLkNSRURJVDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgVHJhbnNhY3Rpb24gaW5zdGFuY2UgYmFzZWQgb24gQmFuayBUcmFuc2FjdGlvblxuICAgKi9cbiAgdG9UcmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwge1xuICAgICAgYW1vdW50OiArdGhpcy5hbW91bnQudG9GaXhlZCgyKSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgZGF0ZTogdGhpcy5kYXRlLFxuICAgICAgc291cmNlOiBUcmFuc2FjdGlvblNvdXJjZUVudW0uQkFOS19UUkFOU0FDVElPTixcbiAgICAgIG9wZXJhdGlvbjogdGhpcy5vcGVyYXRpb24sXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgYmFuayB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZWx5IGFsbG9jYXRlZFxuICAgKi9cbiAgaXNBbGxvY2F0ZWQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hbW91bnQgPT09IHRoaXMuZ2V0QWxsb2NhdGVkQW1vdW50KGFsbG9jYXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYmFuayB0cmFuc2FjdGlvbiBhbGxvY2F0ZWQgYW1vdW50XG4gICAqL1xuICBnZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnM6IFRyYW5zYWN0aW9uQWxsb2NhdGlvbkNvbGxlY3Rpb24pOiBudW1iZXIge1xuICAgIHJldHVybiBhbGxvY2F0aW9ucy5nZXRCeUJhbmtUcmFuc2FjdGlvbnNJZHMoW3RoaXMuaWRdKS5hbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGJhbmsgdHJhbnNhY3Rpb24gdW5hbGxvY2F0ZWQgYW1vdW50XG4gICAqL1xuICBnZXRVbmFsbG9jYXRlZEFtb3VudChhbGxvY2F0aW9uczogVHJhbnNhY3Rpb25BbGxvY2F0aW9uQ29sbGVjdGlvbik6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYW1vdW50IC0gdGhpcy5nZXRBbGxvY2F0ZWRBbW91bnQoYWxsb2NhdGlvbnMpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* type of export table column value
|
|
3
|
+
*/
|
|
4
|
+
export var ExportCellTypeEnum;
|
|
5
|
+
(function (ExportCellTypeEnum) {
|
|
6
|
+
ExportCellTypeEnum[ExportCellTypeEnum["STRING"] = 0] = "STRING";
|
|
7
|
+
ExportCellTypeEnum[ExportCellTypeEnum["CURRENCY"] = 1] = "CURRENCY";
|
|
8
|
+
ExportCellTypeEnum[ExportCellTypeEnum["DATE"] = 2] = "DATE";
|
|
9
|
+
})(ExportCellTypeEnum || (ExportCellTypeEnum = {}));
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNlbGwtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9leHBvcnQvZXhwb3J0LWNlbGwtdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksa0JBSVg7QUFKRCxXQUFZLGtCQUFrQjtJQUM1QiwrREFBTSxDQUFBO0lBQ04sbUVBQVEsQ0FBQTtJQUNSLDJEQUFJLENBQUE7QUFDTixDQUFDLEVBSlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUk3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogdHlwZSBvZiBleHBvcnQgdGFibGUgY29sdW1uIHZhbHVlXG4gKi9cbmV4cG9ydCBlbnVtIEV4cG9ydENlbGxUeXBlRW51bSB7XG4gIFNUUklORyxcbiAgQ1VSUkVOQ1ksXG4gIERBVEVcbn1cbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* export table column
|
|
3
|
+
*/
|
|
4
|
+
export class ExportCell {
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNlbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2V4cG9ydC9leHBvcnQtY2VsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0NBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXhwb3J0Q2VsbFR5cGVFbnVtIH0gZnJvbSAnLi9leHBvcnQtY2VsbC10eXBlLmVudW0nO1xuXG4vKipcbiAqIGV4cG9ydCB0YWJsZSBjb2x1bW5cbiAqL1xuZXhwb3J0IGNsYXNzIEV4cG9ydENlbGwge1xuICB2YWx1ZTogYW55O1xuICB0eXBlOiBFeHBvcnRDZWxsVHlwZUVudW1cbn1cbiJdfQ==
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data table structure suitable for export
|
|
3
|
-
*/
|
|
4
1
|
export class ExportDataTable {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.footer = [];
|
|
7
|
-
}
|
|
8
2
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWRhdGEtdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL2V4cG9ydC9leHBvcnQtZGF0YS10YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sZUFBZTtDQUszQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGF0YSB0YWJsZSBzdHJ1Y3R1cmUgc3VpdGFibGUgZm9yIGV4cG9ydFxuICovXG5pbXBvcnQgeyBFeHBvcnRDZWxsIH0gZnJvbSAnLi9leHBvcnQtY2VsbCc7XG5cbmV4cG9ydCBjbGFzcyBFeHBvcnREYXRhVGFibGUge1xuICBjYXB0aW9uPzogc3RyaW5nO1xuICBoZWFkZXI6IHN0cmluZ1tdO1xuICBib2R5OiBFeHBvcnRDZWxsW11bXTtcbiAgZm9vdGVyOiBFeHBvcnRDZWxsW11bXVxufVxuIl19
|
|
@@ -42,4 +42,4 @@ export class IncomeSourceChartData {
|
|
|
42
42
|
return chartData;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jb21lLXNvdXJjZS1jaGFydC1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9pbmNvbWUtc291cmNlL2luY29tZS1zb3VyY2UtY2hhcnQtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXRFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUNFLHNCQUE4QixFQUM5QixZQUFtQztRQUVuQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7UUFDckQsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsR0FBRztRQUNELE1BQU0sU0FBUyxHQUFpQixDQUFDO2dCQUMvQixFQUFFLEVBQUUsY0FBYztnQkFDbEIsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLElBQUksRUFBRSxFQUFFO2dCQUNSLHVGQUF1RjtnQkFDdkYsS0FBSyxFQUFFLENBQUM7d0JBQ04saUNBQWlDO3dCQUNqQyxLQUFLLEVBQUUsSUFBSSxhQUFhLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTt3QkFDeEUsU0FBUyxFQUFFLE9BQU87cUJBQ25CLEVBQUU7d0JBQ0QscUJBQXFCO3dCQUNyQixTQUFTLEVBQUUsTUFBTTtxQkFDbEIsQ0FBQzthQUNILEVBQUU7Z0JBQ0QsRUFBRSxFQUFFLGtCQUFrQjtnQkFDdEIsSUFBSSxFQUFFLG1CQUFtQjtnQkFDekIsSUFBSSxFQUFFLEVBQUU7YUFDVCxDQUFDLENBQUM7UUFFSCxLQUFLLE1BQU0sR0FBRyxJQUFJLGtCQUFrQixFQUFFO1lBQ3BDLElBQUksa0JBQWtCLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUMxQyw0Q0FBNEM7Z0JBQzVDLE1BQU0sMEJBQTBCLEdBQTBCLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBRTlHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSwwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUMvSCxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDL0g7U0FDRjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zYWN0aW9uQ29sbGVjdGlvbiB9IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgSUNoYXJ0RGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY2hhcnQtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IE1vbnRoTmFtZVNob3J0RW51bSB9IGZyb20gJy4uL2ZpbmFuY2lhbC15ZWFyL21vbnRoLW5hbWUtc2hvcnQuZW51bSc7XG5pbXBvcnQgeyBNb250aE51bWJlckVudW0gfSBmcm9tICcuLi9maW5hbmNpYWwteWVhci9tb250aC1udW1iZXIuZW51bSc7XG5cbi8qKlxuICogSW5jb21lIHNvdXJjZXMgY2hhcnQgZGF0YVxuICovXG5leHBvcnQgY2xhc3MgSW5jb21lU291cmNlQ2hhcnREYXRhIHtcbiAgcHJpdmF0ZSBmb3JlY2FzdGVkSW5jb21lQW1vdW50OiBudW1iZXI7XG4gIHByaXZhdGUgdHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbkNvbGxlY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZm9yZWNhc3RlZEluY29tZUFtb3VudDogbnVtYmVyLFxuICAgIHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uLFxuICApIHtcbiAgICB0aGlzLmZvcmVjYXN0ZWRJbmNvbWVBbW91bnQgPSBmb3JlY2FzdGVkSW5jb21lQW1vdW50O1xuICAgIHRoaXMudHJhbnNhY3Rpb25zID0gdHJhbnNhY3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBwcmVwYXJlZCBkYXRhIGZvciBpbmNvbWUgc291cmNlcyBjaGFydFxuICAgKi9cbiAgZ2V0KCk6IElDaGFydERhdGFbXSB7XG4gICAgY29uc3QgY2hhcnREYXRhOiBJQ2hhcnREYXRhW10gPSBbe1xuICAgICAgaWQ6ICdhY3R1YWxJbmNvbWUnLFxuICAgICAgbmFtZTogJ0FjdHVhbCBJbmNvbWUnLFxuICAgICAgZGF0YTogW10sXG4gICAgICAvLyBkaXNwbGF5IGZ1dHVyZSBhY3R1YWwgaW5jb21lcyB3aXRoIGRhc2ggbGluZSBhbmQgcGFzdCBhY3R1YWwgaW5jb21lcyB3aXRoIHNvbGlkIGxpbmVcbiAgICAgIHpvbmVzOiBbe1xuICAgICAgICAvLyBsaW5lIHN0eWxlIGFmdGVyIGN1cnJlbnQgbW9udGhcbiAgICAgICAgdmFsdWU6IG5ldyBGaW5hbmNpYWxZZWFyKCkuZ2V0TW9udGhEYXRlKG5ldyBEYXRlKCkuZ2V0TW9udGgoKSkuZ2V0VGltZSgpLFxuICAgICAgICBkYXNoU3R5bGU6ICdTb2xpZCdcbiAgICAgIH0sIHtcbiAgICAgICAgLy8gZGVmYXVsdCBsaW5lIHN0eWxlXG4gICAgICAgIGRhc2hTdHlsZTogJ0Rhc2gnXG4gICAgICB9XVxuICAgIH0sIHtcbiAgICAgIGlkOiAnZm9yZWNhc3RlZEluY29tZScsXG4gICAgICBuYW1lOiAnRm9yZWNhc3RlZCBJbmNvbWUnLFxuICAgICAgZGF0YTogW10sXG4gICAgfV07XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBNb250aE5hbWVTaG9ydEVudW0pIHtcbiAgICAgIGlmIChNb250aE5hbWVTaG9ydEVudW0uaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAvLyB0cmFuc2FjdGlvbiBjb2xsZWN0aW9uIGZvciBwcm92aWRlZCBtb250aFxuICAgICAgICBjb25zdCBtb250aFRyYW5zYWN0aW9uQ29sbGVjdGlvbjogVHJhbnNhY3Rpb25Db2xsZWN0aW9uID0gdGhpcy50cmFuc2FjdGlvbnMuZ2V0QnlNb250aCgrTW9udGhOdW1iZXJFbnVtW2tleV0pO1xuXG4gICAgICAgIGNoYXJ0RGF0YVswXS5kYXRhLnB1c2goW25ldyBGaW5hbmNpYWxZZWFyKCkuZ2V0TW9udGhEYXRlKCtNb250aE51bWJlckVudW1ba2V5XSkuZ2V0VGltZSgpLCBtb250aFRyYW5zYWN0aW9uQ29sbGVjdGlvbi5hbW91bnRdKTtcbiAgICAgICAgY2hhcnREYXRhWzFdLmRhdGEucHVzaChbbmV3IEZpbmFuY2lhbFllYXIoKS5nZXRNb250aERhdGUoK01vbnRoTnVtYmVyRW51bVtrZXldKS5nZXRUaW1lKCksIHRoaXMuZm9yZWNhc3RlZEluY29tZUFtb3VudCAvIDEyXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoYXJ0RGF0YTtcbiAgfVxufVxuIl19
|
|
@@ -1,34 +1,12 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import {
|
|
3
|
-
import { ExportRow } from '../export/export-row';
|
|
4
|
-
import { ExportRowDataTypeEnum } from '../export/export-row-data-type.enum';
|
|
5
|
-
export const EXPORT_DATA_TABLE_COLUMNS = [
|
|
6
|
-
'Pmt No.',
|
|
7
|
-
'Date',
|
|
8
|
-
'Payment Due',
|
|
9
|
-
'Interest Accrued',
|
|
10
|
-
'Principal Paid',
|
|
11
|
-
'Principal Balance',
|
|
12
|
-
'Payout'
|
|
13
|
-
];
|
|
2
|
+
import { Type } from 'class-transformer';
|
|
14
3
|
// @Todo no base model from backend list
|
|
15
4
|
/**
|
|
16
5
|
* Loan payment class
|
|
17
6
|
*/
|
|
18
7
|
export class LoanPayment {
|
|
19
|
-
toDataTableRows() {
|
|
20
|
-
return [
|
|
21
|
-
plainToClass(ExportRow, { data: this.number, type: ExportRowDataTypeEnum.STRING }),
|
|
22
|
-
plainToClass(ExportRow, { data: this.date, type: ExportRowDataTypeEnum.DATE }),
|
|
23
|
-
plainToClass(ExportRow, { data: this.paymentDue, type: ExportRowDataTypeEnum.CURRENCY }),
|
|
24
|
-
plainToClass(ExportRow, { data: this.interestAccrued, type: ExportRowDataTypeEnum.CURRENCY }),
|
|
25
|
-
plainToClass(ExportRow, { data: this.principalPaid, type: ExportRowDataTypeEnum.CURRENCY }),
|
|
26
|
-
plainToClass(ExportRow, { data: this.principalBalance, type: ExportRowDataTypeEnum.CURRENCY }),
|
|
27
|
-
plainToClass(ExportRow, { data: this.payout, type: ExportRowDataTypeEnum.CURRENCY }),
|
|
28
|
-
];
|
|
29
|
-
}
|
|
30
8
|
}
|
|
31
9
|
__decorate([
|
|
32
10
|
Type(() => Date)
|
|
33
11
|
], LoanPayment.prototype, "date", void 0);
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hbi1wYXltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL21vZGVscy9sb2FuL2xvYW4tcGF5bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXpDLHdDQUF3QztBQUN4Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFXO0NBV3ZCO0FBVEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3lDQUNOIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcblxuLy8gQFRvZG8gbm8gYmFzZSBtb2RlbCBmcm9tIGJhY2tlbmQgbGlzdFxuLyoqXG4gKiBMb2FuIHBheW1lbnQgY2xhc3NcbiAqL1xuZXhwb3J0IGNsYXNzIExvYW5QYXltZW50IHtcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgZGF0ZTogRGF0ZTtcbiAgaW50ZXJlc3RBY2NydWVkOiBudW1iZXI7XG4gIGludGVyZXN0QmFsYW5jZTogbnVtYmVyO1xuICBudW1iZXI6IG51bWJlcjtcbiAgcGF5bWVudER1ZTogbnVtYmVyO1xuICBwcmluY2lwYWxCYWxhbmNlOiBudW1iZXI7XG4gIHByaW5jaXBhbFBhaWQ6IG51bWJlcjtcbiAgcGF5b3V0OiBudW1iZXI7XG4gIHRvdGFsT3dlZDogbnVtYmVyO1xufVxuIl19
|
|
@@ -88,4 +88,4 @@ export class VehicleClaim extends VehicleClaimBase {
|
|
|
88
88
|
return ChartAccountsListEnum.KLMS_TRAVELLED;
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvbG9nYm9vay92ZWhpY2xlLWNsYWltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLElBQUksZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHekQsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBRXpCLE1BQU0sT0FBTyxZQUFhLFNBQVEsZ0JBQWdCO0lBQWxEOztRQUNFLDZCQUE2QjtRQUM3QixhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLGtCQUFhLEdBQVcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFFakQsV0FBTSxHQUEyQixzQkFBc0IsQ0FBQyxHQUFHLENBQUM7UUFDNUQsZUFBVSxHQUFXLENBQUMsQ0FBQztRQUN2QixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGFBQVEsR0FBWSxJQUFJLENBQUM7SUFrRjNCLENBQUM7SUFoRkM7O09BRUc7SUFDSCxJQUFJLHdCQUF3QjtRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLHNCQUFzQixDQUFDLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxzQkFBc0IsQ0FBQyxHQUFHLENBQUM7SUFDcEQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLGdCQUF3QjtRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7O09BR0c7SUFDSCxxQkFBcUIsQ0FBQyxZQUFtQztRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxNQUFNLGtCQUFrQixHQUFXLFlBQVk7YUFDNUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDNUIsc0JBQXNCLEVBQUU7WUFDekIsb0VBQW9FO2FBQ25FLE1BQU0sQ0FBQyxDQUFDLFdBQXdCLEVBQVcsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDekcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5CLCtHQUErRztRQUMvRyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsYUFBYSxDQUFDLGdCQUF3QjtRQUNwQyxPQUFPLFlBQVksQ0FBQyxXQUFXLEVBQUU7WUFDL0IsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsZ0JBQWdCO1lBQzFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxJQUFJO1lBQ2xDLElBQUksRUFBRSxtQkFBbUIsQ0FBQyxLQUFLO1lBQy9CLFdBQVcsRUFBRSxDQUFDO1lBQ2QsV0FBVyxFQUFFLGNBQWM7WUFDM0IsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLFFBQVEsQ0FBQztZQUNuRCxZQUFZLEVBQUUsR0FBRztZQUNqQixhQUFhLEVBQUU7Z0JBQ2IsRUFBRSxFQUFFLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ3pEO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdDQUFnQyxDQUFDLFdBQXlCLElBQUksQ0FBQyxRQUFRO1FBQ3JFLElBQUksUUFBUSxLQUFLLFlBQVksQ0FBQyxJQUFJLEVBQUU7WUFDbEMsT0FBTyxxQkFBcUIsQ0FBQyx1QkFBdUIsQ0FBQztTQUN0RDtRQUVELE9BQU8scUJBQXFCLENBQUMsY0FBYyxDQUFBO0lBQzdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlaGljbGVDbGFpbSBhcyBWZWhpY2xlQ2xhaW1CYXNlIH0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3ZlaGljbGUvdmVoaWNsZS1jbGFpbSc7XG5pbXBvcnQgeyBWZWhpY2xlQ2xhaW1NZXRob2RFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdmVoaWNsZS1jbGFpbS1tZXRob2QuZW51bSc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgVGFua1R5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdGFuay10eXBlLmVudW0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25Tb3VyY2VFbnVtIH0gZnJvbSAnLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tc291cmNlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25UeXBlRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3RyYW5zYWN0aW9uLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzTGlzdEVudW0gfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1saXN0LmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbkNvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi9jb2xsZWN0aW9ucy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi5jb2xsZWN0aW9uJztcblxuY29uc3QgV0VFS1NfSU5fWUVBUiA9IDUyO1xuXG5leHBvcnQgY2xhc3MgVmVoaWNsZUNsYWltIGV4dGVuZHMgVmVoaWNsZUNsYWltQmFzZSB7XG4gIC8vIGxpbWl0IGZvciBrbXMgY2xhaW0gbWV0aG9kXG4gIGttc0xpbWl0OiBudW1iZXIgPSA1MDAwO1xuICBmaW5hbmNpYWxZZWFyOiBudW1iZXIgPSBuZXcgRmluYW5jaWFsWWVhcigpLnllYXI7XG5cbiAgbWV0aG9kOiBWZWhpY2xlQ2xhaW1NZXRob2RFbnVtID0gVmVoaWNsZUNsYWltTWV0aG9kRW51bS5LTVM7XG4gIGtpbG9tZXRlcnM6IG51bWJlciA9IDA7XG4gIHdvcmtVc2FnZTogbnVtYmVyID0gMDtcbiAgaXNNYW51YWw6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBnZXQgYW1vdW50IG9mIGtpbG9tZXRyZXMgcGVyIHdlZWtcbiAgICovXG4gIGdldCBhdmVyYWdlV2Vla2x5VHJhdmVsZWRLbXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5raWxvbWV0ZXJzIC8gV0VFS1NfSU5fWUVBUjtcbiAgfVxuXG4gIGlzTG9nYm9va01ldGhvZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZXRob2QgPT09IFZlaGljbGVDbGFpbU1ldGhvZEVudW0uTE9HQk9PSztcbiAgfVxuXG4gIGlzS0xNc01ldGhvZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tZXRob2QgPT09IFZlaGljbGVDbGFpbU1ldGhvZEVudW0uS01TO1xuICB9XG5cbiAgaXNXb3JrVGFuaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50YW5rVHlwZSA9PT0gVGFua1R5cGVFbnVtLldPUks7XG4gIH1cblxuICBpc1NvbGVUYW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uU09MRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGFpbSBhbW91bnQgZm9yIEtMTXMgbWV0aG9kLiBFeGlzdHMgb25seSBmb3IgS0xNcyBtZXRob2QuXG4gICAqL1xuICBnZXRLTE1zQ2xhaW1BbW91bnQodmVoaWNsZUNsYWltUmF0ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNLTE1zTWV0aG9kKCkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiArKHRoaXMua2lsb21ldGVycyAqIHZlaGljbGVDbGFpbVJhdGUpLnRvRml4ZWQoMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGxvZ2Jvb2sgY2xhaW0gYW1vdW50LiBFeGlzdHMgb25seSBmb3IgbG9nYm9vayBtZXRob2QuXG4gICAqIENsYWltQW1vdW50ID0gV29ya1VzYWdlICogdHJhbnNhY3Rpb24vZGVwcmVjaWF0aW9uIGFtb3VudFxuICAgKi9cbiAgZ2V0TG9nYm9va0NsYWltQW1vdW50KHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25Db2xsZWN0aW9uKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuaXNMb2dib29rTWV0aG9kKCkpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIGNvbnN0IHRyYW5zYWN0aW9uc0Ftb3VudDogbnVtYmVyID0gdHJhbnNhY3Rpb25zXG4gICAgICAuZ2V0QnlUYW5rVHlwZSh0aGlzLnRhbmtUeXBlKVxuICAgICAgLmdldFZlaGljbGVUcmFuc2FjdGlvbnMoKVxuICAgICAgLy8gZXhjZXB0IGtsbXMgdHJhbnNhY3Rpb25zIGJlY2F1c2UgdGhleSBuZWVkZWQgb25seSBmb3Iga2xtcyBtZXRob2RcbiAgICAgIC5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gIXRyYW5zYWN0aW9uLmNoYXJ0QWNjb3VudHMuaXNLTE1zQnlUYW5rVHlwZSh0aGlzLnRhbmtUeXBlKSlcbiAgICAgIC5zdW1CeSgnYW1vdW50Jyk7XG5cbiAgICAvLyBNYXRoLmFicyBiZWNhdXNlIGFtb3VudCB3aWxsIGJlIG5lZ2F0aXZlIChiZWNhdXNlIHdlIHN1bSBleHBlbnNlcyksIGJ1dCB3ZSBkb24ndCB3YW50IG5lZ2F0aXZlIHBlcmNlbnQgdmFsdWVcbiAgICByZXR1cm4gTWF0aC5hYnModHJhbnNhY3Rpb25zQW1vdW50KSAqIHRoaXMud29ya1VzYWdlIC8gMTAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBLTE1zIHRyYW5zYWN0aW9uIGJhc2VkIG9uIHZlaGljbGUgY2xhaW0gYW5kIHZlaGljbGUgY2xhaW0gcmF0ZVxuICAgKiBAVE9ETyBoYW5kbGUgb24gYmFja2VuZDogQ3JlYXRlIGtsbXMgdHJhbnNhY3Rpb24gd2hlbiB2aGljbGUgY2xhaW0gY3JlYXRlZFxuICAgKi9cbiAgdG9UcmFuc2FjdGlvbih2ZWhpY2xlQ2xhaW1SYXRlOiBudW1iZXIpOiBUcmFuc2FjdGlvbiB7XG4gICAgcmV0dXJuIHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwge1xuICAgICAgYW1vdW50OiB0aGlzLmtpbG9tZXRlcnMgKiB2ZWhpY2xlQ2xhaW1SYXRlLFxuICAgICAgc291cmNlOiBUcmFuc2FjdGlvblNvdXJjZUVudW0uQ0FTSCxcbiAgICAgIHR5cGU6IFRyYW5zYWN0aW9uVHlwZUVudW0uREVCSVQsXG4gICAgICB0YXhXaXRoaGVsZDogMCxcbiAgICAgIGRlc2NyaXB0aW9uOiAnS2xt4oCZcyBtZXRob2QnLFxuICAgICAgZGF0ZTogbmV3IERhdGUoYCR7bmV3IEZpbmFuY2lhbFllYXIoKS55ZWFyfS0wNi0zMGApLFxuICAgICAgY2xhaW1QZXJjZW50OiAxMDAsXG4gICAgICBjaGFydEFjY291bnRzOiB7XG4gICAgICAgIGlkOiB0aGlzLmdldEtsbXNDaGFydEFjY291bnRzSWRCeVRhbmtUeXBlKHRoaXMudGFua1R5cGUpXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRLbG1zQ2hhcnRBY2NvdW50c0lkQnlUYW5rVHlwZSh0YW5rVHlwZTogVGFua1R5cGVFbnVtID0gdGhpcy50YW5rVHlwZSk6IG51bWJlciB7XG4gICAgaWYgKHRhbmtUeXBlID09PSBUYW5rVHlwZUVudW0uV09SSykge1xuICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNMaXN0RW51bS5LTE1TX1RSQVZFTExFRF9GT1JfV09SSztcbiAgICB9XG5cbiAgICByZXR1cm4gQ2hhcnRBY2NvdW50c0xpc3RFbnVtLktMTVNfVFJBVkVMTEVEXG4gIH1cbn1cbiJdfQ==
|