@lcap/nasl 3.3.7-beta.4 → 3.3.7-beta.5
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/.nyc_output/1319679b-f102-43d6-a642-6d9e055d1730.json +1 -0
- package/.nyc_output/processinfo/1319679b-f102-43d6-a642-6d9e055d1730.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/coverage/index.html +121 -121
- package/coverage/src/automate/engine/index.html +1 -1
- package/coverage/src/automate/engine/utils.js.html +1 -1
- package/coverage/src/bak/index.html +19 -19
- package/coverage/src/bak/translator.js.html +293 -59
- package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +1 -1
- package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +1 -1
- package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1 -1
- package/coverage/src/breakpoint/generator/CallbackNode.ts.html +1 -1
- package/coverage/src/breakpoint/generator/index.html +1 -1
- package/coverage/src/breakpoint/generator/index.ts.html +1 -1
- package/coverage/src/breakpoint/index.html +1 -1
- package/coverage/src/breakpoint/index.ts.html +1 -1
- package/coverage/src/breakpoint/shared/constants.ts.html +5 -2
- package/coverage/src/breakpoint/shared/index.html +12 -12
- package/coverage/src/breakpoint/shared/index.ts.html +1 -1
- package/coverage/src/breakpoint/shared/operations.ts.html +3 -3
- package/coverage/src/breakpoint/shared/socket.ts.html +1 -1
- package/coverage/src/breakpoint/shared/utils.ts.html +29 -80
- package/coverage/src/breakpoint/store/core.ts.html +4 -4
- package/coverage/src/breakpoint/store/dock.ts.html +1 -1
- package/coverage/src/breakpoint/store/index.html +1 -1
- package/coverage/src/breakpoint/store/index.ts.html +1 -1
- package/coverage/src/common/BaseNode.ts.html +155 -191
- package/coverage/src/common/Command.ts.html +9 -6
- package/coverage/src/common/EventEmitter.ts.html +14 -29
- package/coverage/src/common/Messager.ts.html +1 -1
- package/coverage/src/common/asyncFuncMap.ts.html +1 -1
- package/coverage/src/common/index.html +32 -32
- package/coverage/src/common/index.ts.html +1 -1
- package/coverage/src/common/utils.ts.html +1 -1
- package/coverage/src/concepts/Abort__.ts.html +2 -2
- package/coverage/src/concepts/AbstractInterface__.ts.html +2 -2
- package/coverage/src/concepts/Anchor__.ts.html +3 -3
- package/coverage/src/concepts/AnonymousFunction__.ts.html +82 -28
- package/coverage/src/concepts/App__.ts.html +481 -184
- package/coverage/src/concepts/Argument__.ts.html +3 -3
- package/coverage/src/concepts/Assignee__.ts.html +3 -3
- package/coverage/src/concepts/AssignmentLine__.ts.html +2 -2
- package/coverage/src/concepts/Assignment__.ts.html +3 -3
- package/coverage/src/concepts/Attribute__.ts.html +2 -2
- package/coverage/src/concepts/AuthInterface__.ts.html +2 -2
- package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +3 -3
- package/coverage/src/concepts/AuthLogic__.ts.html +2 -2
- package/coverage/src/concepts/BackendVariable__.ts.html +35 -11
- package/coverage/src/concepts/Backend__.ts.html +3 -3
- package/coverage/src/concepts/BatchAssignment__.ts.html +3 -3
- package/coverage/src/concepts/BinaryExpression__.ts.html +2 -2
- package/coverage/src/concepts/BindAttribute__.ts.html +34 -16
- package/coverage/src/concepts/BindDirective__.ts.html +65 -20
- package/coverage/src/concepts/BindEvent__.ts.html +108 -24
- package/coverage/src/concepts/BindStyle__.ts.html +3 -3
- package/coverage/src/concepts/Block__.ts.html +3 -3
- package/coverage/src/concepts/BooleanLiteral__.ts.html +2 -2
- package/coverage/src/concepts/BusinessComponent__.ts.html +8164 -0
- package/coverage/src/concepts/BusinessLogic__.ts.html +1213 -0
- package/coverage/src/concepts/CallAuthInterface__.ts.html +3 -3
- package/coverage/src/concepts/CallConnector__.ts.html +2 -2
- package/coverage/src/concepts/CallEvent__.ts.html +1138 -0
- package/coverage/src/concepts/CallFunction__.ts.html +35 -41
- package/coverage/src/concepts/CallInterface__.ts.html +3 -3
- package/coverage/src/concepts/CallLogic__.ts.html +68 -26
- package/coverage/src/concepts/CallQueryComponent__.ts.html +3 -3
- package/coverage/src/concepts/Comment__.ts.html +2 -2
- package/coverage/src/concepts/CompletionProperty__.ts.html +2 -2
- package/coverage/src/concepts/ConfigGroup__.ts.html +3 -3
- package/coverage/src/concepts/ConfigPropertyValue__.ts.html +2 -2
- package/coverage/src/concepts/ConfigProperty__.ts.html +3 -3
- package/coverage/src/concepts/Configuration__.ts.html +3 -3
- package/coverage/src/concepts/Connection__.ts.html +3 -3
- package/coverage/src/concepts/ConnectorTrigger__.ts.html +2 -2
- package/coverage/src/concepts/Connector__.ts.html +3 -3
- package/coverage/src/concepts/Constant__.ts.html +3 -3
- package/coverage/src/concepts/CountersignPolicy__.ts.html +2 -2
- package/coverage/src/concepts/DataSource__.ts.html +3 -3
- package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +2 -2
- package/coverage/src/concepts/DefaultValue__.ts.html +3 -3
- package/coverage/src/concepts/Destination__.ts.html +18 -12
- package/coverage/src/concepts/End__.ts.html +8 -5
- package/coverage/src/concepts/EntityIndex__.ts.html +2 -2
- package/coverage/src/concepts/EntityProperty__.ts.html +3 -3
- package/coverage/src/concepts/Entity__.ts.html +10 -4
- package/coverage/src/concepts/EnumItem__.ts.html +2 -2
- package/coverage/src/concepts/Enum__.ts.html +3 -3
- package/coverage/src/concepts/Event__.ts.html +222 -12
- package/coverage/src/concepts/ExternalDestination__.ts.html +3 -3
- package/coverage/src/concepts/ForEachStatement__.ts.html +3 -3
- package/coverage/src/concepts/FrontendLibrary__.ts.html +3 -3
- package/coverage/src/concepts/FrontendType__.ts.html +2842 -0
- package/coverage/src/concepts/FrontendVariable__.ts.html +2 -2
- package/coverage/src/concepts/Frontend__.ts.html +16 -760
- package/coverage/src/concepts/Function__.ts.html +3 -3
- package/coverage/src/concepts/I18nInfo__.ts.html +2 -2
- package/coverage/src/concepts/Identifier__.ts.html +72 -24
- package/coverage/src/concepts/IfStatement__.ts.html +3 -3
- package/coverage/src/concepts/ImportedInterface__.ts.html +2 -2
- package/coverage/src/concepts/Integration__.ts.html +3 -3
- package/coverage/src/concepts/InterfaceParam__.ts.html +3 -3
- package/coverage/src/concepts/Interface__.ts.html +3 -3
- package/coverage/src/concepts/JSBlock__.ts.html +2 -2
- package/coverage/src/concepts/JavaLogic__.ts.html +2 -2
- package/coverage/src/concepts/LogicItem__.ts.html +6 -3
- package/coverage/src/concepts/Logic__.ts.html +70 -31
- package/coverage/src/concepts/MatchCase__.ts.html +3 -3
- package/coverage/src/concepts/Match__.ts.html +3 -3
- package/coverage/src/concepts/MemberExpression__.ts.html +3 -3
- package/coverage/src/concepts/MetadataType__.ts.html +3 -3
- package/coverage/src/concepts/MicroApp__.ts.html +2 -2
- package/coverage/src/concepts/Module__.ts.html +20 -20
- package/coverage/src/concepts/MsgTriggerEvent__.ts.html +3 -3
- package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +3 -3
- package/coverage/src/concepts/MultiApprovalPolicy__.ts.html +2 -2
- package/coverage/src/concepts/Namespace__.ts.html +3 -3
- package/coverage/src/concepts/NewComposite__.ts.html +7 -13
- package/coverage/src/concepts/NewList__.ts.html +3 -3
- package/coverage/src/concepts/NewMap__.ts.html +3 -3
- package/coverage/src/concepts/New__.ts.html +2 -2
- package/coverage/src/concepts/NullLiteral__.ts.html +2 -2
- package/coverage/src/concepts/NumericLiteral__.ts.html +2 -2
- package/coverage/src/concepts/OqlQueryComponent__.ts.html +2 -2
- package/coverage/src/concepts/OverriddenLogic__.ts.html +3 -3
- package/coverage/src/concepts/ParamWithGroup__.ts.html +388 -0
- package/coverage/src/concepts/Param__.ts.html +36 -12
- package/coverage/src/concepts/Point__.ts.html +2 -2
- package/coverage/src/concepts/ProcessComponent__.ts.html +3 -3
- package/coverage/src/concepts/ProcessElement__.ts.html +29 -8
- package/coverage/src/concepts/ProcessOutcome__.ts.html +2 -2
- package/coverage/src/concepts/ProcessOutcomes__.ts.html +2 -2
- package/coverage/src/concepts/Process__.ts.html +3 -3
- package/coverage/src/concepts/QueryAggregateExpression__.ts.html +2 -2
- package/coverage/src/concepts/QueryFieldExpression__.ts.html +2 -2
- package/coverage/src/concepts/QueryFromExpression__.ts.html +3 -3
- package/coverage/src/concepts/QueryGroupByExpression__.ts.html +2 -2
- package/coverage/src/concepts/QueryJoinExpression__.ts.html +3 -3
- package/coverage/src/concepts/QueryLimitExpression__.ts.html +2 -2
- package/coverage/src/concepts/QueryOrderByExpression__.ts.html +2 -2
- package/coverage/src/concepts/QuerySelectExpression__.ts.html +3 -3
- package/coverage/src/concepts/Rect__.ts.html +2 -2
- package/coverage/src/concepts/Return__.ts.html +35 -11
- package/coverage/src/concepts/Role__.ts.html +2 -2
- package/coverage/src/concepts/SelectMembers__.ts.html +3 -3
- package/coverage/src/concepts/SequentialPolicy__.ts.html +2 -2
- package/coverage/src/concepts/Slot__.ts.html +2 -2
- package/coverage/src/concepts/SqlQueryComponent__.ts.html +2 -2
- package/coverage/src/concepts/Start__.ts.html +2 -2
- package/coverage/src/concepts/StaticString__.ts.html +2 -2
- package/coverage/src/concepts/StringInterpolation__.ts.html +3 -3
- package/coverage/src/concepts/StringLiteral__.ts.html +2 -2
- package/coverage/src/concepts/StructureProperty__.ts.html +2 -2
- package/coverage/src/concepts/Structure__.ts.html +3 -3
- package/coverage/src/concepts/SwitchCase__.ts.html +3 -3
- package/coverage/src/concepts/SwitchStatement__.ts.html +3 -3
- package/coverage/src/concepts/Theme__.ts.html +2 -2
- package/coverage/src/concepts/Transactional__.ts.html +2 -2
- package/coverage/src/concepts/TriggerEvent__.ts.html +2 -2
- package/coverage/src/concepts/TriggerLauncher__.ts.html +2 -2
- package/coverage/src/concepts/TypeAnnotation__.ts.html +14 -14
- package/coverage/src/concepts/TypeParam__.ts.html +2 -2
- package/coverage/src/concepts/UnaryExpression__.ts.html +2 -2
- package/coverage/src/concepts/Unparsed__.ts.html +2 -2
- package/coverage/src/concepts/UseComponent__.ts.html +2 -2
- package/coverage/src/concepts/ValidationRule__.ts.html +21 -6
- package/coverage/src/concepts/Variable__.ts.html +42 -12
- package/coverage/src/concepts/ViewBlock__.ts.html +2 -2
- package/coverage/src/concepts/ViewComponent__.ts.html +3 -3
- package/coverage/src/concepts/ViewElement__.ts.html +522 -48
- package/coverage/src/concepts/View__.ts.html +54 -45
- package/coverage/src/concepts/WhileStatement__.ts.html +3 -3
- package/coverage/src/concepts/basics/constants.ts.html +1 -1
- package/coverage/src/concepts/basics/index.html +1 -1
- package/coverage/src/concepts/basics/stdlib/index.html +1 -1
- package/coverage/src/concepts/basics/stdlib/index.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1 -1
- package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +2 -2
- package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +1 -1
- package/coverage/src/concepts/basics/types/coreTypeList.ts.html +1 -1
- package/coverage/src/concepts/basics/types/index.html +1 -1
- package/coverage/src/concepts/basics/types/index.ts.html +1 -1
- package/coverage/src/concepts/index.html +247 -172
- package/coverage/src/concepts/index.ts.html +2 -2
- package/coverage/src/concepts/index__.ts.html +19 -4
- package/coverage/src/concepts/utils/asserts.ts.html +1111 -22
- package/coverage/src/concepts/utils/index.html +18 -18
- package/coverage/src/concepts/utils/quick-info.ts.html +1 -1
- package/coverage/src/concepts/utils/types.ts.html +86 -2
- package/coverage/src/config.ts.html +2 -2
- package/coverage/src/decorators/index.html +18 -18
- package/coverage/src/decorators/index.ts.html +42 -57
- package/coverage/src/decorators/promise.ts.html +1 -1
- package/coverage/src/eventBus.ts.html +1 -1
- package/coverage/src/generator/compileComponent.ts.html +1 -1
- package/coverage/src/generator/genBundleFiles.ts.html +89 -35
- package/coverage/src/generator/genHash.ts.html +2 -2
- package/coverage/src/generator/genMetaData.ts.html +2 -2
- package/coverage/src/generator/genReleaseBody.ts.html +46 -13
- package/coverage/src/generator/icestark.ts.html +1 -1
- package/coverage/src/generator/index.html +30 -30
- package/coverage/src/generator/index.ts.html +1 -1
- package/coverage/src/generator/microApp.ts.html +1 -1
- package/coverage/src/generator/permission.ts.html +16 -10
- package/coverage/src/generator/qiankun.ts.html +1 -1
- package/coverage/src/generator/styleReplacer.ts.html +1 -1
- package/coverage/src/index.html +1 -1
- package/coverage/src/index.ts.html +2 -2
- package/coverage/src/manager/diagnostic.ts.html +1 -1
- package/coverage/src/manager/index.html +1 -1
- package/coverage/src/manager/stepRecorder.ts.html +1 -1
- package/coverage/src/natural/genNaturalTS.ts.html +1 -1
- package/coverage/src/natural/index.html +1 -1
- package/coverage/src/natural/index.ts.html +1 -1
- package/coverage/src/natural/naslStdlibMap.ts.html +1 -1
- package/coverage/src/natural/transformTSCode.ts.html +3 -3
- package/coverage/src/sentry/index.html +1 -1
- package/coverage/src/sentry/index.ts.html +25 -25
- package/coverage/src/server/createUiTs.ts.html +1 -1
- package/coverage/src/server/entity2LogicNamespace.ts.html +1 -1
- package/coverage/src/server/event.js.html +1 -1
- package/coverage/src/server/extendBaseNode.ts.html +99 -30
- package/coverage/src/server/formatTsUtils.ts.html +1 -1
- package/coverage/src/server/getConnector.ts.html +1 -1
- package/coverage/src/server/getExtensionModules.ts.html +1 -1
- package/coverage/src/server/getFunctions.ts.html +1 -1
- package/coverage/src/server/getInterfaces.ts.html +1 -1
- package/coverage/src/server/getLogging.ts.html +1 -1
- package/coverage/src/server/getLogics.ts.html +180 -66
- package/coverage/src/server/getMemberIdentifier.ts.html +27 -9
- package/coverage/src/server/getProcessComponents.ts.html +1 -1
- package/coverage/src/server/getProcesses.ts.html +6 -6
- package/coverage/src/server/getValidates.ts.html +1 -1
- package/coverage/src/server/index.html +44 -44
- package/coverage/src/server/index.ts.html +1 -1
- package/coverage/src/server/naslServer.ts.html +99 -30
- package/coverage/src/server/naslStdlibMap.ts.html +1 -1
- package/coverage/src/server/process2LogicNamespace.ts.html +1 -1
- package/coverage/src/server/translator.ts.html +23 -5
- package/coverage/src/service/creator/add.configs.js.html +1 -1
- package/coverage/src/service/creator/errHandles.js.html +1 -1
- package/coverage/src/service/creator/index.html +1 -1
- package/coverage/src/service/creator/index.js.html +2 -2
- package/coverage/src/service/datasource/api.js.html +1 -1
- package/coverage/src/service/datasource/index.html +1 -1
- package/coverage/src/service/datasource/index.js.html +1 -1
- package/coverage/src/service/logic/api.js.html +1 -1
- package/coverage/src/service/logic/index.html +1 -1
- package/coverage/src/service/logic/index.js.html +1 -1
- package/coverage/src/service/storage/api.js.html +1 -1
- package/coverage/src/service/storage/index.html +17 -17
- package/coverage/src/service/storage/index.ts.html +2 -2
- package/coverage/src/service/storage/init.ts.html +100 -13
- package/coverage/src/service/storage/jsoner.ts.html +1 -1
- package/coverage/src/service/storage/map.ts.html +4 -4
- package/coverage/src/service/storage/service.ts.html +1 -1
- package/coverage/src/service/storage/storagePoint.ts.html +1 -1
- package/coverage/src/templator/genCallComponentLogic.ts.html +1 -1
- package/coverage/src/templator/genCreateBlock.ts.html +8 -8
- package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +18 -18
- package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2477 -305
- package/coverage/src/templator/genEditTableBlock.ts.html +2 -2
- package/coverage/src/templator/genEnumSelectBlock.ts.html +1 -1
- package/coverage/src/templator/genGetBlock.ts.html +16 -13
- package/coverage/src/templator/genGridViewBlock.ts.html +14 -14
- package/coverage/src/templator/genListViewBlock.ts.html +6 -6
- package/coverage/src/templator/genQueryComponent.ts.html +2 -2
- package/coverage/src/templator/genSelectBlock.ts.html +5 -5
- package/coverage/src/templator/genTableBlock.ts.html +397 -22
- package/coverage/src/templator/genUpdateBlock.ts.html +20 -17
- package/coverage/src/templator/index.html +43 -43
- package/coverage/src/templator/index.ts.html +2 -2
- package/coverage/src/templator/utils.ts.html +3 -3
- package/coverage/src/translator/constant.ts.html +1 -1
- package/coverage/src/translator/index.html +19 -19
- package/coverage/src/translator/index.ts.html +2 -2
- package/coverage/src/translator/types.ts.html +1 -1
- package/coverage/src/translator/utils.ts.html +110 -17
- package/coverage/src/utils/cookie.ts.html +1 -1
- package/coverage/src/utils/env.ts.html +2 -2
- package/coverage/src/utils/i18nInfo.ts.html +1 -1
- package/coverage/src/utils/index.html +19 -19
- package/coverage/src/utils/index.ts.html +641 -11
- package/coverage/src/utils/logger.ts.html +1 -1
- package/coverage/src/utils/sortTsString.ts.html +1 -1
- package/coverage/src/utils/string.ts.html +1 -1
- package/coverage/src/utils/time-slicing/constant.ts.html +1 -1
- package/coverage/src/utils/time-slicing/controller.ts.html +1 -1
- package/coverage/src/utils/time-slicing/index.html +1 -1
- package/coverage/src/utils/time-slicing/index.ts.html +1 -1
- package/coverage/src/utils/time-slicing/page-state.ts.html +1 -1
- package/coverage/src/utils/time-slicing/performance.ts.html +1 -1
- package/coverage/src/utils/time-slicing/runner.ts.html +1 -1
- package/coverage/src/utils/time-slicing/tool.ts.html +1 -1
- package/coverage/src/utils/time-slicing/utils.ts.html +1 -1
- package/coverage/src/utils/time-slicing/wrapper.ts.html +1 -1
- package/coverage/src/utils/traverse.ts.html +1 -1
- package/coverage/src/utils/types.ts.html +1 -1
- package/coverage/src/utils/window.ts.html +1 -1
- package/out/concepts/Destination__.d.ts +1 -1
- package/out/concepts/Destination__.js +2 -2
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/ProcessElement__.js +9 -1
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ViewElement__.js +1 -1
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/generator/genReleaseBody.js +1 -0
- package/out/generator/genReleaseBody.js.map +1 -1
- package/out/server/getProcesses.js +3 -3
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/naslServer.d.ts +1 -1
- package/out/server/naslServer.js +8 -8
- package/out/server/naslServer.js.map +1 -1
- package/out/service/storage/init.js +3 -0
- package/out/service/storage/init.js.map +1 -1
- package/package.json +1 -1
- package/src/concepts/Destination__.ts +2 -2
- package/src/concepts/ProcessElement__.ts +8 -1
- package/src/concepts/ViewElement__.ts +1 -1
- package/src/generator/genReleaseBody.ts +2 -0
- package/src/server/getProcesses.ts +3 -3
- package/src/server/naslServer.ts +9 -8
- package/src/service/storage/init.ts +4 -0
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">5.98% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>25/418</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">2.05% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>5/
|
|
35
|
+
<span class='fraction'>5/243</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">2.08% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>1/
|
|
42
|
+
<span class='fraction'>1/48</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">6.
|
|
47
|
+
<span class="strong">6.15% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>25/406</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -780,7 +780,731 @@
|
|
|
780
780
|
<a name='L715'></a><a href='#L715'>715</a>
|
|
781
781
|
<a name='L716'></a><a href='#L716'>716</a>
|
|
782
782
|
<a name='L717'></a><a href='#L717'>717</a>
|
|
783
|
-
<a name='L718'></a><a href='#L718'>718</a
|
|
783
|
+
<a name='L718'></a><a href='#L718'>718</a>
|
|
784
|
+
<a name='L719'></a><a href='#L719'>719</a>
|
|
785
|
+
<a name='L720'></a><a href='#L720'>720</a>
|
|
786
|
+
<a name='L721'></a><a href='#L721'>721</a>
|
|
787
|
+
<a name='L722'></a><a href='#L722'>722</a>
|
|
788
|
+
<a name='L723'></a><a href='#L723'>723</a>
|
|
789
|
+
<a name='L724'></a><a href='#L724'>724</a>
|
|
790
|
+
<a name='L725'></a><a href='#L725'>725</a>
|
|
791
|
+
<a name='L726'></a><a href='#L726'>726</a>
|
|
792
|
+
<a name='L727'></a><a href='#L727'>727</a>
|
|
793
|
+
<a name='L728'></a><a href='#L728'>728</a>
|
|
794
|
+
<a name='L729'></a><a href='#L729'>729</a>
|
|
795
|
+
<a name='L730'></a><a href='#L730'>730</a>
|
|
796
|
+
<a name='L731'></a><a href='#L731'>731</a>
|
|
797
|
+
<a name='L732'></a><a href='#L732'>732</a>
|
|
798
|
+
<a name='L733'></a><a href='#L733'>733</a>
|
|
799
|
+
<a name='L734'></a><a href='#L734'>734</a>
|
|
800
|
+
<a name='L735'></a><a href='#L735'>735</a>
|
|
801
|
+
<a name='L736'></a><a href='#L736'>736</a>
|
|
802
|
+
<a name='L737'></a><a href='#L737'>737</a>
|
|
803
|
+
<a name='L738'></a><a href='#L738'>738</a>
|
|
804
|
+
<a name='L739'></a><a href='#L739'>739</a>
|
|
805
|
+
<a name='L740'></a><a href='#L740'>740</a>
|
|
806
|
+
<a name='L741'></a><a href='#L741'>741</a>
|
|
807
|
+
<a name='L742'></a><a href='#L742'>742</a>
|
|
808
|
+
<a name='L743'></a><a href='#L743'>743</a>
|
|
809
|
+
<a name='L744'></a><a href='#L744'>744</a>
|
|
810
|
+
<a name='L745'></a><a href='#L745'>745</a>
|
|
811
|
+
<a name='L746'></a><a href='#L746'>746</a>
|
|
812
|
+
<a name='L747'></a><a href='#L747'>747</a>
|
|
813
|
+
<a name='L748'></a><a href='#L748'>748</a>
|
|
814
|
+
<a name='L749'></a><a href='#L749'>749</a>
|
|
815
|
+
<a name='L750'></a><a href='#L750'>750</a>
|
|
816
|
+
<a name='L751'></a><a href='#L751'>751</a>
|
|
817
|
+
<a name='L752'></a><a href='#L752'>752</a>
|
|
818
|
+
<a name='L753'></a><a href='#L753'>753</a>
|
|
819
|
+
<a name='L754'></a><a href='#L754'>754</a>
|
|
820
|
+
<a name='L755'></a><a href='#L755'>755</a>
|
|
821
|
+
<a name='L756'></a><a href='#L756'>756</a>
|
|
822
|
+
<a name='L757'></a><a href='#L757'>757</a>
|
|
823
|
+
<a name='L758'></a><a href='#L758'>758</a>
|
|
824
|
+
<a name='L759'></a><a href='#L759'>759</a>
|
|
825
|
+
<a name='L760'></a><a href='#L760'>760</a>
|
|
826
|
+
<a name='L761'></a><a href='#L761'>761</a>
|
|
827
|
+
<a name='L762'></a><a href='#L762'>762</a>
|
|
828
|
+
<a name='L763'></a><a href='#L763'>763</a>
|
|
829
|
+
<a name='L764'></a><a href='#L764'>764</a>
|
|
830
|
+
<a name='L765'></a><a href='#L765'>765</a>
|
|
831
|
+
<a name='L766'></a><a href='#L766'>766</a>
|
|
832
|
+
<a name='L767'></a><a href='#L767'>767</a>
|
|
833
|
+
<a name='L768'></a><a href='#L768'>768</a>
|
|
834
|
+
<a name='L769'></a><a href='#L769'>769</a>
|
|
835
|
+
<a name='L770'></a><a href='#L770'>770</a>
|
|
836
|
+
<a name='L771'></a><a href='#L771'>771</a>
|
|
837
|
+
<a name='L772'></a><a href='#L772'>772</a>
|
|
838
|
+
<a name='L773'></a><a href='#L773'>773</a>
|
|
839
|
+
<a name='L774'></a><a href='#L774'>774</a>
|
|
840
|
+
<a name='L775'></a><a href='#L775'>775</a>
|
|
841
|
+
<a name='L776'></a><a href='#L776'>776</a>
|
|
842
|
+
<a name='L777'></a><a href='#L777'>777</a>
|
|
843
|
+
<a name='L778'></a><a href='#L778'>778</a>
|
|
844
|
+
<a name='L779'></a><a href='#L779'>779</a>
|
|
845
|
+
<a name='L780'></a><a href='#L780'>780</a>
|
|
846
|
+
<a name='L781'></a><a href='#L781'>781</a>
|
|
847
|
+
<a name='L782'></a><a href='#L782'>782</a>
|
|
848
|
+
<a name='L783'></a><a href='#L783'>783</a>
|
|
849
|
+
<a name='L784'></a><a href='#L784'>784</a>
|
|
850
|
+
<a name='L785'></a><a href='#L785'>785</a>
|
|
851
|
+
<a name='L786'></a><a href='#L786'>786</a>
|
|
852
|
+
<a name='L787'></a><a href='#L787'>787</a>
|
|
853
|
+
<a name='L788'></a><a href='#L788'>788</a>
|
|
854
|
+
<a name='L789'></a><a href='#L789'>789</a>
|
|
855
|
+
<a name='L790'></a><a href='#L790'>790</a>
|
|
856
|
+
<a name='L791'></a><a href='#L791'>791</a>
|
|
857
|
+
<a name='L792'></a><a href='#L792'>792</a>
|
|
858
|
+
<a name='L793'></a><a href='#L793'>793</a>
|
|
859
|
+
<a name='L794'></a><a href='#L794'>794</a>
|
|
860
|
+
<a name='L795'></a><a href='#L795'>795</a>
|
|
861
|
+
<a name='L796'></a><a href='#L796'>796</a>
|
|
862
|
+
<a name='L797'></a><a href='#L797'>797</a>
|
|
863
|
+
<a name='L798'></a><a href='#L798'>798</a>
|
|
864
|
+
<a name='L799'></a><a href='#L799'>799</a>
|
|
865
|
+
<a name='L800'></a><a href='#L800'>800</a>
|
|
866
|
+
<a name='L801'></a><a href='#L801'>801</a>
|
|
867
|
+
<a name='L802'></a><a href='#L802'>802</a>
|
|
868
|
+
<a name='L803'></a><a href='#L803'>803</a>
|
|
869
|
+
<a name='L804'></a><a href='#L804'>804</a>
|
|
870
|
+
<a name='L805'></a><a href='#L805'>805</a>
|
|
871
|
+
<a name='L806'></a><a href='#L806'>806</a>
|
|
872
|
+
<a name='L807'></a><a href='#L807'>807</a>
|
|
873
|
+
<a name='L808'></a><a href='#L808'>808</a>
|
|
874
|
+
<a name='L809'></a><a href='#L809'>809</a>
|
|
875
|
+
<a name='L810'></a><a href='#L810'>810</a>
|
|
876
|
+
<a name='L811'></a><a href='#L811'>811</a>
|
|
877
|
+
<a name='L812'></a><a href='#L812'>812</a>
|
|
878
|
+
<a name='L813'></a><a href='#L813'>813</a>
|
|
879
|
+
<a name='L814'></a><a href='#L814'>814</a>
|
|
880
|
+
<a name='L815'></a><a href='#L815'>815</a>
|
|
881
|
+
<a name='L816'></a><a href='#L816'>816</a>
|
|
882
|
+
<a name='L817'></a><a href='#L817'>817</a>
|
|
883
|
+
<a name='L818'></a><a href='#L818'>818</a>
|
|
884
|
+
<a name='L819'></a><a href='#L819'>819</a>
|
|
885
|
+
<a name='L820'></a><a href='#L820'>820</a>
|
|
886
|
+
<a name='L821'></a><a href='#L821'>821</a>
|
|
887
|
+
<a name='L822'></a><a href='#L822'>822</a>
|
|
888
|
+
<a name='L823'></a><a href='#L823'>823</a>
|
|
889
|
+
<a name='L824'></a><a href='#L824'>824</a>
|
|
890
|
+
<a name='L825'></a><a href='#L825'>825</a>
|
|
891
|
+
<a name='L826'></a><a href='#L826'>826</a>
|
|
892
|
+
<a name='L827'></a><a href='#L827'>827</a>
|
|
893
|
+
<a name='L828'></a><a href='#L828'>828</a>
|
|
894
|
+
<a name='L829'></a><a href='#L829'>829</a>
|
|
895
|
+
<a name='L830'></a><a href='#L830'>830</a>
|
|
896
|
+
<a name='L831'></a><a href='#L831'>831</a>
|
|
897
|
+
<a name='L832'></a><a href='#L832'>832</a>
|
|
898
|
+
<a name='L833'></a><a href='#L833'>833</a>
|
|
899
|
+
<a name='L834'></a><a href='#L834'>834</a>
|
|
900
|
+
<a name='L835'></a><a href='#L835'>835</a>
|
|
901
|
+
<a name='L836'></a><a href='#L836'>836</a>
|
|
902
|
+
<a name='L837'></a><a href='#L837'>837</a>
|
|
903
|
+
<a name='L838'></a><a href='#L838'>838</a>
|
|
904
|
+
<a name='L839'></a><a href='#L839'>839</a>
|
|
905
|
+
<a name='L840'></a><a href='#L840'>840</a>
|
|
906
|
+
<a name='L841'></a><a href='#L841'>841</a>
|
|
907
|
+
<a name='L842'></a><a href='#L842'>842</a>
|
|
908
|
+
<a name='L843'></a><a href='#L843'>843</a>
|
|
909
|
+
<a name='L844'></a><a href='#L844'>844</a>
|
|
910
|
+
<a name='L845'></a><a href='#L845'>845</a>
|
|
911
|
+
<a name='L846'></a><a href='#L846'>846</a>
|
|
912
|
+
<a name='L847'></a><a href='#L847'>847</a>
|
|
913
|
+
<a name='L848'></a><a href='#L848'>848</a>
|
|
914
|
+
<a name='L849'></a><a href='#L849'>849</a>
|
|
915
|
+
<a name='L850'></a><a href='#L850'>850</a>
|
|
916
|
+
<a name='L851'></a><a href='#L851'>851</a>
|
|
917
|
+
<a name='L852'></a><a href='#L852'>852</a>
|
|
918
|
+
<a name='L853'></a><a href='#L853'>853</a>
|
|
919
|
+
<a name='L854'></a><a href='#L854'>854</a>
|
|
920
|
+
<a name='L855'></a><a href='#L855'>855</a>
|
|
921
|
+
<a name='L856'></a><a href='#L856'>856</a>
|
|
922
|
+
<a name='L857'></a><a href='#L857'>857</a>
|
|
923
|
+
<a name='L858'></a><a href='#L858'>858</a>
|
|
924
|
+
<a name='L859'></a><a href='#L859'>859</a>
|
|
925
|
+
<a name='L860'></a><a href='#L860'>860</a>
|
|
926
|
+
<a name='L861'></a><a href='#L861'>861</a>
|
|
927
|
+
<a name='L862'></a><a href='#L862'>862</a>
|
|
928
|
+
<a name='L863'></a><a href='#L863'>863</a>
|
|
929
|
+
<a name='L864'></a><a href='#L864'>864</a>
|
|
930
|
+
<a name='L865'></a><a href='#L865'>865</a>
|
|
931
|
+
<a name='L866'></a><a href='#L866'>866</a>
|
|
932
|
+
<a name='L867'></a><a href='#L867'>867</a>
|
|
933
|
+
<a name='L868'></a><a href='#L868'>868</a>
|
|
934
|
+
<a name='L869'></a><a href='#L869'>869</a>
|
|
935
|
+
<a name='L870'></a><a href='#L870'>870</a>
|
|
936
|
+
<a name='L871'></a><a href='#L871'>871</a>
|
|
937
|
+
<a name='L872'></a><a href='#L872'>872</a>
|
|
938
|
+
<a name='L873'></a><a href='#L873'>873</a>
|
|
939
|
+
<a name='L874'></a><a href='#L874'>874</a>
|
|
940
|
+
<a name='L875'></a><a href='#L875'>875</a>
|
|
941
|
+
<a name='L876'></a><a href='#L876'>876</a>
|
|
942
|
+
<a name='L877'></a><a href='#L877'>877</a>
|
|
943
|
+
<a name='L878'></a><a href='#L878'>878</a>
|
|
944
|
+
<a name='L879'></a><a href='#L879'>879</a>
|
|
945
|
+
<a name='L880'></a><a href='#L880'>880</a>
|
|
946
|
+
<a name='L881'></a><a href='#L881'>881</a>
|
|
947
|
+
<a name='L882'></a><a href='#L882'>882</a>
|
|
948
|
+
<a name='L883'></a><a href='#L883'>883</a>
|
|
949
|
+
<a name='L884'></a><a href='#L884'>884</a>
|
|
950
|
+
<a name='L885'></a><a href='#L885'>885</a>
|
|
951
|
+
<a name='L886'></a><a href='#L886'>886</a>
|
|
952
|
+
<a name='L887'></a><a href='#L887'>887</a>
|
|
953
|
+
<a name='L888'></a><a href='#L888'>888</a>
|
|
954
|
+
<a name='L889'></a><a href='#L889'>889</a>
|
|
955
|
+
<a name='L890'></a><a href='#L890'>890</a>
|
|
956
|
+
<a name='L891'></a><a href='#L891'>891</a>
|
|
957
|
+
<a name='L892'></a><a href='#L892'>892</a>
|
|
958
|
+
<a name='L893'></a><a href='#L893'>893</a>
|
|
959
|
+
<a name='L894'></a><a href='#L894'>894</a>
|
|
960
|
+
<a name='L895'></a><a href='#L895'>895</a>
|
|
961
|
+
<a name='L896'></a><a href='#L896'>896</a>
|
|
962
|
+
<a name='L897'></a><a href='#L897'>897</a>
|
|
963
|
+
<a name='L898'></a><a href='#L898'>898</a>
|
|
964
|
+
<a name='L899'></a><a href='#L899'>899</a>
|
|
965
|
+
<a name='L900'></a><a href='#L900'>900</a>
|
|
966
|
+
<a name='L901'></a><a href='#L901'>901</a>
|
|
967
|
+
<a name='L902'></a><a href='#L902'>902</a>
|
|
968
|
+
<a name='L903'></a><a href='#L903'>903</a>
|
|
969
|
+
<a name='L904'></a><a href='#L904'>904</a>
|
|
970
|
+
<a name='L905'></a><a href='#L905'>905</a>
|
|
971
|
+
<a name='L906'></a><a href='#L906'>906</a>
|
|
972
|
+
<a name='L907'></a><a href='#L907'>907</a>
|
|
973
|
+
<a name='L908'></a><a href='#L908'>908</a>
|
|
974
|
+
<a name='L909'></a><a href='#L909'>909</a>
|
|
975
|
+
<a name='L910'></a><a href='#L910'>910</a>
|
|
976
|
+
<a name='L911'></a><a href='#L911'>911</a>
|
|
977
|
+
<a name='L912'></a><a href='#L912'>912</a>
|
|
978
|
+
<a name='L913'></a><a href='#L913'>913</a>
|
|
979
|
+
<a name='L914'></a><a href='#L914'>914</a>
|
|
980
|
+
<a name='L915'></a><a href='#L915'>915</a>
|
|
981
|
+
<a name='L916'></a><a href='#L916'>916</a>
|
|
982
|
+
<a name='L917'></a><a href='#L917'>917</a>
|
|
983
|
+
<a name='L918'></a><a href='#L918'>918</a>
|
|
984
|
+
<a name='L919'></a><a href='#L919'>919</a>
|
|
985
|
+
<a name='L920'></a><a href='#L920'>920</a>
|
|
986
|
+
<a name='L921'></a><a href='#L921'>921</a>
|
|
987
|
+
<a name='L922'></a><a href='#L922'>922</a>
|
|
988
|
+
<a name='L923'></a><a href='#L923'>923</a>
|
|
989
|
+
<a name='L924'></a><a href='#L924'>924</a>
|
|
990
|
+
<a name='L925'></a><a href='#L925'>925</a>
|
|
991
|
+
<a name='L926'></a><a href='#L926'>926</a>
|
|
992
|
+
<a name='L927'></a><a href='#L927'>927</a>
|
|
993
|
+
<a name='L928'></a><a href='#L928'>928</a>
|
|
994
|
+
<a name='L929'></a><a href='#L929'>929</a>
|
|
995
|
+
<a name='L930'></a><a href='#L930'>930</a>
|
|
996
|
+
<a name='L931'></a><a href='#L931'>931</a>
|
|
997
|
+
<a name='L932'></a><a href='#L932'>932</a>
|
|
998
|
+
<a name='L933'></a><a href='#L933'>933</a>
|
|
999
|
+
<a name='L934'></a><a href='#L934'>934</a>
|
|
1000
|
+
<a name='L935'></a><a href='#L935'>935</a>
|
|
1001
|
+
<a name='L936'></a><a href='#L936'>936</a>
|
|
1002
|
+
<a name='L937'></a><a href='#L937'>937</a>
|
|
1003
|
+
<a name='L938'></a><a href='#L938'>938</a>
|
|
1004
|
+
<a name='L939'></a><a href='#L939'>939</a>
|
|
1005
|
+
<a name='L940'></a><a href='#L940'>940</a>
|
|
1006
|
+
<a name='L941'></a><a href='#L941'>941</a>
|
|
1007
|
+
<a name='L942'></a><a href='#L942'>942</a>
|
|
1008
|
+
<a name='L943'></a><a href='#L943'>943</a>
|
|
1009
|
+
<a name='L944'></a><a href='#L944'>944</a>
|
|
1010
|
+
<a name='L945'></a><a href='#L945'>945</a>
|
|
1011
|
+
<a name='L946'></a><a href='#L946'>946</a>
|
|
1012
|
+
<a name='L947'></a><a href='#L947'>947</a>
|
|
1013
|
+
<a name='L948'></a><a href='#L948'>948</a>
|
|
1014
|
+
<a name='L949'></a><a href='#L949'>949</a>
|
|
1015
|
+
<a name='L950'></a><a href='#L950'>950</a>
|
|
1016
|
+
<a name='L951'></a><a href='#L951'>951</a>
|
|
1017
|
+
<a name='L952'></a><a href='#L952'>952</a>
|
|
1018
|
+
<a name='L953'></a><a href='#L953'>953</a>
|
|
1019
|
+
<a name='L954'></a><a href='#L954'>954</a>
|
|
1020
|
+
<a name='L955'></a><a href='#L955'>955</a>
|
|
1021
|
+
<a name='L956'></a><a href='#L956'>956</a>
|
|
1022
|
+
<a name='L957'></a><a href='#L957'>957</a>
|
|
1023
|
+
<a name='L958'></a><a href='#L958'>958</a>
|
|
1024
|
+
<a name='L959'></a><a href='#L959'>959</a>
|
|
1025
|
+
<a name='L960'></a><a href='#L960'>960</a>
|
|
1026
|
+
<a name='L961'></a><a href='#L961'>961</a>
|
|
1027
|
+
<a name='L962'></a><a href='#L962'>962</a>
|
|
1028
|
+
<a name='L963'></a><a href='#L963'>963</a>
|
|
1029
|
+
<a name='L964'></a><a href='#L964'>964</a>
|
|
1030
|
+
<a name='L965'></a><a href='#L965'>965</a>
|
|
1031
|
+
<a name='L966'></a><a href='#L966'>966</a>
|
|
1032
|
+
<a name='L967'></a><a href='#L967'>967</a>
|
|
1033
|
+
<a name='L968'></a><a href='#L968'>968</a>
|
|
1034
|
+
<a name='L969'></a><a href='#L969'>969</a>
|
|
1035
|
+
<a name='L970'></a><a href='#L970'>970</a>
|
|
1036
|
+
<a name='L971'></a><a href='#L971'>971</a>
|
|
1037
|
+
<a name='L972'></a><a href='#L972'>972</a>
|
|
1038
|
+
<a name='L973'></a><a href='#L973'>973</a>
|
|
1039
|
+
<a name='L974'></a><a href='#L974'>974</a>
|
|
1040
|
+
<a name='L975'></a><a href='#L975'>975</a>
|
|
1041
|
+
<a name='L976'></a><a href='#L976'>976</a>
|
|
1042
|
+
<a name='L977'></a><a href='#L977'>977</a>
|
|
1043
|
+
<a name='L978'></a><a href='#L978'>978</a>
|
|
1044
|
+
<a name='L979'></a><a href='#L979'>979</a>
|
|
1045
|
+
<a name='L980'></a><a href='#L980'>980</a>
|
|
1046
|
+
<a name='L981'></a><a href='#L981'>981</a>
|
|
1047
|
+
<a name='L982'></a><a href='#L982'>982</a>
|
|
1048
|
+
<a name='L983'></a><a href='#L983'>983</a>
|
|
1049
|
+
<a name='L984'></a><a href='#L984'>984</a>
|
|
1050
|
+
<a name='L985'></a><a href='#L985'>985</a>
|
|
1051
|
+
<a name='L986'></a><a href='#L986'>986</a>
|
|
1052
|
+
<a name='L987'></a><a href='#L987'>987</a>
|
|
1053
|
+
<a name='L988'></a><a href='#L988'>988</a>
|
|
1054
|
+
<a name='L989'></a><a href='#L989'>989</a>
|
|
1055
|
+
<a name='L990'></a><a href='#L990'>990</a>
|
|
1056
|
+
<a name='L991'></a><a href='#L991'>991</a>
|
|
1057
|
+
<a name='L992'></a><a href='#L992'>992</a>
|
|
1058
|
+
<a name='L993'></a><a href='#L993'>993</a>
|
|
1059
|
+
<a name='L994'></a><a href='#L994'>994</a>
|
|
1060
|
+
<a name='L995'></a><a href='#L995'>995</a>
|
|
1061
|
+
<a name='L996'></a><a href='#L996'>996</a>
|
|
1062
|
+
<a name='L997'></a><a href='#L997'>997</a>
|
|
1063
|
+
<a name='L998'></a><a href='#L998'>998</a>
|
|
1064
|
+
<a name='L999'></a><a href='#L999'>999</a>
|
|
1065
|
+
<a name='L1000'></a><a href='#L1000'>1000</a>
|
|
1066
|
+
<a name='L1001'></a><a href='#L1001'>1001</a>
|
|
1067
|
+
<a name='L1002'></a><a href='#L1002'>1002</a>
|
|
1068
|
+
<a name='L1003'></a><a href='#L1003'>1003</a>
|
|
1069
|
+
<a name='L1004'></a><a href='#L1004'>1004</a>
|
|
1070
|
+
<a name='L1005'></a><a href='#L1005'>1005</a>
|
|
1071
|
+
<a name='L1006'></a><a href='#L1006'>1006</a>
|
|
1072
|
+
<a name='L1007'></a><a href='#L1007'>1007</a>
|
|
1073
|
+
<a name='L1008'></a><a href='#L1008'>1008</a>
|
|
1074
|
+
<a name='L1009'></a><a href='#L1009'>1009</a>
|
|
1075
|
+
<a name='L1010'></a><a href='#L1010'>1010</a>
|
|
1076
|
+
<a name='L1011'></a><a href='#L1011'>1011</a>
|
|
1077
|
+
<a name='L1012'></a><a href='#L1012'>1012</a>
|
|
1078
|
+
<a name='L1013'></a><a href='#L1013'>1013</a>
|
|
1079
|
+
<a name='L1014'></a><a href='#L1014'>1014</a>
|
|
1080
|
+
<a name='L1015'></a><a href='#L1015'>1015</a>
|
|
1081
|
+
<a name='L1016'></a><a href='#L1016'>1016</a>
|
|
1082
|
+
<a name='L1017'></a><a href='#L1017'>1017</a>
|
|
1083
|
+
<a name='L1018'></a><a href='#L1018'>1018</a>
|
|
1084
|
+
<a name='L1019'></a><a href='#L1019'>1019</a>
|
|
1085
|
+
<a name='L1020'></a><a href='#L1020'>1020</a>
|
|
1086
|
+
<a name='L1021'></a><a href='#L1021'>1021</a>
|
|
1087
|
+
<a name='L1022'></a><a href='#L1022'>1022</a>
|
|
1088
|
+
<a name='L1023'></a><a href='#L1023'>1023</a>
|
|
1089
|
+
<a name='L1024'></a><a href='#L1024'>1024</a>
|
|
1090
|
+
<a name='L1025'></a><a href='#L1025'>1025</a>
|
|
1091
|
+
<a name='L1026'></a><a href='#L1026'>1026</a>
|
|
1092
|
+
<a name='L1027'></a><a href='#L1027'>1027</a>
|
|
1093
|
+
<a name='L1028'></a><a href='#L1028'>1028</a>
|
|
1094
|
+
<a name='L1029'></a><a href='#L1029'>1029</a>
|
|
1095
|
+
<a name='L1030'></a><a href='#L1030'>1030</a>
|
|
1096
|
+
<a name='L1031'></a><a href='#L1031'>1031</a>
|
|
1097
|
+
<a name='L1032'></a><a href='#L1032'>1032</a>
|
|
1098
|
+
<a name='L1033'></a><a href='#L1033'>1033</a>
|
|
1099
|
+
<a name='L1034'></a><a href='#L1034'>1034</a>
|
|
1100
|
+
<a name='L1035'></a><a href='#L1035'>1035</a>
|
|
1101
|
+
<a name='L1036'></a><a href='#L1036'>1036</a>
|
|
1102
|
+
<a name='L1037'></a><a href='#L1037'>1037</a>
|
|
1103
|
+
<a name='L1038'></a><a href='#L1038'>1038</a>
|
|
1104
|
+
<a name='L1039'></a><a href='#L1039'>1039</a>
|
|
1105
|
+
<a name='L1040'></a><a href='#L1040'>1040</a>
|
|
1106
|
+
<a name='L1041'></a><a href='#L1041'>1041</a>
|
|
1107
|
+
<a name='L1042'></a><a href='#L1042'>1042</a>
|
|
1108
|
+
<a name='L1043'></a><a href='#L1043'>1043</a>
|
|
1109
|
+
<a name='L1044'></a><a href='#L1044'>1044</a>
|
|
1110
|
+
<a name='L1045'></a><a href='#L1045'>1045</a>
|
|
1111
|
+
<a name='L1046'></a><a href='#L1046'>1046</a>
|
|
1112
|
+
<a name='L1047'></a><a href='#L1047'>1047</a>
|
|
1113
|
+
<a name='L1048'></a><a href='#L1048'>1048</a>
|
|
1114
|
+
<a name='L1049'></a><a href='#L1049'>1049</a>
|
|
1115
|
+
<a name='L1050'></a><a href='#L1050'>1050</a>
|
|
1116
|
+
<a name='L1051'></a><a href='#L1051'>1051</a>
|
|
1117
|
+
<a name='L1052'></a><a href='#L1052'>1052</a>
|
|
1118
|
+
<a name='L1053'></a><a href='#L1053'>1053</a>
|
|
1119
|
+
<a name='L1054'></a><a href='#L1054'>1054</a>
|
|
1120
|
+
<a name='L1055'></a><a href='#L1055'>1055</a>
|
|
1121
|
+
<a name='L1056'></a><a href='#L1056'>1056</a>
|
|
1122
|
+
<a name='L1057'></a><a href='#L1057'>1057</a>
|
|
1123
|
+
<a name='L1058'></a><a href='#L1058'>1058</a>
|
|
1124
|
+
<a name='L1059'></a><a href='#L1059'>1059</a>
|
|
1125
|
+
<a name='L1060'></a><a href='#L1060'>1060</a>
|
|
1126
|
+
<a name='L1061'></a><a href='#L1061'>1061</a>
|
|
1127
|
+
<a name='L1062'></a><a href='#L1062'>1062</a>
|
|
1128
|
+
<a name='L1063'></a><a href='#L1063'>1063</a>
|
|
1129
|
+
<a name='L1064'></a><a href='#L1064'>1064</a>
|
|
1130
|
+
<a name='L1065'></a><a href='#L1065'>1065</a>
|
|
1131
|
+
<a name='L1066'></a><a href='#L1066'>1066</a>
|
|
1132
|
+
<a name='L1067'></a><a href='#L1067'>1067</a>
|
|
1133
|
+
<a name='L1068'></a><a href='#L1068'>1068</a>
|
|
1134
|
+
<a name='L1069'></a><a href='#L1069'>1069</a>
|
|
1135
|
+
<a name='L1070'></a><a href='#L1070'>1070</a>
|
|
1136
|
+
<a name='L1071'></a><a href='#L1071'>1071</a>
|
|
1137
|
+
<a name='L1072'></a><a href='#L1072'>1072</a>
|
|
1138
|
+
<a name='L1073'></a><a href='#L1073'>1073</a>
|
|
1139
|
+
<a name='L1074'></a><a href='#L1074'>1074</a>
|
|
1140
|
+
<a name='L1075'></a><a href='#L1075'>1075</a>
|
|
1141
|
+
<a name='L1076'></a><a href='#L1076'>1076</a>
|
|
1142
|
+
<a name='L1077'></a><a href='#L1077'>1077</a>
|
|
1143
|
+
<a name='L1078'></a><a href='#L1078'>1078</a>
|
|
1144
|
+
<a name='L1079'></a><a href='#L1079'>1079</a>
|
|
1145
|
+
<a name='L1080'></a><a href='#L1080'>1080</a>
|
|
1146
|
+
<a name='L1081'></a><a href='#L1081'>1081</a>
|
|
1147
|
+
<a name='L1082'></a><a href='#L1082'>1082</a>
|
|
1148
|
+
<a name='L1083'></a><a href='#L1083'>1083</a>
|
|
1149
|
+
<a name='L1084'></a><a href='#L1084'>1084</a>
|
|
1150
|
+
<a name='L1085'></a><a href='#L1085'>1085</a>
|
|
1151
|
+
<a name='L1086'></a><a href='#L1086'>1086</a>
|
|
1152
|
+
<a name='L1087'></a><a href='#L1087'>1087</a>
|
|
1153
|
+
<a name='L1088'></a><a href='#L1088'>1088</a>
|
|
1154
|
+
<a name='L1089'></a><a href='#L1089'>1089</a>
|
|
1155
|
+
<a name='L1090'></a><a href='#L1090'>1090</a>
|
|
1156
|
+
<a name='L1091'></a><a href='#L1091'>1091</a>
|
|
1157
|
+
<a name='L1092'></a><a href='#L1092'>1092</a>
|
|
1158
|
+
<a name='L1093'></a><a href='#L1093'>1093</a>
|
|
1159
|
+
<a name='L1094'></a><a href='#L1094'>1094</a>
|
|
1160
|
+
<a name='L1095'></a><a href='#L1095'>1095</a>
|
|
1161
|
+
<a name='L1096'></a><a href='#L1096'>1096</a>
|
|
1162
|
+
<a name='L1097'></a><a href='#L1097'>1097</a>
|
|
1163
|
+
<a name='L1098'></a><a href='#L1098'>1098</a>
|
|
1164
|
+
<a name='L1099'></a><a href='#L1099'>1099</a>
|
|
1165
|
+
<a name='L1100'></a><a href='#L1100'>1100</a>
|
|
1166
|
+
<a name='L1101'></a><a href='#L1101'>1101</a>
|
|
1167
|
+
<a name='L1102'></a><a href='#L1102'>1102</a>
|
|
1168
|
+
<a name='L1103'></a><a href='#L1103'>1103</a>
|
|
1169
|
+
<a name='L1104'></a><a href='#L1104'>1104</a>
|
|
1170
|
+
<a name='L1105'></a><a href='#L1105'>1105</a>
|
|
1171
|
+
<a name='L1106'></a><a href='#L1106'>1106</a>
|
|
1172
|
+
<a name='L1107'></a><a href='#L1107'>1107</a>
|
|
1173
|
+
<a name='L1108'></a><a href='#L1108'>1108</a>
|
|
1174
|
+
<a name='L1109'></a><a href='#L1109'>1109</a>
|
|
1175
|
+
<a name='L1110'></a><a href='#L1110'>1110</a>
|
|
1176
|
+
<a name='L1111'></a><a href='#L1111'>1111</a>
|
|
1177
|
+
<a name='L1112'></a><a href='#L1112'>1112</a>
|
|
1178
|
+
<a name='L1113'></a><a href='#L1113'>1113</a>
|
|
1179
|
+
<a name='L1114'></a><a href='#L1114'>1114</a>
|
|
1180
|
+
<a name='L1115'></a><a href='#L1115'>1115</a>
|
|
1181
|
+
<a name='L1116'></a><a href='#L1116'>1116</a>
|
|
1182
|
+
<a name='L1117'></a><a href='#L1117'>1117</a>
|
|
1183
|
+
<a name='L1118'></a><a href='#L1118'>1118</a>
|
|
1184
|
+
<a name='L1119'></a><a href='#L1119'>1119</a>
|
|
1185
|
+
<a name='L1120'></a><a href='#L1120'>1120</a>
|
|
1186
|
+
<a name='L1121'></a><a href='#L1121'>1121</a>
|
|
1187
|
+
<a name='L1122'></a><a href='#L1122'>1122</a>
|
|
1188
|
+
<a name='L1123'></a><a href='#L1123'>1123</a>
|
|
1189
|
+
<a name='L1124'></a><a href='#L1124'>1124</a>
|
|
1190
|
+
<a name='L1125'></a><a href='#L1125'>1125</a>
|
|
1191
|
+
<a name='L1126'></a><a href='#L1126'>1126</a>
|
|
1192
|
+
<a name='L1127'></a><a href='#L1127'>1127</a>
|
|
1193
|
+
<a name='L1128'></a><a href='#L1128'>1128</a>
|
|
1194
|
+
<a name='L1129'></a><a href='#L1129'>1129</a>
|
|
1195
|
+
<a name='L1130'></a><a href='#L1130'>1130</a>
|
|
1196
|
+
<a name='L1131'></a><a href='#L1131'>1131</a>
|
|
1197
|
+
<a name='L1132'></a><a href='#L1132'>1132</a>
|
|
1198
|
+
<a name='L1133'></a><a href='#L1133'>1133</a>
|
|
1199
|
+
<a name='L1134'></a><a href='#L1134'>1134</a>
|
|
1200
|
+
<a name='L1135'></a><a href='#L1135'>1135</a>
|
|
1201
|
+
<a name='L1136'></a><a href='#L1136'>1136</a>
|
|
1202
|
+
<a name='L1137'></a><a href='#L1137'>1137</a>
|
|
1203
|
+
<a name='L1138'></a><a href='#L1138'>1138</a>
|
|
1204
|
+
<a name='L1139'></a><a href='#L1139'>1139</a>
|
|
1205
|
+
<a name='L1140'></a><a href='#L1140'>1140</a>
|
|
1206
|
+
<a name='L1141'></a><a href='#L1141'>1141</a>
|
|
1207
|
+
<a name='L1142'></a><a href='#L1142'>1142</a>
|
|
1208
|
+
<a name='L1143'></a><a href='#L1143'>1143</a>
|
|
1209
|
+
<a name='L1144'></a><a href='#L1144'>1144</a>
|
|
1210
|
+
<a name='L1145'></a><a href='#L1145'>1145</a>
|
|
1211
|
+
<a name='L1146'></a><a href='#L1146'>1146</a>
|
|
1212
|
+
<a name='L1147'></a><a href='#L1147'>1147</a>
|
|
1213
|
+
<a name='L1148'></a><a href='#L1148'>1148</a>
|
|
1214
|
+
<a name='L1149'></a><a href='#L1149'>1149</a>
|
|
1215
|
+
<a name='L1150'></a><a href='#L1150'>1150</a>
|
|
1216
|
+
<a name='L1151'></a><a href='#L1151'>1151</a>
|
|
1217
|
+
<a name='L1152'></a><a href='#L1152'>1152</a>
|
|
1218
|
+
<a name='L1153'></a><a href='#L1153'>1153</a>
|
|
1219
|
+
<a name='L1154'></a><a href='#L1154'>1154</a>
|
|
1220
|
+
<a name='L1155'></a><a href='#L1155'>1155</a>
|
|
1221
|
+
<a name='L1156'></a><a href='#L1156'>1156</a>
|
|
1222
|
+
<a name='L1157'></a><a href='#L1157'>1157</a>
|
|
1223
|
+
<a name='L1158'></a><a href='#L1158'>1158</a>
|
|
1224
|
+
<a name='L1159'></a><a href='#L1159'>1159</a>
|
|
1225
|
+
<a name='L1160'></a><a href='#L1160'>1160</a>
|
|
1226
|
+
<a name='L1161'></a><a href='#L1161'>1161</a>
|
|
1227
|
+
<a name='L1162'></a><a href='#L1162'>1162</a>
|
|
1228
|
+
<a name='L1163'></a><a href='#L1163'>1163</a>
|
|
1229
|
+
<a name='L1164'></a><a href='#L1164'>1164</a>
|
|
1230
|
+
<a name='L1165'></a><a href='#L1165'>1165</a>
|
|
1231
|
+
<a name='L1166'></a><a href='#L1166'>1166</a>
|
|
1232
|
+
<a name='L1167'></a><a href='#L1167'>1167</a>
|
|
1233
|
+
<a name='L1168'></a><a href='#L1168'>1168</a>
|
|
1234
|
+
<a name='L1169'></a><a href='#L1169'>1169</a>
|
|
1235
|
+
<a name='L1170'></a><a href='#L1170'>1170</a>
|
|
1236
|
+
<a name='L1171'></a><a href='#L1171'>1171</a>
|
|
1237
|
+
<a name='L1172'></a><a href='#L1172'>1172</a>
|
|
1238
|
+
<a name='L1173'></a><a href='#L1173'>1173</a>
|
|
1239
|
+
<a name='L1174'></a><a href='#L1174'>1174</a>
|
|
1240
|
+
<a name='L1175'></a><a href='#L1175'>1175</a>
|
|
1241
|
+
<a name='L1176'></a><a href='#L1176'>1176</a>
|
|
1242
|
+
<a name='L1177'></a><a href='#L1177'>1177</a>
|
|
1243
|
+
<a name='L1178'></a><a href='#L1178'>1178</a>
|
|
1244
|
+
<a name='L1179'></a><a href='#L1179'>1179</a>
|
|
1245
|
+
<a name='L1180'></a><a href='#L1180'>1180</a>
|
|
1246
|
+
<a name='L1181'></a><a href='#L1181'>1181</a>
|
|
1247
|
+
<a name='L1182'></a><a href='#L1182'>1182</a>
|
|
1248
|
+
<a name='L1183'></a><a href='#L1183'>1183</a>
|
|
1249
|
+
<a name='L1184'></a><a href='#L1184'>1184</a>
|
|
1250
|
+
<a name='L1185'></a><a href='#L1185'>1185</a>
|
|
1251
|
+
<a name='L1186'></a><a href='#L1186'>1186</a>
|
|
1252
|
+
<a name='L1187'></a><a href='#L1187'>1187</a>
|
|
1253
|
+
<a name='L1188'></a><a href='#L1188'>1188</a>
|
|
1254
|
+
<a name='L1189'></a><a href='#L1189'>1189</a>
|
|
1255
|
+
<a name='L1190'></a><a href='#L1190'>1190</a>
|
|
1256
|
+
<a name='L1191'></a><a href='#L1191'>1191</a>
|
|
1257
|
+
<a name='L1192'></a><a href='#L1192'>1192</a>
|
|
1258
|
+
<a name='L1193'></a><a href='#L1193'>1193</a>
|
|
1259
|
+
<a name='L1194'></a><a href='#L1194'>1194</a>
|
|
1260
|
+
<a name='L1195'></a><a href='#L1195'>1195</a>
|
|
1261
|
+
<a name='L1196'></a><a href='#L1196'>1196</a>
|
|
1262
|
+
<a name='L1197'></a><a href='#L1197'>1197</a>
|
|
1263
|
+
<a name='L1198'></a><a href='#L1198'>1198</a>
|
|
1264
|
+
<a name='L1199'></a><a href='#L1199'>1199</a>
|
|
1265
|
+
<a name='L1200'></a><a href='#L1200'>1200</a>
|
|
1266
|
+
<a name='L1201'></a><a href='#L1201'>1201</a>
|
|
1267
|
+
<a name='L1202'></a><a href='#L1202'>1202</a>
|
|
1268
|
+
<a name='L1203'></a><a href='#L1203'>1203</a>
|
|
1269
|
+
<a name='L1204'></a><a href='#L1204'>1204</a>
|
|
1270
|
+
<a name='L1205'></a><a href='#L1205'>1205</a>
|
|
1271
|
+
<a name='L1206'></a><a href='#L1206'>1206</a>
|
|
1272
|
+
<a name='L1207'></a><a href='#L1207'>1207</a>
|
|
1273
|
+
<a name='L1208'></a><a href='#L1208'>1208</a>
|
|
1274
|
+
<a name='L1209'></a><a href='#L1209'>1209</a>
|
|
1275
|
+
<a name='L1210'></a><a href='#L1210'>1210</a>
|
|
1276
|
+
<a name='L1211'></a><a href='#L1211'>1211</a>
|
|
1277
|
+
<a name='L1212'></a><a href='#L1212'>1212</a>
|
|
1278
|
+
<a name='L1213'></a><a href='#L1213'>1213</a>
|
|
1279
|
+
<a name='L1214'></a><a href='#L1214'>1214</a>
|
|
1280
|
+
<a name='L1215'></a><a href='#L1215'>1215</a>
|
|
1281
|
+
<a name='L1216'></a><a href='#L1216'>1216</a>
|
|
1282
|
+
<a name='L1217'></a><a href='#L1217'>1217</a>
|
|
1283
|
+
<a name='L1218'></a><a href='#L1218'>1218</a>
|
|
1284
|
+
<a name='L1219'></a><a href='#L1219'>1219</a>
|
|
1285
|
+
<a name='L1220'></a><a href='#L1220'>1220</a>
|
|
1286
|
+
<a name='L1221'></a><a href='#L1221'>1221</a>
|
|
1287
|
+
<a name='L1222'></a><a href='#L1222'>1222</a>
|
|
1288
|
+
<a name='L1223'></a><a href='#L1223'>1223</a>
|
|
1289
|
+
<a name='L1224'></a><a href='#L1224'>1224</a>
|
|
1290
|
+
<a name='L1225'></a><a href='#L1225'>1225</a>
|
|
1291
|
+
<a name='L1226'></a><a href='#L1226'>1226</a>
|
|
1292
|
+
<a name='L1227'></a><a href='#L1227'>1227</a>
|
|
1293
|
+
<a name='L1228'></a><a href='#L1228'>1228</a>
|
|
1294
|
+
<a name='L1229'></a><a href='#L1229'>1229</a>
|
|
1295
|
+
<a name='L1230'></a><a href='#L1230'>1230</a>
|
|
1296
|
+
<a name='L1231'></a><a href='#L1231'>1231</a>
|
|
1297
|
+
<a name='L1232'></a><a href='#L1232'>1232</a>
|
|
1298
|
+
<a name='L1233'></a><a href='#L1233'>1233</a>
|
|
1299
|
+
<a name='L1234'></a><a href='#L1234'>1234</a>
|
|
1300
|
+
<a name='L1235'></a><a href='#L1235'>1235</a>
|
|
1301
|
+
<a name='L1236'></a><a href='#L1236'>1236</a>
|
|
1302
|
+
<a name='L1237'></a><a href='#L1237'>1237</a>
|
|
1303
|
+
<a name='L1238'></a><a href='#L1238'>1238</a>
|
|
1304
|
+
<a name='L1239'></a><a href='#L1239'>1239</a>
|
|
1305
|
+
<a name='L1240'></a><a href='#L1240'>1240</a>
|
|
1306
|
+
<a name='L1241'></a><a href='#L1241'>1241</a>
|
|
1307
|
+
<a name='L1242'></a><a href='#L1242'>1242</a>
|
|
1308
|
+
<a name='L1243'></a><a href='#L1243'>1243</a>
|
|
1309
|
+
<a name='L1244'></a><a href='#L1244'>1244</a>
|
|
1310
|
+
<a name='L1245'></a><a href='#L1245'>1245</a>
|
|
1311
|
+
<a name='L1246'></a><a href='#L1246'>1246</a>
|
|
1312
|
+
<a name='L1247'></a><a href='#L1247'>1247</a>
|
|
1313
|
+
<a name='L1248'></a><a href='#L1248'>1248</a>
|
|
1314
|
+
<a name='L1249'></a><a href='#L1249'>1249</a>
|
|
1315
|
+
<a name='L1250'></a><a href='#L1250'>1250</a>
|
|
1316
|
+
<a name='L1251'></a><a href='#L1251'>1251</a>
|
|
1317
|
+
<a name='L1252'></a><a href='#L1252'>1252</a>
|
|
1318
|
+
<a name='L1253'></a><a href='#L1253'>1253</a>
|
|
1319
|
+
<a name='L1254'></a><a href='#L1254'>1254</a>
|
|
1320
|
+
<a name='L1255'></a><a href='#L1255'>1255</a>
|
|
1321
|
+
<a name='L1256'></a><a href='#L1256'>1256</a>
|
|
1322
|
+
<a name='L1257'></a><a href='#L1257'>1257</a>
|
|
1323
|
+
<a name='L1258'></a><a href='#L1258'>1258</a>
|
|
1324
|
+
<a name='L1259'></a><a href='#L1259'>1259</a>
|
|
1325
|
+
<a name='L1260'></a><a href='#L1260'>1260</a>
|
|
1326
|
+
<a name='L1261'></a><a href='#L1261'>1261</a>
|
|
1327
|
+
<a name='L1262'></a><a href='#L1262'>1262</a>
|
|
1328
|
+
<a name='L1263'></a><a href='#L1263'>1263</a>
|
|
1329
|
+
<a name='L1264'></a><a href='#L1264'>1264</a>
|
|
1330
|
+
<a name='L1265'></a><a href='#L1265'>1265</a>
|
|
1331
|
+
<a name='L1266'></a><a href='#L1266'>1266</a>
|
|
1332
|
+
<a name='L1267'></a><a href='#L1267'>1267</a>
|
|
1333
|
+
<a name='L1268'></a><a href='#L1268'>1268</a>
|
|
1334
|
+
<a name='L1269'></a><a href='#L1269'>1269</a>
|
|
1335
|
+
<a name='L1270'></a><a href='#L1270'>1270</a>
|
|
1336
|
+
<a name='L1271'></a><a href='#L1271'>1271</a>
|
|
1337
|
+
<a name='L1272'></a><a href='#L1272'>1272</a>
|
|
1338
|
+
<a name='L1273'></a><a href='#L1273'>1273</a>
|
|
1339
|
+
<a name='L1274'></a><a href='#L1274'>1274</a>
|
|
1340
|
+
<a name='L1275'></a><a href='#L1275'>1275</a>
|
|
1341
|
+
<a name='L1276'></a><a href='#L1276'>1276</a>
|
|
1342
|
+
<a name='L1277'></a><a href='#L1277'>1277</a>
|
|
1343
|
+
<a name='L1278'></a><a href='#L1278'>1278</a>
|
|
1344
|
+
<a name='L1279'></a><a href='#L1279'>1279</a>
|
|
1345
|
+
<a name='L1280'></a><a href='#L1280'>1280</a>
|
|
1346
|
+
<a name='L1281'></a><a href='#L1281'>1281</a>
|
|
1347
|
+
<a name='L1282'></a><a href='#L1282'>1282</a>
|
|
1348
|
+
<a name='L1283'></a><a href='#L1283'>1283</a>
|
|
1349
|
+
<a name='L1284'></a><a href='#L1284'>1284</a>
|
|
1350
|
+
<a name='L1285'></a><a href='#L1285'>1285</a>
|
|
1351
|
+
<a name='L1286'></a><a href='#L1286'>1286</a>
|
|
1352
|
+
<a name='L1287'></a><a href='#L1287'>1287</a>
|
|
1353
|
+
<a name='L1288'></a><a href='#L1288'>1288</a>
|
|
1354
|
+
<a name='L1289'></a><a href='#L1289'>1289</a>
|
|
1355
|
+
<a name='L1290'></a><a href='#L1290'>1290</a>
|
|
1356
|
+
<a name='L1291'></a><a href='#L1291'>1291</a>
|
|
1357
|
+
<a name='L1292'></a><a href='#L1292'>1292</a>
|
|
1358
|
+
<a name='L1293'></a><a href='#L1293'>1293</a>
|
|
1359
|
+
<a name='L1294'></a><a href='#L1294'>1294</a>
|
|
1360
|
+
<a name='L1295'></a><a href='#L1295'>1295</a>
|
|
1361
|
+
<a name='L1296'></a><a href='#L1296'>1296</a>
|
|
1362
|
+
<a name='L1297'></a><a href='#L1297'>1297</a>
|
|
1363
|
+
<a name='L1298'></a><a href='#L1298'>1298</a>
|
|
1364
|
+
<a name='L1299'></a><a href='#L1299'>1299</a>
|
|
1365
|
+
<a name='L1300'></a><a href='#L1300'>1300</a>
|
|
1366
|
+
<a name='L1301'></a><a href='#L1301'>1301</a>
|
|
1367
|
+
<a name='L1302'></a><a href='#L1302'>1302</a>
|
|
1368
|
+
<a name='L1303'></a><a href='#L1303'>1303</a>
|
|
1369
|
+
<a name='L1304'></a><a href='#L1304'>1304</a>
|
|
1370
|
+
<a name='L1305'></a><a href='#L1305'>1305</a>
|
|
1371
|
+
<a name='L1306'></a><a href='#L1306'>1306</a>
|
|
1372
|
+
<a name='L1307'></a><a href='#L1307'>1307</a>
|
|
1373
|
+
<a name='L1308'></a><a href='#L1308'>1308</a>
|
|
1374
|
+
<a name='L1309'></a><a href='#L1309'>1309</a>
|
|
1375
|
+
<a name='L1310'></a><a href='#L1310'>1310</a>
|
|
1376
|
+
<a name='L1311'></a><a href='#L1311'>1311</a>
|
|
1377
|
+
<a name='L1312'></a><a href='#L1312'>1312</a>
|
|
1378
|
+
<a name='L1313'></a><a href='#L1313'>1313</a>
|
|
1379
|
+
<a name='L1314'></a><a href='#L1314'>1314</a>
|
|
1380
|
+
<a name='L1315'></a><a href='#L1315'>1315</a>
|
|
1381
|
+
<a name='L1316'></a><a href='#L1316'>1316</a>
|
|
1382
|
+
<a name='L1317'></a><a href='#L1317'>1317</a>
|
|
1383
|
+
<a name='L1318'></a><a href='#L1318'>1318</a>
|
|
1384
|
+
<a name='L1319'></a><a href='#L1319'>1319</a>
|
|
1385
|
+
<a name='L1320'></a><a href='#L1320'>1320</a>
|
|
1386
|
+
<a name='L1321'></a><a href='#L1321'>1321</a>
|
|
1387
|
+
<a name='L1322'></a><a href='#L1322'>1322</a>
|
|
1388
|
+
<a name='L1323'></a><a href='#L1323'>1323</a>
|
|
1389
|
+
<a name='L1324'></a><a href='#L1324'>1324</a>
|
|
1390
|
+
<a name='L1325'></a><a href='#L1325'>1325</a>
|
|
1391
|
+
<a name='L1326'></a><a href='#L1326'>1326</a>
|
|
1392
|
+
<a name='L1327'></a><a href='#L1327'>1327</a>
|
|
1393
|
+
<a name='L1328'></a><a href='#L1328'>1328</a>
|
|
1394
|
+
<a name='L1329'></a><a href='#L1329'>1329</a>
|
|
1395
|
+
<a name='L1330'></a><a href='#L1330'>1330</a>
|
|
1396
|
+
<a name='L1331'></a><a href='#L1331'>1331</a>
|
|
1397
|
+
<a name='L1332'></a><a href='#L1332'>1332</a>
|
|
1398
|
+
<a name='L1333'></a><a href='#L1333'>1333</a>
|
|
1399
|
+
<a name='L1334'></a><a href='#L1334'>1334</a>
|
|
1400
|
+
<a name='L1335'></a><a href='#L1335'>1335</a>
|
|
1401
|
+
<a name='L1336'></a><a href='#L1336'>1336</a>
|
|
1402
|
+
<a name='L1337'></a><a href='#L1337'>1337</a>
|
|
1403
|
+
<a name='L1338'></a><a href='#L1338'>1338</a>
|
|
1404
|
+
<a name='L1339'></a><a href='#L1339'>1339</a>
|
|
1405
|
+
<a name='L1340'></a><a href='#L1340'>1340</a>
|
|
1406
|
+
<a name='L1341'></a><a href='#L1341'>1341</a>
|
|
1407
|
+
<a name='L1342'></a><a href='#L1342'>1342</a>
|
|
1408
|
+
<a name='L1343'></a><a href='#L1343'>1343</a>
|
|
1409
|
+
<a name='L1344'></a><a href='#L1344'>1344</a>
|
|
1410
|
+
<a name='L1345'></a><a href='#L1345'>1345</a>
|
|
1411
|
+
<a name='L1346'></a><a href='#L1346'>1346</a>
|
|
1412
|
+
<a name='L1347'></a><a href='#L1347'>1347</a>
|
|
1413
|
+
<a name='L1348'></a><a href='#L1348'>1348</a>
|
|
1414
|
+
<a name='L1349'></a><a href='#L1349'>1349</a>
|
|
1415
|
+
<a name='L1350'></a><a href='#L1350'>1350</a>
|
|
1416
|
+
<a name='L1351'></a><a href='#L1351'>1351</a>
|
|
1417
|
+
<a name='L1352'></a><a href='#L1352'>1352</a>
|
|
1418
|
+
<a name='L1353'></a><a href='#L1353'>1353</a>
|
|
1419
|
+
<a name='L1354'></a><a href='#L1354'>1354</a>
|
|
1420
|
+
<a name='L1355'></a><a href='#L1355'>1355</a>
|
|
1421
|
+
<a name='L1356'></a><a href='#L1356'>1356</a>
|
|
1422
|
+
<a name='L1357'></a><a href='#L1357'>1357</a>
|
|
1423
|
+
<a name='L1358'></a><a href='#L1358'>1358</a>
|
|
1424
|
+
<a name='L1359'></a><a href='#L1359'>1359</a>
|
|
1425
|
+
<a name='L1360'></a><a href='#L1360'>1360</a>
|
|
1426
|
+
<a name='L1361'></a><a href='#L1361'>1361</a>
|
|
1427
|
+
<a name='L1362'></a><a href='#L1362'>1362</a>
|
|
1428
|
+
<a name='L1363'></a><a href='#L1363'>1363</a>
|
|
1429
|
+
<a name='L1364'></a><a href='#L1364'>1364</a>
|
|
1430
|
+
<a name='L1365'></a><a href='#L1365'>1365</a>
|
|
1431
|
+
<a name='L1366'></a><a href='#L1366'>1366</a>
|
|
1432
|
+
<a name='L1367'></a><a href='#L1367'>1367</a>
|
|
1433
|
+
<a name='L1368'></a><a href='#L1368'>1368</a>
|
|
1434
|
+
<a name='L1369'></a><a href='#L1369'>1369</a>
|
|
1435
|
+
<a name='L1370'></a><a href='#L1370'>1370</a>
|
|
1436
|
+
<a name='L1371'></a><a href='#L1371'>1371</a>
|
|
1437
|
+
<a name='L1372'></a><a href='#L1372'>1372</a>
|
|
1438
|
+
<a name='L1373'></a><a href='#L1373'>1373</a>
|
|
1439
|
+
<a name='L1374'></a><a href='#L1374'>1374</a>
|
|
1440
|
+
<a name='L1375'></a><a href='#L1375'>1375</a>
|
|
1441
|
+
<a name='L1376'></a><a href='#L1376'>1376</a>
|
|
1442
|
+
<a name='L1377'></a><a href='#L1377'>1377</a>
|
|
1443
|
+
<a name='L1378'></a><a href='#L1378'>1378</a>
|
|
1444
|
+
<a name='L1379'></a><a href='#L1379'>1379</a>
|
|
1445
|
+
<a name='L1380'></a><a href='#L1380'>1380</a>
|
|
1446
|
+
<a name='L1381'></a><a href='#L1381'>1381</a>
|
|
1447
|
+
<a name='L1382'></a><a href='#L1382'>1382</a>
|
|
1448
|
+
<a name='L1383'></a><a href='#L1383'>1383</a>
|
|
1449
|
+
<a name='L1384'></a><a href='#L1384'>1384</a>
|
|
1450
|
+
<a name='L1385'></a><a href='#L1385'>1385</a>
|
|
1451
|
+
<a name='L1386'></a><a href='#L1386'>1386</a>
|
|
1452
|
+
<a name='L1387'></a><a href='#L1387'>1387</a>
|
|
1453
|
+
<a name='L1388'></a><a href='#L1388'>1388</a>
|
|
1454
|
+
<a name='L1389'></a><a href='#L1389'>1389</a>
|
|
1455
|
+
<a name='L1390'></a><a href='#L1390'>1390</a>
|
|
1456
|
+
<a name='L1391'></a><a href='#L1391'>1391</a>
|
|
1457
|
+
<a name='L1392'></a><a href='#L1392'>1392</a>
|
|
1458
|
+
<a name='L1393'></a><a href='#L1393'>1393</a>
|
|
1459
|
+
<a name='L1394'></a><a href='#L1394'>1394</a>
|
|
1460
|
+
<a name='L1395'></a><a href='#L1395'>1395</a>
|
|
1461
|
+
<a name='L1396'></a><a href='#L1396'>1396</a>
|
|
1462
|
+
<a name='L1397'></a><a href='#L1397'>1397</a>
|
|
1463
|
+
<a name='L1398'></a><a href='#L1398'>1398</a>
|
|
1464
|
+
<a name='L1399'></a><a href='#L1399'>1399</a>
|
|
1465
|
+
<a name='L1400'></a><a href='#L1400'>1400</a>
|
|
1466
|
+
<a name='L1401'></a><a href='#L1401'>1401</a>
|
|
1467
|
+
<a name='L1402'></a><a href='#L1402'>1402</a>
|
|
1468
|
+
<a name='L1403'></a><a href='#L1403'>1403</a>
|
|
1469
|
+
<a name='L1404'></a><a href='#L1404'>1404</a>
|
|
1470
|
+
<a name='L1405'></a><a href='#L1405'>1405</a>
|
|
1471
|
+
<a name='L1406'></a><a href='#L1406'>1406</a>
|
|
1472
|
+
<a name='L1407'></a><a href='#L1407'>1407</a>
|
|
1473
|
+
<a name='L1408'></a><a href='#L1408'>1408</a>
|
|
1474
|
+
<a name='L1409'></a><a href='#L1409'>1409</a>
|
|
1475
|
+
<a name='L1410'></a><a href='#L1410'>1410</a>
|
|
1476
|
+
<a name='L1411'></a><a href='#L1411'>1411</a>
|
|
1477
|
+
<a name='L1412'></a><a href='#L1412'>1412</a>
|
|
1478
|
+
<a name='L1413'></a><a href='#L1413'>1413</a>
|
|
1479
|
+
<a name='L1414'></a><a href='#L1414'>1414</a>
|
|
1480
|
+
<a name='L1415'></a><a href='#L1415'>1415</a>
|
|
1481
|
+
<a name='L1416'></a><a href='#L1416'>1416</a>
|
|
1482
|
+
<a name='L1417'></a><a href='#L1417'>1417</a>
|
|
1483
|
+
<a name='L1418'></a><a href='#L1418'>1418</a>
|
|
1484
|
+
<a name='L1419'></a><a href='#L1419'>1419</a>
|
|
1485
|
+
<a name='L1420'></a><a href='#L1420'>1420</a>
|
|
1486
|
+
<a name='L1421'></a><a href='#L1421'>1421</a>
|
|
1487
|
+
<a name='L1422'></a><a href='#L1422'>1422</a>
|
|
1488
|
+
<a name='L1423'></a><a href='#L1423'>1423</a>
|
|
1489
|
+
<a name='L1424'></a><a href='#L1424'>1424</a>
|
|
1490
|
+
<a name='L1425'></a><a href='#L1425'>1425</a>
|
|
1491
|
+
<a name='L1426'></a><a href='#L1426'>1426</a>
|
|
1492
|
+
<a name='L1427'></a><a href='#L1427'>1427</a>
|
|
1493
|
+
<a name='L1428'></a><a href='#L1428'>1428</a>
|
|
1494
|
+
<a name='L1429'></a><a href='#L1429'>1429</a>
|
|
1495
|
+
<a name='L1430'></a><a href='#L1430'>1430</a>
|
|
1496
|
+
<a name='L1431'></a><a href='#L1431'>1431</a>
|
|
1497
|
+
<a name='L1432'></a><a href='#L1432'>1432</a>
|
|
1498
|
+
<a name='L1433'></a><a href='#L1433'>1433</a>
|
|
1499
|
+
<a name='L1434'></a><a href='#L1434'>1434</a>
|
|
1500
|
+
<a name='L1435'></a><a href='#L1435'>1435</a>
|
|
1501
|
+
<a name='L1436'></a><a href='#L1436'>1436</a>
|
|
1502
|
+
<a name='L1437'></a><a href='#L1437'>1437</a>
|
|
1503
|
+
<a name='L1438'></a><a href='#L1438'>1438</a>
|
|
1504
|
+
<a name='L1439'></a><a href='#L1439'>1439</a>
|
|
1505
|
+
<a name='L1440'></a><a href='#L1440'>1440</a>
|
|
1506
|
+
<a name='L1441'></a><a href='#L1441'>1441</a>
|
|
1507
|
+
<a name='L1442'></a><a href='#L1442'>1442</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">164x</span>
|
|
784
1508
|
<span class="cline-any cline-neutral"> </span>
|
|
785
1509
|
<span class="cline-any cline-neutral"> </span>
|
|
786
1510
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -788,6 +1512,14 @@
|
|
|
788
1512
|
<span class="cline-any cline-neutral"> </span>
|
|
789
1513
|
<span class="cline-any cline-yes">1x</span>
|
|
790
1514
|
<span class="cline-any cline-neutral"> </span>
|
|
1515
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1516
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1517
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1518
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1519
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1520
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1521
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1522
|
+
<span class="cline-any cline-neutral"> </span>
|
|
791
1523
|
<span class="cline-any cline-yes">1x</span>
|
|
792
1524
|
<span class="cline-any cline-neutral"> </span>
|
|
793
1525
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -805,6 +1537,7 @@
|
|
|
805
1537
|
<span class="cline-any cline-neutral"> </span>
|
|
806
1538
|
<span class="cline-any cline-neutral"> </span>
|
|
807
1539
|
<span class="cline-any cline-neutral"> </span>
|
|
1540
|
+
<span class="cline-any cline-neutral"> </span>
|
|
808
1541
|
<span class="cline-any cline-yes">1x</span>
|
|
809
1542
|
<span class="cline-any cline-neutral"> </span>
|
|
810
1543
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -896,6 +1629,7 @@
|
|
|
896
1629
|
<span class="cline-any cline-neutral"> </span>
|
|
897
1630
|
<span class="cline-any cline-neutral"> </span>
|
|
898
1631
|
<span class="cline-any cline-neutral"> </span>
|
|
1632
|
+
<span class="cline-any cline-neutral"> </span>
|
|
899
1633
|
<span class="cline-any cline-yes">1x</span>
|
|
900
1634
|
<span class="cline-any cline-no"> </span>
|
|
901
1635
|
<span class="cline-any cline-no"> </span>
|
|
@@ -922,6 +1656,7 @@
|
|
|
922
1656
|
<span class="cline-any cline-no"> </span>
|
|
923
1657
|
<span class="cline-any cline-neutral"> </span>
|
|
924
1658
|
<span class="cline-any cline-neutral"> </span>
|
|
1659
|
+
<span class="cline-any cline-neutral"> </span>
|
|
925
1660
|
<span class="cline-any cline-no"> </span>
|
|
926
1661
|
<span class="cline-any cline-no"> </span>
|
|
927
1662
|
<span class="cline-any cline-no"> </span>
|
|
@@ -963,28 +1698,36 @@
|
|
|
963
1698
|
<span class="cline-any cline-neutral"> </span>
|
|
964
1699
|
<span class="cline-any cline-neutral"> </span>
|
|
965
1700
|
<span class="cline-any cline-neutral"> </span>
|
|
1701
|
+
<span class="cline-any cline-neutral"> </span>
|
|
966
1702
|
<span class="cline-any cline-no"> </span>
|
|
967
1703
|
<span class="cline-any cline-no"> </span>
|
|
968
1704
|
<span class="cline-any cline-neutral"> </span>
|
|
1705
|
+
<span class="cline-any cline-neutral"> </span>
|
|
969
1706
|
<span class="cline-any cline-no"> </span>
|
|
970
1707
|
<span class="cline-any cline-no"> </span>
|
|
971
1708
|
<span class="cline-any cline-neutral"> </span>
|
|
1709
|
+
<span class="cline-any cline-neutral"> </span>
|
|
972
1710
|
<span class="cline-any cline-no"> </span>
|
|
973
1711
|
<span class="cline-any cline-no"> </span>
|
|
974
1712
|
<span class="cline-any cline-neutral"> </span>
|
|
1713
|
+
<span class="cline-any cline-neutral"> </span>
|
|
975
1714
|
<span class="cline-any cline-no"> </span>
|
|
976
1715
|
<span class="cline-any cline-no"> </span>
|
|
977
1716
|
<span class="cline-any cline-neutral"> </span>
|
|
1717
|
+
<span class="cline-any cline-neutral"> </span>
|
|
978
1718
|
<span class="cline-any cline-no"> </span>
|
|
979
1719
|
<span class="cline-any cline-no"> </span>
|
|
980
1720
|
<span class="cline-any cline-neutral"> </span>
|
|
1721
|
+
<span class="cline-any cline-neutral"> </span>
|
|
981
1722
|
<span class="cline-any cline-no"> </span>
|
|
982
1723
|
<span class="cline-any cline-no"> </span>
|
|
983
1724
|
<span class="cline-any cline-neutral"> </span>
|
|
1725
|
+
<span class="cline-any cline-neutral"> </span>
|
|
984
1726
|
<span class="cline-any cline-no"> </span>
|
|
985
1727
|
<span class="cline-any cline-no"> </span>
|
|
986
1728
|
<span class="cline-any cline-neutral"> </span>
|
|
987
1729
|
<span class="cline-any cline-neutral"> </span>
|
|
1730
|
+
<span class="cline-any cline-neutral"> </span>
|
|
988
1731
|
<span class="cline-any cline-no"> </span>
|
|
989
1732
|
<span class="cline-any cline-no"> </span>
|
|
990
1733
|
<span class="cline-any cline-no"> </span>
|
|
@@ -996,10 +1739,10 @@
|
|
|
996
1739
|
<span class="cline-any cline-neutral"> </span>
|
|
997
1740
|
<span class="cline-any cline-neutral"> </span>
|
|
998
1741
|
<span class="cline-any cline-neutral"> </span>
|
|
999
|
-
<span class="cline-any cline-no"> </span>
|
|
1000
1742
|
<span class="cline-any cline-neutral"> </span>
|
|
1001
1743
|
<span class="cline-any cline-no"> </span>
|
|
1002
1744
|
<span class="cline-any cline-neutral"> </span>
|
|
1745
|
+
<span class="cline-any cline-no"> </span>
|
|
1003
1746
|
<span class="cline-any cline-neutral"> </span>
|
|
1004
1747
|
<span class="cline-any cline-neutral"> </span>
|
|
1005
1748
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -1227,6 +1970,58 @@
|
|
|
1227
1970
|
<span class="cline-any cline-neutral"> </span>
|
|
1228
1971
|
<span class="cline-any cline-neutral"> </span>
|
|
1229
1972
|
<span class="cline-any cline-neutral"> </span>
|
|
1973
|
+
<span class="cline-any cline-yes">1x</span>
|
|
1974
|
+
<span class="cline-any cline-no"> </span>
|
|
1975
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1976
|
+
<span class="cline-any cline-no"> </span>
|
|
1977
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1978
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1979
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1980
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1981
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1982
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1983
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1984
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1985
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1986
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1987
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1988
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1989
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1990
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1991
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1992
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1993
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1994
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1995
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1996
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1997
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1998
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1999
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2000
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2001
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2002
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2003
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2004
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2005
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2006
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2007
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2008
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2009
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2010
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2011
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2012
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2013
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2014
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2015
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2016
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2017
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2018
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2019
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2020
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2021
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2022
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2023
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2024
|
+
<span class="cline-any cline-neutral"> </span>
|
|
1230
2025
|
<span class="cline-any cline-neutral"> </span>
|
|
1231
2026
|
<span class="cline-any cline-yes">1x</span>
|
|
1232
2027
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1497,219 +2292,892 @@
|
|
|
1497
2292
|
<span class="cline-any cline-neutral"> </span>
|
|
1498
2293
|
<span class="cline-any cline-neutral"> </span>
|
|
1499
2294
|
<span class="cline-any cline-neutral"> </span>
|
|
1500
|
-
<span class="cline-any cline-neutral"> </span
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
<span class="
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
<span class="
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
<span class="
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
<span class="
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
<span class="
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
<span class="
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
<span class="
|
|
1569
|
-
<span class="
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
<span class="
|
|
1576
|
-
<span class="
|
|
1577
|
-
<span class="
|
|
1578
|
-
<span class="
|
|
1579
|
-
<span class="
|
|
1580
|
-
<span class="
|
|
1581
|
-
<span class="
|
|
1582
|
-
<span class="
|
|
1583
|
-
<span class="
|
|
1584
|
-
<span class="
|
|
1585
|
-
<span class="
|
|
1586
|
-
<span class="
|
|
1587
|
-
<span class="
|
|
1588
|
-
<span class="
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
<span class="
|
|
1593
|
-
|
|
1594
|
-
<span class="
|
|
1595
|
-
|
|
1596
|
-
<span class="
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
<span class="
|
|
1601
|
-
<span class="
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
<span class="
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
<span class="
|
|
1635
|
-
<span class="
|
|
1636
|
-
|
|
1637
|
-
<span class="
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
<span class="
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
<span class="
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
<span class="
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
<span class="
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
<span class="
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
<span class="
|
|
1677
|
-
<span class="
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
<span class="
|
|
1684
|
-
<span class="
|
|
1685
|
-
|
|
1686
|
-
<span class="
|
|
1687
|
-
<span class="
|
|
1688
|
-
|
|
1689
|
-
<span class="
|
|
1690
|
-
<span class="
|
|
1691
|
-
|
|
1692
|
-
<span class="
|
|
1693
|
-
<span class="
|
|
1694
|
-
|
|
1695
|
-
<span class="
|
|
1696
|
-
<span class="
|
|
1697
|
-
|
|
1698
|
-
<span class="
|
|
1699
|
-
<span class="
|
|
1700
|
-
|
|
1701
|
-
<span class="
|
|
1702
|
-
<span class="
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
2295
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2296
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2297
|
+
<span class="cline-any cline-no"> </span>
|
|
2298
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2299
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2300
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2301
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2302
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2303
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2304
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2305
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2306
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2307
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2308
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2309
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2310
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2311
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2312
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2313
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2314
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2315
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2316
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2317
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2318
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2319
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2320
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2321
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2322
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2323
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2324
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2325
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2326
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2327
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2328
|
+
<span class="cline-any cline-no"> </span>
|
|
2329
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2330
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2331
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2332
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2333
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2334
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2335
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2336
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2337
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2338
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2339
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2340
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2341
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2342
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2343
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2344
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2345
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2346
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2347
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2348
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2349
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2350
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2351
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2352
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2353
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2354
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2355
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2356
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2357
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2358
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2359
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2360
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2361
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2362
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2363
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2364
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2365
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2366
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2367
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2368
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2369
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2370
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2371
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2372
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2373
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2374
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2375
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2376
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2377
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2378
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2379
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2380
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2381
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2382
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2383
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2384
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2385
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2386
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2387
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2388
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2389
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2390
|
+
<span class="cline-any cline-no"> </span>
|
|
2391
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2392
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2393
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2395
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2396
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2397
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2398
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2399
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2400
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2401
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2402
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2403
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2404
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2405
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2406
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2407
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2408
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2409
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2410
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2411
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2412
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2413
|
+
<span class="cline-any cline-no"> </span>
|
|
2414
|
+
<span class="cline-any cline-no"> </span>
|
|
2415
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2416
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2417
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2418
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2419
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2420
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2421
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2422
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2423
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2424
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2425
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2426
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2427
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2428
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2429
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2430
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2431
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2432
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2433
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2434
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2435
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2436
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2437
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2438
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2439
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2440
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2441
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2442
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2443
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2444
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2445
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2446
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2447
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2448
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2449
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2450
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2451
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2452
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2453
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2454
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2455
|
+
<span class="cline-any cline-no"> </span>
|
|
2456
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2457
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2458
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2459
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2460
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2461
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2462
|
+
<span class="cline-any cline-no"> </span>
|
|
2463
|
+
<span class="cline-any cline-no"> </span>
|
|
2464
|
+
<span class="cline-any cline-no"> </span>
|
|
2465
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2466
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2467
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2468
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2469
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2470
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2471
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2472
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2473
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2474
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2475
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2476
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2477
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2478
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2479
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2480
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2481
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2482
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2483
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2484
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2485
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2486
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2487
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2488
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2489
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2490
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2491
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2492
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2493
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2494
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2495
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2496
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2497
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2498
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2499
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2500
|
+
<span class="cline-any cline-no"> </span>
|
|
2501
|
+
<span class="cline-any cline-no"> </span>
|
|
2502
|
+
<span class="cline-any cline-no"> </span>
|
|
2503
|
+
<span class="cline-any cline-no"> </span>
|
|
2504
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2505
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2506
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2507
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2508
|
+
<span class="cline-any cline-no"> </span>
|
|
2509
|
+
<span class="cline-any cline-no"> </span>
|
|
2510
|
+
<span class="cline-any cline-no"> </span>
|
|
2511
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2512
|
+
<span class="cline-any cline-no"> </span>
|
|
2513
|
+
<span class="cline-any cline-no"> </span>
|
|
2514
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2515
|
+
<span class="cline-any cline-no"> </span>
|
|
2516
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2517
|
+
<span class="cline-any cline-no"> </span>
|
|
2518
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2519
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2520
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2521
|
+
<span class="cline-any cline-no"> </span>
|
|
2522
|
+
<span class="cline-any cline-no"> </span>
|
|
2523
|
+
<span class="cline-any cline-no"> </span>
|
|
2524
|
+
<span class="cline-any cline-no"> </span>
|
|
2525
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2526
|
+
<span class="cline-any cline-no"> </span>
|
|
2527
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2528
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2529
|
+
<span class="cline-any cline-no"> </span>
|
|
2530
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2531
|
+
<span class="cline-any cline-no"> </span>
|
|
2532
|
+
<span class="cline-any cline-no"> </span>
|
|
2533
|
+
<span class="cline-any cline-no"> </span>
|
|
2534
|
+
<span class="cline-any cline-no"> </span>
|
|
2535
|
+
<span class="cline-any cline-no"> </span>
|
|
2536
|
+
<span class="cline-any cline-no"> </span>
|
|
2537
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2538
|
+
<span class="cline-any cline-no"> </span>
|
|
2539
|
+
<span class="cline-any cline-no"> </span>
|
|
2540
|
+
<span class="cline-any cline-no"> </span>
|
|
2541
|
+
<span class="cline-any cline-no"> </span>
|
|
2542
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2543
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2544
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2545
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2546
|
+
<span class="cline-any cline-no"> </span>
|
|
2547
|
+
<span class="cline-any cline-no"> </span>
|
|
2548
|
+
<span class="cline-any cline-no"> </span>
|
|
2549
|
+
<span class="cline-any cline-no"> </span>
|
|
2550
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2551
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2552
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2553
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2554
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2555
|
+
<span class="cline-any cline-no"> </span>
|
|
2556
|
+
<span class="cline-any cline-no"> </span>
|
|
2557
|
+
<span class="cline-any cline-no"> </span>
|
|
2558
|
+
<span class="cline-any cline-no"> </span>
|
|
2559
|
+
<span class="cline-any cline-no"> </span>
|
|
2560
|
+
<span class="cline-any cline-no"> </span>
|
|
2561
|
+
<span class="cline-any cline-no"> </span>
|
|
2562
|
+
<span class="cline-any cline-no"> </span>
|
|
2563
|
+
<span class="cline-any cline-no"> </span>
|
|
2564
|
+
<span class="cline-any cline-no"> </span>
|
|
2565
|
+
<span class="cline-any cline-no"> </span>
|
|
2566
|
+
<span class="cline-any cline-no"> </span>
|
|
2567
|
+
<span class="cline-any cline-no"> </span>
|
|
2568
|
+
<span class="cline-any cline-no"> </span>
|
|
2569
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2570
|
+
<span class="cline-any cline-no"> </span>
|
|
2571
|
+
<span class="cline-any cline-no"> </span>
|
|
2572
|
+
<span class="cline-any cline-no"> </span>
|
|
2573
|
+
<span class="cline-any cline-no"> </span>
|
|
2574
|
+
<span class="cline-any cline-no"> </span>
|
|
2575
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2576
|
+
<span class="cline-any cline-no"> </span>
|
|
2577
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2578
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2579
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2580
|
+
<span class="cline-any cline-no"> </span>
|
|
2581
|
+
<span class="cline-any cline-no"> </span>
|
|
2582
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2583
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2584
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2585
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2586
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2587
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2588
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2589
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2590
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2591
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2592
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2593
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2594
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2595
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2596
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2597
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2598
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2599
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2600
|
+
<span class="cline-any cline-no"> </span>
|
|
2601
|
+
<span class="cline-any cline-no"> </span>
|
|
2602
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2603
|
+
<span class="cline-any cline-no"> </span>
|
|
2604
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2605
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2606
|
+
<span class="cline-any cline-no"> </span>
|
|
2607
|
+
<span class="cline-any cline-no"> </span>
|
|
2608
|
+
<span class="cline-any cline-no"> </span>
|
|
2609
|
+
<span class="cline-any cline-no"> </span>
|
|
2610
|
+
<span class="cline-any cline-no"> </span>
|
|
2611
|
+
<span class="cline-any cline-no"> </span>
|
|
2612
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2613
|
+
<span class="cline-any cline-no"> </span>
|
|
2614
|
+
<span class="cline-any cline-no"> </span>
|
|
2615
|
+
<span class="cline-any cline-no"> </span>
|
|
2616
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2617
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2618
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2619
|
+
<span class="cline-any cline-no"> </span>
|
|
2620
|
+
<span class="cline-any cline-no"> </span>
|
|
2621
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2622
|
+
<span class="cline-any cline-no"> </span>
|
|
2623
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2624
|
+
<span class="cline-any cline-no"> </span>
|
|
2625
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2626
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2627
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2628
|
+
<span class="cline-any cline-no"> </span>
|
|
2629
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2630
|
+
<span class="cline-any cline-no"> </span>
|
|
2631
|
+
<span class="cline-any cline-no"> </span>
|
|
2632
|
+
<span class="cline-any cline-no"> </span>
|
|
2633
|
+
<span class="cline-any cline-no"> </span>
|
|
2634
|
+
<span class="cline-any cline-no"> </span>
|
|
2635
|
+
<span class="cline-any cline-no"> </span>
|
|
2636
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2637
|
+
<span class="cline-any cline-no"> </span>
|
|
2638
|
+
<span class="cline-any cline-no"> </span>
|
|
2639
|
+
<span class="cline-any cline-no"> </span>
|
|
2640
|
+
<span class="cline-any cline-no"> </span>
|
|
2641
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2642
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2643
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2644
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2645
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2646
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2647
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2648
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2649
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2650
|
+
<span class="cline-any cline-no"> </span>
|
|
2651
|
+
<span class="cline-any cline-no"> </span>
|
|
2652
|
+
<span class="cline-any cline-no"> </span>
|
|
2653
|
+
<span class="cline-any cline-no"> </span>
|
|
2654
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2655
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2656
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2657
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2658
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2659
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2660
|
+
<span class="cline-any cline-no"> </span>
|
|
2661
|
+
<span class="cline-any cline-no"> </span>
|
|
2662
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2663
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2664
|
+
<span class="cline-any cline-no"> </span>
|
|
2665
|
+
<span class="cline-any cline-no"> </span>
|
|
2666
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2667
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2668
|
+
<span class="cline-any cline-no"> </span>
|
|
2669
|
+
<span class="cline-any cline-no"> </span>
|
|
2670
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2671
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2672
|
+
<span class="cline-any cline-no"> </span>
|
|
2673
|
+
<span class="cline-any cline-no"> </span>
|
|
2674
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2675
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2676
|
+
<span class="cline-any cline-no"> </span>
|
|
2677
|
+
<span class="cline-any cline-no"> </span>
|
|
2678
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2679
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2680
|
+
<span class="cline-any cline-no"> </span>
|
|
2681
|
+
<span class="cline-any cline-no"> </span>
|
|
2682
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2683
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2684
|
+
<span class="cline-any cline-no"> </span>
|
|
2685
|
+
<span class="cline-any cline-no"> </span>
|
|
2686
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2687
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2688
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2689
|
+
<span class="cline-any cline-no"> </span>
|
|
2690
|
+
<span class="cline-any cline-no"> </span>
|
|
2691
|
+
<span class="cline-any cline-no"> </span>
|
|
2692
|
+
<span class="cline-any cline-no"> </span>
|
|
2693
|
+
<span class="cline-any cline-no"> </span>
|
|
2694
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2695
|
+
<span class="cline-any cline-no"> </span>
|
|
2696
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2697
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2698
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2699
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2700
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2701
|
+
<span class="cline-any cline-no"> </span>
|
|
2702
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2703
|
+
<span class="cline-any cline-no"> </span>
|
|
2704
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2705
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2706
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2707
|
+
<span class="cline-any cline-no"> </span>
|
|
2708
|
+
<span class="cline-any cline-no"> </span>
|
|
2709
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2710
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2711
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2712
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2713
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2714
|
+
<span class="cline-any cline-no"> </span>
|
|
2715
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2716
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2717
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2718
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2719
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2720
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2721
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2722
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2723
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2724
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2725
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2726
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2727
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2728
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2729
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2730
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2731
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2732
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2733
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2734
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2735
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2736
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2737
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2738
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2739
|
+
<span class="cline-any cline-no"> </span>
|
|
2740
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2741
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2742
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2743
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2744
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2745
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2746
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2747
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2748
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2749
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2750
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2751
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2752
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2753
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2754
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2755
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2756
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2757
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2758
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2759
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2760
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2761
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2762
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2763
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2764
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2765
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2766
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2767
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2768
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2769
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2770
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2771
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2772
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2773
|
+
<span class="cline-any cline-yes">1x</span>
|
|
2774
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2775
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2776
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2777
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2778
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2779
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2780
|
+
<span class="cline-any cline-no"> </span>
|
|
2781
|
+
<span class="cline-any cline-no"> </span>
|
|
2782
|
+
<span class="cline-any cline-no"> </span>
|
|
2783
|
+
<span class="cline-any cline-no"> </span>
|
|
2784
|
+
<span class="cline-any cline-no"> </span>
|
|
2785
|
+
<span class="cline-any cline-no"> </span>
|
|
2786
|
+
<span class="cline-any cline-no"> </span>
|
|
2787
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2788
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2789
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2790
|
+
<span class="cline-any cline-no"> </span>
|
|
2791
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2792
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2793
|
+
<span class="cline-any cline-no"> </span>
|
|
2794
|
+
<span class="cline-any cline-no"> </span>
|
|
2795
|
+
<span class="cline-any cline-no"> </span>
|
|
2796
|
+
<span class="cline-any cline-no"> </span>
|
|
2797
|
+
<span class="cline-any cline-no"> </span>
|
|
2798
|
+
<span class="cline-any cline-no"> </span>
|
|
2799
|
+
<span class="cline-any cline-no"> </span>
|
|
2800
|
+
<span class="cline-any cline-no"> </span>
|
|
2801
|
+
<span class="cline-any cline-no"> </span>
|
|
2802
|
+
<span class="cline-any cline-no"> </span>
|
|
2803
|
+
<span class="cline-any cline-no"> </span>
|
|
2804
|
+
<span class="cline-any cline-no"> </span>
|
|
2805
|
+
<span class="cline-any cline-no"> </span>
|
|
2806
|
+
<span class="cline-any cline-no"> </span>
|
|
2807
|
+
<span class="cline-any cline-no"> </span>
|
|
2808
|
+
<span class="cline-any cline-no"> </span>
|
|
2809
|
+
<span class="cline-any cline-no"> </span>
|
|
2810
|
+
<span class="cline-any cline-no"> </span>
|
|
2811
|
+
<span class="cline-any cline-no"> </span>
|
|
2812
|
+
<span class="cline-any cline-no"> </span>
|
|
2813
|
+
<span class="cline-any cline-no"> </span>
|
|
2814
|
+
<span class="cline-any cline-no"> </span>
|
|
2815
|
+
<span class="cline-any cline-no"> </span>
|
|
2816
|
+
<span class="cline-any cline-no"> </span>
|
|
2817
|
+
<span class="cline-any cline-no"> </span>
|
|
2818
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2819
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2820
|
+
<span class="cline-any cline-no"> </span>
|
|
2821
|
+
<span class="cline-any cline-no"> </span>
|
|
2822
|
+
<span class="cline-any cline-no"> </span>
|
|
2823
|
+
<span class="cline-any cline-no"> </span>
|
|
2824
|
+
<span class="cline-any cline-no"> </span>
|
|
2825
|
+
<span class="cline-any cline-no"> </span>
|
|
2826
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2827
|
+
<span class="cline-any cline-no"> </span>
|
|
2828
|
+
<span class="cline-any cline-no"> </span>
|
|
2829
|
+
<span class="cline-any cline-no"> </span>
|
|
2830
|
+
<span class="cline-any cline-no"> </span>
|
|
2831
|
+
<span class="cline-any cline-no"> </span>
|
|
2832
|
+
<span class="cline-any cline-no"> </span>
|
|
2833
|
+
<span class="cline-any cline-no"> </span>
|
|
2834
|
+
<span class="cline-any cline-no"> </span>
|
|
2835
|
+
<span class="cline-any cline-no"> </span>
|
|
2836
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2837
|
+
<span class="cline-any cline-no"> </span>
|
|
2838
|
+
<span class="cline-any cline-no"> </span>
|
|
2839
|
+
<span class="cline-any cline-no"> </span>
|
|
2840
|
+
<span class="cline-any cline-no"> </span>
|
|
2841
|
+
<span class="cline-any cline-no"> </span>
|
|
2842
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2843
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2844
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2845
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2846
|
+
<span class="cline-any cline-no"> </span>
|
|
2847
|
+
<span class="cline-any cline-no"> </span>
|
|
2848
|
+
<span class="cline-any cline-no"> </span>
|
|
2849
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2850
|
+
<span class="cline-any cline-no"> </span>
|
|
2851
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2852
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2853
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2854
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2855
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2856
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2857
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2858
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2859
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2860
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2861
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2862
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2863
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2864
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2865
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2866
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2867
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2868
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2869
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2870
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2871
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2872
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2873
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2874
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2875
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2876
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2877
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2878
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2879
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2880
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2881
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2882
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2883
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2884
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2885
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2886
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2887
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2888
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2889
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2890
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2891
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2892
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2893
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2894
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2895
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2896
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2897
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2898
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2899
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2900
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2901
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2902
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2903
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2904
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2905
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2906
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2907
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2908
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2909
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2910
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2911
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2912
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2913
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2914
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2915
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2916
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2917
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2918
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2919
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2920
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2921
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2922
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2923
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2924
|
+
<span class="cline-any cline-no"> </span>
|
|
2925
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2926
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2927
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2928
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2929
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2930
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2931
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2932
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2933
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2934
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2935
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2936
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2937
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2938
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2939
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2940
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2941
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2942
|
+
<span class="cline-any cline-no"> </span>
|
|
2943
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2944
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2945
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2946
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2947
|
+
<span class="cline-any cline-neutral"> </span>
|
|
2948
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/**
|
|
2949
|
+
* 1. 从genCurdBlock组件复制,算是工行的定制化需求多主键(联合主键的支持)
|
|
2950
|
+
* 2. 改动了原来判断id的逻辑
|
|
2951
|
+
* 3. 先简单做后续在看如何优化,
|
|
2952
|
+
* 4. 主键目前支持 Long String Double 类型接口所以只禁用了对应的三个类型
|
|
2953
|
+
*/
|
|
2954
|
+
import * as utils from '../utils';
|
|
2955
|
+
import { App, Module, Namespace, Entity, View, Enum, DataSource, ViewElement, NumericLiteral, Logic } from '../concepts';
|
|
2956
|
+
import {
|
|
2957
|
+
NaslCoreTypeAnnotation,
|
|
2958
|
+
NaslUITypeAnnotation,
|
|
2959
|
+
NaslTypeAnnotation,
|
|
2960
|
+
NaslLogicItem,
|
|
2961
|
+
NaslNode,
|
|
2962
|
+
getDecimalInfo,
|
|
2963
|
+
transEntityMetadataTypes,
|
|
2964
|
+
} from './utils';
|
|
2965
|
+
import {
|
|
2966
|
+
filterProperty,
|
|
2967
|
+
NameGroup,
|
|
2968
|
+
genUniqueQueryNameGroup,
|
|
2969
|
+
getFirstDisplayedProperty,
|
|
2970
|
+
genCallComponentLogic,
|
|
2971
|
+
genQueryLogic,
|
|
2972
|
+
genTableTemplate,
|
|
2973
|
+
genEnumSelectBlock,
|
|
2974
|
+
genTableLoadLogic,
|
|
2975
|
+
genTableRemoveLogic,
|
|
2976
|
+
genLoadSelectLogic,
|
|
2977
|
+
genGridViewTemplate,
|
|
2978
|
+
genGridViewLoadLogic,
|
|
2979
|
+
genGridViewRemoveLogic,
|
|
2980
|
+
genLogicParam,
|
|
2981
|
+
genTableTemplateTableDesigner,
|
|
2982
|
+
} from '.';
|
|
2983
|
+
|
|
2984
|
+
function <span class="fstat-no" title="function not covered" >genFilterTemplate(e</span>ntity: Entity, nameGroup: NameGroup, selectNameGroupMap: Map<string, NameGroup>) {
|
|
2985
|
+
const dataSource = <span class="cstat-no" title="statement not covered" >entity.parentNode as DataSource;</span>
|
|
2986
|
+
const properties = <span class="cstat-no" title="statement not covered" >entity.properties.filter(filterProperty('inFilter'));</span>
|
|
2987
|
+
<span class="cstat-no" title="statement not covered" > return `</span>
|
|
2988
|
+
<u-linear-layout>
|
|
2989
|
+
<u-form layout="inline">
|
|
2990
|
+
${properties
|
|
2991
|
+
.map((<span class="fstat-no" title="function not covered" >property) => {</span>
|
|
2992
|
+
const vModel = <span class="cstat-no" title="statement not covered" >`${nameGroup.viewVariableFilter}.${property.name}`;</span>
|
|
2993
|
+
const <span class="cstat-no" title="statement not covered" >label = (property.label || property.name).replace(/"/g, '&quot;');</span>
|
|
2994
|
+
let formItem = <span class="cstat-no" title="statement not covered" >`<u-form-item layout="center"><template #label><u-text text="${label}"></u-text></template>`;</span>
|
|
2995
|
+
|
|
2996
|
+
const { typeAnnotation } = <span class="cstat-no" title="statement not covered" >property || {};</span>
|
|
2997
|
+
const { typeNamespace: propertyTypeNamespace } = <span class="cstat-no" title="statement not covered" >typeAnnotation || {};</span>
|
|
2998
|
+
const <span class="cstat-no" title="statement not covered" >propertyTypeName = transEntityMetadataTypes(typeAnnotation, dataSource.app);</span>
|
|
2999
|
+
const propertyTypeMaxLength: number =
|
|
3000
|
+
<span class="cstat-no" title="statement not covered" > Number(</span>
|
|
3001
|
+
property.rules
|
|
3002
|
+
.find((<span class="fstat-no" title="function not covered" >item) => <span class="cstat-no" title="statement not covered" >i</span>tem.indexOf('max') > -1)</span>
|
|
3003
|
+
?.split('(')[1]
|
|
3004
|
+
.slice(0, -1)
|
|
3005
|
+
) || 0;
|
|
3006
|
+
<span class="cstat-no" title="statement not covered" > if (property.relationEntity) {</span>
|
|
3007
|
+
// 有外键关联
|
|
3008
|
+
const relationEntity = <span class="cstat-no" title="statement not covered" >dataSource?.findEntityByName(property.relationEntity);</span>
|
|
3009
|
+
<span class="cstat-no" title="statement not covered" > if (relationEntity) {</span>
|
|
3010
|
+
const relationProperty = <span class="cstat-no" title="statement not covered" >relationEntity.properties.find((<span class="fstat-no" title="function not covered" >prop) => <span class="cstat-no" title="statement not covered" >p</span>rop.name === property.relationProperty)</span>;</span>
|
|
3011
|
+
const <span class="cstat-no" title="statement not covered" >displayedProperty = getFirstDisplayedProperty(relationEntity);</span>
|
|
3012
|
+
<span class="cstat-no" title="statement not covered" > if (displayedProperty) {</span>
|
|
3013
|
+
const lowerEntityName = <span class="cstat-no" title="statement not covered" >utils.firstLowerCase(relationEntity.name);</span>
|
|
3014
|
+
// 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
|
|
3015
|
+
const key = <span class="cstat-no" title="statement not covered" >[property.name, relationEntity.name].join('-');</span>
|
|
3016
|
+
const selectNameGroup = <span class="cstat-no" title="statement not covered" >selectNameGroupMap.get(key);</span>
|
|
3017
|
+
let dataSourceValue = <span class="cstat-no" title="statement not covered" >`(params) => ${selectNameGroup.logic}(elements.$ce.page, elements.$ce.size)`;</span>
|
|
3018
|
+
<span class="cstat-no" title="statement not covered" > formItem += `</span>
|
|
3019
|
+
<u-select clearable placeholder="请选择${label}" :data-source="${dataSourceValue}" :page-size="50"
|
|
3020
|
+
text-field="${lowerEntityName}.${displayedProperty.name}" value-field="${lowerEntityName}.${relationProperty.name}" :pagination="true" v-model="${vModel}">
|
|
3021
|
+
</u-select>
|
|
3022
|
+
`;
|
|
3023
|
+
} else <span class="cstat-no" title="statement not covered" >return '';</span>
|
|
3024
|
+
} else <span class="cstat-no" title="statement not covered" >return '';</span>
|
|
3025
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Boolean') {</span>
|
|
3026
|
+
<span class="cstat-no" title="statement not covered" > formItem += `</span>
|
|
3027
|
+
<u-select clearable v-model="${vModel}" placeholder="请输入${label}">
|
|
3028
|
+
<u-select-item :value="true" text="是">是</u-select-item>
|
|
3029
|
+
<u-select-item :value="false" text="否">否</u-select-item>
|
|
3030
|
+
</u-select>
|
|
3031
|
+
`;
|
|
3032
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {</span>
|
|
3033
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}"></u-number-input>`;</span>
|
|
3034
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Double') {</span>
|
|
3035
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;</span>
|
|
3036
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Decimal') {</span>
|
|
3037
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;</span>
|
|
3038
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {</span>
|
|
3039
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}"></u-textarea>`;</span>
|
|
3040
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Date') {</span>
|
|
3041
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-picker>`;</span>
|
|
3042
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Time') {</span>
|
|
3043
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-time-picker :value.sync="${vModel}" placeholder="请输入${label}"></u-time-picker>`;</span>
|
|
3044
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'DateTime') {</span>
|
|
3045
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-time-picker>`;</span>
|
|
3046
|
+
} else {
|
|
3047
|
+
const namespaceArr = <span class="cstat-no" title="statement not covered" >propertyTypeNamespace.split('.');</span>
|
|
3048
|
+
const type = <span class="cstat-no" title="statement not covered" >namespaceArr.pop();</span>
|
|
3049
|
+
<span class="cstat-no" title="statement not covered" > if (type === 'enums') {</span>
|
|
3050
|
+
const Enum = <span class="cstat-no" title="statement not covered" >dataSource.app.findNodeByCompleteName(propertyTypeNamespace + '.' + propertyTypeName) as Enum;</span>
|
|
3051
|
+
<span class="cstat-no" title="statement not covered" > formItem += genEnumSelectBlock(Enum, `${vModel}`, '', `请选择${label}`, true);</span>
|
|
3052
|
+
} else {
|
|
3053
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-input v-model="${vModel}" placeholder="请输入${label}"></u-input>`;</span>
|
|
3054
|
+
}
|
|
3055
|
+
}
|
|
3056
|
+
|
|
3057
|
+
<span class="cstat-no" title="statement not covered" > formItem += `</u-form-item>`;</span>
|
|
3058
|
+
<span class="cstat-no" title="statement not covered" > return formItem;</span>
|
|
3059
|
+
})
|
|
3060
|
+
.join('')}
|
|
3061
|
+
|
|
3062
|
+
<u-form-item layout="center" label-size="auto">
|
|
3063
|
+
<u-button color="primary" @click="${nameGroup.viewLogicReload}">查 询</u-button>
|
|
3064
|
+
</u-form-item>
|
|
3065
|
+
</u-form>
|
|
3066
|
+
</u-linear-layout>
|
|
3067
|
+
|
|
3068
|
+
<u-linear-layout mode="flex" alignment="start" justify="end"><u-button color="primary" @click="${
|
|
3069
|
+
nameGroup.viewLogicCreate
|
|
3070
|
+
}">创 建</u-button></u-linear-layout>
|
|
3071
|
+
`;
|
|
3072
|
+
}
|
|
3073
|
+
|
|
3074
|
+
function <span class="fstat-no" title="function not covered" >genSaveModalTemplate(e</span>ntity: Entity, nameGroup: NameGroup, selectNameGroupMap: Map<string, NameGroup>) {
|
|
3075
|
+
const dataSource = <span class="cstat-no" title="statement not covered" >entity.parentNode as DataSource;</span>
|
|
3076
|
+
const properties = <span class="cstat-no" title="statement not covered" >entity.properties.filter(filterProperty('inForm'));</span>
|
|
3077
|
+
|
|
3078
|
+
<span class="cstat-no" title="statement not covered" > return `</span>
|
|
3079
|
+
<u-modal ref="${nameGroup.viewElementSaveModal}">
|
|
3080
|
+
<template #title>
|
|
3081
|
+
<div v-if="${nameGroup.viewVariableIsUpdate}">修改</div>
|
|
3082
|
+
<div v-if="!${nameGroup.viewVariableIsUpdate}">创建</div>
|
|
3083
|
+
</template>
|
|
3084
|
+
<template #body>
|
|
3085
|
+
<u-form ref="${nameGroup.viewElementSaveModalForm}">
|
|
3086
|
+
${properties
|
|
3087
|
+
.map((<span class="fstat-no" title="function not covered" >property) => {</span>
|
|
3088
|
+
const vModel = <span class="cstat-no" title="statement not covered" >`${nameGroup.viewVariableInput}.${property.name}`;</span>
|
|
3089
|
+
const <span class="cstat-no" title="statement not covered" >label = (property.label || property.name).replace(/"/g, '&quot;');</span>
|
|
3090
|
+
const required = <span class="cstat-no" title="statement not covered" >!!property.required;</span>
|
|
3091
|
+
const rules = <span class="cstat-no" title="statement not covered" >[];</span>
|
|
3092
|
+
<span class="cstat-no" title="statement not covered" > if (property.rules && property.rules.length) {</span>
|
|
3093
|
+
<span class="cstat-no" title="statement not covered" > property.rules.forEach((<span class="fstat-no" title="function not covered" >rule) => <span class="cstat-no" title="statement not covered" >r</span>ules.push(rule))</span>;</span>
|
|
3094
|
+
}
|
|
3095
|
+
<span class="cstat-no" title="statement not covered" > if (required) <span class="cstat-no" title="statement not covered" >rules.push('required');</span></span>
|
|
3096
|
+
const rulesStr = <span class="cstat-no" title="statement not covered" >rules.join(' | ');</span>
|
|
3097
|
+
let formItem = <span class="cstat-no" title="statement not covered" >`<u-form-item ${required ? 'required' : ''} ${</span>
|
|
3098
|
+
rulesStr.length ? `rules="${rulesStr}"` : ''
|
|
3099
|
+
} layout="center"><template #label><u-text text="${label}"></u-text></template>`;
|
|
3100
|
+
|
|
3101
|
+
const { typeAnnotation } = <span class="cstat-no" title="statement not covered" >property || {};</span>
|
|
3102
|
+
const { typeNamespace: propertyTypeNamespace } = <span class="cstat-no" title="statement not covered" >typeAnnotation || {};</span>
|
|
3103
|
+
const <span class="cstat-no" title="statement not covered" >propertyTypeName = transEntityMetadataTypes(typeAnnotation, dataSource.app);</span>
|
|
3104
|
+
const propertyTypeMaxLength: number =
|
|
3105
|
+
<span class="cstat-no" title="statement not covered" > Number(</span>
|
|
3106
|
+
property.rules
|
|
3107
|
+
.find((<span class="fstat-no" title="function not covered" >item) => <span class="cstat-no" title="statement not covered" >i</span>tem.indexOf('max') > -1)</span>
|
|
3108
|
+
?.split('(')[1]
|
|
3109
|
+
.slice(0, -1)
|
|
3110
|
+
) || 0;
|
|
3111
|
+
<span class="cstat-no" title="statement not covered" > if (property.relationEntity) {</span>
|
|
3112
|
+
// 有外键关联
|
|
3113
|
+
const relationEntity = <span class="cstat-no" title="statement not covered" >dataSource?.findEntityByName(property.relationEntity);</span>
|
|
3114
|
+
<span class="cstat-no" title="statement not covered" > if (relationEntity) {</span>
|
|
3115
|
+
const relationProperty = <span class="cstat-no" title="statement not covered" >relationEntity.properties.find((<span class="fstat-no" title="function not covered" >prop) => <span class="cstat-no" title="statement not covered" >p</span>rop.name === property.relationProperty)</span>;</span>
|
|
3116
|
+
const <span class="cstat-no" title="statement not covered" >displayedProperty = getFirstDisplayedProperty(relationEntity);</span>
|
|
3117
|
+
<span class="cstat-no" title="statement not covered" > if (displayedProperty) {</span>
|
|
3118
|
+
const lowerEntityName = <span class="cstat-no" title="statement not covered" >utils.firstLowerCase(relationEntity.name);</span>
|
|
3119
|
+
// 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
|
|
3120
|
+
const key = <span class="cstat-no" title="statement not covered" >[property.name, relationEntity.name].join('-');</span>
|
|
3121
|
+
const selectNameGroup = <span class="cstat-no" title="statement not covered" >selectNameGroupMap.get(key);</span>
|
|
3122
|
+
let dataSourceValue = <span class="cstat-no" title="statement not covered" >`(params) => ${selectNameGroup.logic}(elements.$ce.page, elements.$ce.size)`;</span>
|
|
3123
|
+
<span class="cstat-no" title="statement not covered" > formItem += `</span>
|
|
3124
|
+
<u-select clearable placeholder="请选择${label}"
|
|
3125
|
+
text-field="${lowerEntityName}.${displayedProperty.name}"
|
|
3126
|
+
value-field="${lowerEntityName}.${relationProperty.name}"
|
|
3127
|
+
:data-source="${dataSourceValue}" :page-size="50"
|
|
3128
|
+
:pagination="true"
|
|
3129
|
+
${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''}
|
|
3130
|
+
v-model="${vModel}">
|
|
3131
|
+
</u-select>
|
|
3132
|
+
`;
|
|
3133
|
+
} else <span class="cstat-no" title="statement not covered" >return '';</span>
|
|
3134
|
+
} else <span class="cstat-no" title="statement not covered" >return '';</span>
|
|
3135
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Boolean') {</span>
|
|
3136
|
+
<span class="cstat-no" title="statement not covered" > formItem += `</span>
|
|
3137
|
+
<u-select clearable v-model="${vModel}" placeholder="请输入${label}" ${
|
|
3138
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
3139
|
+
}>
|
|
3140
|
+
<u-select-item :value="true" text="是"><u-text text="是"></u-text></u-select-item>
|
|
3141
|
+
<u-select-item :value="false" text="否"><u-text text="否"></u-text></u-select-item>
|
|
3142
|
+
</u-select>`;
|
|
3143
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {</span>
|
|
3144
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}" ${</span>
|
|
3145
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
3146
|
+
}></u-number-input>`;
|
|
3147
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Double') {</span>
|
|
3148
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${</span>
|
|
3149
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
3150
|
+
}></u-number-input>`;
|
|
3151
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Decimal') {</span>
|
|
3152
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${</span>
|
|
3153
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
3154
|
+
}></u-number-input>`;
|
|
3155
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {</span>
|
|
3156
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}" ${</span>
|
|
3157
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
3158
|
+
}></u-textarea>`;
|
|
3159
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Date') {</span>
|
|
3160
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${</span>
|
|
3161
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
3162
|
+
}></u-date-picker>`;
|
|
3163
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Time') {</span>
|
|
3164
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-time-picker :value.sync="${vModel}" placeholder="请输入${label}" ${</span>
|
|
3165
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
3166
|
+
}></u-time-picker>`;
|
|
3167
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'DateTime') {</span>
|
|
3168
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${</span>
|
|
3169
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
3170
|
+
}></u-date-time-picker>`;
|
|
3171
|
+
} else {
|
|
3172
|
+
const namespaceArr = <span class="cstat-no" title="statement not covered" >propertyTypeNamespace.split('.');</span>
|
|
1706
3173
|
const type = <span class="cstat-no" title="statement not covered" >namespaceArr.pop();</span>
|
|
1707
3174
|
<span class="cstat-no" title="statement not covered" > if (type === 'enums') {</span>
|
|
1708
3175
|
const Enum = <span class="cstat-no" title="statement not covered" >dataSource.app.findNodeByCompleteName(`${propertyTypeNamespace}.${propertyTypeName}`) as Enum;</span>
|
|
1709
3176
|
<span class="cstat-no" title="statement not covered" > formItem += genEnumSelectBlock(Enum, `${vModel}`, '', `请选择${label}`, true);</span>
|
|
1710
3177
|
} else {
|
|
1711
|
-
<span class="cstat-no" title="statement not covered" > formItem += `<u-input v-model="${vModel}" placeholder="请输入${label}" ${
|
|
1712
|
-
}
|
|
3178
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-input v-model="${vModel}" placeholder="请输入${label}" ${</span>
|
|
3179
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
3180
|
+
}></u-input>`;
|
|
1713
3181
|
}
|
|
1714
3182
|
}
|
|
1715
3183
|
|
|
@@ -1729,7 +3197,6 @@ function <span class="fstat-no" title="function not covered" >genSaveModalTempla
|
|
|
1729
3197
|
</u-modal>`;
|
|
1730
3198
|
}
|
|
1731
3199
|
|
|
1732
|
-
|
|
1733
3200
|
function <span class="fstat-no" title="function not covered" >genInitLogic(n</span>ameGroup: NameGroup) {
|
|
1734
3201
|
<span class="cstat-no" title="statement not covered" > return NaslNode.Logic({</span>
|
|
1735
3202
|
name: nameGroup.viewLogicInit,
|
|
@@ -1944,28 +3411,208 @@ function <span class="fstat-no" title="function not covered" >genModifyLogic(e</
|
|
|
1944
3411
|
});
|
|
1945
3412
|
}
|
|
1946
3413
|
|
|
3414
|
+
function <span class="fstat-no" title="function not covered" >genDetailLogic(e</span>ntity: Entity, nameGroup: NameGroup) {
|
|
3415
|
+
const lowerEntityName = <span class="cstat-no" title="statement not covered" >utils.firstLowerCase(entity.name);</span>
|
|
3416
|
+
|
|
3417
|
+
<span class="cstat-no" title="statement not covered" > return NaslNode.Logic({</span>
|
|
3418
|
+
name: nameGroup.viewLogicPreview,
|
|
3419
|
+
description: '',
|
|
3420
|
+
params: [],
|
|
3421
|
+
returns: [] as any[],
|
|
3422
|
+
variables: [] as any[],
|
|
3423
|
+
body: [
|
|
3424
|
+
NaslLogicItem.Start,
|
|
3425
|
+
NaslLogicItem.Assignment({
|
|
3426
|
+
left: NaslLogicItem.Identifier({
|
|
3427
|
+
name: nameGroup.viewVariablePreview,
|
|
3428
|
+
}),
|
|
3429
|
+
right: NaslLogicItem.Identifier({
|
|
3430
|
+
name: 'true',
|
|
3431
|
+
}),
|
|
3432
|
+
}),
|
|
3433
|
+
NaslLogicItem.Assignment({
|
|
3434
|
+
left: NaslLogicItem.Identifier({
|
|
3435
|
+
name: nameGroup.viewVariableInput,
|
|
3436
|
+
}),
|
|
3437
|
+
right: NaslLogicItem.CallFunction({
|
|
3438
|
+
calleeName: 'Clone',
|
|
3439
|
+
arguments: [
|
|
3440
|
+
NaslLogicItem.Argument({
|
|
3441
|
+
keyword: 'obj',
|
|
3442
|
+
expression: NaslLogicItem.MemberExpression({
|
|
3443
|
+
object: NaslLogicItem.MemberExpression({
|
|
3444
|
+
object: NaslLogicItem.Identifier({
|
|
3445
|
+
name: 'current',
|
|
3446
|
+
}),
|
|
3447
|
+
property: NaslLogicItem.Identifier({
|
|
3448
|
+
name: 'item',
|
|
3449
|
+
}),
|
|
3450
|
+
}),
|
|
3451
|
+
property: NaslLogicItem.Identifier({
|
|
3452
|
+
name: lowerEntityName,
|
|
3453
|
+
}),
|
|
3454
|
+
}),
|
|
3455
|
+
}),
|
|
3456
|
+
],
|
|
3457
|
+
}),
|
|
3458
|
+
}),
|
|
3459
|
+
genCallComponentLogic(nameGroup.viewElementSaveModal, 'open'),
|
|
3460
|
+
NaslLogicItem.End,
|
|
3461
|
+
],
|
|
3462
|
+
playground: [] as any[],
|
|
3463
|
+
});
|
|
3464
|
+
}
|
|
3465
|
+
|
|
1947
3466
|
// 列表(全)
|
|
1948
3467
|
export function <span class="fstat-no" title="function not covered" >genCurdMultipleKeyBlock(e</span>ntity: Entity, oldNode: ViewElement) {
|
|
1949
|
-
const
|
|
3468
|
+
const likeComponent = <span class="cstat-no" title="statement not covered" >oldNode?.likeComponent;</span>
|
|
3469
|
+
const dataSource = <span class="cstat-no" title="statement not covered" >entity.parentNode as DataSource;</span>
|
|
3470
|
+
const module = <span class="cstat-no" title="statement not covered" >dataSource.app;</span>
|
|
3471
|
+
|
|
3472
|
+
const viewElementMainView = <span class="cstat-no" title="statement not covered" >likeComponent.getViewElementUniqueName('tableView');</span>
|
|
3473
|
+
const <span class="cstat-no" title="statement not covered" >nameGroup = genUniqueQueryNameGroup(module, likeComponent, viewElementMainView);</span>
|
|
3474
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewElementMainView = viewElementMainView;</span>
|
|
3475
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewElementSaveModal = likeComponent.getViewElementUniqueName('saveModal');</span>
|
|
3476
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewElementSaveModalForm = likeComponent.getViewElementUniqueName('saveModalForm');</span>
|
|
3477
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicRemove = likeComponent.getLogicUniqueName('remove');</span>
|
|
3478
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicInit = likeComponent.getLogicUniqueName('init');</span>
|
|
3479
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicCreate = likeComponent.getLogicUniqueName('create');</span>
|
|
3480
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicModify = likeComponent.getLogicUniqueName('modify');</span>
|
|
3481
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicSubmit = likeComponent.getLogicUniqueName('submit');</span>
|
|
3482
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicUpdateSubmit = likeComponent.getLogicUniqueName('updateSubmit');</span>
|
|
3483
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicReload = likeComponent.getLogicUniqueName('reload');</span>
|
|
3484
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableEntity = likeComponent.getVariableUniqueName(utils.firstLowerCase(entity.name));</span>
|
|
3485
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableInput = likeComponent.getVariableUniqueName('input');</span>
|
|
3486
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableFilter = likeComponent.getVariableUniqueName('filter');</span>
|
|
3487
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableIsUpdate = likeComponent.getVariableUniqueName('isUpdate');</span>
|
|
3488
|
+
|
|
3489
|
+
// 收集所有和本实体关联的实体
|
|
3490
|
+
const entitySet: Set<Entity> = <span class="cstat-no" title="statement not covered" >new Set();</span>
|
|
3491
|
+
<span class="cstat-no" title="statement not covered" > entitySet.add(entity);</span>
|
|
3492
|
+
const selectNameGroupMap: Map<string, NameGroup> = <span class="cstat-no" title="statement not covered" >new Map();</span>
|
|
3493
|
+
const newLogics: any[] = <span class="cstat-no" title="statement not covered" >[];</span>
|
|
3494
|
+
const newLoadSelectLogics: any[] = <span class="cstat-no" title="statement not covered" >[];</span>
|
|
3495
|
+
<span class="cstat-no" title="statement not covered" > entity.properties.forEach((<span class="fstat-no" title="function not covered" >property) => {</span></span>
|
|
3496
|
+
// 有外键关联
|
|
3497
|
+
<span class="cstat-no" title="statement not covered" > if (property.relationEntity) {</span>
|
|
3498
|
+
const relationEntity = <span class="cstat-no" title="statement not covered" >dataSource?.findEntityByName(property.relationEntity);</span>
|
|
3499
|
+
<span class="cstat-no" title="statement not covered" > if (relationEntity) {</span>
|
|
3500
|
+
const <span class="cstat-no" title="statement not covered" >displayedProperty = getFirstDisplayedProperty(relationEntity);</span>
|
|
3501
|
+
<span class="cstat-no" title="statement not covered" > if (displayedProperty) {</span>
|
|
3502
|
+
<span class="cstat-no" title="statement not covered" > entitySet.add(relationEntity);</span>
|
|
3503
|
+
const viewElementSelect = <span class="cstat-no" title="statement not covered" >likeComponent.getViewElementUniqueName('select');</span>
|
|
3504
|
+
const <span class="cstat-no" title="statement not covered" >selectNameGroup = genUniqueQueryNameGroup(module, likeComponent, viewElementSelect, false, relationEntity.name);</span>
|
|
3505
|
+
<span class="cstat-no" title="statement not covered" > selectNameGroup.viewElementSelect = viewElementSelect;</span>
|
|
3506
|
+
// 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
|
|
3507
|
+
const key = <span class="cstat-no" title="statement not covered" >[property.name, relationEntity.name].join('-');</span>
|
|
3508
|
+
<span class="cstat-no" title="statement not covered" > selectNameGroupMap.set(key, selectNameGroup);</span>
|
|
3509
|
+
const <span class="cstat-no" title="statement not covered" >newLogic = genQueryLogic([relationEntity], selectNameGroup, false, false, module);</span>
|
|
3510
|
+
<span class="cstat-no" title="statement not covered" > newLogics.push(newLogic);</span>
|
|
3511
|
+
<span class="cstat-no" title="statement not covered" > newLoadSelectLogics.push(genLoadSelectLogic(relationEntity, selectNameGroup, newLogic));</span>
|
|
3512
|
+
}
|
|
3513
|
+
}
|
|
3514
|
+
}
|
|
3515
|
+
});
|
|
3516
|
+
const allEntities = <span class="cstat-no" title="statement not covered" >[...entitySet];</span>
|
|
3517
|
+
const <span class="cstat-no" title="statement not covered" >entityLogic = genQueryLogic(allEntities, nameGroup, true, true, module);</span>
|
|
3518
|
+
<span class="cstat-no" title="statement not covered" > newLogics.push(entityLogic);</span>
|
|
3519
|
+
|
|
3520
|
+
<span class="cstat-no" title="statement not covered" > return `<template></span>
|
|
3521
|
+
<u-linear-layout direction="vertical">
|
|
3522
|
+
${genFilterTemplate(entity, nameGroup, selectNameGroupMap)}
|
|
3523
|
+
${genTableTemplate(entity, nameGroup, entityLogic, true, 'genCurdMultipleKeyBlock')}
|
|
3524
|
+
${genSaveModalTemplate(entity, nameGroup, selectNameGroupMap)}
|
|
3525
|
+
</u-linear-layout>
|
|
3526
|
+
</template>
|
|
3527
|
+
|
|
3528
|
+
<definition>
|
|
3529
|
+
{
|
|
3530
|
+
"viewVariables": [
|
|
3531
|
+
{
|
|
3532
|
+
"concept": "Variable",
|
|
3533
|
+
"name": "${nameGroup.viewVariableEntity}",
|
|
3534
|
+
"typeAnnotation": ${JSON.stringify(
|
|
3535
|
+
NaslTypeAnnotation.Reference({
|
|
3536
|
+
typeNamespace: entity.getNamespace(),
|
|
3537
|
+
typeName: entity.name,
|
|
3538
|
+
})
|
|
3539
|
+
)}
|
|
3540
|
+
},
|
|
3541
|
+
{
|
|
3542
|
+
"concept": "Variable",
|
|
3543
|
+
"name": "${nameGroup.viewVariableInput}",
|
|
3544
|
+
"typeAnnotation": ${JSON.stringify(
|
|
3545
|
+
NaslTypeAnnotation.Reference({
|
|
3546
|
+
typeNamespace: entity.getNamespace(),
|
|
3547
|
+
typeName: entity.name,
|
|
3548
|
+
})
|
|
3549
|
+
)}
|
|
3550
|
+
},
|
|
3551
|
+
{
|
|
3552
|
+
"concept": "Variable",
|
|
3553
|
+
"name": "${nameGroup.viewVariableFilter}",
|
|
3554
|
+
"typeAnnotation": ${JSON.stringify(
|
|
3555
|
+
NaslTypeAnnotation.Reference({
|
|
3556
|
+
typeNamespace: entity.getNamespace(),
|
|
3557
|
+
typeName: entity.name,
|
|
3558
|
+
})
|
|
3559
|
+
)}
|
|
3560
|
+
},
|
|
3561
|
+
{
|
|
3562
|
+
"concept": "Variable",
|
|
3563
|
+
"name": "${nameGroup.viewVariableIsUpdate}",
|
|
3564
|
+
"typeAnnotation": ${JSON.stringify(NaslCoreTypeAnnotation.Boolean)}
|
|
3565
|
+
}
|
|
3566
|
+
],
|
|
3567
|
+
"viewLogics": [
|
|
3568
|
+
${JSON.stringify(genTableLoadLogic(entity, nameGroup, entityLogic, true))},
|
|
3569
|
+
${JSON.stringify(genTableRemoveLogic(entity, nameGroup))},
|
|
3570
|
+
${JSON.stringify(genInitLogic(nameGroup))},
|
|
3571
|
+
${JSON.stringify(genCreateLogic(nameGroup))},
|
|
3572
|
+
${JSON.stringify(genModifyLogic(entity, nameGroup))},
|
|
3573
|
+
${JSON.stringify(genSubmitLogic(entity, nameGroup))},
|
|
3574
|
+
${JSON.stringify(genUpdateSubmitLogic(entity, nameGroup))},
|
|
3575
|
+
${JSON.stringify(genReloadLogic(nameGroup))}
|
|
3576
|
+
${newLoadSelectLogics.map((<span class="fstat-no" title="function not covered" >logic) => <span class="cstat-no" title="statement not covered" >`</span>,${JSON.stringify(logic)}`)</span>.join('\n')}
|
|
3577
|
+
],
|
|
3578
|
+
"viewBindEvents": [
|
|
3579
|
+
{
|
|
3580
|
+
"concept": "BindEvent",
|
|
3581
|
+
"arguments": [],
|
|
3582
|
+
"name": "created",
|
|
3583
|
+
"calleeNamespace": "",
|
|
3584
|
+
"calleeName": "${nameGroup.viewLogicInit}"
|
|
3585
|
+
}
|
|
3586
|
+
],
|
|
3587
|
+
|
|
3588
|
+
"logics": ${JSON.stringify(newLogics)}
|
|
3589
|
+
}
|
|
3590
|
+
</definition>
|
|
3591
|
+
`;
|
|
3592
|
+
}
|
|
3593
|
+
|
|
3594
|
+
// 数据网格(全)
|
|
3595
|
+
export function <span class="fstat-no" title="function not covered" >genGridViewMultipleKeyBlock(e</span>ntity: Entity, oldNode: ViewElement) {
|
|
3596
|
+
const likeComponent = <span class="cstat-no" title="statement not covered" >oldNode?.likeComponent;</span>
|
|
1950
3597
|
const dataSource = <span class="cstat-no" title="statement not covered" >entity.parentNode as DataSource;</span>
|
|
1951
3598
|
const module = <span class="cstat-no" title="statement not covered" >dataSource.app;</span>
|
|
1952
3599
|
|
|
1953
|
-
const viewElementMainView = <span class="cstat-no" title="statement not covered" >
|
|
1954
|
-
const <span class="cstat-no" title="statement not covered" >nameGroup = genUniqueQueryNameGroup(module,
|
|
3600
|
+
const viewElementMainView = <span class="cstat-no" title="statement not covered" >likeComponent.getViewElementUniqueName('gridView');</span>
|
|
3601
|
+
const <span class="cstat-no" title="statement not covered" >nameGroup = genUniqueQueryNameGroup(module, likeComponent, viewElementMainView);</span>
|
|
1955
3602
|
<span class="cstat-no" title="statement not covered" > nameGroup.viewElementMainView = viewElementMainView;</span>
|
|
1956
|
-
<span class="cstat-no" title="statement not covered" > nameGroup.viewElementSaveModal =
|
|
1957
|
-
<span class="cstat-no" title="statement not covered" > nameGroup.viewElementSaveModalForm =
|
|
1958
|
-
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicRemove =
|
|
1959
|
-
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicInit =
|
|
1960
|
-
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicCreate =
|
|
1961
|
-
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicModify =
|
|
1962
|
-
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicSubmit =
|
|
1963
|
-
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicUpdateSubmit =
|
|
1964
|
-
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicReload =
|
|
1965
|
-
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableEntity =
|
|
1966
|
-
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableInput =
|
|
1967
|
-
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableFilter =
|
|
1968
|
-
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableIsUpdate =
|
|
3603
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewElementSaveModal = likeComponent.getViewElementUniqueName('saveModal');</span>
|
|
3604
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewElementSaveModalForm = likeComponent.getViewElementUniqueName('saveModalForm');</span>
|
|
3605
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicRemove = likeComponent.getLogicUniqueName('remove');</span>
|
|
3606
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicInit = likeComponent.getLogicUniqueName('init');</span>
|
|
3607
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicCreate = likeComponent.getLogicUniqueName('create');</span>
|
|
3608
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicModify = likeComponent.getLogicUniqueName('modify');</span>
|
|
3609
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicSubmit = likeComponent.getLogicUniqueName('submit');</span>
|
|
3610
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicUpdateSubmit = likeComponent.getLogicUniqueName('updateSubmit');</span>
|
|
3611
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicReload = likeComponent.getLogicUniqueName('reload');</span>
|
|
3612
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableEntity = likeComponent.getVariableUniqueName(utils.firstLowerCase(entity.name));</span>
|
|
3613
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableInput = likeComponent.getVariableUniqueName('input');</span>
|
|
3614
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableFilter = likeComponent.getVariableUniqueName('filter');</span>
|
|
3615
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableIsUpdate = likeComponent.getVariableUniqueName('isUpdate');</span>
|
|
1969
3616
|
|
|
1970
3617
|
// 收集所有和本实体关联的实体
|
|
1971
3618
|
const entitySet: Set<Entity> = <span class="cstat-no" title="statement not covered" >new Set();</span>
|
|
@@ -1981,8 +3628,8 @@ export function <span class="fstat-no" title="function not covered" >genCurdMult
|
|
|
1981
3628
|
const <span class="cstat-no" title="statement not covered" >displayedProperty = getFirstDisplayedProperty(relationEntity);</span>
|
|
1982
3629
|
<span class="cstat-no" title="statement not covered" > if (displayedProperty) {</span>
|
|
1983
3630
|
<span class="cstat-no" title="statement not covered" > entitySet.add(relationEntity);</span>
|
|
1984
|
-
const viewElementSelect = <span class="cstat-no" title="statement not covered" >
|
|
1985
|
-
const <span class="cstat-no" title="statement not covered" >selectNameGroup = genUniqueQueryNameGroup(module,
|
|
3631
|
+
const viewElementSelect = <span class="cstat-no" title="statement not covered" >likeComponent.getViewElementUniqueName('select');</span>
|
|
3632
|
+
const <span class="cstat-no" title="statement not covered" >selectNameGroup = genUniqueQueryNameGroup(module, likeComponent, viewElementSelect, false, relationEntity.name);</span>
|
|
1986
3633
|
<span class="cstat-no" title="statement not covered" > selectNameGroup.viewElementSelect = viewElementSelect;</span>
|
|
1987
3634
|
// 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
|
|
1988
3635
|
const key = <span class="cstat-no" title="statement not covered" >[property.name, relationEntity.name].join('-');</span>
|
|
@@ -2001,7 +3648,7 @@ export function <span class="fstat-no" title="function not covered" >genCurdMult
|
|
|
2001
3648
|
<span class="cstat-no" title="statement not covered" > return `<template></span>
|
|
2002
3649
|
<u-linear-layout direction="vertical">
|
|
2003
3650
|
${genFilterTemplate(entity, nameGroup, selectNameGroupMap)}
|
|
2004
|
-
${
|
|
3651
|
+
${genGridViewTemplate(entity, nameGroup, entityLogic, true, 'genCurdMultipleKeyBlock')}
|
|
2005
3652
|
${genSaveModalTemplate(entity, nameGroup, selectNameGroupMap)}
|
|
2006
3653
|
</u-linear-layout>
|
|
2007
3654
|
</template>
|
|
@@ -2013,31 +3660,31 @@ export function <span class="fstat-no" title="function not covered" >genCurdMult
|
|
|
2013
3660
|
"concept": "Variable",
|
|
2014
3661
|
"name": "${nameGroup.viewVariableEntity}",
|
|
2015
3662
|
"typeAnnotation": ${JSON.stringify(
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
3663
|
+
NaslTypeAnnotation.Reference({
|
|
3664
|
+
typeNamespace: entity.getNamespace(),
|
|
3665
|
+
typeName: entity.name,
|
|
3666
|
+
})
|
|
3667
|
+
)}
|
|
2021
3668
|
},
|
|
2022
3669
|
{
|
|
2023
3670
|
"concept": "Variable",
|
|
2024
3671
|
"name": "${nameGroup.viewVariableInput}",
|
|
2025
3672
|
"typeAnnotation": ${JSON.stringify(
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
3673
|
+
NaslTypeAnnotation.Reference({
|
|
3674
|
+
typeNamespace: entity.getNamespace(),
|
|
3675
|
+
typeName: entity.name,
|
|
3676
|
+
})
|
|
3677
|
+
)}
|
|
2031
3678
|
},
|
|
2032
3679
|
{
|
|
2033
3680
|
"concept": "Variable",
|
|
2034
3681
|
"name": "${nameGroup.viewVariableFilter}",
|
|
2035
3682
|
"typeAnnotation": ${JSON.stringify(
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
3683
|
+
NaslTypeAnnotation.Reference({
|
|
3684
|
+
typeNamespace: entity.getNamespace(),
|
|
3685
|
+
typeName: entity.name,
|
|
3686
|
+
})
|
|
3687
|
+
)}
|
|
2041
3688
|
},
|
|
2042
3689
|
{
|
|
2043
3690
|
"concept": "Variable",
|
|
@@ -2046,8 +3693,8 @@ export function <span class="fstat-no" title="function not covered" >genCurdMult
|
|
|
2046
3693
|
}
|
|
2047
3694
|
],
|
|
2048
3695
|
"viewLogics": [
|
|
2049
|
-
${JSON.stringify(
|
|
2050
|
-
${JSON.stringify(
|
|
3696
|
+
${JSON.stringify(genGridViewLoadLogic(entity, nameGroup, entityLogic, true))},
|
|
3697
|
+
${JSON.stringify(genGridViewRemoveLogic(entity, nameGroup))},
|
|
2051
3698
|
${JSON.stringify(genInitLogic(nameGroup))},
|
|
2052
3699
|
${JSON.stringify(genCreateLogic(nameGroup))},
|
|
2053
3700
|
${JSON.stringify(genModifyLogic(entity, nameGroup))},
|
|
@@ -2065,23 +3712,530 @@ export function <span class="fstat-no" title="function not covered" >genCurdMult
|
|
|
2065
3712
|
"calleeName": "${nameGroup.viewLogicInit}"
|
|
2066
3713
|
}
|
|
2067
3714
|
],
|
|
2068
|
-
|
|
2069
3715
|
"logics": ${JSON.stringify(newLogics)}
|
|
2070
3716
|
}
|
|
2071
3717
|
</definition>
|
|
2072
3718
|
`;
|
|
2073
3719
|
}
|
|
2074
3720
|
|
|
2075
|
-
|
|
2076
|
-
|
|
3721
|
+
export function <span class="fstat-no" title="function not covered" >genReloadLogic(n</span>ameGroup: NameGroup) {
|
|
3722
|
+
<span class="cstat-no" title="statement not covered" > return NaslNode.Logic({</span>
|
|
3723
|
+
name: nameGroup.viewLogicReload,
|
|
3724
|
+
params: [] as any[],
|
|
3725
|
+
returns: [] as any[],
|
|
3726
|
+
variables: [
|
|
3727
|
+
NaslNode.Variable({
|
|
3728
|
+
name: 'validateResult',
|
|
3729
|
+
typeAnnotation: NaslUITypeAnnotation.ValidateEvent,
|
|
3730
|
+
}),
|
|
3731
|
+
],
|
|
3732
|
+
body: [NaslLogicItem.Start, genCallComponentLogic(nameGroup.viewElementMainView, 'reload'), NaslLogicItem.End],
|
|
3733
|
+
playground: [],
|
|
3734
|
+
});
|
|
3735
|
+
}
|
|
3736
|
+
|
|
3737
|
+
export function <span class="fstat-no" title="function not covered" >genResetLogic(n</span>ameGroup: NameGroup) {
|
|
3738
|
+
<span class="cstat-no" title="statement not covered" > return NaslNode.Logic({</span>
|
|
3739
|
+
name: nameGroup.viewLogicReset,
|
|
3740
|
+
params: [] as any[],
|
|
3741
|
+
returns: [] as any[],
|
|
3742
|
+
variables: [
|
|
3743
|
+
NaslNode.Variable({
|
|
3744
|
+
name: 'validateResult',
|
|
3745
|
+
typeAnnotation: NaslUITypeAnnotation.ValidateEvent,
|
|
3746
|
+
}),
|
|
3747
|
+
],
|
|
3748
|
+
body: [
|
|
3749
|
+
NaslLogicItem.Start,
|
|
3750
|
+
NaslLogicItem.CallFunction({
|
|
3751
|
+
calleeName: 'Clear',
|
|
3752
|
+
arguments: [
|
|
3753
|
+
NaslLogicItem.Argument({
|
|
3754
|
+
keyword: 'struct',
|
|
3755
|
+
expression: NaslLogicItem.Identifier({
|
|
3756
|
+
name: nameGroup.viewVariableFilter,
|
|
3757
|
+
}),
|
|
3758
|
+
}),
|
|
3759
|
+
],
|
|
3760
|
+
}),
|
|
3761
|
+
genCallComponentLogic(nameGroup.viewElementMainView, 'reload'),
|
|
3762
|
+
NaslLogicItem.End,
|
|
3763
|
+
],
|
|
3764
|
+
playground: [],
|
|
3765
|
+
});
|
|
3766
|
+
}
|
|
3767
|
+
|
|
3768
|
+
export function <span class="fstat-no" title="function not covered" >genExportExcelLogic(n</span>ameGroup: NameGroup) {
|
|
3769
|
+
<span class="cstat-no" title="statement not covered" > return NaslNode.Logic({</span>
|
|
3770
|
+
name: nameGroup.viewLogicExportData,
|
|
3771
|
+
params: [] as any[],
|
|
3772
|
+
returns: [] as any[],
|
|
3773
|
+
variables: [],
|
|
3774
|
+
body: [
|
|
3775
|
+
NaslLogicItem.Start,
|
|
3776
|
+
NaslLogicItem.CallLogic({
|
|
3777
|
+
calleeNamespace: `elements.${nameGroup.viewElementMainView}.logics`,
|
|
3778
|
+
calleeName: 'exportExcel',
|
|
3779
|
+
arguments: [
|
|
3780
|
+
NaslLogicItem.Argument({
|
|
3781
|
+
keyword: 'page',
|
|
3782
|
+
expression: {
|
|
3783
|
+
concept: 'NumericLiteral',
|
|
3784
|
+
value: '1',
|
|
3785
|
+
typeAnnotation: {
|
|
3786
|
+
concept: 'TypeAnnotation',
|
|
3787
|
+
typeKind: 'primitive',
|
|
3788
|
+
typeNamespace: 'nasl.core',
|
|
3789
|
+
typeName: 'Long',
|
|
3790
|
+
},
|
|
3791
|
+
},
|
|
3792
|
+
}),
|
|
3793
|
+
NaslLogicItem.Argument({
|
|
3794
|
+
keyword: 'size',
|
|
3795
|
+
expression: {
|
|
3796
|
+
concept: 'NumericLiteral',
|
|
3797
|
+
value: '9999',
|
|
3798
|
+
typeAnnotation: {
|
|
3799
|
+
concept: 'TypeAnnotation',
|
|
3800
|
+
typeKind: 'primitive',
|
|
3801
|
+
typeNamespace: 'nasl.core',
|
|
3802
|
+
typeName: 'Long',
|
|
3803
|
+
},
|
|
3804
|
+
},
|
|
3805
|
+
}),
|
|
3806
|
+
NaslLogicItem.Argument({
|
|
3807
|
+
keyword: 'filename',
|
|
3808
|
+
expression: null,
|
|
3809
|
+
}),
|
|
3810
|
+
NaslLogicItem.Argument({
|
|
3811
|
+
keyword: 'sort',
|
|
3812
|
+
expression: null,
|
|
3813
|
+
}),
|
|
3814
|
+
NaslLogicItem.Argument({
|
|
3815
|
+
keyword: 'order',
|
|
3816
|
+
expression: null,
|
|
3817
|
+
}),
|
|
3818
|
+
NaslLogicItem.Argument({
|
|
3819
|
+
keyword: 'excludeColumns',
|
|
3820
|
+
expression: null,
|
|
3821
|
+
}),
|
|
3822
|
+
],
|
|
3823
|
+
}),
|
|
3824
|
+
NaslLogicItem.End,
|
|
3825
|
+
],
|
|
3826
|
+
playground: [],
|
|
3827
|
+
});
|
|
3828
|
+
}
|
|
3829
|
+
|
|
3830
|
+
function <span class="fstat-no" title="function not covered" >genCloseModalLogic(n</span>ameGroup: NameGroup) {
|
|
3831
|
+
<span class="cstat-no" title="statement not covered" > return NaslNode.Logic({</span>
|
|
3832
|
+
name: nameGroup.viewLogicCloseModal,
|
|
3833
|
+
description: '',
|
|
3834
|
+
params: [],
|
|
3835
|
+
returns: [] as any[],
|
|
3836
|
+
variables: [] as any[],
|
|
3837
|
+
body: [
|
|
3838
|
+
NaslLogicItem.Start,
|
|
3839
|
+
NaslLogicItem.Assignment({
|
|
3840
|
+
left: NaslLogicItem.Identifier({
|
|
3841
|
+
name: nameGroup.viewVariablePreview,
|
|
3842
|
+
}),
|
|
3843
|
+
right: NaslLogicItem.Identifier({
|
|
3844
|
+
name: 'false',
|
|
3845
|
+
}),
|
|
3846
|
+
}),
|
|
3847
|
+
NaslLogicItem.End,
|
|
3848
|
+
],
|
|
3849
|
+
playground: [] as any[],
|
|
3850
|
+
});
|
|
3851
|
+
}
|
|
3852
|
+
|
|
3853
|
+
function <span class="fstat-no" title="function not covered" >genOpenDelModalLogic(e</span>ntity: Entity, nameGroup: NameGroup) {
|
|
3854
|
+
const lowerEntityName = <span class="cstat-no" title="statement not covered" >utils.firstLowerCase(entity.name);</span>
|
|
3855
|
+
<span class="cstat-no" title="statement not covered" > return NaslNode.Logic({</span>
|
|
3856
|
+
name: nameGroup.viewLogicOpenDelModal,
|
|
3857
|
+
description: '',
|
|
3858
|
+
params: [],
|
|
3859
|
+
returns: [] as any[],
|
|
3860
|
+
variables: [] as any[],
|
|
3861
|
+
body: [
|
|
3862
|
+
NaslLogicItem.Start,
|
|
3863
|
+
NaslLogicItem.Assignment({
|
|
3864
|
+
left: NaslLogicItem.Identifier({
|
|
3865
|
+
name: nameGroup.viewVariableInput,
|
|
3866
|
+
}),
|
|
3867
|
+
right: NaslLogicItem.CallFunction({
|
|
3868
|
+
calleeName: 'Clone',
|
|
3869
|
+
arguments: [
|
|
3870
|
+
NaslLogicItem.Argument({
|
|
3871
|
+
keyword: 'obj',
|
|
3872
|
+
expression: NaslLogicItem.MemberExpression({
|
|
3873
|
+
object: NaslLogicItem.MemberExpression({
|
|
3874
|
+
object: NaslLogicItem.Identifier({
|
|
3875
|
+
name: 'current',
|
|
3876
|
+
}),
|
|
3877
|
+
property: NaslLogicItem.Identifier({
|
|
3878
|
+
name: 'item',
|
|
3879
|
+
}),
|
|
3880
|
+
}),
|
|
3881
|
+
property: NaslLogicItem.Identifier({
|
|
3882
|
+
name: lowerEntityName,
|
|
3883
|
+
}),
|
|
3884
|
+
}),
|
|
3885
|
+
}),
|
|
3886
|
+
],
|
|
3887
|
+
}),
|
|
3888
|
+
}),
|
|
3889
|
+
genCallComponentLogic(nameGroup.viewElementDelModal, 'open'),
|
|
3890
|
+
NaslLogicItem.End,
|
|
3891
|
+
],
|
|
3892
|
+
playground: [] as any[],
|
|
3893
|
+
});
|
|
3894
|
+
}
|
|
3895
|
+
function <span class="fstat-no" title="function not covered" >genCloseDelModalLogic(n</span>ameGroup: NameGroup) {
|
|
3896
|
+
<span class="cstat-no" title="statement not covered" > return NaslNode.Logic({</span>
|
|
3897
|
+
name: nameGroup.viewLogicCloseDelModal,
|
|
3898
|
+
body: [NaslLogicItem.Start, genCallComponentLogic(nameGroup.viewElementDelModal, 'close'), NaslLogicItem.End],
|
|
3899
|
+
});
|
|
3900
|
+
}
|
|
3901
|
+
|
|
3902
|
+
function <span class="fstat-no" title="function not covered" >genDelModalSubmitLogic(e</span>ntity: Entity, nameGroup: NameGroup) {
|
|
3903
|
+
const { ns } = <span class="cstat-no" title="statement not covered" >entity;</span>
|
|
3904
|
+
const deleteLogic = <span class="cstat-no" title="statement not covered" >ns?.logics?.find((<span class="fstat-no" title="function not covered" >logic) => <span class="cstat-no" title="statement not covered" >l</span>ogic.name === 'delete')</span>;</span>
|
|
3905
|
+
<span class="cstat-no" title="statement not covered" > return NaslNode.Logic({</span>
|
|
3906
|
+
name: nameGroup.viewLogicDelModalSubmit,
|
|
3907
|
+
params: [],
|
|
3908
|
+
returns: [] as any[],
|
|
3909
|
+
variables: [] as any[],
|
|
3910
|
+
body: [
|
|
3911
|
+
NaslLogicItem.Start,
|
|
3912
|
+
NaslLogicItem.CallLogic({
|
|
3913
|
+
calleeNamespace: deleteLogic.getNamespace(),
|
|
3914
|
+
calleeName: deleteLogic.name,
|
|
3915
|
+
arguments: [
|
|
3916
|
+
{
|
|
3917
|
+
concept: 'Argument',
|
|
3918
|
+
keyword: 'id',
|
|
3919
|
+
expression: {
|
|
3920
|
+
concept: 'MemberExpression',
|
|
3921
|
+
object: {
|
|
3922
|
+
concept: 'Identifier',
|
|
3923
|
+
name: 'input',
|
|
3924
|
+
},
|
|
3925
|
+
property: {
|
|
3926
|
+
concept: 'Identifier',
|
|
3927
|
+
name: 'id',
|
|
3928
|
+
},
|
|
3929
|
+
},
|
|
3930
|
+
},
|
|
3931
|
+
],
|
|
3932
|
+
}),
|
|
3933
|
+
genCallComponentLogic(nameGroup.viewElementDelModal, 'close'),
|
|
3934
|
+
genCallComponentLogic(nameGroup.viewElementMainView, 'reload'),
|
|
3935
|
+
NaslLogicItem.End,
|
|
3936
|
+
],
|
|
3937
|
+
});
|
|
3938
|
+
}
|
|
3939
|
+
|
|
3940
|
+
export function <span class="fstat-no" title="function not covered" >genFilterTemplateTableDesigner(e</span>ntity: Entity, nameGroup: NameGroup, selectNameGroupMap: Map<string, NameGroup>, optionsMap?: any) {
|
|
3941
|
+
const dataSource = <span class="cstat-no" title="statement not covered" >entity.parentNode as DataSource;</span>
|
|
3942
|
+
const properties = <span class="cstat-no" title="statement not covered" >entity.properties.filter(filterProperty('inFilter'));</span>
|
|
3943
|
+
const getCol = <span class="cstat-no" title="statement not covered" >(<span class="fstat-no" title="function not covered" >c</span>ode: string) => <span class="cstat-no" title="statement not covered" >`</span><u-grid-layout-column span="6" style="padding: 10px 0;">${code}</u-grid-layout-column>`;</span>
|
|
3944
|
+
<span class="cstat-no" title="statement not covered" > return `<u-form style="margin-bottom: 6px;padding: 15px 15px 5px 15px;background: #fff;"></span>
|
|
3945
|
+
<u-grid-layout>
|
|
3946
|
+
<u-grid-layout-row repeat="24">
|
|
3947
|
+
${properties
|
|
3948
|
+
.map((<span class="fstat-no" title="function not covered" >property) => {</span>
|
|
3949
|
+
const vModel = <span class="cstat-no" title="statement not covered" >`${nameGroup.viewVariableFilter}.${property.name}`;</span>
|
|
3950
|
+
const <span class="cstat-no" title="statement not covered" >label = (property.label || property.name).replace(/"/g, '&quot;');</span>
|
|
3951
|
+
let formItem = <span class="cstat-no" title="statement not covered" >`<u-form-item layout="center"><template #label><u-text text="${label}"></u-text></template>`;</span>
|
|
3952
|
+
|
|
3953
|
+
const { typeAnnotation } = <span class="cstat-no" title="statement not covered" >property || {};</span>
|
|
3954
|
+
const { typeName: propertyTypeName, typeNamespace: propertyTypeNamespace } = <span class="cstat-no" title="statement not covered" >typeAnnotation || {};</span>
|
|
3955
|
+
const propertyTypeMaxLength: number =
|
|
3956
|
+
<span class="cstat-no" title="statement not covered" > Number(</span>
|
|
3957
|
+
property.rules
|
|
3958
|
+
.find((<span class="fstat-no" title="function not covered" >item) => <span class="cstat-no" title="statement not covered" >i</span>tem.indexOf('max') > -1)</span>
|
|
3959
|
+
?.split('(')[1]
|
|
3960
|
+
.slice(0, -1)
|
|
3961
|
+
) || 0;
|
|
3962
|
+
<span class="cstat-no" title="statement not covered" > if (optionsMap?.[property.name]) {</span>
|
|
3963
|
+
const options = <span class="cstat-no" title="statement not covered" >optionsMap?.[property.name];</span>
|
|
3964
|
+
const multiple = <span class="cstat-no" title="statement not covered" >property?.typeAnnotation?.typeName === 'List';</span>
|
|
3965
|
+
<span class="cstat-no" title="statement not covered" > formItem += `</span>
|
|
3966
|
+
<u-select clearable v-model="${vModel}" placeholder="请选择" ${multiple ? 'multiple' : ''}>
|
|
3967
|
+
${options.map((<span class="fstat-no" title="function not covered" >option: any) => <span class="cstat-no" title="statement not covered" >`</span><u-select-item value="${option.value}">${option.label}</u-select-item>`)</span>.join('')}
|
|
3968
|
+
</u-select>
|
|
3969
|
+
`;
|
|
3970
|
+
<span class="cstat-no" title="statement not covered" > } else if (property.relationEntity) {</span>
|
|
3971
|
+
// 有外键关联
|
|
3972
|
+
const relationEntity = <span class="cstat-no" title="statement not covered" >dataSource?.findEntityByName(property.relationEntity);</span>
|
|
3973
|
+
<span class="cstat-no" title="statement not covered" > if (relationEntity) {</span>
|
|
3974
|
+
const relationProperty = <span class="cstat-no" title="statement not covered" >relationEntity.properties.find((<span class="fstat-no" title="function not covered" >prop) => <span class="cstat-no" title="statement not covered" >p</span>rop.name === property.relationProperty)</span>;</span>
|
|
3975
|
+
const <span class="cstat-no" title="statement not covered" >displayedProperty = getFirstDisplayedProperty(relationEntity);</span>
|
|
3976
|
+
<span class="cstat-no" title="statement not covered" > if (displayedProperty) {</span>
|
|
3977
|
+
const lowerEntityName = <span class="cstat-no" title="statement not covered" >utils.firstLowerCase(relationEntity.name);</span>
|
|
3978
|
+
// 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
|
|
3979
|
+
const key = <span class="cstat-no" title="statement not covered" >[property.name, relationEntity.name].join('-');</span>
|
|
3980
|
+
const selectNameGroup = <span class="cstat-no" title="statement not covered" >selectNameGroupMap.get(key);</span>
|
|
3981
|
+
let dataSourceValue = <span class="cstat-no" title="statement not covered" >`(params) => ${selectNameGroup.logic}(elements.$ce.page, elements.$ce.size)`;</span>
|
|
3982
|
+
<span class="cstat-no" title="statement not covered" > formItem += `</span>
|
|
3983
|
+
<u-select clearable placeholder="请选择${label}" :data-source="${dataSourceValue}" :page-size="50"
|
|
3984
|
+
text-field="${lowerEntityName}.${displayedProperty.name}" value-field="${lowerEntityName}.${relationProperty.name}" :pagination="true" v-model="${vModel}">
|
|
3985
|
+
</u-select>
|
|
3986
|
+
`;
|
|
3987
|
+
} else <span class="cstat-no" title="statement not covered" >return '';</span>
|
|
3988
|
+
} else <span class="cstat-no" title="statement not covered" >return '';</span>
|
|
3989
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Boolean') {</span>
|
|
3990
|
+
<span class="cstat-no" title="statement not covered" > formItem += `</span>
|
|
3991
|
+
<u-select clearable v-model="${vModel}" placeholder="请输入${label}">
|
|
3992
|
+
<u-select-item :value="true" text="是">是</u-select-item>
|
|
3993
|
+
<u-select-item :value="false" text="否">否</u-select-item>
|
|
3994
|
+
</u-select>
|
|
3995
|
+
`;
|
|
3996
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {</span>
|
|
3997
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}"></u-number-input>`;</span>
|
|
3998
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Double') {</span>
|
|
3999
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;</span>
|
|
4000
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Decimal') {</span>
|
|
4001
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"></u-number-input>`;</span>
|
|
4002
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {</span>
|
|
4003
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}"></u-textarea>`;</span>
|
|
4004
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Date') {</span>
|
|
4005
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-picker>`;</span>
|
|
4006
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Time') {</span>
|
|
4007
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-time-picker :value.sync="${vModel}" placeholder="请输入${label}"></u-time-picker>`;</span>
|
|
4008
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'DateTime') {</span>
|
|
4009
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"></u-date-time-picker>`;</span>
|
|
4010
|
+
} else {
|
|
4011
|
+
const namespaceArr = <span class="cstat-no" title="statement not covered" >propertyTypeNamespace.split('.');</span>
|
|
4012
|
+
const type = <span class="cstat-no" title="statement not covered" >namespaceArr.pop();</span>
|
|
4013
|
+
<span class="cstat-no" title="statement not covered" > if (type === 'enums') {</span>
|
|
4014
|
+
const Enum = <span class="cstat-no" title="statement not covered" >dataSource.app.findNodeByCompleteName(`${propertyTypeNamespace}.${propertyTypeName}`) as Enum;</span>
|
|
4015
|
+
<span class="cstat-no" title="statement not covered" > formItem += genEnumSelectBlock(Enum, `${vModel}`, '', `请选择${label}`, true);</span>
|
|
4016
|
+
} else {
|
|
4017
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-input v-model="${vModel}" placeholder="请输入${label}"></u-input>`;</span>
|
|
4018
|
+
}
|
|
4019
|
+
}
|
|
4020
|
+
|
|
4021
|
+
<span class="cstat-no" title="statement not covered" > formItem += `</u-form-item>`;</span>
|
|
4022
|
+
<span class="cstat-no" title="statement not covered" > return getCol(formItem);</span>
|
|
4023
|
+
})
|
|
4024
|
+
.join('')}
|
|
4025
|
+
${getCol(`<u-form-item layout="center" label-size="auto">
|
|
4026
|
+
<u-button color="primary" style="margin-right: 5px" @click="${nameGroup.viewLogicReload}">查 询</u-button>
|
|
4027
|
+
<u-button @click="${nameGroup.viewLogicReset}">重 置</u-button>
|
|
4028
|
+
</u-form-item>`)}
|
|
4029
|
+
</u-grid-layout-row>
|
|
4030
|
+
</u-grid-layout>
|
|
4031
|
+
</u-form>
|
|
4032
|
+
`;
|
|
4033
|
+
}
|
|
4034
|
+
|
|
4035
|
+
function <span class="fstat-no" title="function not covered" >genSaveModalTemplateDesigner(</span>
|
|
4036
|
+
entity: Entity,
|
|
4037
|
+
nameGroup: NameGroup,
|
|
4038
|
+
selectNameGroupMap: Map<string, NameGroup>,
|
|
4039
|
+
SaveModalFormTemplate?: string
|
|
4040
|
+
) {
|
|
4041
|
+
const dataSource = <span class="cstat-no" title="statement not covered" >entity.parentNode as DataSource;</span>
|
|
4042
|
+
const properties = <span class="cstat-no" title="statement not covered" >entity.properties.filter(filterProperty('inForm'));</span>
|
|
4043
|
+
|
|
4044
|
+
const formStr = <span class="cstat-no" title="statement not covered" >` <u-form ref="${nameGroup.viewElementSaveModalForm}" :preview="${nameGroup.viewVariablePreview}"></span>
|
|
4045
|
+
${properties
|
|
4046
|
+
.map((<span class="fstat-no" title="function not covered" >property) => {</span>
|
|
4047
|
+
const vModel = <span class="cstat-no" title="statement not covered" >`${nameGroup.viewVariableInput}.${property.name}`;</span>
|
|
4048
|
+
const <span class="cstat-no" title="statement not covered" >label = (property.label || property.name).replace(/"/g, '&quot;');</span>
|
|
4049
|
+
const required = <span class="cstat-no" title="statement not covered" >!!property.required;</span>
|
|
4050
|
+
const rules = <span class="cstat-no" title="statement not covered" >[];</span>
|
|
4051
|
+
<span class="cstat-no" title="statement not covered" > if (property.rules && property.rules.length) {</span>
|
|
4052
|
+
<span class="cstat-no" title="statement not covered" > property.rules.forEach((<span class="fstat-no" title="function not covered" >rule) => <span class="cstat-no" title="statement not covered" >r</span>ules.push(rule))</span>;</span>
|
|
4053
|
+
}
|
|
4054
|
+
<span class="cstat-no" title="statement not covered" > if (required) <span class="cstat-no" title="statement not covered" >rules.push('required');</span></span>
|
|
4055
|
+
const rulesStr = <span class="cstat-no" title="statement not covered" >rules.join(' | ');</span>
|
|
4056
|
+
let formItem = <span class="cstat-no" title="statement not covered" >`<u-form-item ${required ? 'required' : ''} ${</span>
|
|
4057
|
+
rulesStr.length ? `rules="${rulesStr}"` : ''
|
|
4058
|
+
} layout="center"><template #label><u-text text="${label}"></u-text></template>`;
|
|
4059
|
+
|
|
4060
|
+
const { typeAnnotation } = <span class="cstat-no" title="statement not covered" >property || {};</span>
|
|
4061
|
+
const { typeName: propertyTypeName, typeNamespace: propertyTypeNamespace } = <span class="cstat-no" title="statement not covered" >typeAnnotation || {};</span>
|
|
4062
|
+
const propertyTypeMaxLength: number =
|
|
4063
|
+
<span class="cstat-no" title="statement not covered" > Number(</span>
|
|
4064
|
+
property.rules
|
|
4065
|
+
.find((<span class="fstat-no" title="function not covered" >item) => <span class="cstat-no" title="statement not covered" >i</span>tem.indexOf('max') > -1)</span>
|
|
4066
|
+
?.split('(')[1]
|
|
4067
|
+
.slice(0, -1)
|
|
4068
|
+
) || 0;
|
|
4069
|
+
<span class="cstat-no" title="statement not covered" > if (property.relationEntity) {</span>
|
|
4070
|
+
// 有外键关联
|
|
4071
|
+
const relationEntity = <span class="cstat-no" title="statement not covered" >dataSource?.findEntityByName(property.relationEntity);</span>
|
|
4072
|
+
<span class="cstat-no" title="statement not covered" > if (relationEntity) {</span>
|
|
4073
|
+
const relationProperty = <span class="cstat-no" title="statement not covered" >relationEntity.properties.find((<span class="fstat-no" title="function not covered" >prop) => <span class="cstat-no" title="statement not covered" >p</span>rop.name === property.relationProperty)</span>;</span>
|
|
4074
|
+
const <span class="cstat-no" title="statement not covered" >displayedProperty = getFirstDisplayedProperty(relationEntity);</span>
|
|
4075
|
+
<span class="cstat-no" title="statement not covered" > if (displayedProperty) {</span>
|
|
4076
|
+
const lowerEntityName = <span class="cstat-no" title="statement not covered" >utils.firstLowerCase(relationEntity.name);</span>
|
|
4077
|
+
// 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
|
|
4078
|
+
const key = <span class="cstat-no" title="statement not covered" >[property.name, relationEntity.name].join('-');</span>
|
|
4079
|
+
const selectNameGroup = <span class="cstat-no" title="statement not covered" >selectNameGroupMap.get(key);</span>
|
|
4080
|
+
let dataSourceValue = <span class="cstat-no" title="statement not covered" >`(params) => ${selectNameGroup.logic}(elements.$ce.page, elements.$ce.size)`;</span>
|
|
4081
|
+
<span class="cstat-no" title="statement not covered" > formItem += `</span>
|
|
4082
|
+
<u-select clearable placeholder="请选择${label}"
|
|
4083
|
+
text-field="${lowerEntityName}.${displayedProperty.name}"
|
|
4084
|
+
value-field="${lowerEntityName}.${relationProperty.name}"
|
|
4085
|
+
:data-source="${dataSourceValue}" :page-size="50"
|
|
4086
|
+
:pagination="true"
|
|
4087
|
+
${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''}
|
|
4088
|
+
v-model="${vModel}">
|
|
4089
|
+
</u-select>
|
|
4090
|
+
`;
|
|
4091
|
+
} else <span class="cstat-no" title="statement not covered" >return '';</span>
|
|
4092
|
+
} else <span class="cstat-no" title="statement not covered" >return '';</span>
|
|
4093
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Boolean') {</span>
|
|
4094
|
+
<span class="cstat-no" title="statement not covered" > formItem += `</span>
|
|
4095
|
+
<u-select clearable v-model="${vModel}" placeholder="请输入${label}" ${
|
|
4096
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
4097
|
+
}>
|
|
4098
|
+
<u-select-item :value="true" text="是"><u-text text="是"></u-text></u-select-item>
|
|
4099
|
+
<u-select-item :value="false" text="否"><u-text text="否"></u-text></u-select-item>
|
|
4100
|
+
</u-select>`;
|
|
4101
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Integer' || propertyTypeName === 'Long') {</span>
|
|
4102
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-number-input v-model="${vModel}" placeholder="请输入${label}" ${</span>
|
|
4103
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
4104
|
+
}></u-number-input>`;
|
|
4105
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Double') {</span>
|
|
4106
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${</span>
|
|
4107
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
4108
|
+
}></u-number-input>`;
|
|
4109
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Decimal') {</span>
|
|
4110
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${</span>
|
|
4111
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
4112
|
+
}></u-number-input>`;
|
|
4113
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'String' && propertyTypeMaxLength > 256) {</span>
|
|
4114
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-textarea v-model="${vModel}" placeholder="请输入${label}" ${</span>
|
|
4115
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
4116
|
+
}></u-textarea>`;
|
|
4117
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Date') {</span>
|
|
4118
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${</span>
|
|
4119
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
4120
|
+
}></u-date-picker>`;
|
|
4121
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Time') {</span>
|
|
4122
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-time-picker :value.sync="${vModel}" placeholder="请输入${label}" ${</span>
|
|
4123
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
4124
|
+
}></u-time-picker>`;
|
|
4125
|
+
<span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'DateTime') {</span>
|
|
4126
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${</span>
|
|
4127
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
4128
|
+
}></u-date-time-picker>`;
|
|
4129
|
+
} else {
|
|
4130
|
+
const namespaceArr = <span class="cstat-no" title="statement not covered" >propertyTypeNamespace.split('.');</span>
|
|
4131
|
+
const type = <span class="cstat-no" title="statement not covered" >namespaceArr.pop();</span>
|
|
4132
|
+
<span class="cstat-no" title="statement not covered" > if (type === 'enums') {</span>
|
|
4133
|
+
const Enum = <span class="cstat-no" title="statement not covered" >dataSource.app.findNodeByCompleteName(`${propertyTypeNamespace}.${propertyTypeName}`) as Enum;</span>
|
|
4134
|
+
<span class="cstat-no" title="statement not covered" > formItem += genEnumSelectBlock(Enum, `${vModel}`, '', `请选择${label}`, true);</span>
|
|
4135
|
+
} else {
|
|
4136
|
+
<span class="cstat-no" title="statement not covered" > formItem += `<u-input v-model="${vModel}" placeholder="请输入${label}" ${</span>
|
|
4137
|
+
property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
|
|
4138
|
+
}></u-input>`;
|
|
4139
|
+
}
|
|
4140
|
+
}
|
|
4141
|
+
|
|
4142
|
+
<span class="cstat-no" title="statement not covered" > formItem += `</u-form-item>\n`;</span>
|
|
4143
|
+
|
|
4144
|
+
<span class="cstat-no" title="statement not covered" > return formItem;</span>
|
|
4145
|
+
})
|
|
4146
|
+
.join('')}
|
|
4147
|
+
</u-form>`;
|
|
4148
|
+
<span class="cstat-no" title="statement not covered" > if (SaveModalFormTemplate) {</span>
|
|
4149
|
+
<span class="cstat-no" title="statement not covered" > SaveModalFormTemplate = SaveModalFormTemplate.replace(</span>
|
|
4150
|
+
'<u-form',
|
|
4151
|
+
`<u-form ref="${nameGroup.viewElementSaveModalForm}" :preview="${nameGroup.viewVariablePreview}" `
|
|
4152
|
+
);
|
|
4153
|
+
}
|
|
4154
|
+
|
|
4155
|
+
<span class="cstat-no" title="statement not covered" > return `</span>
|
|
4156
|
+
<u-modal ref="${nameGroup.viewElementSaveModal}" @close="${nameGroup.viewLogicCloseModal}" size="huge" :show-foot="!${
|
|
4157
|
+
nameGroup.viewVariablePreview
|
|
4158
|
+
}">
|
|
4159
|
+
<template #title>
|
|
4160
|
+
<div v-if="${nameGroup.viewVariablePreview}">
|
|
4161
|
+
<u-text>详情</u-text>
|
|
4162
|
+
</div>
|
|
4163
|
+
<div v-if="!${nameGroup.viewVariablePreview}">
|
|
4164
|
+
<div v-if="${nameGroup.viewVariableIsUpdate}"><u-text>修改</u-text></div>
|
|
4165
|
+
<div v-if="!${nameGroup.viewVariableIsUpdate}"><u-text>新增</u-text></div>
|
|
4166
|
+
</template>
|
|
4167
|
+
<template #body>
|
|
4168
|
+
${SaveModalFormTemplate || formStr}
|
|
4169
|
+
</template>
|
|
4170
|
+
<template #foot>
|
|
4171
|
+
<u-linear-layout>
|
|
4172
|
+
<u-button color="primary" @click="${nameGroup.viewLogicUpdateSubmit}()" v-if="${nameGroup.viewVariableIsUpdate}">提交修改</u-button>
|
|
4173
|
+
<u-button color="primary" @click="${nameGroup.viewLogicSubmit}()" v-if="!${nameGroup.viewVariableIsUpdate}">立即新增</u-button>
|
|
4174
|
+
</u-linear-layout>
|
|
4175
|
+
</template>
|
|
4176
|
+
</u-modal>`;
|
|
4177
|
+
}
|
|
4178
|
+
|
|
4179
|
+
export const genDelModalTemplate = (<span class="fstat-no" title="function not covered" >nameGroup: NameGroup) => {</span>
|
|
4180
|
+
<span class="cstat-no" title="statement not covered" > return `</span>
|
|
4181
|
+
<u-modal
|
|
4182
|
+
ref="${nameGroup.viewElementDelModal}"
|
|
4183
|
+
style="
|
|
4184
|
+
border-top-left-radius: 4px;
|
|
4185
|
+
border-top-right-radius: 4px;
|
|
4186
|
+
border-bottom-right-radius: 4px;
|
|
4187
|
+
border-bottom-left-radius: 4px;
|
|
4188
|
+
--update-key: d9hj;
|
|
4189
|
+
"
|
|
4190
|
+
icon="warning"
|
|
4191
|
+
>
|
|
4192
|
+
<template #foot>
|
|
4193
|
+
<u-linear-layout style="text-align: right" :vusion-disabled-cut="true" justify="center">
|
|
4194
|
+
<u-button text="取 消" @click="${nameGroup.viewLogicCloseDelModal}"></u-button>
|
|
4195
|
+
<u-button color="primary" text="确 定" @click="${nameGroup.viewLogicDelModalSubmit}"></u-button>
|
|
4196
|
+
</u-linear-layout>
|
|
4197
|
+
</template>
|
|
4198
|
+
<template #body>
|
|
4199
|
+
<u-text style="font-weight: bold; font-size: 18px" text="请确认是否删除?"></u-text>
|
|
4200
|
+
<u-linear-layout style="--custom-start: auto" direction="horizontal">
|
|
4201
|
+
<u-text
|
|
4202
|
+
style="--custom-start: auto"
|
|
4203
|
+
color="secondary"
|
|
4204
|
+
text="删除后将无法恢复,请谨慎操作"
|
|
4205
|
+
></u-text>
|
|
4206
|
+
</u-linear-layout>
|
|
4207
|
+
</template>
|
|
4208
|
+
<template #title> <u-text></u-text> </template
|
|
4209
|
+
></u-modal>
|
|
4210
|
+
`;
|
|
4211
|
+
};
|
|
4212
|
+
|
|
4213
|
+
// composedBy 节点组合属性
|
|
4214
|
+
export function <span class="fstat-no" title="function not covered" >genCurdMultipleKeyBlockForTableDesigner(</span>
|
|
4215
|
+
entity: Entity,
|
|
4216
|
+
oldNode: ViewElement,
|
|
4217
|
+
SaveModalFormTemplate?: string,
|
|
4218
|
+
optionsMap?: any,
|
|
4219
|
+
composedBy?: string
|
|
4220
|
+
) {
|
|
2077
4221
|
const { view } = <span class="cstat-no" title="statement not covered" >oldNode;</span>
|
|
2078
4222
|
const dataSource = <span class="cstat-no" title="statement not covered" >entity.parentNode as DataSource;</span>
|
|
2079
4223
|
const module = <span class="cstat-no" title="statement not covered" >dataSource.app;</span>
|
|
4224
|
+
const composedByOptionStr = <span class="cstat-no" title="statement not covered" >composedBy && composedBy.length > 0 ? `"composedBy":${JSON.stringify(composedBy)},` : '';</span>
|
|
4225
|
+
const patchLogic = <span class="cstat-no" title="statement not covered" >(<span class="fstat-no" title="function not covered" >l</span>ogic: any) => {</span>
|
|
4226
|
+
<span class="cstat-no" title="statement not covered" > if (composedBy && composedBy.length > 0) {</span>
|
|
4227
|
+
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
4228
|
+
...logic,
|
|
4229
|
+
composedBy,
|
|
4230
|
+
};
|
|
4231
|
+
} else <span class="cstat-no" title="statement not covered" >return logic;</span>
|
|
4232
|
+
};
|
|
2080
4233
|
|
|
2081
|
-
const viewElementMainView = <span class="cstat-no" title="statement not covered" >view.getViewElementUniqueName('
|
|
4234
|
+
const viewElementMainView = <span class="cstat-no" title="statement not covered" >view.getViewElementUniqueName('tableView');</span>
|
|
2082
4235
|
const <span class="cstat-no" title="statement not covered" >nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView);</span>
|
|
2083
4236
|
<span class="cstat-no" title="statement not covered" > nameGroup.viewElementMainView = viewElementMainView;</span>
|
|
2084
4237
|
<span class="cstat-no" title="statement not covered" > nameGroup.viewElementSaveModal = view.getViewElementUniqueName('saveModal');</span>
|
|
4238
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewElementDelModal = view.getViewElementUniqueName('delModal');</span>
|
|
2085
4239
|
<span class="cstat-no" title="statement not covered" > nameGroup.viewElementSaveModalForm = view.getViewElementUniqueName('saveModalForm');</span>
|
|
2086
4240
|
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');</span>
|
|
2087
4241
|
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicInit = view.getLogicUniqueName('init');</span>
|
|
@@ -2094,6 +4248,14 @@ export function <span class="fstat-no" title="function not covered" >genGridView
|
|
|
2094
4248
|
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableInput = view.getVariableUniqueName('input');</span>
|
|
2095
4249
|
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableFilter = view.getVariableUniqueName('filter');</span>
|
|
2096
4250
|
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariableIsUpdate = view.getVariableUniqueName('isUpdate');</span>
|
|
4251
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicReset = view.getLogicUniqueName('reset');</span>
|
|
4252
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicExportData = view.getLogicUniqueName('exportData');</span>
|
|
4253
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewVariablePreview = view.getVariableUniqueName('preview');</span>
|
|
4254
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicPreview = view.getLogicUniqueName('preview');</span>
|
|
4255
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicCloseModal = view.getLogicUniqueName('closeModal');</span>
|
|
4256
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicOpenDelModal = view.getLogicUniqueName('openDelModal');</span>
|
|
4257
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicCloseDelModal = view.getLogicUniqueName('closeDelModal');</span>
|
|
4258
|
+
<span class="cstat-no" title="statement not covered" > nameGroup.viewLogicDelModalSubmit = view.getLogicUniqueName('delModalSubmit');</span>
|
|
2097
4259
|
|
|
2098
4260
|
// 收集所有和本实体关联的实体
|
|
2099
4261
|
const entitySet: Set<Entity> = <span class="cstat-no" title="statement not covered" >new Set();</span>
|
|
@@ -2124,13 +4286,14 @@ export function <span class="fstat-no" title="function not covered" >genGridView
|
|
|
2124
4286
|
});
|
|
2125
4287
|
const allEntities = <span class="cstat-no" title="statement not covered" >[...entitySet];</span>
|
|
2126
4288
|
const <span class="cstat-no" title="statement not covered" >entityLogic = genQueryLogic(allEntities, nameGroup, true, true, module);</span>
|
|
2127
|
-
<span class="cstat-no" title="statement not covered" > newLogics.push(entityLogic);</span>
|
|
4289
|
+
<span class="cstat-no" title="statement not covered" > newLogics.push(patchLogic(entityLogic));</span>
|
|
2128
4290
|
|
|
2129
|
-
<span class="cstat-no" title="statement not covered"
|
|
2130
|
-
<u-linear-layout direction="vertical">
|
|
2131
|
-
${
|
|
2132
|
-
${
|
|
2133
|
-
${
|
|
4291
|
+
const code = <span class="cstat-no" title="statement not covered" >`<template></span>
|
|
4292
|
+
<u-linear-layout direction="vertical" :bindEntity="" :TableDesignerLocked="true" style="background: #F7F8FA;">
|
|
4293
|
+
${genFilterTemplateTableDesigner(entity, nameGroup, selectNameGroupMap, optionsMap)}
|
|
4294
|
+
${genTableTemplateTableDesigner(entity, nameGroup, entityLogic, true, 'genCurdMultipleKeyBlock', optionsMap)}
|
|
4295
|
+
${genSaveModalTemplateDesigner(entity, nameGroup, selectNameGroupMap, SaveModalFormTemplate)}
|
|
4296
|
+
${genDelModalTemplate(nameGroup)}
|
|
2134
4297
|
</u-linear-layout>
|
|
2135
4298
|
</template>
|
|
2136
4299
|
|
|
@@ -2139,80 +4302,89 @@ export function <span class="fstat-no" title="function not covered" >genGridView
|
|
|
2139
4302
|
"viewVariables": [
|
|
2140
4303
|
{
|
|
2141
4304
|
"concept": "Variable",
|
|
4305
|
+
${composedByOptionStr}
|
|
2142
4306
|
"name": "${nameGroup.viewVariableEntity}",
|
|
2143
4307
|
"typeAnnotation": ${JSON.stringify(
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
4308
|
+
NaslTypeAnnotation.Reference({
|
|
4309
|
+
typeNamespace: entity.getNamespace(),
|
|
4310
|
+
typeName: entity.name,
|
|
4311
|
+
})
|
|
4312
|
+
)}
|
|
2149
4313
|
},
|
|
2150
4314
|
{
|
|
2151
4315
|
"concept": "Variable",
|
|
4316
|
+
${composedByOptionStr}
|
|
2152
4317
|
"name": "${nameGroup.viewVariableInput}",
|
|
2153
4318
|
"typeAnnotation": ${JSON.stringify(
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
4319
|
+
NaslTypeAnnotation.Reference({
|
|
4320
|
+
typeNamespace: entity.getNamespace(),
|
|
4321
|
+
typeName: entity.name,
|
|
4322
|
+
})
|
|
4323
|
+
)}
|
|
2159
4324
|
},
|
|
2160
4325
|
{
|
|
2161
4326
|
"concept": "Variable",
|
|
4327
|
+
${composedByOptionStr}
|
|
2162
4328
|
"name": "${nameGroup.viewVariableFilter}",
|
|
2163
4329
|
"typeAnnotation": ${JSON.stringify(
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
4330
|
+
NaslTypeAnnotation.Reference({
|
|
4331
|
+
typeNamespace: entity.getNamespace(),
|
|
4332
|
+
typeName: entity.name,
|
|
4333
|
+
})
|
|
4334
|
+
)}
|
|
2169
4335
|
},
|
|
2170
4336
|
{
|
|
2171
4337
|
"concept": "Variable",
|
|
4338
|
+
${composedByOptionStr}
|
|
2172
4339
|
"name": "${nameGroup.viewVariableIsUpdate}",
|
|
2173
4340
|
"typeAnnotation": ${JSON.stringify(NaslCoreTypeAnnotation.Boolean)}
|
|
4341
|
+
},
|
|
4342
|
+
{
|
|
4343
|
+
"concept": "Variable",
|
|
4344
|
+
${composedByOptionStr}
|
|
4345
|
+
"name": "${nameGroup.viewVariablePreview}",
|
|
4346
|
+
"typeAnnotation": ${JSON.stringify(NaslCoreTypeAnnotation.Boolean)}
|
|
2174
4347
|
}
|
|
2175
4348
|
],
|
|
2176
4349
|
"viewLogics": [
|
|
2177
|
-
${JSON.stringify(
|
|
2178
|
-
${JSON.stringify(
|
|
2179
|
-
${JSON.stringify(genInitLogic(nameGroup))},
|
|
2180
|
-
${JSON.stringify(genCreateLogic(nameGroup))},
|
|
2181
|
-
${JSON.stringify(genModifyLogic(entity, nameGroup))},
|
|
2182
|
-
${JSON.stringify(genSubmitLogic(entity, nameGroup))},
|
|
2183
|
-
${JSON.stringify(
|
|
2184
|
-
${JSON.stringify(
|
|
2185
|
-
${
|
|
4350
|
+
${JSON.stringify(patchLogic(genTableLoadLogic(entity, nameGroup, entityLogic, true)))},
|
|
4351
|
+
${JSON.stringify(patchLogic(genTableRemoveLogic(entity, nameGroup)))},
|
|
4352
|
+
${JSON.stringify(patchLogic(genInitLogic(nameGroup)))},
|
|
4353
|
+
${JSON.stringify(patchLogic(genCreateLogic(nameGroup)))},
|
|
4354
|
+
${JSON.stringify(patchLogic(genModifyLogic(entity, nameGroup)))},
|
|
4355
|
+
${JSON.stringify(patchLogic(genSubmitLogic(entity, nameGroup)))},
|
|
4356
|
+
${JSON.stringify(patchLogic(genDetailLogic(entity, nameGroup)))},
|
|
4357
|
+
${JSON.stringify(patchLogic(genCloseModalLogic(nameGroup)))},
|
|
4358
|
+
${JSON.stringify(patchLogic(genDelModalSubmitLogic(entity, nameGroup)))},
|
|
4359
|
+
${JSON.stringify(patchLogic(genOpenDelModalLogic(entity, nameGroup)))},
|
|
4360
|
+
${JSON.stringify(patchLogic(genCloseDelModalLogic(nameGroup)))},
|
|
4361
|
+
${JSON.stringify(patchLogic(genUpdateSubmitLogic(entity, nameGroup)))},
|
|
4362
|
+
${JSON.stringify(patchLogic(genReloadLogic(nameGroup)))},
|
|
4363
|
+
${JSON.stringify(patchLogic(genResetLogic(nameGroup)))},
|
|
4364
|
+
${JSON.stringify(patchLogic(genExportExcelLogic(nameGroup)))}
|
|
4365
|
+
${newLoadSelectLogics.map((<span class="fstat-no" title="function not covered" >logic) => <span class="cstat-no" title="statement not covered" >`</span>,${JSON.stringify(patchLogic(logic))}`)</span>.join('\n')}
|
|
2186
4366
|
],
|
|
2187
4367
|
"viewBindEvents": [
|
|
2188
4368
|
{
|
|
2189
4369
|
"concept": "BindEvent",
|
|
4370
|
+
${composedByOptionStr}
|
|
2190
4371
|
"arguments": [],
|
|
2191
4372
|
"name": "created",
|
|
2192
4373
|
"calleeNamespace": "",
|
|
2193
4374
|
"calleeName": "${nameGroup.viewLogicInit}"
|
|
2194
4375
|
}
|
|
2195
4376
|
],
|
|
4377
|
+
|
|
2196
4378
|
"logics": ${JSON.stringify(newLogics)}
|
|
2197
4379
|
}
|
|
2198
4380
|
</definition>
|
|
2199
4381
|
`;
|
|
2200
|
-
}
|
|
2201
4382
|
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
variables: [
|
|
2208
|
-
NaslNode.Variable({
|
|
2209
|
-
name: 'validateResult',
|
|
2210
|
-
typeAnnotation: NaslUITypeAnnotation.ValidateEvent,
|
|
2211
|
-
}),
|
|
2212
|
-
],
|
|
2213
|
-
body: [NaslLogicItem.Start, genCallComponentLogic(nameGroup.viewElementMainView, 'reload'), NaslLogicItem.End],
|
|
2214
|
-
playground: [],
|
|
2215
|
-
});
|
|
4383
|
+
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
4384
|
+
code,
|
|
4385
|
+
nameGroup,
|
|
4386
|
+
saveFormTemp: `${genSaveModalTemplateDesigner(entity, nameGroup, selectNameGroupMap, SaveModalFormTemplate)}`,
|
|
4387
|
+
};
|
|
2216
4388
|
}
|
|
2217
4389
|
</pre></td></tr></table></pre>
|
|
2218
4390
|
|
|
@@ -2221,7 +4393,7 @@ export function <span class="fstat-no" title="function not covered" >genReloadLo
|
|
|
2221
4393
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
2222
4394
|
Code coverage generated by
|
|
2223
4395
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
2224
|
-
at 2023-12-
|
|
4396
|
+
at 2023-12-20T14:01:00.156Z
|
|
2225
4397
|
</div>
|
|
2226
4398
|
<script src="../../prettify.js"></script>
|
|
2227
4399
|
<script>
|