scanoss 0.13.2 → 0.15.0
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/CHANGELOG.md +5 -1
- package/build/main/cli/bin/cli-bin.js +7 -6
- package/build/main/cli/commands/crypto.js +4 -4
- package/build/main/cli/commands/dep.js +4 -4
- package/build/main/cli/commands/helpers.js +6 -4
- package/build/main/cli/commands/scan.js +15 -14
- package/build/main/cli/commands/wfp.js +4 -4
- package/build/main/index.js +7 -2
- package/build/main/sdk/BaseConfig.d.ts +5 -2
- package/build/main/sdk/BaseConfig.js +9 -38
- package/build/main/sdk/Constants.js +2 -1
- package/build/main/sdk/Cryptography/CryptoCfg.js +2 -1
- package/build/main/sdk/Cryptography/CryptoDef/CryptoDef.js +4 -4
- package/build/main/sdk/Cryptography/CryptoProvider/LocalCrypto.js +4 -3
- package/build/main/sdk/Cryptography/CryptographyScanner.js +3 -2
- package/build/main/sdk/Cryptography/CryptographyTypes.js +1 -0
- package/build/main/sdk/Cryptography/Scanneable/CryptoItem.js +2 -1
- package/build/main/sdk/Cryptography/Worker/ThreadPool.js +2 -1
- package/build/main/sdk/Cryptography/Worker/Worker.d.ts +0 -1
- package/build/main/sdk/Cryptography/Worker/Worker.js +3 -2
- package/build/main/sdk/Cryptography/utils/adapters/cryptoAdapters.js +3 -3
- package/build/main/sdk/Decompress/DecompressionManager.js +2 -1
- package/build/main/sdk/Decompress/Decompressor/DecompressTgz.js +2 -1
- package/build/main/sdk/Decompress/Decompressor/DecompressZips.js +2 -1
- package/build/main/sdk/Decompress/Decompressor/Decompressor.js +2 -1
- package/build/main/sdk/Dependencies/DependencyScanner.js +3 -2
- package/build/main/sdk/Dependencies/DependencyScannerCfg.js +2 -1
- package/build/main/sdk/Dependencies/DependencyTypes.js +1 -0
- package/build/main/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +1 -1
- package/build/main/sdk/Dependencies/LocalDependency/DependencyTypes.js +1 -0
- package/build/main/sdk/Dependencies/LocalDependency/LocalDependency.js +2 -1
- package/build/main/sdk/Dependencies/LocalDependency/LocalDependency.spec.js +10 -9
- package/build/main/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +3 -3
- package/build/main/sdk/Dependencies/LocalDependency/parsers/golangParser.js +4 -4
- package/build/main/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +7 -4
- package/build/main/sdk/Dependencies/LocalDependency/parsers/npmParser.js +8 -8
- package/build/main/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +4 -4
- package/build/main/sdk/Dependencies/LocalDependency/parsers/parser.spec.js +3 -2
- package/build/main/sdk/Dependencies/LocalDependency/parsers/pyParser.js +5 -5
- package/build/main/sdk/Dependencies/LocalDependency/parsers/python/PyProjectToml.js +6 -2
- package/build/main/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +4 -4
- package/build/main/sdk/Dependencies/LocalDependency/parsers/utils.js +4 -4
- package/build/main/sdk/Errors.js +2 -1
- package/build/main/sdk/FileCount/FileCount.js +22 -39
- package/build/main/sdk/FileCount/FileCountFilter.js +2 -1
- package/build/main/sdk/FileCount/Interfaces.js +3 -2
- package/build/main/sdk/Filtering/DefaultFilterForDependencies.js +2 -1
- package/build/main/sdk/Filtering/DefaultFilterForScanning.js +2 -1
- package/build/main/sdk/Filtering/Filtering.d.ts +1 -0
- package/build/main/sdk/Filtering/Filtering.js +19 -11
- package/build/main/sdk/Logger.js +3 -2
- package/build/main/sdk/Report/DataLayer/DataLayerTypes.js +1 -0
- package/build/main/sdk/Report/DataLayer/DataProviderManager.js +2 -1
- package/build/main/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.js +2 -1
- package/build/main/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.js +3 -2
- package/build/main/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.js +2 -1
- package/build/main/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.js +2 -1
- package/build/main/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.js +2 -1
- package/build/main/sdk/Report/DataLayer/DataProviders/SummaryDataProvider.js +2 -1
- package/build/main/sdk/Report/Report.js +2 -1
- package/build/main/sdk/Services/Grpc/BaseService.js +8 -14
- package/build/main/sdk/Services/Grpc/CryptographyService.js +2 -1
- package/build/main/sdk/Services/Grpc/DependencyService.js +7 -2
- package/build/main/sdk/Services/Grpc/scanoss/api/common/v2/scanoss-common_pb.js +1 -1
- package/build/main/sdk/Services/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb.d.ts +18 -15
- package/build/main/sdk/Services/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb.js +1 -1
- package/build/main/sdk/Services/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_pb.js +1 -1
- package/build/main/sdk/Services/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +18 -15
- package/build/main/sdk/Services/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +1 -1
- package/build/main/sdk/Services/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1 -1
- package/build/main/sdk/Utils/Utils.d.ts +0 -8
- package/build/main/sdk/Utils/Utils.js +2 -113
- package/build/main/sdk/scanner/Dispatcher/DispatchableItem.js +2 -1
- package/build/main/sdk/scanner/Dispatcher/Dispatcher.d.ts +0 -2
- package/build/main/sdk/scanner/Dispatcher/Dispatcher.js +12 -21
- package/build/main/sdk/scanner/Dispatcher/DispatcherResponse.js +2 -1
- package/build/main/sdk/scanner/Dispatcher/GlobalControllerAborter.js +2 -1
- package/build/main/sdk/scanner/Fingerprint.js +5 -22
- package/build/main/sdk/scanner/Scannable/ScannableItem.d.ts +0 -1
- package/build/main/sdk/scanner/Scannable/ScannableItem.js +2 -1
- package/build/main/sdk/scanner/Scanner.d.ts +17 -1
- package/build/main/sdk/scanner/Scanner.js +60 -6
- package/build/main/sdk/scanner/ScannerCfg.d.ts +2 -1
- package/build/main/sdk/scanner/ScannerCfg.js +5 -3
- package/build/main/sdk/scanner/ScannerTypes.d.ts +13 -7
- package/build/main/sdk/scanner/ScannerTypes.js +6 -5
- package/build/main/sdk/scanner/WfpProvider/FingerprintPackage.js +3 -2
- package/build/main/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +0 -1
- package/build/main/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +2 -1
- package/build/main/sdk/scanner/WfpProvider/WfpProvider.d.ts +0 -1
- package/build/main/sdk/scanner/WfpProvider/WfpProvider.js +2 -1
- package/build/main/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +2 -1
- package/build/main/sdk/tree/File.js +2 -1
- package/build/main/sdk/tree/Filters/BinaryFilter.js +2 -1
- package/build/main/sdk/tree/Filters/DecompressionFilter.js +2 -1
- package/build/main/sdk/tree/Filters/DependencyFilter.js +2 -1
- package/build/main/sdk/tree/Filters/Filter.js +2 -1
- package/build/main/sdk/tree/Filters/FilterAND.js +2 -1
- package/build/main/sdk/tree/Filters/ScanFilter.js +2 -1
- package/build/main/sdk/tree/Folder.js +2 -1
- package/build/main/sdk/tree/Node.js +3 -2
- package/build/main/sdk/tree/Tree.js +4 -3
- package/build/main/tsconfig.tsbuildinfo +1 -4843
- package/build/module/cli/bin/cli-bin.js +2 -2
- package/build/module/cli/commands/crypto.js +1 -1
- package/build/module/cli/commands/dep.js +1 -1
- package/build/module/cli/commands/helpers.js +1 -1
- package/build/module/cli/commands/scan.js +7 -9
- package/build/module/cli/commands/wfp.js +1 -1
- package/build/module/sdk/BaseConfig.d.ts +5 -2
- package/build/module/sdk/BaseConfig.js +9 -41
- package/build/module/sdk/Cryptography/CryptoCfg.js +4 -2
- package/build/module/sdk/Cryptography/CryptoProvider/LocalCrypto.js +4 -1
- package/build/module/sdk/Cryptography/CryptographyScanner.js +2 -1
- package/build/module/sdk/Cryptography/Scanneable/CryptoItem.js +3 -1
- package/build/module/sdk/Cryptography/Worker/ThreadPool.js +10 -4
- package/build/module/sdk/Cryptography/Worker/Worker.d.ts +0 -1
- package/build/module/sdk/Cryptography/Worker/Worker.js +2 -1
- package/build/module/sdk/Decompress/DecompressionManager.js +5 -1
- package/build/module/sdk/Decompress/Decompressor/Decompressor.js +2 -1
- package/build/module/sdk/Dependencies/DependencyScanner.js +4 -2
- package/build/module/sdk/Dependencies/DependencyScannerCfg.js +2 -5
- package/build/module/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +1 -1
- package/build/module/sdk/Dependencies/LocalDependency/LocalDependency.js +3 -1
- package/build/module/sdk/Dependencies/LocalDependency/LocalDependency.spec.js +1 -1
- package/build/module/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +1 -1
- package/build/module/sdk/Dependencies/LocalDependency/parsers/golangParser.js +1 -1
- package/build/module/sdk/Dependencies/LocalDependency/parsers/mavenParser.js +1 -1
- package/build/module/sdk/Dependencies/LocalDependency/parsers/npmParser.js +1 -1
- package/build/module/sdk/Dependencies/LocalDependency/parsers/nugetParser.js +1 -1
- package/build/module/sdk/Dependencies/LocalDependency/parsers/pyParser.js +1 -1
- package/build/module/sdk/Dependencies/LocalDependency/parsers/rubyParser.js +6 -1
- package/build/module/sdk/Dependencies/LocalDependency/parsers/utils.js +1 -1
- package/build/module/sdk/FileCount/FileCount.js +1 -1
- package/build/module/sdk/Filtering/Filtering.d.ts +1 -0
- package/build/module/sdk/Filtering/Filtering.js +28 -19
- package/build/module/sdk/Logger.js +3 -1
- package/build/module/sdk/Report/DataLayer/DataProviderManager.js +2 -1
- package/build/module/sdk/Report/DataLayer/DataProviders/ComponentDataProvider.js +4 -1
- package/build/module/sdk/Report/DataLayer/DataProviders/CryptographyDataProvider.js +4 -1
- package/build/module/sdk/Report/DataLayer/DataProviders/DependencyDataProvider.js +2 -1
- package/build/module/sdk/Report/DataLayer/DataProviders/LicenseDataProvider.js +6 -1
- package/build/module/sdk/Report/DataLayer/DataProviders/LicenseObligationDataProvider.js +6 -1
- package/build/module/sdk/Report/DataLayer/DataProviders/SummaryDataProvider.js +6 -2
- package/build/module/sdk/Report/Report.js +6 -3
- package/build/module/sdk/Services/Grpc/BaseService.js +5 -7
- package/build/module/sdk/Services/Grpc/CryptographyService.js +2 -1
- package/build/module/sdk/Services/Grpc/DependencyService.js +3 -1
- package/build/module/sdk/Services/Grpc/scanoss/api/common/v2/scanoss-common_pb.js +1 -1
- package/build/module/sdk/Services/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb.d.ts +18 -15
- package/build/module/sdk/Services/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_grpc_pb.js +1 -1
- package/build/module/sdk/Services/Grpc/scanoss/api/cryptography/v2/scanoss-cryptography_pb.js +1 -1
- package/build/module/sdk/Services/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.d.ts +18 -15
- package/build/module/sdk/Services/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_grpc_pb.js +1 -1
- package/build/module/sdk/Services/Grpc/scanoss/api/dependencies/v2/scanoss-dependencies_pb.js +1 -1
- package/build/module/sdk/Utils/Utils.d.ts +0 -8
- package/build/module/sdk/Utils/Utils.js +2 -78
- package/build/module/sdk/scanner/Dispatcher/DispatchableItem.js +8 -1
- package/build/module/sdk/scanner/Dispatcher/Dispatcher.d.ts +0 -2
- package/build/module/sdk/scanner/Dispatcher/Dispatcher.js +16 -20
- package/build/module/sdk/scanner/Dispatcher/DispatcherResponse.js +4 -1
- package/build/module/sdk/scanner/Dispatcher/GlobalControllerAborter.js +3 -1
- package/build/module/sdk/scanner/Fingerprint.js +8 -1
- package/build/module/sdk/scanner/Scannable/ScannableItem.d.ts +0 -1
- package/build/module/sdk/scanner/Scannable/ScannableItem.js +6 -1
- package/build/module/sdk/scanner/Scanner.d.ts +17 -1
- package/build/module/sdk/scanner/Scanner.js +72 -3
- package/build/module/sdk/scanner/ScannerCfg.d.ts +2 -1
- package/build/module/sdk/scanner/ScannerCfg.js +28 -27
- package/build/module/sdk/scanner/ScannerTypes.d.ts +13 -7
- package/build/module/sdk/scanner/ScannerTypes.js +1 -1
- package/build/module/sdk/scanner/WfpProvider/FingerprintPackage.js +4 -1
- package/build/module/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +0 -1
- package/build/module/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +4 -1
- package/build/module/sdk/scanner/WfpProvider/WfpProvider.d.ts +0 -1
- package/build/module/sdk/scanner/WfpProvider/WfpProvider.js +12 -1
- package/build/module/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +8 -1
- package/build/module/sdk/tree/Filters/DecompressionFilter.js +2 -1
- package/build/module/sdk/tree/Filters/DependencyFilter.js +2 -1
- package/build/module/sdk/tree/Filters/FilterAND.js +2 -1
- package/build/module/sdk/tree/Filters/ScanFilter.js +2 -1
- package/build/module/sdk/tree/Folder.js +2 -1
- package/build/module/sdk/tree/Node.js +6 -1
- package/build/module/sdk/tree/Tree.js +5 -1
- package/build/module/tsconfig.module.tsbuildinfo +1 -4843
- package/package.json +3 -14
|
@@ -6,6 +6,13 @@ import path from 'path';
|
|
|
6
6
|
import { ScannerEvents } from './ScannerTypes';
|
|
7
7
|
import { ScannerCfg } from './ScannerCfg';
|
|
8
8
|
export class Fingerprint extends EventEmitter {
|
|
9
|
+
wfpCalculator;
|
|
10
|
+
fingerprintPath;
|
|
11
|
+
finishPromise;
|
|
12
|
+
finishPromiseResolve;
|
|
13
|
+
finishPromiseReject;
|
|
14
|
+
reportStatusAfter;
|
|
15
|
+
queue;
|
|
9
16
|
constructor(reportStatusAfter = 10) {
|
|
10
17
|
super();
|
|
11
18
|
this.reportStatusAfter = reportStatusAfter;
|
|
@@ -51,4 +58,4 @@ export class Fingerprint extends EventEmitter {
|
|
|
51
58
|
this.fingerprintPath = fingerprintsFilePath;
|
|
52
59
|
}
|
|
53
60
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZ2VycHJpbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2RrL3NjYW5uZXIvRmluZ2VycHJpbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFcEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxQyxNQUFNLE9BQU8sV0FBWSxTQUFRLFlBQVk7SUFDbkMsYUFBYSxDQUFjO0lBQzNCLGVBQWUsQ0FBUztJQUN4QixhQUFhLENBQWdCO0lBQzdCLG9CQUFvQixDQUErQztJQUNuRSxtQkFBbUIsQ0FBK0M7SUFDbEUsaUJBQWlCLENBQVM7SUFDMUIsS0FBSyxDQUEyQjtJQUN4QyxZQUFZLGlCQUFpQixHQUFHLEVBQUU7UUFDaEMsS0FBSyxFQUFFLENBQUM7UUFFUixJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBSU8sc0JBQXNCO1FBRTVCLHFGQUFxRjtRQUNyRixNQUFNLEdBQUcsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzdCLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFFLElBQUksQ0FBQztRQUN4QyxHQUFHLENBQUMsK0JBQStCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQzdELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFHNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsa0JBQXNDLEVBQUUsRUFBRTtZQUNwRyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGNBQXNCLEVBQUUsRUFBRTtZQUMvRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztJQUdMLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQThCO1FBQy9DLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWU7WUFBRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLGNBQWMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRTVJLGtDQUFrQztRQUNsQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0RCxJQUFHLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUM7WUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTdFLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWxCLElBQUksS0FBSyxFQUFFLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFDLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRU0sa0JBQWtCLENBQUMsb0JBQTRCO1FBQ3BELElBQUksQ0FBQyxlQUFlLEdBQUMsb0JBQW9CLENBQUM7SUFDNUMsQ0FBQztDQUlGIn0=
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export class ScannableItem {
|
|
2
|
+
contentSource;
|
|
3
|
+
content;
|
|
4
|
+
winnowingMode;
|
|
5
|
+
fingerprint;
|
|
6
|
+
maxSizeWfp;
|
|
2
7
|
constructor(content, contentSource, winnowingMode, maxSizeWfp) {
|
|
3
8
|
this.contentSource = contentSource;
|
|
4
9
|
this.content = content;
|
|
@@ -21,4 +26,4 @@ export class ScannableItem {
|
|
|
21
26
|
return this.maxSizeWfp;
|
|
22
27
|
}
|
|
23
28
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Nhbm5hYmxlSXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvc2Nhbm5lci9TY2FubmFibGUvU2Nhbm5hYmxlSXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sYUFBYTtJQUNoQixhQUFhLENBQVM7SUFFdEIsT0FBTyxDQUFTO0lBRWhCLGFBQWEsQ0FBZ0I7SUFFN0IsV0FBVyxDQUFNO0lBRWpCLFVBQVUsQ0FBTTtJQUV4QixZQUFZLE9BQWUsRUFBRSxhQUFxQixFQUFFLGFBQWtCLEVBQUUsVUFBa0I7UUFDeEYsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0NBR0YifQ==
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import EventEmitter from 'eventemitter3';
|
|
2
2
|
import { ScannerCfg } from './ScannerCfg';
|
|
3
|
-
import { ScannerInput } from './ScannerTypes';
|
|
3
|
+
import { ContentScannerInput, ScannerComponent, ScannerInput } from './ScannerTypes';
|
|
4
4
|
export declare class Scanner extends EventEmitter {
|
|
5
|
+
private readonly SCAN_FOLDER_NAME;
|
|
6
|
+
private readonly DEFAULT_PREMIUM_URL;
|
|
5
7
|
private scannerCfg;
|
|
6
8
|
private workDirectory;
|
|
7
9
|
private resultFilePath;
|
|
@@ -22,11 +24,25 @@ export declare class Scanner extends EventEmitter {
|
|
|
22
24
|
private responseBuffer;
|
|
23
25
|
private filesNotScanned;
|
|
24
26
|
constructor(scannerCfg?: ScannerCfg);
|
|
27
|
+
private getScanFolderId;
|
|
28
|
+
private removeWorkingDir;
|
|
25
29
|
init(): void;
|
|
26
30
|
setWorkDirectory(workDirectory: string): void;
|
|
27
31
|
getWorkDirectory(): string;
|
|
28
32
|
cleanWorkDirectory(): void;
|
|
29
33
|
scan(scannerInput: Array<ScannerInput>): Promise<string>;
|
|
34
|
+
/**
|
|
35
|
+
* Scans the provided content.
|
|
36
|
+
*
|
|
37
|
+
* @param {ContentScannerInput} contentScannerInput - The input containing content and file name.
|
|
38
|
+
* @param {string} contentScannerInput.content - The content to be scanned.
|
|
39
|
+
* @param {string} contentScannerInput.key - Unique key to be referenced on scan result .
|
|
40
|
+
* @returns {Promise<ScannerComponent | null>} - The scan result as a `ScannerComponent` or `null` if no content is provided.
|
|
41
|
+
*
|
|
42
|
+
* @throws {Error} - Throws an error if there is an issue during the scan.
|
|
43
|
+
*
|
|
44
|
+
* */
|
|
45
|
+
scanContents(contentScannerInput: ContentScannerInput): Promise<ScannerComponent | null>;
|
|
30
46
|
getScannerId(): string;
|
|
31
47
|
stop(): void;
|
|
32
48
|
isRunning(): boolean;
|
|
@@ -12,14 +12,47 @@ import { WfpCalculator } from './WfpProvider/WfpCalculator/WfpCalculator';
|
|
|
12
12
|
import { WfpSplitter } from './WfpProvider/WfpSplitter/WfpSplitter';
|
|
13
13
|
import sortPaths from 'sort-paths';
|
|
14
14
|
import { v4 as uuidv4 } from 'uuid';
|
|
15
|
+
import path from 'path';
|
|
15
16
|
let finishPromiseResolve;
|
|
16
17
|
let finishPromiseReject;
|
|
17
18
|
export class Scanner extends EventEmitter {
|
|
19
|
+
SCAN_FOLDER_NAME = 'scanner';
|
|
20
|
+
DEFAULT_PREMIUM_URL = 'https://api.scanoss.com/scan/direct';
|
|
21
|
+
scannerCfg;
|
|
22
|
+
workDirectory;
|
|
23
|
+
resultFilePath;
|
|
24
|
+
wfpFilePath;
|
|
25
|
+
obfuscateMapFilePath;
|
|
26
|
+
obfuscateMap;
|
|
27
|
+
scanRoot;
|
|
28
|
+
scannerId;
|
|
29
|
+
wfpProvider;
|
|
30
|
+
dispatcher;
|
|
31
|
+
finishPromise;
|
|
32
|
+
scannerInput;
|
|
33
|
+
scanFinished; // Both flags are used to prevent a race condition between DISPATCHER.NEW_DATA and DISPATCHER_FINISHED
|
|
34
|
+
processingNewData; // Both flags are used to prevent a race condition between DISPATCHER.NEW_DATA and DISPATCHER_FINISHED
|
|
35
|
+
processedFiles;
|
|
36
|
+
running;
|
|
37
|
+
filesToScan;
|
|
38
|
+
responseBuffer;
|
|
39
|
+
filesNotScanned;
|
|
18
40
|
constructor(scannerCfg = new ScannerCfg()) {
|
|
19
41
|
super();
|
|
20
42
|
this.scannerCfg = scannerCfg;
|
|
21
43
|
this.scannerId = new Date().getTime().toString();
|
|
22
44
|
}
|
|
45
|
+
getScanFolderId() {
|
|
46
|
+
return `${this.SCAN_FOLDER_NAME}-${this.getScannerId()}`;
|
|
47
|
+
}
|
|
48
|
+
async removeWorkingDir() {
|
|
49
|
+
try {
|
|
50
|
+
await fs.promises.rm(this.workDirectory, { recursive: true, force: true });
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
this.reportLog(`[ SCANNER ]: Unable to remove Working Dir: ${this.workDirectory}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
23
56
|
init() {
|
|
24
57
|
this.scanFinished = false;
|
|
25
58
|
this.processingNewData = false;
|
|
@@ -29,6 +62,8 @@ export class Scanner extends EventEmitter {
|
|
|
29
62
|
this.filesToScan = {};
|
|
30
63
|
this.filesNotScanned = {};
|
|
31
64
|
this.obfuscateMap = {};
|
|
65
|
+
// Use premium URL if API KEY is set and not API URL was set.
|
|
66
|
+
this.scannerCfg.API_URL = (this.scannerCfg.API_KEY && this.scannerCfg.API_URL === ScannerCfg.getDefaultURL()) ? this.DEFAULT_PREMIUM_URL : this.scannerCfg.API_URL;
|
|
32
67
|
this.wfpProvider = new WfpCalculator(this.scannerCfg);
|
|
33
68
|
this.dispatcher = new Dispatcher(this.scannerCfg);
|
|
34
69
|
this.finishPromise = new Promise((resolve, reject) => {
|
|
@@ -38,7 +73,7 @@ export class Scanner extends EventEmitter {
|
|
|
38
73
|
this.setWinnowerListeners();
|
|
39
74
|
this.setDispatcherListeners();
|
|
40
75
|
if (this.workDirectory === undefined)
|
|
41
|
-
this.setWorkDirectory(`${os.tmpdir()}
|
|
76
|
+
this.setWorkDirectory(`${os.tmpdir()}/${this.getScanFolderId()}`);
|
|
42
77
|
}
|
|
43
78
|
setWorkDirectory(workDirectory) {
|
|
44
79
|
this.workDirectory = workDirectory;
|
|
@@ -61,7 +96,7 @@ export class Scanner extends EventEmitter {
|
|
|
61
96
|
if (fs.existsSync(this.wfpFilePath))
|
|
62
97
|
fs.unlinkSync(this.wfpFilePath);
|
|
63
98
|
}
|
|
64
|
-
scan(scannerInput) {
|
|
99
|
+
async scan(scannerInput) {
|
|
65
100
|
this.init();
|
|
66
101
|
this.createOutputFiles();
|
|
67
102
|
this.scannerInput = scannerInput;
|
|
@@ -89,6 +124,40 @@ export class Scanner extends EventEmitter {
|
|
|
89
124
|
}
|
|
90
125
|
return this.finishPromise;
|
|
91
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Scans the provided content.
|
|
129
|
+
*
|
|
130
|
+
* @param {ContentScannerInput} contentScannerInput - The input containing content and file name.
|
|
131
|
+
* @param {string} contentScannerInput.content - The content to be scanned.
|
|
132
|
+
* @param {string} contentScannerInput.key - Unique key to be referenced on scan result .
|
|
133
|
+
* @returns {Promise<ScannerComponent | null>} - The scan result as a `ScannerComponent` or `null` if no content is provided.
|
|
134
|
+
*
|
|
135
|
+
* @throws {Error} - Throws an error if there is an issue during the scan.
|
|
136
|
+
*
|
|
137
|
+
* */
|
|
138
|
+
async scanContents(contentScannerInput) {
|
|
139
|
+
if (!contentScannerInput.content) {
|
|
140
|
+
this.reportLog('[ SCANNER ]: No input provided', 'warning');
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
const workingDir = `${os.tmpdir()}/${this.getScanFolderId()}`;
|
|
144
|
+
this.setWorkDirectory(workingDir);
|
|
145
|
+
this.workDirectory = workingDir;
|
|
146
|
+
await fs.promises.writeFile(`${workingDir}/${contentScannerInput.key}`, contentScannerInput.content, 'utf-8');
|
|
147
|
+
const rootPath = path.resolve(`${workingDir}/${contentScannerInput.key}`);
|
|
148
|
+
// Build the input for a common scan
|
|
149
|
+
const scannerInput = {
|
|
150
|
+
folderRoot: workingDir,
|
|
151
|
+
fileList: [rootPath],
|
|
152
|
+
};
|
|
153
|
+
const input = { ...contentScannerInput, ...scannerInput };
|
|
154
|
+
// Perform a common scan
|
|
155
|
+
const resultPath = await this.scan([input]);
|
|
156
|
+
const results = JSON.parse(await fs.promises.readFile(resultPath, 'utf-8'));
|
|
157
|
+
// Only removes working dir on scan content
|
|
158
|
+
await this.removeWorkingDir();
|
|
159
|
+
return results;
|
|
160
|
+
}
|
|
92
161
|
getScannerId() {
|
|
93
162
|
return this.scannerId;
|
|
94
163
|
}
|
|
@@ -329,4 +398,4 @@ export class Scanner extends EventEmitter {
|
|
|
329
398
|
this.wfpProvider.stop();
|
|
330
399
|
}
|
|
331
400
|
}
|
|
332
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZGsvc2Nhbm5lci9TY2FubmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixNQUFNO0FBQ04sT0FBTyxZQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBZ0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUk3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXBFLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwQyxJQUFJLG9CQUFvQixDQUFDO0FBQ3pCLElBQUksbUJBQW1CLENBQUM7QUFFeEIsTUFBTSxPQUFPLE9BQVEsU0FBUSxZQUFZO0lBdUN2QyxZQUFZLFVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRTtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuRCxvQkFBb0IsR0FBRyxPQUFPLENBQUM7WUFDL0IsbUJBQW1CLEdBQUcsTUFBTSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFFOUIsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVM7WUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxZQUFZLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVNLGdCQUFnQixDQUFDLGFBQXFCO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxjQUFjLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLGdCQUFnQixDQUFDO1FBQ3pELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLGdCQUFnQixDQUFDO1FBRWxFLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RSxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNwQyxNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsSUFBSSxDQUFDLGNBQWMsb0VBQW9FLENBQzNGLENBQUM7UUFDSixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUNiLEdBQUcsSUFBSSxDQUFDLGFBQWEsb0VBQW9FLENBQzFGLENBQUM7SUFDTixDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0UsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sSUFBSSxDQUFDLFlBQWlDO1FBQzNDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBRWpDLElBQUksQ0FBQyxTQUFTLENBQUMsb0NBQW9DLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFMUUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMzQjtRQUVELElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRTtZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6QzthQUFNO1lBQ0wsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDbkQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDO1lBQzVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDO1lBQ2xELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO2dCQUNyQixVQUFVO2dCQUNWLGFBQWE7Z0JBQ2IsUUFBUTtnQkFDUixTQUFTO2FBQ1YsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLG9CQUFvQixFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FDakIsYUFBYSxDQUFDLHFCQUFxQixFQUNuQyxDQUFDLGtCQUFzQyxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFFL0MsSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUc7b0JBQ2xCLEdBQUcsSUFBSSxDQUFDLFlBQVk7b0JBQ3BCLEdBQUcsa0JBQWtCLENBQUMsaUJBQWlCLEVBQUU7aUJBQzFDLENBQUM7WUFDSixNQUFNLElBQUksR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLEVBQUUsQ0FBQztZQUVyQixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVztnQkFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBRXpELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRO2dCQUM5RCxJQUFJLENBQUMsT0FBTyxDQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FDL0IsQ0FBQztZQUVKLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtZQUN4RSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsK0JBQStCLEVBQUUsR0FBRyxFQUFFO1lBQ3JFLElBQUksQ0FBQyxTQUFTLENBQ1osa0VBQWtFLENBQ25FLENBQUM7WUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLCtCQUErQixFQUFFLEdBQUcsRUFBRTtZQUNyRSxJQUFJLENBQUMsU0FBUyxDQUNaLG1FQUFtRSxDQUNwRSxDQUFDO1lBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUNoQixhQUFhLENBQUMsbUJBQW1CLEVBQ2pDLEtBQUssRUFBRSxRQUE0QixFQUFFLEVBQUU7WUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO1lBQ2hELElBQUksQ0FBQyxjQUFjLElBQUksUUFBUSxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLFNBQVMsQ0FDWixvQ0FBb0MsUUFBUSxDQUFDLHVCQUF1QixFQUFFLFFBQVEsQ0FDL0UsQ0FBQztZQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtnQkFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQywyREFBMkQ7UUFDbEgsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLEVBQUU7Z0JBQ3ZDLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FDaEIsYUFBYSxDQUFDLDZCQUE2QixFQUMzQyxDQUFDLFNBQTJCLEVBQUUsRUFBRTtZQUM5QixNQUFNLGVBQWUsR0FBRyxTQUFTO2lCQUM5QixxQkFBcUIsRUFBRTtpQkFDdkIscUJBQXFCLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsY0FBYyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUNoQixhQUFhLENBQUMsS0FBSyxFQUNuQixDQUFDLEtBQVksRUFBRSxTQUEyQixFQUFFLFFBQWdCLEVBQUUsRUFBRTtZQUM5RCxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsRSxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBRWpDLElBQUksYUFBYSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFN0MsTUFBTSxJQUFJLEdBQ1IsMkJBQTJCLFNBQVMsMEJBQTBCO2dCQUM5RCxvQkFBb0IsVUFBVSxtQkFBbUI7Z0JBQ2pELGdDQUFnQyxhQUFhLCtCQUErQixDQUFDO1lBQy9FLDhCQUE4QixLQUFLLENBQUMsT0FBTyw2QkFBNkIsQ0FBQztZQUV6RSxNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLGdCQUFnQixJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsTUFBTSxDQUFDO1lBQ3hGLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUV6QyxLQUFLLENBQUMsT0FBTyxJQUFJLDZCQUE2QixRQUFRLEVBQUUsQ0FBQztZQUN6RCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxRQUFRO1FBQ3RDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLGdEQUFnRDtRQUNoRCxLQUFLLE1BQU0sSUFBSSxJQUFJLFFBQVE7WUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxrQkFBa0I7UUFDekMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUI7WUFDdkUsT0FBTyxJQUFJLENBQUM7UUFDZCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxzQkFBc0IsQ0FDNUIsU0FBOEIsRUFDOUIsWUFBb0M7UUFFcEMsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFnQixFQUFFLEVBQUU7WUFDaEUsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNwQixNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDMUIsZ0RBQWdEO1FBQ2hELEtBQUssTUFBTSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3BELFVBQVUsSUFBSSxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqRCxNQUFNLHNCQUFzQixHQUFHLGtCQUFrQixDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDdEUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztTQUN2RDtRQUVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsTUFBTSxDQUFDLEdBQ0wsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUI7WUFDdEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNoRSxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUksa0JBQWtCLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxTQUFTLENBQ1oscUNBQXFDLFNBQVMsQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLENBQ3BGLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTyxLQUFLLENBQUMsU0FBUztRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQ1osOEJBQThCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxXQUFXLENBQ2xFLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO1lBQzVCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM5QztpQkFBTTtnQkFDTCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDbkQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDO2dCQUM1RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQztnQkFDbEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO29CQUNyQixVQUFVO29CQUNWLGFBQWE7b0JBQ2IsUUFBUTtvQkFDUixTQUFTO2lCQUNWLENBQUMsQ0FBQzthQUNKO1NBQ0Y7O1lBQU0sTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVPLEtBQUssQ0FBQyxVQUFVO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2hELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQ3hCLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FDeEQsQ0FBQztRQUVGLElBQ0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlO1lBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLEVBQ3JDO1lBQ0EsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDaEQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM1QyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsU0FBUyxDQUFDO2dCQUNsQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNyQjtTQUNGO1FBRUQsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekQsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLGdEQUFnRDtRQUNoRCxLQUFLLE1BQU0sR0FBRyxJQUFJLFdBQVc7WUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQ3pCLElBQUksQ0FBQyxjQUFjLEVBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDdEMsQ0FBQztRQUNGLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQ3pCLElBQUksQ0FBQyxvQkFBb0IsRUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDM0MsQ0FBQztRQUNGLElBQUksQ0FBQyxTQUFTLENBQ1osd0NBQ0UsSUFBSSxDQUFDLGNBQ1Asa0JBQWtCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUM5RCxDQUFDO1FBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FDUCxhQUFhLENBQUMsU0FBUyxFQUN2QixJQUFJLENBQUMsY0FBYyxFQUNuQixJQUFJLENBQUMsZUFBZSxDQUNyQixDQUFDO1FBQ0Ysb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssR0FBRyxNQUFNO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTTtRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLE1BQU0sS0FBSyxhQUFhLENBQUMsaUJBQWlCLEVBQUU7U0FDL0M7UUFDRCxJQUFJLE1BQU0sS0FBSyxhQUFhLENBQUMsZUFBZSxFQUFFO1NBQzdDO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyw2QkFBNkIsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsYUFBYTtZQUFFLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNsQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUNyQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUU7WUFDbkMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO2dCQUMzQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDbkU7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQ3ZCLFVBQWtCLEVBQ2xCLGNBQThCO1FBRTlCLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVoRCxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEUsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNwRCxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMvQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JELEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sWUFBWSxDQUFDLFlBQWlDO1FBQ3BELElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0MsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUM1RCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQ0FBcUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNqRSxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQ0FBbUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUMvRCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFDRSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUN0RTtZQUNBLElBQUksQ0FBQyxTQUFTLENBQ1osZ0VBQWdFLEVBQ2hFLFNBQVMsQ0FDVixDQUFDO1lBQ0YsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLEtBQUs7UUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0YifQ==
|
|
401
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZGsvc2Nhbm5lci9TY2FubmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixNQUFNO0FBQ04sT0FBTyxZQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUVMLGFBQWEsRUFHZCxNQUFNLGdCQUFnQixDQUFDO0FBSXhCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFcEUsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QixJQUFJLG9CQUFvQixDQUFDO0FBQ3pCLElBQUksbUJBQW1CLENBQUM7QUFFeEIsTUFBTSxPQUFPLE9BQVEsU0FBUSxZQUFZO0lBRXRCLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztJQUU3QixtQkFBbUIsR0FBRyxxQ0FBcUMsQ0FBQztJQUVyRSxVQUFVLENBQWE7SUFFdkIsYUFBYSxDQUFTO0lBRXRCLGNBQWMsQ0FBUztJQUV2QixXQUFXLENBQVM7SUFFcEIsb0JBQW9CLENBQVM7SUFFN0IsWUFBWSxDQUF5QjtJQUVyQyxRQUFR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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseConfig } from '../BaseConfig';
|
|
2
2
|
export declare class ScannerCfg extends BaseConfig {
|
|
3
3
|
CLIENT_TIMESTAMP: string;
|
|
4
|
-
API_URL:
|
|
4
|
+
API_URL: any;
|
|
5
5
|
API_KEY: string;
|
|
6
6
|
CA_CERT: string;
|
|
7
7
|
IGNORE_CERT_ERRORS: boolean;
|
|
@@ -16,4 +16,5 @@ export declare class ScannerCfg extends BaseConfig {
|
|
|
16
16
|
MAX_RESPONSES_IN_BUFFER: number;
|
|
17
17
|
DISPATCHER_QUEUE_SIZE_MAX_LIMIT: number;
|
|
18
18
|
DISPATCHER_QUEUE_SIZE_MIN_LIMIT: number;
|
|
19
|
+
constructor();
|
|
19
20
|
}
|
|
@@ -1,32 +1,33 @@
|
|
|
1
1
|
import { BaseConfig } from '../BaseConfig';
|
|
2
2
|
export class ScannerCfg extends BaseConfig {
|
|
3
|
+
// Client Timestamp, default value is scanoss-js/${version}
|
|
4
|
+
CLIENT_TIMESTAMP = '';
|
|
5
|
+
// API URL
|
|
6
|
+
API_URL = null;
|
|
7
|
+
API_KEY = '';
|
|
8
|
+
CA_CERT = '';
|
|
9
|
+
//Set to true to ignore self certificates issues
|
|
10
|
+
IGNORE_CERT_ERRORS = false;
|
|
11
|
+
// Level of concurrency
|
|
12
|
+
CONCURRENCY_LIMIT = 5;
|
|
13
|
+
// Timeout for each transaction
|
|
14
|
+
TIMEOUT = 180000;
|
|
15
|
+
// The maximum size for each .wfp file in bytes
|
|
16
|
+
WFP_FILE_MAX_SIZE = 32 * 1024;
|
|
17
|
+
WFP_OBFUSCATION = false;
|
|
18
|
+
RESULTS_DEOBFUSCATION = true;
|
|
19
|
+
//After processing #WINNOWING_AFTER_X_REPORT_STATUS files,
|
|
20
|
+
// the winnowing algorithm will report a ScannerEvents.WINNOWING_STATUS event.
|
|
21
|
+
WINNOWING_REPORT_STATUS_AFTER_X = 10;
|
|
22
|
+
MAX_RETRIES_FOR_RECOVERABLES_ERRORS = 6;
|
|
23
|
+
ABORT_ON_MAX_RETRIES = true;
|
|
24
|
+
// Persist results after [ X ] server responses
|
|
25
|
+
MAX_RESPONSES_IN_BUFFER = 300;
|
|
26
|
+
DISPATCHER_QUEUE_SIZE_MAX_LIMIT = 2000;
|
|
27
|
+
DISPATCHER_QUEUE_SIZE_MIN_LIMIT = 1000;
|
|
3
28
|
constructor() {
|
|
4
|
-
super(
|
|
5
|
-
|
|
6
|
-
this.CLIENT_TIMESTAMP = '';
|
|
7
|
-
// API URL
|
|
8
|
-
this.API_URL = 'https://api.osskb.org/scan/direct';
|
|
9
|
-
this.API_KEY = '';
|
|
10
|
-
this.CA_CERT = '';
|
|
11
|
-
//Set to true to ignore self certificates issues
|
|
12
|
-
this.IGNORE_CERT_ERRORS = false;
|
|
13
|
-
// Level of concurrency
|
|
14
|
-
this.CONCURRENCY_LIMIT = 5;
|
|
15
|
-
// Timeout for each transaction
|
|
16
|
-
this.TIMEOUT = 180000;
|
|
17
|
-
// The maximum size for each .wfp file in bytes
|
|
18
|
-
this.WFP_FILE_MAX_SIZE = 32 * 1024;
|
|
19
|
-
this.WFP_OBFUSCATION = false;
|
|
20
|
-
this.RESULTS_DEOBFUSCATION = true;
|
|
21
|
-
//After processing #WINNOWING_AFTER_X_REPORT_STATUS files,
|
|
22
|
-
// the winnowing algorithm will report a ScannerEvents.WINNOWING_STATUS event.
|
|
23
|
-
this.WINNOWING_REPORT_STATUS_AFTER_X = 10;
|
|
24
|
-
this.MAX_RETRIES_FOR_RECOVERABLES_ERRORS = 6;
|
|
25
|
-
this.ABORT_ON_MAX_RETRIES = true;
|
|
26
|
-
// Persist results after [ X ] server responses
|
|
27
|
-
this.MAX_RESPONSES_IN_BUFFER = 300;
|
|
28
|
-
this.DISPATCHER_QUEUE_SIZE_MAX_LIMIT = 2000;
|
|
29
|
-
this.DISPATCHER_QUEUE_SIZE_MIN_LIMIT = 1000;
|
|
29
|
+
super();
|
|
30
|
+
this.API_URL = ScannerCfg.getDefaultURL();
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Nhbm5lckNmZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZGsvc2Nhbm5lci9TY2FubmVyQ2ZnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxPQUFPLFVBQVcsU0FBUSxVQUFVO0lBQ3hDLDJEQUEyRDtJQUNwRCxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFFN0IsVUFBVTtJQUNILE9BQU8sR0FBRyxJQUFJLENBQUM7SUFFZixPQUFPLEdBQUcsRUFBRSxDQUFDO0lBRWIsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUVwQixnREFBZ0Q7SUFDekMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBRWxDLHVCQUF1QjtJQUNoQixpQkFBaUIsR0FBRyxDQUFDLENBQUM7SUFFN0IsK0JBQStCO0lBQ3hCLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFFeEIsK0NBQStDO0lBQ3hDLGlCQUFpQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFFOUIsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUV4QixxQkFBcUIsR0FBRyxJQUFJLENBQUM7SUFDcEMsMERBQTBEO0lBQzFELDhFQUE4RTtJQUN2RSwrQkFBK0IsR0FBRyxFQUFFLENBQUM7SUFFckMsbUNBQW1DLEdBQUcsQ0FBQyxDQUFDO0lBRXhDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUVuQywrQ0FBK0M7SUFDeEMsdUJBQXVCLEdBQUcsR0FBRyxDQUFDO0lBRTlCLCtCQUErQixHQUFHLElBQUksQ0FBQztJQUV2QywrQkFBK0IsR0FBRyxJQUFJLENBQUM7SUFFOUM7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzVDLENBQUM7Q0FDRiJ9
|
|
@@ -30,19 +30,25 @@ export declare enum SbomMode {
|
|
|
30
30
|
SBOM_IGNORE = "blacklist",
|
|
31
31
|
SBOM_IDENTIFY = "identify"
|
|
32
32
|
}
|
|
33
|
-
export interface
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
export interface BaseScannerInput {
|
|
34
|
+
wfpPath?: string;
|
|
35
|
+
sbom?: string;
|
|
36
|
+
sbomMode?: SbomMode;
|
|
36
37
|
engineFlags?: number;
|
|
37
38
|
winnowing?: {
|
|
38
39
|
mode: WinnowingMode;
|
|
39
40
|
};
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
}
|
|
42
|
+
export interface ScannerInput extends BaseScannerInput {
|
|
43
|
+
fileList: Array<string>;
|
|
44
|
+
folderRoot?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface ContentScannerInput extends BaseScannerInput {
|
|
47
|
+
content: string;
|
|
48
|
+
key: string;
|
|
43
49
|
}
|
|
44
50
|
/********************** Scanner results types **********************/
|
|
45
|
-
export
|
|
51
|
+
export type ScannerResults = Record<string, ScannerComponent[]>;
|
|
46
52
|
export declare enum ScannerComponentId {
|
|
47
53
|
NONE = "none",
|
|
48
54
|
FILE = "file",
|
|
@@ -44,4 +44,4 @@ export var ScannerComponentId;
|
|
|
44
44
|
})(ScannerComponentId || (ScannerComponentId = {}));
|
|
45
45
|
;
|
|
46
46
|
/********************** Scanner results types **********************/
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Nhbm5lclR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3Nkay9zY2FubmVyL1NjYW5uZXJUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQU4sSUFBWSxhQTZCWDtBQTdCRCxXQUFZLGFBQWE7SUFDdkIsMERBQXlDLENBQUE7SUFDekMsZ0VBQStDLENBQUE7SUFDL0Msc0RBQXFDLENBQUE7SUFDckMsMERBQXlDLENBQUE7SUFDekMsOENBQTZCLENBQUE7SUFFN0IsZ0VBQStDLENBQUE7SUFDL0MsNERBQTJDLENBQUE7SUFDM0MsNERBQTJDLENBQUE7SUFDM0MsZ0ZBQStELENBQUE7SUFDL0QsMEVBQXlELENBQUE7SUFDekQsb0ZBQW1FLENBQUE7SUFDbkUsa0RBQWlDLENBQUE7SUFFakMsZ0VBQStDLENBQUE7SUFFL0Msd0RBQXVDLENBQUE7SUFDdkMsd0RBQXVDLENBQUE7SUFFdkMsd0RBQXVDLENBQUE7SUFDdkMsb0RBQW1DLENBQUE7SUFFbkMsd0NBQXVCLENBQUE7SUFDdkIsc0RBQXFDLENBQUE7SUFFckMsNENBQTJCLENBQUE7SUFFM0IsZ0NBQWUsQ0FBQTtBQUNqQixDQUFDLEVBN0JXLGFBQWEsS0FBYixhQUFhLFFBNkJ4QjtBQUFBLENBQUM7QUFFRixNQUFNLENBQU4sSUFBWSxhQUlYO0FBSkQsV0FBWSxhQUFhO0lBQ3ZCLGtEQUFpQyxDQUFBO0lBQ2pDLDREQUEyQyxDQUFBO0lBQzNDLDBEQUF5QyxDQUFBO0FBQzNDLENBQUMsRUFKVyxhQUFhLEtBQWIsYUFBYSxRQUl4QjtBQUFBLENBQUM7QUFFRixNQUFNLENBQU4sSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2xCLHFDQUF5QixDQUFBO0lBQ3pCLHNDQUEwQixDQUFBO0FBQzVCLENBQUMsRUFIVyxRQUFRLEtBQVIsUUFBUSxRQUduQjtBQWVBLENBQUM7QUFXRixNQUFNLENBQU4sSUFBWSxrQkFBdUU7QUFBbkYsV0FBWSxrQkFBa0I7SUFBRSxtQ0FBYSxDQUFBO0lBQUUsbUNBQWEsQ0FBQTtJQUFHLHlDQUFtQixDQUFBO0FBQUEsQ0FBQyxFQUF2RSxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBQXFEO0FBQUEsQ0FBQztBQW9FcEYscUVBQXFFIn0=
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { v4 as uuidv4 } from 'uuid';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
export class FingerprintPackage {
|
|
4
|
+
wfpContent;
|
|
5
|
+
scanRoot;
|
|
6
|
+
obfuscateMap;
|
|
4
7
|
constructor(wfpContent, scanRoot = '') {
|
|
5
8
|
this.wfpContent = wfpContent;
|
|
6
9
|
this.scanRoot = scanRoot;
|
|
@@ -55,4 +58,4 @@ export class FingerprintPackage {
|
|
|
55
58
|
return this.obfuscateMap;
|
|
56
59
|
}
|
|
57
60
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZ2VycHJpbnRQYWNrYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9zY2FubmVyL1dmcFByb3ZpZGVyL0ZpbmdlcnByaW50UGFja2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFHeEIsTUFBTSxPQUFPLGtCQUFrQjtJQUNyQixVQUFVLENBQVM7SUFFbkIsUUFBUSxDQUFTO0lBRWpCLFlBQVksQ0FBeUI7SUFFN0MsWUFBWSxVQUFrQixFQUFFLFFBQVEsR0FBRyxFQUFFO1FBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7SUFFTSxPQUFPLENBQUMsa0JBQXNDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxVQUFVLENBQUMsR0FBRztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUN4QixDQUFDO0lBRU0sMkJBQTJCO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBRyxDQUFDLEtBQUs7WUFBRSxPQUFPLENBQUMsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVNLHFCQUFxQjtRQUMxQixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDckIsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUV4RCxJQUFJLEtBQUssQ0FBQztRQUNWLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3hELElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqQixJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztnQkFDckMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMzQixDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLEtBQUssR0FBRyxvQkFBb0IsQ0FBQztRQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUV2QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEVBQUU7WUFDdkUsTUFBTSxJQUFJLEdBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztZQUV0QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRXZDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQztZQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDO1lBQzNCLE9BQU8sR0FBRyxLQUFLLElBQUksT0FBTyxFQUFFLENBQUE7UUFDOUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0NBRUYifQ==
|
|
@@ -386,6 +386,9 @@ function crc8_MAXIM_DOW_Buffer(buffer) {
|
|
|
386
386
|
}
|
|
387
387
|
`;
|
|
388
388
|
export class WfpCalculator extends WfpProvider {
|
|
389
|
+
fileList;
|
|
390
|
+
fileListIndex;
|
|
391
|
+
continue;
|
|
389
392
|
constructor(scannerCfg = new ScannerCfg()) {
|
|
390
393
|
super();
|
|
391
394
|
this.scannerCfg = scannerCfg;
|
|
@@ -506,4 +509,4 @@ export class WfpCalculator extends WfpProvider {
|
|
|
506
509
|
this.sendFingerprint(fingerprint);
|
|
507
510
|
}
|
|
508
511
|
}
|
|
509
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
512
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ZwQ2FsY3VsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvc2Nhbm5lci9XZnBQcm92aWRlci9XZnBDYWxjdWxhdG9yL1dmcENhbGN1bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQStCLE1BQU0sb0JBQW9CLENBQUM7QUFFaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFxQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxNQUFNLFlBQVksR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTJYcEIsQ0FBQztBQUVGLE1BQU0sT0FBTyxhQUFjLFNBQVEsV0FB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
|
|
@@ -2,6 +2,17 @@ import EventEmitter from 'eventemitter3';
|
|
|
2
2
|
import { ScannerEvents, WinnowingMode } from '../ScannerTypes';
|
|
3
3
|
import { FingerprintPackage } from './FingerprintPackage';
|
|
4
4
|
export class WfpProvider extends EventEmitter {
|
|
5
|
+
wfp;
|
|
6
|
+
scannerCfg;
|
|
7
|
+
folderRoot;
|
|
8
|
+
worker;
|
|
9
|
+
pendingFiles;
|
|
10
|
+
winnowingMode;
|
|
11
|
+
finishPromise;
|
|
12
|
+
obfuscate;
|
|
13
|
+
//Allow resolve or reject the promise returned in start call
|
|
14
|
+
finishPromiseResolve;
|
|
15
|
+
finishPromiseReject;
|
|
5
16
|
hasPendingFiles() {
|
|
6
17
|
return this.pendingFiles;
|
|
7
18
|
}
|
|
@@ -68,4 +79,4 @@ export class WfpProvider extends EventEmitter {
|
|
|
68
79
|
this.winnowingMode = mode;
|
|
69
80
|
}
|
|
70
81
|
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ZwUHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2RrL3NjYW5uZXIvV2ZwUHJvdmlkZXIvV2ZwUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxZQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFVMUQsTUFBTSxPQUFnQixXQUFZLFNBQVEsWUFBWTtJQUMxQyxHQUFHLENBQVM7SUFDWixVQUFVLENBQWE7SUFDdkIsVUFBVSxDQUFTO0lBQ25CLE1BQU0sQ0FBUztJQUNmLFlBQVksQ0FBVTtJQUN0QixhQUFhLENBQWdCO0lBQzdCLGFBQWEsQ0FBZ0I7SUFDN0IsU0FBUyxDQUFVO0lBRTdCLDREQUE0RDtJQUNsRCxvQkFBb0IsQ0FBNkM7SUFDakUsbUJBQW1CLENBQTZDO0lBVW5FLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFUyxJQUFJO1FBQ1osSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDZCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxjQUFjLENBQUM7UUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuRCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0VBQWdFO0lBQ3RELGlCQUFpQixDQUFDLFdBQW1CO1FBQzdDLHdGQUF3RjtRQUN4RixJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNELElBQUkscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztZQUM5RCxJQUFJLHNCQUFzQixHQUFHLElBQUksQ0FBQztZQUNsQyxPQUFPLHNCQUFzQixFQUFFLENBQUM7Z0JBQzlCLElBQUksV0FBVyxDQUFDLHFCQUFxQixDQUFDLEtBQUssSUFBSTtvQkFDN0Msc0JBQXNCLEdBQUcsS0FBSyxDQUFDO2dCQUNqQyxxQkFBcUIsSUFBSSxDQUFDLENBQUM7WUFDN0IsQ0FBQztZQUNELHFCQUFxQixJQUFJLENBQUMsQ0FBQztZQUMzQiw2Q0FBNkM7WUFDN0MsV0FBVyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQUM7WUFDOUQsNkNBQTZDO1lBQzdDLFdBQVcsSUFBSSxJQUFJLENBQUM7UUFDdEIsQ0FBQztRQUVELE1BQU0sZ0JBQWdCLEdBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztRQUU1RSxNQUFNLGlCQUFpQixHQUNyQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07WUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ25FLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxJQUFJLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzNDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVTLGVBQWU7UUFDdkIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVTLGVBQWUsQ0FBQyxrQkFBc0M7UUFDOUQsSUFBSSxJQUFJLENBQUMsU0FBUztZQUFFLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVTLE9BQU8sQ0FBQyxNQUFjO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRVMsU0FBUyxDQUFDLFFBQWdCO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxJQUFtQjtRQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0NBQ0YifQ==
|
|
@@ -3,6 +3,13 @@ import fs from "fs";
|
|
|
3
3
|
import { ScannerCfg } from "../../ScannerCfg";
|
|
4
4
|
//Regex find paths from wfp string
|
|
5
5
|
export class WfpSplitter extends WfpProvider {
|
|
6
|
+
continue;
|
|
7
|
+
wfpStream;
|
|
8
|
+
chunkDataRead;
|
|
9
|
+
fingerprints;
|
|
10
|
+
fingerprintIndex;
|
|
11
|
+
timer;
|
|
12
|
+
ignoreFiles;
|
|
6
13
|
constructor(scannerCfg = new ScannerCfg()) {
|
|
7
14
|
super();
|
|
8
15
|
this.scannerCfg = scannerCfg;
|
|
@@ -131,4 +138,4 @@ export class WfpSplitter extends WfpProvider {
|
|
|
131
138
|
return fingerprints;
|
|
132
139
|
}
|
|
133
140
|
}
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ZwU3BsaXR0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvc2RrL3NjYW5uZXIvV2ZwUHJvdmlkZXIvV2ZwU3BsaXR0ZXIvV2ZwU3BsaXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzlDLGtDQUFrQztBQUVsQyxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQVc7SUFFbEMsUUFBUSxDQUFVO0lBRWxCLFNBQVMsQ0FBVztJQUVwQixhQUFhLENBQVM7SUFFdEIsWUFBWSxDQUFnQjtJQUU1QixnQkFBZ0IsQ0FBUztJQUV6QixLQUFLLENBQWdDO0lBRXJDLFdBQVcsQ0FBYztJQUVqQyxZQUFZLFVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRTtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLLENBQUMsTUFBeUI7UUFFcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0MsSUFBRyxNQUFN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
|
|
@@ -2,6 +2,7 @@ import { Filter } from './Filter';
|
|
|
2
2
|
import { NodeType } from '../Node';
|
|
3
3
|
import { DecompressionManager } from '../../Decompress/DecompressionManager';
|
|
4
4
|
export class DecompressionFilter extends Filter {
|
|
5
|
+
supportedFileExtension;
|
|
5
6
|
constructor(filterName) {
|
|
6
7
|
super();
|
|
7
8
|
this.supportedFileExtension = new DecompressionManager().getSupportedFormats();
|
|
@@ -15,4 +16,4 @@ export class DecompressionFilter extends Filter {
|
|
|
15
16
|
return false;
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVjb21wcmVzc2lvbkZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zZGsvdHJlZS9GaWx0ZXJzL0RlY29tcHJlc3Npb25GaWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzdFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxNQUFNO0lBRXJDLHNCQUFzQixDQUFnQjtJQUU5QyxZQUFtQixVQUFrQjtRQUNuQyxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNqRixDQUFDO0lBRUQsbUNBQW1DO0lBQzVCLFFBQVEsQ0FBQyxJQUFVO1FBQ3hCLElBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLFFBQVEsQ0FBQyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDbEQsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQy9HLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUVGIn0=
|