arkanalyzer 1.0.94 → 2.0.0-beta1
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/lib/Config.d.ts +7 -0
- package/lib/Config.d.ts.map +1 -1
- package/lib/Scene.d.ts +134 -170
- package/lib/Scene.d.ts.map +1 -1
- package/lib/Scene.js +412 -976
- package/lib/callgraph/algorithm/AbstractAnalysis.js +3 -2
- package/lib/callgraph/algorithm/RapidTypeAnalysis.js +1 -1
- package/lib/callgraph/model/CallGraph.js +1 -1
- package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts +1 -3
- package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PTAUtils.js +17 -7
- package/lib/callgraph/pointerAnalysis/Pag.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/Pag.js +4 -14
- package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PagBuilder.js +2 -1
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +1 -2
- package/lib/callgraph/pointerAnalysis/plugins/WorkerPlugin.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/plugins/WorkerPlugin.js +0 -1
- package/lib/cli/commands/cg.d.ts +1 -0
- package/lib/cli/commands/cg.d.ts.map +1 -1
- package/lib/cli/commands/cg.js +22 -18
- package/lib/cli/commands/ir.d.ts +1 -0
- package/lib/cli/commands/ir.d.ts.map +1 -1
- package/lib/cli/commands/ir.js +5 -2
- package/lib/core/base/Constant.d.ts +5 -5
- package/lib/core/base/Constant.d.ts.map +1 -1
- package/lib/core/base/Constant.js +12 -9
- package/lib/core/base/Expr.d.ts +36 -20
- package/lib/core/base/Expr.d.ts.map +1 -1
- package/lib/core/base/Expr.js +206 -94
- package/lib/core/base/Local.d.ts +10 -20
- package/lib/core/base/Local.d.ts.map +1 -1
- package/lib/core/base/Local.js +25 -28
- package/lib/core/base/Position.d.ts +6 -0
- package/lib/core/base/Position.d.ts.map +1 -1
- package/lib/core/base/Position.js +37 -11
- package/lib/core/base/Ref.d.ts +45 -33
- package/lib/core/base/Ref.d.ts.map +1 -1
- package/lib/core/base/Ref.js +225 -51
- package/lib/core/base/Stmt.d.ts +19 -9
- package/lib/core/base/Stmt.d.ts.map +1 -1
- package/lib/core/base/Stmt.js +135 -52
- package/lib/core/base/Type.d.ts +67 -4
- package/lib/core/base/Type.d.ts.map +1 -1
- package/lib/core/base/Type.js +391 -20
- package/lib/core/base/TypeExpr.d.ts +6 -4
- package/lib/core/base/TypeExpr.d.ts.map +1 -1
- package/lib/core/base/TypeExpr.js +34 -10
- package/lib/core/base/Value.d.ts +20 -2
- package/lib/core/base/Value.d.ts.map +1 -1
- package/lib/core/base/Value.js +12 -0
- package/lib/core/common/ArkIRTransformer.d.ts +18 -0
- package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkIRTransformer.js +94 -75
- package/lib/core/common/ArkValueTransformer.d.ts +21 -3
- package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkValueTransformer.js +455 -265
- package/lib/core/common/Builtin.d.ts +48 -24
- package/lib/core/common/Builtin.d.ts.map +1 -1
- package/lib/core/common/Builtin.js +90 -52
- package/lib/core/common/CanonicalizerValidator.d.ts +308 -0
- package/lib/core/common/CanonicalizerValidator.d.ts.map +1 -0
- package/lib/core/common/CanonicalizerValidator.js +888 -0
- package/lib/core/common/Const.d.ts +3 -3
- package/lib/core/common/Const.d.ts.map +1 -1
- package/lib/core/common/Const.js +3 -3
- package/lib/core/common/DummyMainCreater.d.ts +2 -21
- package/lib/core/common/DummyMainCreater.d.ts.map +1 -1
- package/lib/core/common/DummyMainCreater.js +8 -105
- package/lib/core/common/IRInference.d.ts +55 -3
- package/lib/core/common/IRInference.d.ts.map +1 -1
- package/lib/core/common/IRInference.js +407 -126
- package/lib/core/common/IRUtils.d.ts +1 -0
- package/lib/core/common/IRUtils.d.ts.map +1 -1
- package/lib/core/common/IRUtils.js +44 -13
- package/lib/core/common/ModelUtils.d.ts +44 -20
- package/lib/core/common/ModelUtils.d.ts.map +1 -1
- package/lib/core/common/ModelUtils.js +378 -208
- package/lib/core/common/SdkUtils.d.ts +35 -5
- package/lib/core/common/SdkUtils.d.ts.map +1 -1
- package/lib/core/common/SdkUtils.js +181 -53
- package/lib/core/common/SignatureCanonicalizer.d.ts +95 -0
- package/lib/core/common/SignatureCanonicalizer.d.ts.map +1 -0
- package/lib/core/common/SignatureCanonicalizer.js +116 -0
- package/lib/core/common/SignatureCanonicalizerRegistry.d.ts +176 -0
- package/lib/core/common/SignatureCanonicalizerRegistry.d.ts.map +1 -0
- package/lib/core/common/SignatureCanonicalizerRegistry.js +343 -0
- package/lib/core/common/SignatureModelCanonicalizer.d.ts +69 -0
- package/lib/core/common/SignatureModelCanonicalizer.d.ts.map +1 -0
- package/lib/core/common/SignatureModelCanonicalizer.js +109 -0
- package/lib/core/common/StmtUseReplacer.d.ts +1 -0
- package/lib/core/common/StmtUseReplacer.d.ts.map +1 -1
- package/lib/core/common/StmtUseReplacer.js +9 -0
- package/lib/core/common/StringUtils.d.ts +12 -1
- package/lib/core/common/StringUtils.d.ts.map +1 -1
- package/lib/core/common/StringUtils.js +36 -17
- package/lib/core/common/TempSignatureCanonicalizer.d.ts +82 -0
- package/lib/core/common/TempSignatureCanonicalizer.d.ts.map +1 -0
- package/lib/core/common/TempSignatureCanonicalizer.js +177 -0
- package/lib/core/common/TypeInference.d.ts +24 -6
- package/lib/core/common/TypeInference.d.ts.map +1 -1
- package/lib/core/common/TypeInference.js +243 -117
- package/lib/core/common/ValueUtil.d.ts +2 -1
- package/lib/core/common/ValueUtil.d.ts.map +1 -1
- package/lib/core/common/ValueUtil.js +4 -1
- package/lib/core/graph/Cfg.d.ts.map +1 -1
- package/lib/core/graph/Cfg.js +21 -6
- package/lib/core/graph/builder/CfgBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/CfgBuilder.js +46 -33
- package/lib/core/graph/builder/IfBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/IfBuilder.js +6 -2
- package/lib/core/graph/builder/ViewTreeBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/ViewTreeBuilder.js +6 -2
- package/lib/core/inference/ModelInference.d.ts +24 -4
- package/lib/core/inference/ModelInference.d.ts.map +1 -1
- package/lib/core/inference/ModelInference.js +273 -79
- package/lib/core/inference/ValueInference.d.ts +3 -2
- package/lib/core/inference/ValueInference.d.ts.map +1 -1
- package/lib/core/inference/ValueInference.js +90 -40
- package/lib/core/inference/abc/AbcInference.d.ts.map +1 -1
- package/lib/core/inference/abc/AbcInference.js +28 -15
- package/lib/core/inference/arkts/ArkTsInference.d.ts +9 -3
- package/lib/core/inference/arkts/ArkTsInference.d.ts.map +1 -1
- package/lib/core/inference/arkts/ArkTsInference.js +54 -16
- package/lib/core/model/ArkClass.d.ts +192 -18
- package/lib/core/model/ArkClass.d.ts.map +1 -1
- package/lib/core/model/ArkClass.js +852 -122
- package/lib/core/model/ArkExport.d.ts.map +1 -1
- package/lib/core/model/ArkExport.js +1 -2
- package/lib/core/model/ArkField.d.ts +34 -2
- package/lib/core/model/ArkField.d.ts.map +1 -1
- package/lib/core/model/ArkField.js +89 -14
- package/lib/core/model/ArkFile.d.ts +72 -12
- package/lib/core/model/ArkFile.d.ts.map +1 -1
- package/lib/core/model/ArkFile.js +275 -65
- package/lib/core/model/ArkImport.d.ts.map +1 -1
- package/lib/core/model/ArkImport.js +1 -2
- package/lib/core/model/ArkMethod.d.ts +101 -15
- package/lib/core/model/ArkMethod.d.ts.map +1 -1
- package/lib/core/model/ArkMethod.js +252 -39
- package/lib/core/model/ArkModule.d.ts +1 -1
- package/lib/core/model/ArkModule.js +1 -1
- package/lib/core/model/ArkNamespace.d.ts +80 -10
- package/lib/core/model/ArkNamespace.d.ts.map +1 -1
- package/lib/core/model/ArkNamespace.js +309 -76
- package/lib/core/model/ArkSignature.d.ts +242 -18
- package/lib/core/model/ArkSignature.d.ts.map +1 -1
- package/lib/core/model/ArkSignature.js +725 -95
- package/lib/core/model/builder/ArkClassBuilder.d.ts +6 -3
- package/lib/core/model/builder/ArkClassBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkClassBuilder.js +116 -71
- package/lib/core/model/builder/ArkExportBuilder.d.ts +1 -1
- package/lib/core/model/builder/ArkExportBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkExportBuilder.js +1 -1
- package/lib/core/model/builder/ArkFieldBuilder.d.ts +0 -2
- package/lib/core/model/builder/ArkFieldBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkFieldBuilder.js +9 -43
- package/lib/core/model/builder/ArkFileBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkFileBuilder.js +32 -33
- package/lib/core/model/builder/ArkMethodBuilder.d.ts +10 -3
- package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkMethodBuilder.js +40 -26
- package/lib/core/model/builder/ArkNamespaceBuilder.d.ts +3 -2
- package/lib/core/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkNamespaceBuilder.js +45 -77
- package/lib/core/model/builder/ArkSignatureBuilder.d.ts +9 -0
- package/lib/core/model/builder/ArkSignatureBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkSignatureBuilder.js +26 -3
- package/lib/core/model/builder/BodyBuilder.d.ts +1 -0
- package/lib/core/model/builder/BodyBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/BodyBuilder.js +37 -11
- package/lib/core/model/builder/builderUtils.d.ts +11 -1
- package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
- package/lib/core/model/builder/builderUtils.js +124 -90
- package/lib/frontend/FrontendBuilder.d.ts +10 -6
- package/lib/frontend/FrontendBuilder.d.ts.map +1 -1
- package/lib/frontend/FrontendBuilder.js +19 -45
- package/lib/frontend/ModuleScene.d.ts +43 -0
- package/lib/frontend/ModuleScene.d.ts.map +1 -0
- package/lib/frontend/ModuleScene.js +143 -0
- package/lib/frontend/SceneBuildStage.d.ts +15 -0
- package/lib/frontend/SceneBuildStage.d.ts.map +1 -0
- package/lib/frontend/SceneBuildStage.js +32 -0
- package/lib/frontend/SceneBuilder.d.ts +153 -0
- package/lib/frontend/SceneBuilder.d.ts.map +1 -0
- package/lib/frontend/SceneBuilder.js +859 -0
- package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts +0 -2
- package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts.map +1 -1
- package/lib/frontend/arktsFrontend/ArktsFrontend.js +0 -18
- package/lib/frontend/arktsFrontend/FileBodyRemount.d.ts +17 -0
- package/lib/frontend/arktsFrontend/FileBodyRemount.d.ts.map +1 -0
- package/lib/frontend/arktsFrontend/FileBodyRemount.js +187 -0
- package/lib/frontend/common/ModuleBuilder.d.ts +4 -2
- package/lib/frontend/common/ModuleBuilder.d.ts.map +1 -1
- package/lib/frontend/common/ModuleBuilder.js +19 -9
- package/lib/frontend/cppFrontend/CppFrontend.d.ts +0 -6
- package/lib/frontend/cppFrontend/CppFrontend.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/CppFrontend.js +0 -56
- package/lib/frontend/cppFrontend/base/Type.d.ts +7 -0
- package/lib/frontend/cppFrontend/base/Type.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/base/Type.js +29 -0
- package/lib/frontend/cppFrontend/common/ArkIRTransformer.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/ArkIRTransformer.js +56 -56
- package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts +1 -1
- package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/ArkValueTransformer.js +124 -113
- package/lib/frontend/cppFrontend/common/Builtin.d.ts +29 -19
- package/lib/frontend/cppFrontend/common/Builtin.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/Builtin.js +56 -35
- package/lib/frontend/cppFrontend/common/IRInference.d.ts +7 -2
- package/lib/frontend/cppFrontend/common/IRInference.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/IRInference.js +61 -28
- package/lib/frontend/cppFrontend/common/IRUtils.d.ts +1 -0
- package/lib/frontend/cppFrontend/common/IRUtils.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/IRUtils.js +22 -10
- package/lib/frontend/cppFrontend/common/ModelUtils.d.ts +19 -0
- package/lib/frontend/cppFrontend/common/ModelUtils.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/ModelUtils.js +84 -3
- package/lib/frontend/cppFrontend/common/TypeInference.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/common/TypeInference.js +44 -54
- package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.js +2 -1
- package/lib/frontend/cppFrontend/inference/CxxModelInference.d.ts +1 -1
- package/lib/frontend/cppFrontend/inference/CxxModelInference.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/inference/CxxValueInference.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/inference/CxxValueInference.js +41 -5
- package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.js +18 -28
- package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.js +2 -3
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts +2 -2
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.js +31 -24
- package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.js +10 -16
- package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts +0 -2
- package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.js +19 -37
- package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts +1 -0
- package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/BodyBuilder.js +30 -3
- package/lib/frontend/cppFrontend/model/builder/builderUtils.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/builderUtils.js +8 -4
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +10 -2
- package/lib/save/json/JsonSerialization.js +2 -2
- package/lib/save/source/SourceStmt.js +1 -1
- package/lib/save/source/SourceTransformer.d.ts.map +1 -1
- package/lib/save/source/SourceTransformer.js +0 -9
- package/lib/statistics/StageStatistics.d.ts +195 -0
- package/lib/statistics/StageStatistics.d.ts.map +1 -0
- package/lib/statistics/StageStatistics.js +346 -0
- package/lib/statistics/StageStatisticsReporter.d.ts +58 -0
- package/lib/statistics/StageStatisticsReporter.d.ts.map +1 -0
- package/lib/statistics/StageStatisticsReporter.js +255 -0
- package/lib/utils/Canonicalizer.d.ts +9 -2
- package/lib/utils/Canonicalizer.d.ts.map +1 -1
- package/lib/utils/Canonicalizer.js +19 -2
- package/lib/utils/CxxSceneUtils.d.ts +7 -0
- package/lib/utils/CxxSceneUtils.d.ts.map +1 -1
- package/lib/utils/CxxSceneUtils.js +10 -1
- package/lib/utils/FileUtils.d.ts +0 -1
- package/lib/utils/FileUtils.d.ts.map +1 -1
- package/lib/utils/FileUtils.js +1 -9
- package/lib/utils/HashUtils.d.ts +9 -0
- package/lib/utils/HashUtils.d.ts.map +1 -0
- package/lib/utils/HashUtils.js +65 -0
- package/lib/utils/ModuleUtils.d.ts.map +1 -1
- package/lib/utils/ModuleUtils.js +24 -5
- package/lib/utils/VisitedSegment.d.ts +23 -0
- package/lib/utils/VisitedSegment.d.ts.map +1 -0
- package/lib/utils/VisitedSegment.js +64 -0
- package/lib/utils/callGraphUtils.d.ts.map +1 -1
- package/lib/utils/callGraphUtils.js +7 -7
- package/lib/utils/getAllFiles.d.ts.map +1 -1
- package/lib/utils/getAllFiles.js +11 -8
- package/lib/utils/logger.d.ts +4 -0
- package/lib/utils/logger.d.ts.map +1 -1
- package/lib/utils/logger.js +16 -0
- package/lib/utils/parseArkSourceFile.d.ts +33 -0
- package/lib/utils/parseArkSourceFile.d.ts.map +1 -0
- package/lib/utils/parseArkSourceFile.js +131 -0
- package/package.json +1 -1
- package/lib/utils/DependenciesSort.d.ts +0 -3
- package/lib/utils/DependenciesSort.d.ts.map +0 -1
- package/lib/utils/DependenciesSort.js +0 -72
- package/lib/utils/crypto_utils.d.ts +0 -6
- package/lib/utils/crypto_utils.d.ts.map +0 -1
- package/lib/utils/crypto_utils.js +0 -57
|
@@ -14,6 +14,7 @@ export declare class IRUtils {
|
|
|
14
14
|
static isTempLocal(value: Value): boolean;
|
|
15
15
|
static findOperandIdx(stmt: Stmt, operand: Value): number;
|
|
16
16
|
static adjustOperandOriginalPositions(stmt: Stmt, oldValue: Value, newValue: Value): void;
|
|
17
|
+
static generateDefaultPositionsPacked(count: number): number[];
|
|
17
18
|
static generateDefaultPositions(count: number): FullPosition[];
|
|
18
19
|
}
|
|
19
20
|
//# sourceMappingURL=IRUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IRUtils.d.ts","sourceRoot":"","sources":["../../../src/core/common/IRUtils.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"IRUtils.d.ts","sourceRoot":"","sources":["../../../src/core/common/IRUtils.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAShD,qBAAa,OAAO;WACF,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;WAczC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;WAWvC,WAAW,CAAC,QAAQ,EAAE,IAAI,GAAG,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;WAIjH,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,GAAG,gBAAgB;WAI1H,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;WAIlC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,GAAG,MAAM;WAkBlD,8BAA8B,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI;WAoDlF,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;WAQvD,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE;CAOxE"}
|
|
@@ -21,6 +21,9 @@ const Position_1 = require("../base/Position");
|
|
|
21
21
|
const Local_1 = require("../base/Local");
|
|
22
22
|
const Const_1 = require("./Const");
|
|
23
23
|
const ArkMetadataBuilder_1 = require("../model/builder/ArkMetadataBuilder");
|
|
24
|
+
const operandCountScratch = [];
|
|
25
|
+
const DEFAULT_POSITION_FIRST = Position_1.FullPosition.DEFAULT.getFirstPacked();
|
|
26
|
+
const DEFAULT_POSITION_LAST = Position_1.FullPosition.DEFAULT.getLastPacked();
|
|
24
27
|
class IRUtils {
|
|
25
28
|
static moreThanOneAddress(value) {
|
|
26
29
|
if (value instanceof Expr_1.AbstractBinopExpr ||
|
|
@@ -54,53 +57,81 @@ class IRUtils {
|
|
|
54
57
|
}
|
|
55
58
|
static findOperandIdx(stmt, operand) {
|
|
56
59
|
let index = -1;
|
|
57
|
-
|
|
60
|
+
while (operandCountScratch.length > 0) {
|
|
61
|
+
operandCountScratch.pop();
|
|
62
|
+
}
|
|
63
|
+
const operands = stmt.getDefAndUses(operandCountScratch);
|
|
58
64
|
for (let i = 0; i < operands.length; i++) {
|
|
59
65
|
if (operands[i] === operand) {
|
|
60
66
|
index = i;
|
|
61
67
|
break;
|
|
62
68
|
}
|
|
63
69
|
}
|
|
70
|
+
while (operandCountScratch.length > 0) {
|
|
71
|
+
operandCountScratch.pop();
|
|
72
|
+
}
|
|
64
73
|
return index;
|
|
65
74
|
}
|
|
66
75
|
static adjustOperandOriginalPositions(stmt, oldValue, newValue) {
|
|
67
|
-
const
|
|
68
|
-
if (!
|
|
76
|
+
const packed = stmt.getOperandPositionsPacked();
|
|
77
|
+
if (!packed) {
|
|
69
78
|
return;
|
|
70
79
|
}
|
|
71
|
-
const operandOriginalPositionSize =
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
80
|
+
const operandOriginalPositionSize = packed.length >> 1;
|
|
81
|
+
while (operandCountScratch.length > 0) {
|
|
82
|
+
operandCountScratch.pop();
|
|
83
|
+
}
|
|
84
|
+
stmt.getDefAndUses(operandCountScratch);
|
|
85
|
+
const defUseSize = operandCountScratch.length;
|
|
86
|
+
while (operandCountScratch.length > 0) {
|
|
87
|
+
operandCountScratch.pop();
|
|
88
|
+
}
|
|
89
|
+
oldValue.getUses(operandCountScratch);
|
|
90
|
+
const oldValueUseSize = operandCountScratch.length;
|
|
91
|
+
while (operandCountScratch.length > 0) {
|
|
92
|
+
operandCountScratch.pop();
|
|
93
|
+
}
|
|
94
|
+
newValue.getUses(operandCountScratch);
|
|
95
|
+
const newValueUseSize = operandCountScratch.length;
|
|
96
|
+
while (operandCountScratch.length > 0) {
|
|
97
|
+
operandCountScratch.pop();
|
|
98
|
+
}
|
|
75
99
|
const oldValueIdx = IRUtils.findOperandIdx(stmt, oldValue);
|
|
76
100
|
const baseValueOffset = 1;
|
|
77
101
|
const fieldValueOffset = 2;
|
|
78
102
|
if (oldValue instanceof Ref_1.AbstractRef && newValue instanceof Ref_1.AbstractRef) {
|
|
79
103
|
if (newValue instanceof Ref_1.ArkStaticFieldRef) {
|
|
80
|
-
|
|
104
|
+
packed.splice(2 * (oldValueIdx + baseValueOffset), 2 * (oldValueUseSize - newValueUseSize));
|
|
81
105
|
}
|
|
82
106
|
else if (oldValue instanceof Ref_1.ArkStaticFieldRef) {
|
|
83
|
-
|
|
107
|
+
packed.splice(2 * (oldValueIdx + baseValueOffset), 0, ...IRUtils.generateDefaultPositionsPacked(newValueUseSize - oldValueUseSize));
|
|
84
108
|
}
|
|
85
109
|
if (oldValue instanceof Ref_1.ArkInstanceFieldRef && newValue instanceof Ref_1.ArkArrayRef) {
|
|
86
110
|
if (operandOriginalPositionSize === defUseSize) {
|
|
87
111
|
// may not reserve positions for field name
|
|
88
|
-
|
|
112
|
+
packed.splice(2 * (oldValueIdx + fieldValueOffset), 0, ...IRUtils.generateDefaultPositionsPacked(newValueUseSize - oldValueUseSize));
|
|
89
113
|
}
|
|
90
114
|
}
|
|
91
115
|
else if (oldValue instanceof Ref_1.ArkArrayRef && newValue instanceof Ref_1.ArkInstanceFieldRef) {
|
|
92
|
-
|
|
116
|
+
packed.splice(2 * (oldValueIdx + fieldValueOffset), 2 * (oldValueUseSize - newValueUseSize));
|
|
93
117
|
}
|
|
94
118
|
}
|
|
95
119
|
else if (oldValue instanceof Expr_1.AbstractInvokeExpr && newValue instanceof Expr_1.AbstractInvokeExpr) {
|
|
96
120
|
if (oldValueUseSize === newValueUseSize + 1) {
|
|
97
|
-
|
|
121
|
+
packed.splice(2 * (oldValueIdx + baseValueOffset), 2);
|
|
98
122
|
}
|
|
99
123
|
else if (oldValueUseSize === newValueUseSize - 1) {
|
|
100
|
-
|
|
124
|
+
packed.splice(2 * (oldValueIdx + baseValueOffset), 0, DEFAULT_POSITION_FIRST, DEFAULT_POSITION_LAST);
|
|
101
125
|
}
|
|
102
126
|
}
|
|
103
127
|
}
|
|
128
|
+
static generateDefaultPositionsPacked(count) {
|
|
129
|
+
const packed = [];
|
|
130
|
+
for (let i = 0; i < count; i++) {
|
|
131
|
+
packed.push(DEFAULT_POSITION_FIRST, DEFAULT_POSITION_LAST);
|
|
132
|
+
}
|
|
133
|
+
return packed;
|
|
134
|
+
}
|
|
104
135
|
static generateDefaultPositions(count) {
|
|
105
136
|
const defaultPositions = [];
|
|
106
137
|
for (let i = 0; i < count; i++) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { VisitedSegment } from '../../utils/VisitedSegment';
|
|
1
2
|
import { Local } from '../base/Local';
|
|
2
3
|
import { ArkClass } from '../model/ArkClass';
|
|
3
4
|
import { ArkFile, Language } from '../model/ArkFile';
|
|
@@ -14,31 +15,34 @@ import { Value } from '../base/Value';
|
|
|
14
15
|
export declare class ModelUtils {
|
|
15
16
|
static implicitArkUIBuilderMethods: Set<ArkMethod>;
|
|
16
17
|
static popMethodSignatureCache: Map<string, MethodSignature>;
|
|
18
|
+
/** @internal */
|
|
19
|
+
static componentMethodSigCache: Map<string, MethodSignature>;
|
|
20
|
+
/** @internal Get the Registry singleton (dynamic: dispose 后重建的实例不可被静态字段缓存,否则推断期查空 registry)。 */
|
|
21
|
+
private static get registry();
|
|
22
|
+
/**
|
|
23
|
+
* @internal 取或建组件方法 stub 签名(缓存入口;className 必须在组件白名单内——调用面 generateComponentCreationStmts / ArkIRTransformer 的
|
|
24
|
+
* If/Repeat 分支,均为白名单组件名/常量)。
|
|
25
|
+
*/
|
|
26
|
+
static getOrCreateComponentMethodSig(className: string, methodName: string): MethodSignature;
|
|
17
27
|
static dispose(): void;
|
|
18
28
|
static getMethodSignatureFromArkClass(arkClass: ArkClass, methodName: string): MethodSignature | null;
|
|
19
|
-
static getClassWithNameInNamespaceRecursively(className: string, ns: ArkNamespace): ArkClass | null;
|
|
20
|
-
static getClassWithNameFromClass(className: string, startFrom: ArkClass): ArkClass | null;
|
|
21
29
|
/**
|
|
22
30
|
* search class within the file that contain the given method
|
|
23
31
|
*/
|
|
24
32
|
static getClassWithName(className: string, thisClass: ArkClass): ArkClass | null;
|
|
25
|
-
/** search class within the given file */
|
|
26
|
-
static getClassInFileWithName(className: string, arkFile: ArkFile): ArkClass | null;
|
|
27
33
|
static getClassInImportInfoWithName(className: string, arkFile: ArkFile): ArkClass | null;
|
|
28
34
|
/** search type within the given file import infos */
|
|
29
35
|
static getArkExportInImportInfoWithName(name: string, arkFile: ArkFile): ArkExport | null;
|
|
30
|
-
/** search method within the file that contain the given method */
|
|
31
|
-
static getMethodWithName(methodName: string, startFrom: ArkMethod): ArkMethod | null;
|
|
32
|
-
static getNamespaceWithNameFromClass(namespaceName: string, startFrom: ArkClass): ArkNamespace | null;
|
|
33
36
|
static getNamespaceWithName(namespaceName: string, thisClass: ArkClass): ArkNamespace | null;
|
|
34
|
-
static getNamespaceInFileWithName(namespaceName: string, arkFile: ArkFile): ArkNamespace | null;
|
|
35
37
|
static findSymbolInFileWithName(symbolName: string, arkClass: ArkClass, onlyType?: boolean): ArkExport | null;
|
|
36
38
|
static getNamespaceInImportInfoWithName(namespaceName: string, arkFile: ArkFile): ArkNamespace | null;
|
|
37
39
|
static getStaticMethodWithName(methodName: string, thisClass: ArkClass): ArkMethod | null;
|
|
38
40
|
static isLanguageOverloadSupport(language: Language): boolean;
|
|
39
41
|
static getStaticMethodInFileWithName(methodName: string, arkFile: ArkFile): ArkMethod | null;
|
|
40
|
-
static getStaticMethodInImportInfoWithName(methodName: string, arkFile: ArkFile): ArkMethod | null;
|
|
41
42
|
static getLocalInImportInfoWithName(localName: string, arkFile: ArkFile): Local | null;
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated Use {@link ArkFile.getAllNamespacesUnderThisFile} instead.
|
|
45
|
+
*/
|
|
42
46
|
static getAllNamespacesInFile(arkFile: ArkFile): ArkNamespace[];
|
|
43
47
|
static getAllNamespacesInNamespace(arkNamespace: ArkNamespace, allNamespaces: ArkNamespace[]): void;
|
|
44
48
|
static getAllClassesInFile(arkFile: ArkFile): ArkClass[];
|
|
@@ -48,8 +52,35 @@ export declare class ModelUtils {
|
|
|
48
52
|
static getDefaultClass(arkClass: ArkClass): ArkClass | null;
|
|
49
53
|
static getClass(method: ArkMethod, signature: ClassSignature): ArkClass | null;
|
|
50
54
|
static findPropertyInNamespace(name: string, namespace: ArkNamespace): ArkExport | null | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Multi-entity variant of {@link findPropertyInNamespace}: after the primary
|
|
57
|
+
* namespace misses, probe sibling entities of the same-name global symbol
|
|
58
|
+
* (cross-file same-name namespaces, e.g. `Intl` declared across lib.es5 +
|
|
59
|
+
* lib.es20XX.intl — later files' entities carry members declared there).
|
|
60
|
+
* Covers each sibling's %dflt locals (declare const vars), inner classes, nested namespaces
|
|
61
|
+
* and exports — members physically stay in their declaring entities. Order follows
|
|
62
|
+
* registration order (= DFS file order).
|
|
63
|
+
*/
|
|
64
|
+
static findPropertyInNamespaces(name: string, namespace: ArkNamespace): ArkExport | null | undefined;
|
|
51
65
|
static findPropertyInClass(name: string, arkClass: ArkClass): ArkExport | ArkField | null;
|
|
52
66
|
static findDeclaredLocal(local: Local, arkMethod: ArkMethod, times?: number): Local | null;
|
|
67
|
+
/**
|
|
68
|
+
* @internal Same walk as {@link findDeclaredLocal} for callers that only read the resolved
|
|
69
|
+
* type: matches `findDeclaredLocal(...)?.getType()` exactly (undefined when not found) but
|
|
70
|
+
* neither wraps the name into a throwaway Local nor allocates a parameter Local on hits.
|
|
71
|
+
*/
|
|
72
|
+
static findDeclaredLocalType(name: string, arkMethod: ArkMethod, times?: number): Type | undefined;
|
|
73
|
+
/**
|
|
74
|
+
* Find a class declared inside a method body by its bare source name, walking the
|
|
75
|
+
* outer-method chain (so classes captured from enclosing functions resolve too).
|
|
76
|
+
* The class model lives at file/namespace top level under the composed name
|
|
77
|
+
* (`Local$Outer-m`); this lookup goes through the bare-name → ClassSigID bindings
|
|
78
|
+
* registered at build time, giving deterministic scope-chain resolution.
|
|
79
|
+
* @param className - the bare source name of the local class
|
|
80
|
+
* @param arkMethod - the method where the reference occurs
|
|
81
|
+
* @returns The local ArkClass, or null if not declared in any enclosing method.
|
|
82
|
+
*/
|
|
83
|
+
static findLocalClassInMethodChain(className: string, arkMethod: ArkMethod): ArkClass | null;
|
|
53
84
|
static findArkModel(baseName: string, arkClass: ArkClass): ArkExport | ArkField | null;
|
|
54
85
|
static findGlobalRef(refName: string, method: ArkMethod): ArkExport | null;
|
|
55
86
|
static findArkModelByRefName(refName: string, arkClass: ArkClass): ArkExport | ArkField | null;
|
|
@@ -67,21 +98,14 @@ export declare class ModelUtils {
|
|
|
67
98
|
private static classTypeMatch;
|
|
68
99
|
private static parseArg;
|
|
69
100
|
}
|
|
70
|
-
/**
|
|
71
|
-
* find arkFile by from info
|
|
72
|
-
* export xx from '../xx'
|
|
73
|
-
* import xx from '@ohos/xx'
|
|
74
|
-
* import xx from '@ohos.xx'
|
|
75
|
-
* @param im importInfo or exportInfo
|
|
76
|
-
*/
|
|
77
101
|
export declare function getArkFile(im: FromInfo): ArkFile | null;
|
|
78
102
|
/**
|
|
79
103
|
* find from info's export
|
|
80
104
|
* @param fromInfo importInfo or exportInfo
|
|
81
105
|
* @param visited
|
|
82
106
|
*/
|
|
83
|
-
export declare function findExportInfo(fromInfo: FromInfo, visited?:
|
|
84
|
-
export declare function findArkExport(exportInfo: ExportInfo | undefined, visited?:
|
|
85
|
-
export declare function findArkExportInFile(name: string, declaringArkFile: ArkFile, visited?:
|
|
86
|
-
export declare function findExportInfoInfile(fromInfo: FromInfo, file: ArkFile, visited?:
|
|
107
|
+
export declare function findExportInfo(fromInfo: FromInfo, visited?: VisitedSegment<ArkFile>): ExportInfo | null;
|
|
108
|
+
export declare function findArkExport(exportInfo: ExportInfo | undefined, visited?: VisitedSegment<ArkFile>): ArkExport | null;
|
|
109
|
+
export declare function findArkExportInFile(name: string, declaringArkFile: ArkFile, visited?: VisitedSegment<ArkFile>): ArkExport | null;
|
|
110
|
+
export declare function findExportInfoInfile(fromInfo: FromInfo, file: ArkFile, visited?: VisitedSegment<ArkFile>): ExportInfo | undefined;
|
|
87
111
|
//# sourceMappingURL=ModelUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelUtils.d.ts","sourceRoot":"","sources":["../../../src/core/common/ModelUtils.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAEH,cAAc,EAId,eAAe,EAEf,SAAS,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ModelUtils.d.ts","sourceRoot":"","sources":["../../../src/core/common/ModelUtils.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAEH,cAAc,EAId,eAAe,EAEf,SAAS,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAO7C,OAAO,EAGH,SAAS,EAIT,IAAI,EAIP,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAQtC,qBAAa,UAAU;IACnB,OAAc,2BAA2B,EAAE,GAAG,CAAC,SAAS,CAAC,CAAa;IACtE,OAAc,uBAAuB,+BAAsC;IAC3E,gBAAgB;IAChB,OAAc,uBAAuB,+BAAsC;IAC3E,gGAAgG;IAChG,OAAO,CAAC,MAAM,KAAK,QAAQ,GAE1B;IAED;;;OAGG;WACW,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe;WAcrF,OAAO,IAAI,IAAI;WAOf,8BAA8B,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAS5G;;OAEG;WACW,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;WAWzE,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI;IAQhG,qDAAqD;WACvC,gCAAgC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;WAIlF,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,YAAY,GAAG,IAAI;WAarF,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAE,OAAe,GAAG,SAAS,GAAG,IAAI;WA+B7G,gCAAgC,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI;WAQ9F,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI;WAclF,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;WAQtD,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;WAQrF,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI;IAQ7F;;OAEG;WACW,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,EAAE;WAKxD,2BAA2B,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI;WAO5F,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,EAAE;WAQjD,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,EAAE;WAWlD,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;WAYnD,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI;WAavE,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;WAIpD,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI;WA2BvE,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS;IAW1G;;;;;;;;OAQG;WACW,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS;WAgB7F,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI;WA2BlF,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,GAAE,MAAU,GAAG,KAAK,GAAG,IAAI;IAoCpG;;;;OAIG;WACW,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,GAAE,MAAU,GAAG,IAAI,GAAG,SAAS;IAgC5G;;;;;;;;;OASG;WACW,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI;WAerF,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI;WAsB/E,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;WAQnE,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI;WA4BvF,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI;IAyBtG;;;;OAIG;WACW,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAE,MAAU,GAAG,KAAK;WAyBtE,sBAAsB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;WAgB/D,SAAS,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,GAAE,OAAe,GAAG,OAAO;IAgB1H,OAAO,CAAC,MAAM,CAAC,UAAU;WA0BX,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO;IA2B1F,OAAO,CAAC,MAAM,CAAC,cAAc;IA6C7B,OAAO,CAAC,MAAM,CAAC,QAAQ;CAY1B;AAgCD,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAiBvD;AA8CD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,UAAU,GAAG,IAAI,CAWvG;AAgCD,wBAAgB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAcrH;AAsCD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAWhI;AA8ED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,UAAU,GAAG,SAAS,CAWjI"}
|