@lcap/nasl 3.6.0-alpha.4 → 3.6.0-alpha.6

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.
Files changed (424) hide show
  1. package/.nyc_output/50a74696-517e-4e22-8a16-9eeecc5ae7c2.json +1 -0
  2. package/.nyc_output/processinfo/50a74696-517e-4e22-8a16-9eeecc5ae7c2.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -1
  4. package/coverage/cobertura-coverage.xml +6417 -0
  5. package/coverage/index.html +127 -127
  6. package/coverage/src/automate/engine/index.html +1 -1
  7. package/coverage/src/automate/engine/utils.js.html +28 -28
  8. package/coverage/src/bak/index.html +19 -19
  9. package/coverage/src/bak/translator.js.html +59 -293
  10. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +1 -1
  11. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +1 -1
  12. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +8 -44
  13. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +10 -61
  14. package/coverage/src/breakpoint/generator/index.html +26 -26
  15. package/coverage/src/breakpoint/generator/index.ts.html +1 -1
  16. package/coverage/src/breakpoint/index.html +1 -1
  17. package/coverage/src/breakpoint/index.ts.html +1 -1
  18. package/coverage/src/breakpoint/shared/constants.ts.html +2 -8
  19. package/coverage/src/breakpoint/shared/index.html +12 -12
  20. package/coverage/src/breakpoint/shared/index.ts.html +1 -1
  21. package/coverage/src/breakpoint/shared/operations.ts.html +4 -4
  22. package/coverage/src/breakpoint/shared/socket.ts.html +1 -1
  23. package/coverage/src/breakpoint/shared/utils.ts.html +80 -29
  24. package/coverage/src/breakpoint/store/core.ts.html +12 -12
  25. package/coverage/src/breakpoint/store/dock.ts.html +1 -1
  26. package/coverage/src/breakpoint/store/index.html +1 -1
  27. package/coverage/src/breakpoint/store/index.ts.html +1 -1
  28. package/coverage/src/common/BaseNode.ts.html +235 -259
  29. package/coverage/src/common/Command.ts.html +6 -9
  30. package/coverage/src/common/EventEmitter.ts.html +34 -19
  31. package/coverage/src/common/Messager.ts.html +1 -1
  32. package/coverage/src/common/asyncFuncMap.ts.html +1 -1
  33. package/coverage/src/common/index.html +28 -28
  34. package/coverage/src/common/index.ts.html +1 -1
  35. package/coverage/src/common/utils.ts.html +1 -1
  36. package/coverage/src/concepts/Abort__.ts.html +2 -2
  37. package/coverage/src/concepts/AbstractInterface__.ts.html +6 -6
  38. package/coverage/src/concepts/Anchor__.ts.html +3 -3
  39. package/coverage/src/concepts/AnonymousFunction__.ts.html +69 -123
  40. package/coverage/src/concepts/App__.ts.html +194 -623
  41. package/coverage/src/concepts/Argument__.ts.html +30 -30
  42. package/coverage/src/concepts/Assignee__.ts.html +3 -3
  43. package/coverage/src/concepts/AssignmentLine__.ts.html +8 -8
  44. package/coverage/src/concepts/Assignment__.ts.html +9 -9
  45. package/coverage/src/concepts/Attribute__.ts.html +2 -2
  46. package/coverage/src/concepts/AuthInterface__.ts.html +2 -2
  47. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +3 -3
  48. package/coverage/src/concepts/AuthLogic__.ts.html +2 -2
  49. package/coverage/src/concepts/BackendVariable__.ts.html +11 -35
  50. package/coverage/src/concepts/Backend__.ts.html +7 -7
  51. package/coverage/src/concepts/BatchAssignment__.ts.html +3 -3
  52. package/coverage/src/concepts/BinaryExpression__.ts.html +26 -38
  53. package/coverage/src/concepts/BindAttribute__.ts.html +15 -60
  54. package/coverage/src/concepts/BindDirective__.ts.html +20 -65
  55. package/coverage/src/concepts/BindEvent__.ts.html +31 -115
  56. package/coverage/src/concepts/BindStyle__.ts.html +3 -3
  57. package/coverage/src/concepts/Block__.ts.html +3 -3
  58. package/coverage/src/concepts/BooleanLiteral__.ts.html +8 -8
  59. package/coverage/src/concepts/CallAuthInterface__.ts.html +3 -3
  60. package/coverage/src/concepts/CallConnector__.ts.html +2 -2
  61. package/coverage/src/concepts/CallFunction__.ts.html +88 -97
  62. package/coverage/src/concepts/CallInterface__.ts.html +60 -75
  63. package/coverage/src/concepts/CallLogic__.ts.html +111 -87
  64. package/coverage/src/concepts/CallQueryComponent__.ts.html +303 -57
  65. package/coverage/src/concepts/Comment__.ts.html +2 -2
  66. package/coverage/src/concepts/CompletionProperty__.ts.html +2 -2
  67. package/coverage/src/concepts/ConfigGroup__.ts.html +8 -8
  68. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +2 -2
  69. package/coverage/src/concepts/ConfigProperty__.ts.html +3 -3
  70. package/coverage/src/concepts/Configuration__.ts.html +9 -9
  71. package/coverage/src/concepts/Connection__.ts.html +3 -3
  72. package/coverage/src/concepts/ConnectorTrigger__.ts.html +2 -2
  73. package/coverage/src/concepts/Connector__.ts.html +3 -3
  74. package/coverage/src/concepts/Constant__.ts.html +18 -12
  75. package/coverage/src/concepts/CountersignPolicy__.ts.html +2 -2
  76. package/coverage/src/concepts/DataSource__.ts.html +3 -3
  77. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +2 -2
  78. package/coverage/src/concepts/DefaultValue__.ts.html +3 -3
  79. package/coverage/src/concepts/Destination__.ts.html +12 -18
  80. package/coverage/src/concepts/End__.ts.html +10 -13
  81. package/coverage/src/concepts/EntityIndex__.ts.html +2 -2
  82. package/coverage/src/concepts/EntityProperty__.ts.html +3 -3
  83. package/coverage/src/concepts/Entity__.ts.html +4 -10
  84. package/coverage/src/concepts/EnumItem__.ts.html +2 -2
  85. package/coverage/src/concepts/Enum__.ts.html +3 -3
  86. package/coverage/src/concepts/Event__.ts.html +12 -222
  87. package/coverage/src/concepts/ExternalDestination__.ts.html +3 -3
  88. package/coverage/src/concepts/ForEachStatement__.ts.html +3 -3
  89. package/coverage/src/concepts/FrontendLibrary__.ts.html +3 -3
  90. package/coverage/src/concepts/FrontendVariable__.ts.html +2 -2
  91. package/coverage/src/concepts/Frontend__.ts.html +770 -26
  92. package/coverage/src/concepts/Function__.ts.html +10 -10
  93. package/coverage/src/concepts/I18nInfo__.ts.html +2 -2
  94. package/coverage/src/concepts/Identifier__.ts.html +54 -102
  95. package/coverage/src/concepts/IfStatement__.ts.html +3 -3
  96. package/coverage/src/concepts/ImportedInterface__.ts.html +6 -6
  97. package/coverage/src/concepts/Integration__.ts.html +3 -3
  98. package/coverage/src/concepts/InterfaceParam__.ts.html +7 -7
  99. package/coverage/src/concepts/Interface__.ts.html +31 -73
  100. package/coverage/src/concepts/JSBlock__.ts.html +2 -2
  101. package/coverage/src/concepts/JavaLogic__.ts.html +2 -2
  102. package/coverage/src/concepts/LogicItem__.ts.html +11 -17
  103. package/coverage/src/concepts/Logic__.ts.html +150 -267
  104. package/coverage/src/concepts/MatchCase__.ts.html +3 -3
  105. package/coverage/src/concepts/Match__.ts.html +3 -3
  106. package/coverage/src/concepts/MemberExpression__.ts.html +22 -22
  107. package/coverage/src/concepts/MetadataType__.ts.html +3 -3
  108. package/coverage/src/concepts/MicroApp__.ts.html +2 -2
  109. package/coverage/src/concepts/Module__.ts.html +20 -20
  110. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +3 -3
  111. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +3 -3
  112. package/coverage/src/concepts/MultiApprovalPolicy__.ts.html +2 -2
  113. package/coverage/src/concepts/Namespace__.ts.html +20 -20
  114. package/coverage/src/concepts/NewComposite__.ts.html +232 -226
  115. package/coverage/src/concepts/NewList__.ts.html +103 -115
  116. package/coverage/src/concepts/NewMap__.ts.html +158 -167
  117. package/coverage/src/concepts/New__.ts.html +2 -2
  118. package/coverage/src/concepts/NullLiteral__.ts.html +2 -2
  119. package/coverage/src/concepts/NumericLiteral__.ts.html +14 -14
  120. package/coverage/src/concepts/OqlQueryComponent__.ts.html +2 -2
  121. package/coverage/src/concepts/OverriddenLogic__.ts.html +3 -3
  122. package/coverage/src/concepts/Param__.ts.html +32 -56
  123. package/coverage/src/concepts/Point__.ts.html +2 -2
  124. package/coverage/src/concepts/ProcessComponent__.ts.html +3 -3
  125. package/coverage/src/concepts/ProcessElement__.ts.html +8 -29
  126. package/coverage/src/concepts/ProcessOutcome__.ts.html +2 -2
  127. package/coverage/src/concepts/ProcessOutcomes__.ts.html +2 -2
  128. package/coverage/src/concepts/Process__.ts.html +3 -3
  129. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +2 -2
  130. package/coverage/src/concepts/QueryFieldExpression__.ts.html +2 -2
  131. package/coverage/src/concepts/QueryFromExpression__.ts.html +3 -3
  132. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +2 -2
  133. package/coverage/src/concepts/QueryJoinExpression__.ts.html +3 -3
  134. package/coverage/src/concepts/QueryLimitExpression__.ts.html +6 -6
  135. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +2 -2
  136. package/coverage/src/concepts/QuerySelectExpression__.ts.html +3 -3
  137. package/coverage/src/concepts/Rect__.ts.html +2 -2
  138. package/coverage/src/concepts/Return__.ts.html +36 -45
  139. package/coverage/src/concepts/Role__.ts.html +2 -2
  140. package/coverage/src/concepts/SelectMembers__.ts.html +9 -9
  141. package/coverage/src/concepts/SequentialPolicy__.ts.html +2 -2
  142. package/coverage/src/concepts/Slot__.ts.html +2 -2
  143. package/coverage/src/concepts/SqlQueryComponent__.ts.html +2 -2
  144. package/coverage/src/concepts/Start__.ts.html +7 -7
  145. package/coverage/src/concepts/StaticString__.ts.html +2 -2
  146. package/coverage/src/concepts/StringInterpolation__.ts.html +3 -3
  147. package/coverage/src/concepts/StringLiteral__.ts.html +18 -18
  148. package/coverage/src/concepts/StructureProperty__.ts.html +9 -9
  149. package/coverage/src/concepts/Structure__.ts.html +9 -9
  150. package/coverage/src/concepts/SwitchCase__.ts.html +3 -3
  151. package/coverage/src/concepts/SwitchStatement__.ts.html +3 -3
  152. package/coverage/src/concepts/Theme__.ts.html +9 -9
  153. package/coverage/src/concepts/Transactional__.ts.html +2 -2
  154. package/coverage/src/concepts/TriggerEvent__.ts.html +2 -2
  155. package/coverage/src/concepts/TriggerLauncher__.ts.html +2 -2
  156. package/coverage/src/concepts/TypeAnnotation__.ts.html +37 -37
  157. package/coverage/src/concepts/TypeParam__.ts.html +2 -2
  158. package/coverage/src/concepts/UnaryExpression__.ts.html +2 -2
  159. package/coverage/src/concepts/Unparsed__.ts.html +2 -2
  160. package/coverage/src/concepts/UseComponent__.ts.html +2 -2
  161. package/coverage/src/concepts/ValidationRule__.ts.html +6 -21
  162. package/coverage/src/concepts/Variable__.ts.html +29 -53
  163. package/coverage/src/concepts/ViewBlock__.ts.html +2 -2
  164. package/coverage/src/concepts/ViewComponent__.ts.html +3 -3
  165. package/coverage/src/concepts/ViewElement__.ts.html +61 -535
  166. package/coverage/src/concepts/View__.ts.html +60 -69
  167. package/coverage/src/concepts/WhileStatement__.ts.html +3 -3
  168. package/coverage/src/concepts/basics/constants.ts.html +1 -1
  169. package/coverage/src/concepts/basics/index.html +1 -1
  170. package/coverage/src/concepts/basics/stdlib/index.html +1 -1
  171. package/coverage/src/concepts/basics/stdlib/index.ts.html +1 -1
  172. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +1 -1
  173. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +1 -1
  174. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +1 -1
  175. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +1 -1
  176. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +1 -1
  177. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +1 -1
  178. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +1 -1
  179. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +1 -1
  180. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +1 -1
  181. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +1 -1
  182. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1 -1
  183. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +1 -1
  184. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +32 -32
  185. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1 -1
  186. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +2 -2
  187. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +1 -1
  188. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +1 -1
  189. package/coverage/src/concepts/basics/types/index.html +1 -1
  190. package/coverage/src/concepts/basics/types/index.ts.html +1 -1
  191. package/coverage/src/concepts/index.html +239 -329
  192. package/coverage/src/concepts/index.ts.html +2 -2
  193. package/coverage/src/concepts/index__.ts.html +4 -22
  194. package/coverage/src/concepts/utils/asserts.ts.html +26 -1334
  195. package/coverage/src/concepts/utils/index.html +18 -33
  196. package/coverage/src/concepts/utils/types.ts.html +2 -101
  197. package/coverage/src/config.ts.html +2 -2
  198. package/coverage/src/decorators/index.html +18 -18
  199. package/coverage/src/decorators/index.ts.html +57 -42
  200. package/coverage/src/decorators/promise.ts.html +1 -1
  201. package/coverage/src/eventBus.ts.html +1 -1
  202. package/coverage/src/generator/compileComponent.ts.html +1 -1
  203. package/coverage/src/generator/genBundleFiles.ts.html +45 -180
  204. package/coverage/src/generator/genHash.ts.html +2 -2
  205. package/coverage/src/generator/genMetaData.ts.html +11 -14
  206. package/coverage/src/generator/genReleaseBody.ts.html +13 -46
  207. package/coverage/src/generator/icestark.ts.html +1 -1
  208. package/coverage/src/generator/index.html +36 -36
  209. package/coverage/src/generator/index.ts.html +1 -1
  210. package/coverage/src/generator/microApp.ts.html +1 -1
  211. package/coverage/src/generator/permission.ts.html +10 -16
  212. package/coverage/src/generator/qiankun.ts.html +1 -1
  213. package/coverage/src/generator/styleReplacer.ts.html +1 -1
  214. package/coverage/src/index.html +1 -1
  215. package/coverage/src/index.ts.html +2 -2
  216. package/coverage/src/manager/diagnostic.ts.html +1 -1
  217. package/coverage/src/manager/index.html +1 -1
  218. package/coverage/src/manager/stepRecorder.ts.html +1 -1
  219. package/coverage/src/natural/genNaturalTS.ts.html +1 -1
  220. package/coverage/src/natural/index.html +1 -1
  221. package/coverage/src/natural/index.ts.html +1 -1
  222. package/coverage/src/natural/naslStdlibMap.ts.html +1 -1
  223. package/coverage/src/natural/transformTSCode.ts.html +3 -3
  224. package/coverage/src/sentry/index.html +1 -1
  225. package/coverage/src/sentry/index.ts.html +25 -25
  226. package/coverage/src/server/createUiTs.ts.html +1 -1
  227. package/coverage/src/server/entity2LogicNamespace.ts.html +1 -1
  228. package/coverage/src/server/event.js.html +1 -1
  229. package/coverage/src/server/extendBaseNode.ts.html +30 -99
  230. package/coverage/src/server/formatTsUtils.ts.html +18 -27
  231. package/coverage/src/server/getConnector.ts.html +1 -1
  232. package/coverage/src/server/getExtensionModules.ts.html +1 -1
  233. package/coverage/src/server/getFunctions.ts.html +1 -1
  234. package/coverage/src/server/getInterfaces.ts.html +1 -1
  235. package/coverage/src/server/getLogging.ts.html +1 -1
  236. package/coverage/src/server/getLogics.ts.html +66 -180
  237. package/coverage/src/server/getMemberIdentifier.ts.html +9 -27
  238. package/coverage/src/server/getProcessComponents.ts.html +1 -1
  239. package/coverage/src/server/getProcesses.ts.html +6 -6
  240. package/coverage/src/server/getValidates.ts.html +1 -1
  241. package/coverage/src/server/index.html +58 -58
  242. package/coverage/src/server/index.ts.html +1 -1
  243. package/coverage/src/server/naslServer.ts.html +127 -163
  244. package/coverage/src/server/naslStdlibMap.ts.html +1 -1
  245. package/coverage/src/server/process2LogicNamespace.ts.html +1 -1
  246. package/coverage/src/server/translator.ts.html +16 -67
  247. package/coverage/src/service/creator/add.configs.js.html +1 -1
  248. package/coverage/src/service/creator/errHandles.js.html +1 -1
  249. package/coverage/src/service/creator/index.html +1 -1
  250. package/coverage/src/service/creator/index.js.html +2 -2
  251. package/coverage/src/service/datasource/api.js.html +1 -1
  252. package/coverage/src/service/datasource/index.html +1 -1
  253. package/coverage/src/service/datasource/index.js.html +1 -1
  254. package/coverage/src/service/logic/api.js.html +1 -1
  255. package/coverage/src/service/logic/index.html +1 -1
  256. package/coverage/src/service/logic/index.js.html +1 -1
  257. package/coverage/src/service/storage/api.js.html +1 -1
  258. package/coverage/src/service/storage/index.html +17 -17
  259. package/coverage/src/service/storage/index.ts.html +2 -2
  260. package/coverage/src/service/storage/init.ts.html +13 -100
  261. package/coverage/src/service/storage/jsoner.ts.html +1 -1
  262. package/coverage/src/service/storage/map.ts.html +4 -4
  263. package/coverage/src/service/storage/service.ts.html +1 -1
  264. package/coverage/src/service/storage/storagePoint.ts.html +1 -1
  265. package/coverage/src/templator/genCallComponentLogic.ts.html +1 -1
  266. package/coverage/src/templator/genCreateBlock.ts.html +8 -8
  267. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +18 -18
  268. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +126 -2298
  269. package/coverage/src/templator/genEditTableBlock.ts.html +2 -2
  270. package/coverage/src/templator/genEnumSelectBlock.ts.html +1 -1
  271. package/coverage/src/templator/genGetBlock.ts.html +13 -16
  272. package/coverage/src/templator/genGridViewBlock.ts.html +14 -14
  273. package/coverage/src/templator/genListViewBlock.ts.html +6 -6
  274. package/coverage/src/templator/genQueryComponent.ts.html +55 -40
  275. package/coverage/src/templator/genSelectBlock.ts.html +5 -5
  276. package/coverage/src/templator/genTableBlock.ts.html +22 -397
  277. package/coverage/src/templator/genUpdateBlock.ts.html +17 -20
  278. package/coverage/src/templator/index.html +55 -55
  279. package/coverage/src/templator/index.ts.html +2 -2
  280. package/coverage/src/templator/utils.ts.html +62 -35
  281. package/coverage/src/translator/constant.ts.html +1 -1
  282. package/coverage/src/translator/index.html +19 -19
  283. package/coverage/src/translator/index.ts.html +2 -2
  284. package/coverage/src/translator/types.ts.html +1 -1
  285. package/coverage/src/translator/utils.ts.html +56 -89
  286. package/coverage/src/utils/cookie.ts.html +1 -1
  287. package/coverage/src/utils/env.ts.html +2 -2
  288. package/coverage/src/utils/i18nInfo.ts.html +4 -19
  289. package/coverage/src/utils/index.html +19 -19
  290. package/coverage/src/utils/index.ts.html +17 -647
  291. package/coverage/src/utils/logger.ts.html +1 -1
  292. package/coverage/src/utils/sortTsString.ts.html +1 -1
  293. package/coverage/src/utils/string.ts.html +1 -1
  294. package/coverage/src/utils/time-slicing/constant.ts.html +1 -1
  295. package/coverage/src/utils/time-slicing/controller.ts.html +1 -1
  296. package/coverage/src/utils/time-slicing/index.html +1 -1
  297. package/coverage/src/utils/time-slicing/index.ts.html +2 -2
  298. package/coverage/src/utils/time-slicing/page-state.ts.html +1 -1
  299. package/coverage/src/utils/time-slicing/performance.ts.html +1 -1
  300. package/coverage/src/utils/time-slicing/runner.ts.html +6 -6
  301. package/coverage/src/utils/time-slicing/tool.ts.html +1 -1
  302. package/coverage/src/utils/time-slicing/utils.ts.html +3 -3
  303. package/coverage/src/utils/time-slicing/wrapper.ts.html +9 -9
  304. package/coverage/src/{concepts/ParamWithGroup__.ts.html → utils/time-slicing.ts.html} +142 -112
  305. package/coverage/src/utils/traverse.ts.html +1 -1
  306. package/coverage/src/utils/types.ts.html +1 -1
  307. package/coverage/src/utils/window.ts.html +1 -1
  308. package/out/automate/engine/utils.d.ts +1 -1
  309. package/out/automate/engine/utils.js +1 -5
  310. package/out/automate/engine/utils.js.map +1 -1
  311. package/out/common/BaseNode.js +23 -2
  312. package/out/common/BaseNode.js.map +1 -1
  313. package/out/common/EventEmitter.d.ts +1 -0
  314. package/out/common/EventEmitter.js.map +1 -1
  315. package/out/concepts/App__.d.ts +8 -0
  316. package/out/concepts/App__.js +60 -4
  317. package/out/concepts/App__.js.map +1 -1
  318. package/out/concepts/BinaryExpression__.js +24 -1
  319. package/out/concepts/BinaryExpression__.js.map +1 -1
  320. package/out/concepts/CallLogic__.js +1 -1
  321. package/out/concepts/CallLogic__.js.map +1 -1
  322. package/out/concepts/FrontendType__.js +1 -0
  323. package/out/concepts/FrontendType__.js.map +1 -1
  324. package/out/concepts/Interface__.js +2 -0
  325. package/out/concepts/Interface__.js.map +1 -1
  326. package/out/concepts/Logic__.js +3 -0
  327. package/out/concepts/Logic__.js.map +1 -1
  328. package/out/concepts/Paginate__.d.ts +3 -0
  329. package/out/concepts/Paginate__.js +23 -2
  330. package/out/concepts/Paginate__.js.map +1 -1
  331. package/out/concepts/Structure__.js +2 -0
  332. package/out/concepts/Structure__.js.map +1 -1
  333. package/out/concepts/ViewElement__.js +4 -2
  334. package/out/concepts/ViewElement__.js.map +1 -1
  335. package/out/concepts/View__.d.ts +4 -0
  336. package/out/concepts/View__.js +12 -0
  337. package/out/concepts/View__.js.map +1 -1
  338. package/out/concepts/basics/stdlib/nasl.auth.js +68 -33
  339. package/out/concepts/basics/stdlib/nasl.auth.js.map +1 -1
  340. package/out/enums/KEYWORDS.js +2 -0
  341. package/out/enums/KEYWORDS.js.map +1 -1
  342. package/out/generator/genBundleFiles.d.ts +2 -0
  343. package/out/generator/genBundleFiles.js +18 -4
  344. package/out/generator/genBundleFiles.js.map +1 -1
  345. package/out/generator/permission.d.ts +5 -1
  346. package/out/generator/permission.js +2 -1
  347. package/out/generator/permission.js.map +1 -1
  348. package/out/natural/genNaturalTS.js +2 -5
  349. package/out/natural/genNaturalTS.js.map +1 -1
  350. package/out/natural/index.d.ts +2 -0
  351. package/out/natural/index.js +2 -0
  352. package/out/natural/index.js.map +1 -1
  353. package/out/natural/naslStdlibMap.d.ts +1 -2
  354. package/out/natural/naslStdlibMap.js +32 -23
  355. package/out/natural/naslStdlibMap.js.map +1 -1
  356. package/out/natural/prompt/analyzeClaims.d.ts +1 -0
  357. package/out/natural/prompt/analyzeClaims.js +21 -0
  358. package/out/natural/prompt/analyzeClaims.js.map +1 -0
  359. package/out/natural/prompt/executeClaims.d.ts +1 -0
  360. package/out/natural/prompt/executeClaims.js +73 -0
  361. package/out/natural/prompt/executeClaims.js.map +1 -0
  362. package/out/natural/transformTSCode.js +13 -2
  363. package/out/natural/transformTSCode.js.map +1 -1
  364. package/out/server/extendBaseNode.js +35 -8
  365. package/out/server/extendBaseNode.js.map +1 -1
  366. package/out/server/getLogics.js +3 -3
  367. package/out/server/getLogics.js.map +1 -1
  368. package/out/server/getMemberIdentifier.js +16 -16
  369. package/out/server/getMemberIdentifier.js.map +1 -1
  370. package/out/server/naslServer.d.ts +1 -0
  371. package/out/server/naslServer.js +7 -2
  372. package/out/server/naslServer.js.map +1 -1
  373. package/out/server/translator.js +8 -0
  374. package/out/server/translator.js.map +1 -1
  375. package/out/service/storage/init.d.ts +1 -0
  376. package/out/service/storage/init.js +6 -2
  377. package/out/service/storage/init.js.map +1 -1
  378. package/out/translator/types.d.ts +1 -0
  379. package/package.json +1 -1
  380. package/sandbox/stdlib/nasl.auth.ts +4 -0
  381. package/sandbox/stdlib/nasl.core.ts +12 -0
  382. package/sandbox-natural/stdlib/nasl.core.ts +3 -0
  383. package/sandbox-natural/stdlib/nasl.oql.ts +4 -3
  384. package/src/automate/engine/utils.js +1 -5
  385. package/src/common/BaseNode.ts +31 -3
  386. package/src/common/EventEmitter.ts +1 -0
  387. package/src/concepts/App__.ts +61 -4
  388. package/src/concepts/BinaryExpression__.ts +23 -1
  389. package/src/concepts/CallLogic__.ts +1 -1
  390. package/src/concepts/FrontendType__.ts +1 -0
  391. package/src/concepts/Interface__.ts +2 -0
  392. package/src/concepts/Logic__.ts +2 -0
  393. package/src/concepts/Paginate__.ts +24 -3
  394. package/src/concepts/Structure__.ts +2 -0
  395. package/src/concepts/ViewElement__.ts +4 -2
  396. package/src/concepts/View__.ts +13 -0
  397. package/src/concepts/basics/stdlib/nasl.auth.ts +97 -34
  398. package/src/enums/KEYWORDS.ts +2 -0
  399. package/src/generator/genBundleFiles.ts +19 -4
  400. package/src/generator/permission.ts +1 -1
  401. package/src/natural/genNaturalTS.ts +2 -2
  402. package/src/natural/index.ts +3 -0
  403. package/src/natural/naslStdlibMap.ts +25 -19
  404. package/src/natural/prompt/analyzeClaims.ts +16 -0
  405. package/src/natural/prompt/executeClaims.ts +69 -0
  406. package/src/natural/transformTSCode.ts +12 -2
  407. package/src/server/extendBaseNode.ts +45 -14
  408. package/src/server/getLogics.ts +3 -3
  409. package/src/server/getMemberIdentifier.ts +18 -18
  410. package/src/server/naslServer.ts +7 -2
  411. package/src/server/translator.ts +7 -0
  412. package/src/service/storage/init.ts +7 -2
  413. package/src/translator/types.ts +3 -0
  414. package/test/concepts/view-element/__snapshots__/toEmbeddedTS.spec.ts.snap +199 -0
  415. package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +121 -0
  416. package/test/concepts/view-element/fixtures/table-data-source-calllogic-with-server-validation.json +2074 -0
  417. package/.nyc_output/477a0953-2b01-4d2a-affe-d4aaf3b0191c.json +0 -1
  418. package/.nyc_output/processinfo/477a0953-2b01-4d2a-affe-d4aaf3b0191c.json +0 -1
  419. package/coverage/src/concepts/BusinessComponent__.ts.html +0 -8164
  420. package/coverage/src/concepts/BusinessLogic__.ts.html +0 -1213
  421. package/coverage/src/concepts/CallEvent__.ts.html +0 -1138
  422. package/coverage/src/concepts/FrontendType__.ts.html +0 -2842
  423. package/coverage/src/concepts/Paginate__.ts.html +0 -1033
  424. package/coverage/src/concepts/utils/quick-info.ts.html +0 -277
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">5.98% </span>
26
+ <span class="strong">6.33% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>25/418</span>
28
+ <span class='fraction'>14/221</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">2.05% </span>
33
+ <span class="strong">4.2% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>5/243</span>
35
+ <span class='fraction'>5/119</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">2.08% </span>
40
+ <span class="strong">4.16% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>1/48</span>
42
+ <span class='fraction'>1/24</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">6.15% </span>
47
+ <span class="strong">6.51% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>25/406</span>
49
+ <span class='fraction'>14/215</span>
50
50
  </div>
51
51
 
52
52
 
@@ -780,731 +780,7 @@
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>
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>
783
+ <a name='L718'></a><a href='#L718'>718</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">132x</span>
1508
784
  <span class="cline-any cline-neutral">&nbsp;</span>
1509
785
  <span class="cline-any cline-neutral">&nbsp;</span>
1510
786
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1512,14 +788,6 @@
1512
788
  <span class="cline-any cline-neutral">&nbsp;</span>
1513
789
  <span class="cline-any cline-yes">1x</span>
1514
790
  <span class="cline-any cline-neutral">&nbsp;</span>
1515
- <span class="cline-any cline-neutral">&nbsp;</span>
1516
- <span class="cline-any cline-neutral">&nbsp;</span>
1517
- <span class="cline-any cline-neutral">&nbsp;</span>
1518
- <span class="cline-any cline-neutral">&nbsp;</span>
1519
- <span class="cline-any cline-neutral">&nbsp;</span>
1520
- <span class="cline-any cline-neutral">&nbsp;</span>
1521
- <span class="cline-any cline-neutral">&nbsp;</span>
1522
- <span class="cline-any cline-neutral">&nbsp;</span>
1523
791
  <span class="cline-any cline-yes">1x</span>
1524
792
  <span class="cline-any cline-neutral">&nbsp;</span>
1525
793
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1537,7 +805,6 @@
1537
805
  <span class="cline-any cline-neutral">&nbsp;</span>
1538
806
  <span class="cline-any cline-neutral">&nbsp;</span>
1539
807
  <span class="cline-any cline-neutral">&nbsp;</span>
1540
- <span class="cline-any cline-neutral">&nbsp;</span>
1541
808
  <span class="cline-any cline-yes">1x</span>
1542
809
  <span class="cline-any cline-neutral">&nbsp;</span>
1543
810
  <span class="cline-any cline-yes">1x</span>
@@ -1629,7 +896,6 @@
1629
896
  <span class="cline-any cline-neutral">&nbsp;</span>
1630
897
  <span class="cline-any cline-neutral">&nbsp;</span>
1631
898
  <span class="cline-any cline-neutral">&nbsp;</span>
1632
- <span class="cline-any cline-neutral">&nbsp;</span>
1633
899
  <span class="cline-any cline-yes">1x</span>
1634
900
  <span class="cline-any cline-no">&nbsp;</span>
1635
901
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1656,7 +922,6 @@
1656
922
  <span class="cline-any cline-no">&nbsp;</span>
1657
923
  <span class="cline-any cline-neutral">&nbsp;</span>
1658
924
  <span class="cline-any cline-neutral">&nbsp;</span>
1659
- <span class="cline-any cline-neutral">&nbsp;</span>
1660
925
  <span class="cline-any cline-no">&nbsp;</span>
1661
926
  <span class="cline-any cline-no">&nbsp;</span>
1662
927
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1698,36 +963,28 @@
1698
963
  <span class="cline-any cline-neutral">&nbsp;</span>
1699
964
  <span class="cline-any cline-neutral">&nbsp;</span>
1700
965
  <span class="cline-any cline-neutral">&nbsp;</span>
1701
- <span class="cline-any cline-neutral">&nbsp;</span>
1702
966
  <span class="cline-any cline-no">&nbsp;</span>
1703
967
  <span class="cline-any cline-no">&nbsp;</span>
1704
968
  <span class="cline-any cline-neutral">&nbsp;</span>
1705
- <span class="cline-any cline-neutral">&nbsp;</span>
1706
969
  <span class="cline-any cline-no">&nbsp;</span>
1707
970
  <span class="cline-any cline-no">&nbsp;</span>
1708
971
  <span class="cline-any cline-neutral">&nbsp;</span>
1709
- <span class="cline-any cline-neutral">&nbsp;</span>
1710
972
  <span class="cline-any cline-no">&nbsp;</span>
1711
973
  <span class="cline-any cline-no">&nbsp;</span>
1712
974
  <span class="cline-any cline-neutral">&nbsp;</span>
1713
- <span class="cline-any cline-neutral">&nbsp;</span>
1714
975
  <span class="cline-any cline-no">&nbsp;</span>
1715
976
  <span class="cline-any cline-no">&nbsp;</span>
1716
977
  <span class="cline-any cline-neutral">&nbsp;</span>
1717
- <span class="cline-any cline-neutral">&nbsp;</span>
1718
978
  <span class="cline-any cline-no">&nbsp;</span>
1719
979
  <span class="cline-any cline-no">&nbsp;</span>
1720
980
  <span class="cline-any cline-neutral">&nbsp;</span>
1721
- <span class="cline-any cline-neutral">&nbsp;</span>
1722
981
  <span class="cline-any cline-no">&nbsp;</span>
1723
982
  <span class="cline-any cline-no">&nbsp;</span>
1724
983
  <span class="cline-any cline-neutral">&nbsp;</span>
1725
- <span class="cline-any cline-neutral">&nbsp;</span>
1726
984
  <span class="cline-any cline-no">&nbsp;</span>
1727
985
  <span class="cline-any cline-no">&nbsp;</span>
1728
986
  <span class="cline-any cline-neutral">&nbsp;</span>
1729
987
  <span class="cline-any cline-neutral">&nbsp;</span>
1730
- <span class="cline-any cline-neutral">&nbsp;</span>
1731
988
  <span class="cline-any cline-no">&nbsp;</span>
1732
989
  <span class="cline-any cline-no">&nbsp;</span>
1733
990
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1739,7 +996,6 @@
1739
996
  <span class="cline-any cline-neutral">&nbsp;</span>
1740
997
  <span class="cline-any cline-neutral">&nbsp;</span>
1741
998
  <span class="cline-any cline-neutral">&nbsp;</span>
1742
- <span class="cline-any cline-neutral">&nbsp;</span>
1743
999
  <span class="cline-any cline-no">&nbsp;</span>
1744
1000
  <span class="cline-any cline-neutral">&nbsp;</span>
1745
1001
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1756,31 +1012,6 @@
1756
1012
  <span class="cline-any cline-neutral">&nbsp;</span>
1757
1013
  <span class="cline-any cline-neutral">&nbsp;</span>
1758
1014
  <span class="cline-any cline-neutral">&nbsp;</span>
1759
- <span class="cline-any cline-yes">1x</span>
1760
- <span class="cline-any cline-no">&nbsp;</span>
1761
- <span class="cline-any cline-neutral">&nbsp;</span>
1762
- <span class="cline-any cline-neutral">&nbsp;</span>
1763
- <span class="cline-any cline-neutral">&nbsp;</span>
1764
- <span class="cline-any cline-neutral">&nbsp;</span>
1765
- <span class="cline-any cline-neutral">&nbsp;</span>
1766
- <span class="cline-any cline-neutral">&nbsp;</span>
1767
- <span class="cline-any cline-neutral">&nbsp;</span>
1768
- <span class="cline-any cline-neutral">&nbsp;</span>
1769
- <span class="cline-any cline-neutral">&nbsp;</span>
1770
- <span class="cline-any cline-neutral">&nbsp;</span>
1771
- <span class="cline-any cline-neutral">&nbsp;</span>
1772
- <span class="cline-any cline-neutral">&nbsp;</span>
1773
- <span class="cline-any cline-neutral">&nbsp;</span>
1774
- <span class="cline-any cline-neutral">&nbsp;</span>
1775
- <span class="cline-any cline-neutral">&nbsp;</span>
1776
- <span class="cline-any cline-neutral">&nbsp;</span>
1777
- <span class="cline-any cline-neutral">&nbsp;</span>
1778
- <span class="cline-any cline-neutral">&nbsp;</span>
1779
- <span class="cline-any cline-neutral">&nbsp;</span>
1780
- <span class="cline-any cline-neutral">&nbsp;</span>
1781
- <span class="cline-any cline-neutral">&nbsp;</span>
1782
- <span class="cline-any cline-neutral">&nbsp;</span>
1783
- <span class="cline-any cline-neutral">&nbsp;</span>
1784
1015
  <span class="cline-any cline-neutral">&nbsp;</span>
1785
1016
  <span class="cline-any cline-yes">1x</span>
1786
1017
  <span class="cline-any cline-no">&nbsp;</span>
@@ -1808,30 +1039,8 @@
1808
1039
  <span class="cline-any cline-neutral">&nbsp;</span>
1809
1040
  <span class="cline-any cline-neutral">&nbsp;</span>
1810
1041
  <span class="cline-any cline-neutral">&nbsp;</span>
1811
- <span class="cline-any cline-neutral">&nbsp;</span>
1812
- <span class="cline-any cline-neutral">&nbsp;</span>
1813
- <span class="cline-any cline-neutral">&nbsp;</span>
1814
- <span class="cline-any cline-neutral">&nbsp;</span>
1815
- <span class="cline-any cline-neutral">&nbsp;</span>
1816
- <span class="cline-any cline-neutral">&nbsp;</span>
1817
- <span class="cline-any cline-neutral">&nbsp;</span>
1818
- <span class="cline-any cline-neutral">&nbsp;</span>
1819
- <span class="cline-any cline-neutral">&nbsp;</span>
1820
- <span class="cline-any cline-neutral">&nbsp;</span>
1821
- <span class="cline-any cline-neutral">&nbsp;</span>
1822
- <span class="cline-any cline-neutral">&nbsp;</span>
1823
- <span class="cline-any cline-neutral">&nbsp;</span>
1824
- <span class="cline-any cline-neutral">&nbsp;</span>
1825
1042
  <span class="cline-any cline-yes">1x</span>
1826
1043
  <span class="cline-any cline-no">&nbsp;</span>
1827
- <span class="cline-any cline-no">&nbsp;</span>
1828
- <span class="cline-any cline-neutral">&nbsp;</span>
1829
- <span class="cline-any cline-no">&nbsp;</span>
1830
- <span class="cline-any cline-neutral">&nbsp;</span>
1831
- <span class="cline-any cline-neutral">&nbsp;</span>
1832
- <span class="cline-any cline-neutral">&nbsp;</span>
1833
- <span class="cline-any cline-neutral">&nbsp;</span>
1834
- <span class="cline-any cline-neutral">&nbsp;</span>
1835
1044
  <span class="cline-any cline-neutral">&nbsp;</span>
1836
1045
  <span class="cline-any cline-neutral">&nbsp;</span>
1837
1046
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1920,13 +1129,9 @@
1920
1129
  <span class="cline-any cline-neutral">&nbsp;</span>
1921
1130
  <span class="cline-any cline-yes">1x</span>
1922
1131
  <span class="cline-any cline-no">&nbsp;</span>
1923
- <span class="cline-any cline-neutral">&nbsp;</span>
1924
1132
  <span class="cline-any cline-no">&nbsp;</span>
1925
1133
  <span class="cline-any cline-neutral">&nbsp;</span>
1926
- <span class="cline-any cline-neutral">&nbsp;</span>
1927
- <span class="cline-any cline-neutral">&nbsp;</span>
1928
- <span class="cline-any cline-neutral">&nbsp;</span>
1929
- <span class="cline-any cline-neutral">&nbsp;</span>
1134
+ <span class="cline-any cline-no">&nbsp;</span>
1930
1135
  <span class="cline-any cline-neutral">&nbsp;</span>
1931
1136
  <span class="cline-any cline-neutral">&nbsp;</span>
1932
1137
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -2292,659 +1497,6 @@
2292
1497
  <span class="cline-any cline-neutral">&nbsp;</span>
2293
1498
  <span class="cline-any cline-neutral">&nbsp;</span>
2294
1499
  <span class="cline-any cline-neutral">&nbsp;</span>
2295
- <span class="cline-any cline-neutral">&nbsp;</span>
2296
- <span class="cline-any cline-yes">1x</span>
2297
- <span class="cline-any cline-no">&nbsp;</span>
2298
- <span class="cline-any cline-neutral">&nbsp;</span>
2299
- <span class="cline-any cline-neutral">&nbsp;</span>
2300
- <span class="cline-any cline-neutral">&nbsp;</span>
2301
- <span class="cline-any cline-neutral">&nbsp;</span>
2302
- <span class="cline-any cline-neutral">&nbsp;</span>
2303
- <span class="cline-any cline-neutral">&nbsp;</span>
2304
- <span class="cline-any cline-neutral">&nbsp;</span>
2305
- <span class="cline-any cline-neutral">&nbsp;</span>
2306
- <span class="cline-any cline-neutral">&nbsp;</span>
2307
- <span class="cline-any cline-neutral">&nbsp;</span>
2308
- <span class="cline-any cline-neutral">&nbsp;</span>
2309
- <span class="cline-any cline-neutral">&nbsp;</span>
2310
- <span class="cline-any cline-neutral">&nbsp;</span>
2311
- <span class="cline-any cline-neutral">&nbsp;</span>
2312
- <span class="cline-any cline-neutral">&nbsp;</span>
2313
- <span class="cline-any cline-neutral">&nbsp;</span>
2314
- <span class="cline-any cline-neutral">&nbsp;</span>
2315
- <span class="cline-any cline-neutral">&nbsp;</span>
2316
- <span class="cline-any cline-neutral">&nbsp;</span>
2317
- <span class="cline-any cline-neutral">&nbsp;</span>
2318
- <span class="cline-any cline-neutral">&nbsp;</span>
2319
- <span class="cline-any cline-neutral">&nbsp;</span>
2320
- <span class="cline-any cline-neutral">&nbsp;</span>
2321
- <span class="cline-any cline-neutral">&nbsp;</span>
2322
- <span class="cline-any cline-neutral">&nbsp;</span>
2323
- <span class="cline-any cline-neutral">&nbsp;</span>
2324
- <span class="cline-any cline-neutral">&nbsp;</span>
2325
- <span class="cline-any cline-neutral">&nbsp;</span>
2326
- <span class="cline-any cline-neutral">&nbsp;</span>
2327
- <span class="cline-any cline-yes">1x</span>
2328
- <span class="cline-any cline-no">&nbsp;</span>
2329
- <span class="cline-any cline-neutral">&nbsp;</span>
2330
- <span class="cline-any cline-neutral">&nbsp;</span>
2331
- <span class="cline-any cline-neutral">&nbsp;</span>
2332
- <span class="cline-any cline-neutral">&nbsp;</span>
2333
- <span class="cline-any cline-neutral">&nbsp;</span>
2334
- <span class="cline-any cline-neutral">&nbsp;</span>
2335
- <span class="cline-any cline-neutral">&nbsp;</span>
2336
- <span class="cline-any cline-neutral">&nbsp;</span>
2337
- <span class="cline-any cline-neutral">&nbsp;</span>
2338
- <span class="cline-any cline-neutral">&nbsp;</span>
2339
- <span class="cline-any cline-neutral">&nbsp;</span>
2340
- <span class="cline-any cline-neutral">&nbsp;</span>
2341
- <span class="cline-any cline-neutral">&nbsp;</span>
2342
- <span class="cline-any cline-neutral">&nbsp;</span>
2343
- <span class="cline-any cline-neutral">&nbsp;</span>
2344
- <span class="cline-any cline-neutral">&nbsp;</span>
2345
- <span class="cline-any cline-neutral">&nbsp;</span>
2346
- <span class="cline-any cline-neutral">&nbsp;</span>
2347
- <span class="cline-any cline-neutral">&nbsp;</span>
2348
- <span class="cline-any cline-neutral">&nbsp;</span>
2349
- <span class="cline-any cline-neutral">&nbsp;</span>
2350
- <span class="cline-any cline-neutral">&nbsp;</span>
2351
- <span class="cline-any cline-neutral">&nbsp;</span>
2352
- <span class="cline-any cline-neutral">&nbsp;</span>
2353
- <span class="cline-any cline-neutral">&nbsp;</span>
2354
- <span class="cline-any cline-neutral">&nbsp;</span>
2355
- <span class="cline-any cline-neutral">&nbsp;</span>
2356
- <span class="cline-any cline-neutral">&nbsp;</span>
2357
- <span class="cline-any cline-neutral">&nbsp;</span>
2358
- <span class="cline-any cline-neutral">&nbsp;</span>
2359
- <span class="cline-any cline-neutral">&nbsp;</span>
2360
- <span class="cline-any cline-neutral">&nbsp;</span>
2361
- <span class="cline-any cline-neutral">&nbsp;</span>
2362
- <span class="cline-any cline-neutral">&nbsp;</span>
2363
- <span class="cline-any cline-neutral">&nbsp;</span>
2364
- <span class="cline-any cline-neutral">&nbsp;</span>
2365
- <span class="cline-any cline-neutral">&nbsp;</span>
2366
- <span class="cline-any cline-neutral">&nbsp;</span>
2367
- <span class="cline-any cline-neutral">&nbsp;</span>
2368
- <span class="cline-any cline-neutral">&nbsp;</span>
2369
- <span class="cline-any cline-neutral">&nbsp;</span>
2370
- <span class="cline-any cline-neutral">&nbsp;</span>
2371
- <span class="cline-any cline-neutral">&nbsp;</span>
2372
- <span class="cline-any cline-neutral">&nbsp;</span>
2373
- <span class="cline-any cline-neutral">&nbsp;</span>
2374
- <span class="cline-any cline-neutral">&nbsp;</span>
2375
- <span class="cline-any cline-neutral">&nbsp;</span>
2376
- <span class="cline-any cline-neutral">&nbsp;</span>
2377
- <span class="cline-any cline-neutral">&nbsp;</span>
2378
- <span class="cline-any cline-neutral">&nbsp;</span>
2379
- <span class="cline-any cline-neutral">&nbsp;</span>
2380
- <span class="cline-any cline-neutral">&nbsp;</span>
2381
- <span class="cline-any cline-neutral">&nbsp;</span>
2382
- <span class="cline-any cline-neutral">&nbsp;</span>
2383
- <span class="cline-any cline-neutral">&nbsp;</span>
2384
- <span class="cline-any cline-neutral">&nbsp;</span>
2385
- <span class="cline-any cline-neutral">&nbsp;</span>
2386
- <span class="cline-any cline-neutral">&nbsp;</span>
2387
- <span class="cline-any cline-neutral">&nbsp;</span>
2388
- <span class="cline-any cline-neutral">&nbsp;</span>
2389
- <span class="cline-any cline-yes">1x</span>
2390
- <span class="cline-any cline-no">&nbsp;</span>
2391
- <span class="cline-any cline-neutral">&nbsp;</span>
2392
- <span class="cline-any cline-neutral">&nbsp;</span>
2393
- <span class="cline-any cline-neutral">&nbsp;</span>
2394
- <span class="cline-any cline-neutral">&nbsp;</span>
2395
- <span class="cline-any cline-neutral">&nbsp;</span>
2396
- <span class="cline-any cline-neutral">&nbsp;</span>
2397
- <span class="cline-any cline-neutral">&nbsp;</span>
2398
- <span class="cline-any cline-neutral">&nbsp;</span>
2399
- <span class="cline-any cline-neutral">&nbsp;</span>
2400
- <span class="cline-any cline-neutral">&nbsp;</span>
2401
- <span class="cline-any cline-neutral">&nbsp;</span>
2402
- <span class="cline-any cline-neutral">&nbsp;</span>
2403
- <span class="cline-any cline-neutral">&nbsp;</span>
2404
- <span class="cline-any cline-neutral">&nbsp;</span>
2405
- <span class="cline-any cline-neutral">&nbsp;</span>
2406
- <span class="cline-any cline-neutral">&nbsp;</span>
2407
- <span class="cline-any cline-neutral">&nbsp;</span>
2408
- <span class="cline-any cline-neutral">&nbsp;</span>
2409
- <span class="cline-any cline-neutral">&nbsp;</span>
2410
- <span class="cline-any cline-neutral">&nbsp;</span>
2411
- <span class="cline-any cline-neutral">&nbsp;</span>
2412
- <span class="cline-any cline-yes">1x</span>
2413
- <span class="cline-any cline-no">&nbsp;</span>
2414
- <span class="cline-any cline-no">&nbsp;</span>
2415
- <span class="cline-any cline-neutral">&nbsp;</span>
2416
- <span class="cline-any cline-neutral">&nbsp;</span>
2417
- <span class="cline-any cline-neutral">&nbsp;</span>
2418
- <span class="cline-any cline-neutral">&nbsp;</span>
2419
- <span class="cline-any cline-neutral">&nbsp;</span>
2420
- <span class="cline-any cline-neutral">&nbsp;</span>
2421
- <span class="cline-any cline-neutral">&nbsp;</span>
2422
- <span class="cline-any cline-neutral">&nbsp;</span>
2423
- <span class="cline-any cline-neutral">&nbsp;</span>
2424
- <span class="cline-any cline-neutral">&nbsp;</span>
2425
- <span class="cline-any cline-neutral">&nbsp;</span>
2426
- <span class="cline-any cline-neutral">&nbsp;</span>
2427
- <span class="cline-any cline-neutral">&nbsp;</span>
2428
- <span class="cline-any cline-neutral">&nbsp;</span>
2429
- <span class="cline-any cline-neutral">&nbsp;</span>
2430
- <span class="cline-any cline-neutral">&nbsp;</span>
2431
- <span class="cline-any cline-neutral">&nbsp;</span>
2432
- <span class="cline-any cline-neutral">&nbsp;</span>
2433
- <span class="cline-any cline-neutral">&nbsp;</span>
2434
- <span class="cline-any cline-neutral">&nbsp;</span>
2435
- <span class="cline-any cline-neutral">&nbsp;</span>
2436
- <span class="cline-any cline-neutral">&nbsp;</span>
2437
- <span class="cline-any cline-neutral">&nbsp;</span>
2438
- <span class="cline-any cline-neutral">&nbsp;</span>
2439
- <span class="cline-any cline-neutral">&nbsp;</span>
2440
- <span class="cline-any cline-neutral">&nbsp;</span>
2441
- <span class="cline-any cline-neutral">&nbsp;</span>
2442
- <span class="cline-any cline-neutral">&nbsp;</span>
2443
- <span class="cline-any cline-neutral">&nbsp;</span>
2444
- <span class="cline-any cline-neutral">&nbsp;</span>
2445
- <span class="cline-any cline-neutral">&nbsp;</span>
2446
- <span class="cline-any cline-neutral">&nbsp;</span>
2447
- <span class="cline-any cline-neutral">&nbsp;</span>
2448
- <span class="cline-any cline-neutral">&nbsp;</span>
2449
- <span class="cline-any cline-neutral">&nbsp;</span>
2450
- <span class="cline-any cline-neutral">&nbsp;</span>
2451
- <span class="cline-any cline-neutral">&nbsp;</span>
2452
- <span class="cline-any cline-neutral">&nbsp;</span>
2453
- <span class="cline-any cline-neutral">&nbsp;</span>
2454
- <span class="cline-any cline-yes">1x</span>
2455
- <span class="cline-any cline-no">&nbsp;</span>
2456
- <span class="cline-any cline-neutral">&nbsp;</span>
2457
- <span class="cline-any cline-neutral">&nbsp;</span>
2458
- <span class="cline-any cline-neutral">&nbsp;</span>
2459
- <span class="cline-any cline-neutral">&nbsp;</span>
2460
- <span class="cline-any cline-neutral">&nbsp;</span>
2461
- <span class="cline-any cline-yes">1x</span>
2462
- <span class="cline-any cline-no">&nbsp;</span>
2463
- <span class="cline-any cline-no">&nbsp;</span>
2464
- <span class="cline-any cline-no">&nbsp;</span>
2465
- <span class="cline-any cline-neutral">&nbsp;</span>
2466
- <span class="cline-any cline-neutral">&nbsp;</span>
2467
- <span class="cline-any cline-neutral">&nbsp;</span>
2468
- <span class="cline-any cline-neutral">&nbsp;</span>
2469
- <span class="cline-any cline-neutral">&nbsp;</span>
2470
- <span class="cline-any cline-neutral">&nbsp;</span>
2471
- <span class="cline-any cline-neutral">&nbsp;</span>
2472
- <span class="cline-any cline-neutral">&nbsp;</span>
2473
- <span class="cline-any cline-neutral">&nbsp;</span>
2474
- <span class="cline-any cline-neutral">&nbsp;</span>
2475
- <span class="cline-any cline-neutral">&nbsp;</span>
2476
- <span class="cline-any cline-neutral">&nbsp;</span>
2477
- <span class="cline-any cline-neutral">&nbsp;</span>
2478
- <span class="cline-any cline-neutral">&nbsp;</span>
2479
- <span class="cline-any cline-neutral">&nbsp;</span>
2480
- <span class="cline-any cline-neutral">&nbsp;</span>
2481
- <span class="cline-any cline-neutral">&nbsp;</span>
2482
- <span class="cline-any cline-neutral">&nbsp;</span>
2483
- <span class="cline-any cline-neutral">&nbsp;</span>
2484
- <span class="cline-any cline-neutral">&nbsp;</span>
2485
- <span class="cline-any cline-neutral">&nbsp;</span>
2486
- <span class="cline-any cline-neutral">&nbsp;</span>
2487
- <span class="cline-any cline-neutral">&nbsp;</span>
2488
- <span class="cline-any cline-neutral">&nbsp;</span>
2489
- <span class="cline-any cline-neutral">&nbsp;</span>
2490
- <span class="cline-any cline-neutral">&nbsp;</span>
2491
- <span class="cline-any cline-neutral">&nbsp;</span>
2492
- <span class="cline-any cline-neutral">&nbsp;</span>
2493
- <span class="cline-any cline-neutral">&nbsp;</span>
2494
- <span class="cline-any cline-neutral">&nbsp;</span>
2495
- <span class="cline-any cline-neutral">&nbsp;</span>
2496
- <span class="cline-any cline-neutral">&nbsp;</span>
2497
- <span class="cline-any cline-neutral">&nbsp;</span>
2498
- <span class="cline-any cline-neutral">&nbsp;</span>
2499
- <span class="cline-any cline-yes">1x</span>
2500
- <span class="cline-any cline-no">&nbsp;</span>
2501
- <span class="cline-any cline-no">&nbsp;</span>
2502
- <span class="cline-any cline-no">&nbsp;</span>
2503
- <span class="cline-any cline-no">&nbsp;</span>
2504
- <span class="cline-any cline-neutral">&nbsp;</span>
2505
- <span class="cline-any cline-neutral">&nbsp;</span>
2506
- <span class="cline-any cline-neutral">&nbsp;</span>
2507
- <span class="cline-any cline-neutral">&nbsp;</span>
2508
- <span class="cline-any cline-no">&nbsp;</span>
2509
- <span class="cline-any cline-no">&nbsp;</span>
2510
- <span class="cline-any cline-no">&nbsp;</span>
2511
- <span class="cline-any cline-neutral">&nbsp;</span>
2512
- <span class="cline-any cline-no">&nbsp;</span>
2513
- <span class="cline-any cline-no">&nbsp;</span>
2514
- <span class="cline-any cline-neutral">&nbsp;</span>
2515
- <span class="cline-any cline-no">&nbsp;</span>
2516
- <span class="cline-any cline-neutral">&nbsp;</span>
2517
- <span class="cline-any cline-no">&nbsp;</span>
2518
- <span class="cline-any cline-neutral">&nbsp;</span>
2519
- <span class="cline-any cline-neutral">&nbsp;</span>
2520
- <span class="cline-any cline-neutral">&nbsp;</span>
2521
- <span class="cline-any cline-no">&nbsp;</span>
2522
- <span class="cline-any cline-no">&nbsp;</span>
2523
- <span class="cline-any cline-no">&nbsp;</span>
2524
- <span class="cline-any cline-no">&nbsp;</span>
2525
- <span class="cline-any cline-neutral">&nbsp;</span>
2526
- <span class="cline-any cline-no">&nbsp;</span>
2527
- <span class="cline-any cline-neutral">&nbsp;</span>
2528
- <span class="cline-any cline-neutral">&nbsp;</span>
2529
- <span class="cline-any cline-no">&nbsp;</span>
2530
- <span class="cline-any cline-neutral">&nbsp;</span>
2531
- <span class="cline-any cline-no">&nbsp;</span>
2532
- <span class="cline-any cline-no">&nbsp;</span>
2533
- <span class="cline-any cline-no">&nbsp;</span>
2534
- <span class="cline-any cline-no">&nbsp;</span>
2535
- <span class="cline-any cline-no">&nbsp;</span>
2536
- <span class="cline-any cline-no">&nbsp;</span>
2537
- <span class="cline-any cline-neutral">&nbsp;</span>
2538
- <span class="cline-any cline-no">&nbsp;</span>
2539
- <span class="cline-any cline-no">&nbsp;</span>
2540
- <span class="cline-any cline-no">&nbsp;</span>
2541
- <span class="cline-any cline-no">&nbsp;</span>
2542
- <span class="cline-any cline-neutral">&nbsp;</span>
2543
- <span class="cline-any cline-neutral">&nbsp;</span>
2544
- <span class="cline-any cline-neutral">&nbsp;</span>
2545
- <span class="cline-any cline-neutral">&nbsp;</span>
2546
- <span class="cline-any cline-no">&nbsp;</span>
2547
- <span class="cline-any cline-no">&nbsp;</span>
2548
- <span class="cline-any cline-no">&nbsp;</span>
2549
- <span class="cline-any cline-no">&nbsp;</span>
2550
- <span class="cline-any cline-neutral">&nbsp;</span>
2551
- <span class="cline-any cline-neutral">&nbsp;</span>
2552
- <span class="cline-any cline-neutral">&nbsp;</span>
2553
- <span class="cline-any cline-neutral">&nbsp;</span>
2554
- <span class="cline-any cline-neutral">&nbsp;</span>
2555
- <span class="cline-any cline-no">&nbsp;</span>
2556
- <span class="cline-any cline-no">&nbsp;</span>
2557
- <span class="cline-any cline-no">&nbsp;</span>
2558
- <span class="cline-any cline-no">&nbsp;</span>
2559
- <span class="cline-any cline-no">&nbsp;</span>
2560
- <span class="cline-any cline-no">&nbsp;</span>
2561
- <span class="cline-any cline-no">&nbsp;</span>
2562
- <span class="cline-any cline-no">&nbsp;</span>
2563
- <span class="cline-any cline-no">&nbsp;</span>
2564
- <span class="cline-any cline-no">&nbsp;</span>
2565
- <span class="cline-any cline-no">&nbsp;</span>
2566
- <span class="cline-any cline-no">&nbsp;</span>
2567
- <span class="cline-any cline-no">&nbsp;</span>
2568
- <span class="cline-any cline-no">&nbsp;</span>
2569
- <span class="cline-any cline-neutral">&nbsp;</span>
2570
- <span class="cline-any cline-no">&nbsp;</span>
2571
- <span class="cline-any cline-no">&nbsp;</span>
2572
- <span class="cline-any cline-no">&nbsp;</span>
2573
- <span class="cline-any cline-no">&nbsp;</span>
2574
- <span class="cline-any cline-no">&nbsp;</span>
2575
- <span class="cline-any cline-neutral">&nbsp;</span>
2576
- <span class="cline-any cline-no">&nbsp;</span>
2577
- <span class="cline-any cline-neutral">&nbsp;</span>
2578
- <span class="cline-any cline-neutral">&nbsp;</span>
2579
- <span class="cline-any cline-neutral">&nbsp;</span>
2580
- <span class="cline-any cline-no">&nbsp;</span>
2581
- <span class="cline-any cline-no">&nbsp;</span>
2582
- <span class="cline-any cline-neutral">&nbsp;</span>
2583
- <span class="cline-any cline-neutral">&nbsp;</span>
2584
- <span class="cline-any cline-neutral">&nbsp;</span>
2585
- <span class="cline-any cline-neutral">&nbsp;</span>
2586
- <span class="cline-any cline-neutral">&nbsp;</span>
2587
- <span class="cline-any cline-neutral">&nbsp;</span>
2588
- <span class="cline-any cline-neutral">&nbsp;</span>
2589
- <span class="cline-any cline-neutral">&nbsp;</span>
2590
- <span class="cline-any cline-neutral">&nbsp;</span>
2591
- <span class="cline-any cline-neutral">&nbsp;</span>
2592
- <span class="cline-any cline-neutral">&nbsp;</span>
2593
- <span class="cline-any cline-neutral">&nbsp;</span>
2594
- <span class="cline-any cline-yes">1x</span>
2595
- <span class="cline-any cline-neutral">&nbsp;</span>
2596
- <span class="cline-any cline-neutral">&nbsp;</span>
2597
- <span class="cline-any cline-neutral">&nbsp;</span>
2598
- <span class="cline-any cline-neutral">&nbsp;</span>
2599
- <span class="cline-any cline-neutral">&nbsp;</span>
2600
- <span class="cline-any cline-no">&nbsp;</span>
2601
- <span class="cline-any cline-no">&nbsp;</span>
2602
- <span class="cline-any cline-neutral">&nbsp;</span>
2603
- <span class="cline-any cline-no">&nbsp;</span>
2604
- <span class="cline-any cline-neutral">&nbsp;</span>
2605
- <span class="cline-any cline-neutral">&nbsp;</span>
2606
- <span class="cline-any cline-no">&nbsp;</span>
2607
- <span class="cline-any cline-no">&nbsp;</span>
2608
- <span class="cline-any cline-no">&nbsp;</span>
2609
- <span class="cline-any cline-no">&nbsp;</span>
2610
- <span class="cline-any cline-no">&nbsp;</span>
2611
- <span class="cline-any cline-no">&nbsp;</span>
2612
- <span class="cline-any cline-neutral">&nbsp;</span>
2613
- <span class="cline-any cline-no">&nbsp;</span>
2614
- <span class="cline-any cline-no">&nbsp;</span>
2615
- <span class="cline-any cline-no">&nbsp;</span>
2616
- <span class="cline-any cline-neutral">&nbsp;</span>
2617
- <span class="cline-any cline-neutral">&nbsp;</span>
2618
- <span class="cline-any cline-neutral">&nbsp;</span>
2619
- <span class="cline-any cline-no">&nbsp;</span>
2620
- <span class="cline-any cline-no">&nbsp;</span>
2621
- <span class="cline-any cline-neutral">&nbsp;</span>
2622
- <span class="cline-any cline-no">&nbsp;</span>
2623
- <span class="cline-any cline-neutral">&nbsp;</span>
2624
- <span class="cline-any cline-no">&nbsp;</span>
2625
- <span class="cline-any cline-neutral">&nbsp;</span>
2626
- <span class="cline-any cline-neutral">&nbsp;</span>
2627
- <span class="cline-any cline-neutral">&nbsp;</span>
2628
- <span class="cline-any cline-no">&nbsp;</span>
2629
- <span class="cline-any cline-neutral">&nbsp;</span>
2630
- <span class="cline-any cline-no">&nbsp;</span>
2631
- <span class="cline-any cline-no">&nbsp;</span>
2632
- <span class="cline-any cline-no">&nbsp;</span>
2633
- <span class="cline-any cline-no">&nbsp;</span>
2634
- <span class="cline-any cline-no">&nbsp;</span>
2635
- <span class="cline-any cline-no">&nbsp;</span>
2636
- <span class="cline-any cline-neutral">&nbsp;</span>
2637
- <span class="cline-any cline-no">&nbsp;</span>
2638
- <span class="cline-any cline-no">&nbsp;</span>
2639
- <span class="cline-any cline-no">&nbsp;</span>
2640
- <span class="cline-any cline-no">&nbsp;</span>
2641
- <span class="cline-any cline-neutral">&nbsp;</span>
2642
- <span class="cline-any cline-neutral">&nbsp;</span>
2643
- <span class="cline-any cline-neutral">&nbsp;</span>
2644
- <span class="cline-any cline-neutral">&nbsp;</span>
2645
- <span class="cline-any cline-neutral">&nbsp;</span>
2646
- <span class="cline-any cline-neutral">&nbsp;</span>
2647
- <span class="cline-any cline-neutral">&nbsp;</span>
2648
- <span class="cline-any cline-neutral">&nbsp;</span>
2649
- <span class="cline-any cline-neutral">&nbsp;</span>
2650
- <span class="cline-any cline-no">&nbsp;</span>
2651
- <span class="cline-any cline-no">&nbsp;</span>
2652
- <span class="cline-any cline-no">&nbsp;</span>
2653
- <span class="cline-any cline-no">&nbsp;</span>
2654
- <span class="cline-any cline-neutral">&nbsp;</span>
2655
- <span class="cline-any cline-neutral">&nbsp;</span>
2656
- <span class="cline-any cline-neutral">&nbsp;</span>
2657
- <span class="cline-any cline-neutral">&nbsp;</span>
2658
- <span class="cline-any cline-neutral">&nbsp;</span>
2659
- <span class="cline-any cline-neutral">&nbsp;</span>
2660
- <span class="cline-any cline-no">&nbsp;</span>
2661
- <span class="cline-any cline-no">&nbsp;</span>
2662
- <span class="cline-any cline-neutral">&nbsp;</span>
2663
- <span class="cline-any cline-neutral">&nbsp;</span>
2664
- <span class="cline-any cline-no">&nbsp;</span>
2665
- <span class="cline-any cline-no">&nbsp;</span>
2666
- <span class="cline-any cline-neutral">&nbsp;</span>
2667
- <span class="cline-any cline-neutral">&nbsp;</span>
2668
- <span class="cline-any cline-no">&nbsp;</span>
2669
- <span class="cline-any cline-no">&nbsp;</span>
2670
- <span class="cline-any cline-neutral">&nbsp;</span>
2671
- <span class="cline-any cline-neutral">&nbsp;</span>
2672
- <span class="cline-any cline-no">&nbsp;</span>
2673
- <span class="cline-any cline-no">&nbsp;</span>
2674
- <span class="cline-any cline-neutral">&nbsp;</span>
2675
- <span class="cline-any cline-neutral">&nbsp;</span>
2676
- <span class="cline-any cline-no">&nbsp;</span>
2677
- <span class="cline-any cline-no">&nbsp;</span>
2678
- <span class="cline-any cline-neutral">&nbsp;</span>
2679
- <span class="cline-any cline-neutral">&nbsp;</span>
2680
- <span class="cline-any cline-no">&nbsp;</span>
2681
- <span class="cline-any cline-no">&nbsp;</span>
2682
- <span class="cline-any cline-neutral">&nbsp;</span>
2683
- <span class="cline-any cline-neutral">&nbsp;</span>
2684
- <span class="cline-any cline-no">&nbsp;</span>
2685
- <span class="cline-any cline-no">&nbsp;</span>
2686
- <span class="cline-any cline-neutral">&nbsp;</span>
2687
- <span class="cline-any cline-neutral">&nbsp;</span>
2688
- <span class="cline-any cline-neutral">&nbsp;</span>
2689
- <span class="cline-any cline-no">&nbsp;</span>
2690
- <span class="cline-any cline-no">&nbsp;</span>
2691
- <span class="cline-any cline-no">&nbsp;</span>
2692
- <span class="cline-any cline-no">&nbsp;</span>
2693
- <span class="cline-any cline-no">&nbsp;</span>
2694
- <span class="cline-any cline-neutral">&nbsp;</span>
2695
- <span class="cline-any cline-no">&nbsp;</span>
2696
- <span class="cline-any cline-neutral">&nbsp;</span>
2697
- <span class="cline-any cline-neutral">&nbsp;</span>
2698
- <span class="cline-any cline-neutral">&nbsp;</span>
2699
- <span class="cline-any cline-neutral">&nbsp;</span>
2700
- <span class="cline-any cline-neutral">&nbsp;</span>
2701
- <span class="cline-any cline-no">&nbsp;</span>
2702
- <span class="cline-any cline-neutral">&nbsp;</span>
2703
- <span class="cline-any cline-no">&nbsp;</span>
2704
- <span class="cline-any cline-neutral">&nbsp;</span>
2705
- <span class="cline-any cline-neutral">&nbsp;</span>
2706
- <span class="cline-any cline-neutral">&nbsp;</span>
2707
- <span class="cline-any cline-no">&nbsp;</span>
2708
- <span class="cline-any cline-no">&nbsp;</span>
2709
- <span class="cline-any cline-neutral">&nbsp;</span>
2710
- <span class="cline-any cline-neutral">&nbsp;</span>
2711
- <span class="cline-any cline-neutral">&nbsp;</span>
2712
- <span class="cline-any cline-neutral">&nbsp;</span>
2713
- <span class="cline-any cline-neutral">&nbsp;</span>
2714
- <span class="cline-any cline-no">&nbsp;</span>
2715
- <span class="cline-any cline-neutral">&nbsp;</span>
2716
- <span class="cline-any cline-neutral">&nbsp;</span>
2717
- <span class="cline-any cline-neutral">&nbsp;</span>
2718
- <span class="cline-any cline-neutral">&nbsp;</span>
2719
- <span class="cline-any cline-neutral">&nbsp;</span>
2720
- <span class="cline-any cline-neutral">&nbsp;</span>
2721
- <span class="cline-any cline-neutral">&nbsp;</span>
2722
- <span class="cline-any cline-neutral">&nbsp;</span>
2723
- <span class="cline-any cline-neutral">&nbsp;</span>
2724
- <span class="cline-any cline-neutral">&nbsp;</span>
2725
- <span class="cline-any cline-neutral">&nbsp;</span>
2726
- <span class="cline-any cline-neutral">&nbsp;</span>
2727
- <span class="cline-any cline-neutral">&nbsp;</span>
2728
- <span class="cline-any cline-neutral">&nbsp;</span>
2729
- <span class="cline-any cline-neutral">&nbsp;</span>
2730
- <span class="cline-any cline-neutral">&nbsp;</span>
2731
- <span class="cline-any cline-neutral">&nbsp;</span>
2732
- <span class="cline-any cline-neutral">&nbsp;</span>
2733
- <span class="cline-any cline-neutral">&nbsp;</span>
2734
- <span class="cline-any cline-neutral">&nbsp;</span>
2735
- <span class="cline-any cline-neutral">&nbsp;</span>
2736
- <span class="cline-any cline-neutral">&nbsp;</span>
2737
- <span class="cline-any cline-neutral">&nbsp;</span>
2738
- <span class="cline-any cline-yes">1x</span>
2739
- <span class="cline-any cline-no">&nbsp;</span>
2740
- <span class="cline-any cline-neutral">&nbsp;</span>
2741
- <span class="cline-any cline-neutral">&nbsp;</span>
2742
- <span class="cline-any cline-neutral">&nbsp;</span>
2743
- <span class="cline-any cline-neutral">&nbsp;</span>
2744
- <span class="cline-any cline-neutral">&nbsp;</span>
2745
- <span class="cline-any cline-neutral">&nbsp;</span>
2746
- <span class="cline-any cline-neutral">&nbsp;</span>
2747
- <span class="cline-any cline-neutral">&nbsp;</span>
2748
- <span class="cline-any cline-neutral">&nbsp;</span>
2749
- <span class="cline-any cline-neutral">&nbsp;</span>
2750
- <span class="cline-any cline-neutral">&nbsp;</span>
2751
- <span class="cline-any cline-neutral">&nbsp;</span>
2752
- <span class="cline-any cline-neutral">&nbsp;</span>
2753
- <span class="cline-any cline-neutral">&nbsp;</span>
2754
- <span class="cline-any cline-neutral">&nbsp;</span>
2755
- <span class="cline-any cline-neutral">&nbsp;</span>
2756
- <span class="cline-any cline-neutral">&nbsp;</span>
2757
- <span class="cline-any cline-neutral">&nbsp;</span>
2758
- <span class="cline-any cline-neutral">&nbsp;</span>
2759
- <span class="cline-any cline-neutral">&nbsp;</span>
2760
- <span class="cline-any cline-neutral">&nbsp;</span>
2761
- <span class="cline-any cline-neutral">&nbsp;</span>
2762
- <span class="cline-any cline-neutral">&nbsp;</span>
2763
- <span class="cline-any cline-neutral">&nbsp;</span>
2764
- <span class="cline-any cline-neutral">&nbsp;</span>
2765
- <span class="cline-any cline-neutral">&nbsp;</span>
2766
- <span class="cline-any cline-neutral">&nbsp;</span>
2767
- <span class="cline-any cline-neutral">&nbsp;</span>
2768
- <span class="cline-any cline-neutral">&nbsp;</span>
2769
- <span class="cline-any cline-neutral">&nbsp;</span>
2770
- <span class="cline-any cline-neutral">&nbsp;</span>
2771
- <span class="cline-any cline-neutral">&nbsp;</span>
2772
- <span class="cline-any cline-neutral">&nbsp;</span>
2773
- <span class="cline-any cline-yes">1x</span>
2774
- <span class="cline-any cline-neutral">&nbsp;</span>
2775
- <span class="cline-any cline-neutral">&nbsp;</span>
2776
- <span class="cline-any cline-neutral">&nbsp;</span>
2777
- <span class="cline-any cline-neutral">&nbsp;</span>
2778
- <span class="cline-any cline-neutral">&nbsp;</span>
2779
- <span class="cline-any cline-neutral">&nbsp;</span>
2780
- <span class="cline-any cline-no">&nbsp;</span>
2781
- <span class="cline-any cline-no">&nbsp;</span>
2782
- <span class="cline-any cline-no">&nbsp;</span>
2783
- <span class="cline-any cline-no">&nbsp;</span>
2784
- <span class="cline-any cline-no">&nbsp;</span>
2785
- <span class="cline-any cline-no">&nbsp;</span>
2786
- <span class="cline-any cline-no">&nbsp;</span>
2787
- <span class="cline-any cline-neutral">&nbsp;</span>
2788
- <span class="cline-any cline-neutral">&nbsp;</span>
2789
- <span class="cline-any cline-neutral">&nbsp;</span>
2790
- <span class="cline-any cline-no">&nbsp;</span>
2791
- <span class="cline-any cline-neutral">&nbsp;</span>
2792
- <span class="cline-any cline-neutral">&nbsp;</span>
2793
- <span class="cline-any cline-no">&nbsp;</span>
2794
- <span class="cline-any cline-no">&nbsp;</span>
2795
- <span class="cline-any cline-no">&nbsp;</span>
2796
- <span class="cline-any cline-no">&nbsp;</span>
2797
- <span class="cline-any cline-no">&nbsp;</span>
2798
- <span class="cline-any cline-no">&nbsp;</span>
2799
- <span class="cline-any cline-no">&nbsp;</span>
2800
- <span class="cline-any cline-no">&nbsp;</span>
2801
- <span class="cline-any cline-no">&nbsp;</span>
2802
- <span class="cline-any cline-no">&nbsp;</span>
2803
- <span class="cline-any cline-no">&nbsp;</span>
2804
- <span class="cline-any cline-no">&nbsp;</span>
2805
- <span class="cline-any cline-no">&nbsp;</span>
2806
- <span class="cline-any cline-no">&nbsp;</span>
2807
- <span class="cline-any cline-no">&nbsp;</span>
2808
- <span class="cline-any cline-no">&nbsp;</span>
2809
- <span class="cline-any cline-no">&nbsp;</span>
2810
- <span class="cline-any cline-no">&nbsp;</span>
2811
- <span class="cline-any cline-no">&nbsp;</span>
2812
- <span class="cline-any cline-no">&nbsp;</span>
2813
- <span class="cline-any cline-no">&nbsp;</span>
2814
- <span class="cline-any cline-no">&nbsp;</span>
2815
- <span class="cline-any cline-no">&nbsp;</span>
2816
- <span class="cline-any cline-no">&nbsp;</span>
2817
- <span class="cline-any cline-no">&nbsp;</span>
2818
- <span class="cline-any cline-neutral">&nbsp;</span>
2819
- <span class="cline-any cline-neutral">&nbsp;</span>
2820
- <span class="cline-any cline-no">&nbsp;</span>
2821
- <span class="cline-any cline-no">&nbsp;</span>
2822
- <span class="cline-any cline-no">&nbsp;</span>
2823
- <span class="cline-any cline-no">&nbsp;</span>
2824
- <span class="cline-any cline-no">&nbsp;</span>
2825
- <span class="cline-any cline-no">&nbsp;</span>
2826
- <span class="cline-any cline-neutral">&nbsp;</span>
2827
- <span class="cline-any cline-no">&nbsp;</span>
2828
- <span class="cline-any cline-no">&nbsp;</span>
2829
- <span class="cline-any cline-no">&nbsp;</span>
2830
- <span class="cline-any cline-no">&nbsp;</span>
2831
- <span class="cline-any cline-no">&nbsp;</span>
2832
- <span class="cline-any cline-no">&nbsp;</span>
2833
- <span class="cline-any cline-no">&nbsp;</span>
2834
- <span class="cline-any cline-no">&nbsp;</span>
2835
- <span class="cline-any cline-no">&nbsp;</span>
2836
- <span class="cline-any cline-neutral">&nbsp;</span>
2837
- <span class="cline-any cline-no">&nbsp;</span>
2838
- <span class="cline-any cline-no">&nbsp;</span>
2839
- <span class="cline-any cline-no">&nbsp;</span>
2840
- <span class="cline-any cline-no">&nbsp;</span>
2841
- <span class="cline-any cline-no">&nbsp;</span>
2842
- <span class="cline-any cline-neutral">&nbsp;</span>
2843
- <span class="cline-any cline-neutral">&nbsp;</span>
2844
- <span class="cline-any cline-neutral">&nbsp;</span>
2845
- <span class="cline-any cline-neutral">&nbsp;</span>
2846
- <span class="cline-any cline-no">&nbsp;</span>
2847
- <span class="cline-any cline-no">&nbsp;</span>
2848
- <span class="cline-any cline-no">&nbsp;</span>
2849
- <span class="cline-any cline-neutral">&nbsp;</span>
2850
- <span class="cline-any cline-no">&nbsp;</span>
2851
- <span class="cline-any cline-neutral">&nbsp;</span>
2852
- <span class="cline-any cline-neutral">&nbsp;</span>
2853
- <span class="cline-any cline-neutral">&nbsp;</span>
2854
- <span class="cline-any cline-neutral">&nbsp;</span>
2855
- <span class="cline-any cline-neutral">&nbsp;</span>
2856
- <span class="cline-any cline-neutral">&nbsp;</span>
2857
- <span class="cline-any cline-neutral">&nbsp;</span>
2858
- <span class="cline-any cline-neutral">&nbsp;</span>
2859
- <span class="cline-any cline-neutral">&nbsp;</span>
2860
- <span class="cline-any cline-neutral">&nbsp;</span>
2861
- <span class="cline-any cline-neutral">&nbsp;</span>
2862
- <span class="cline-any cline-neutral">&nbsp;</span>
2863
- <span class="cline-any cline-neutral">&nbsp;</span>
2864
- <span class="cline-any cline-neutral">&nbsp;</span>
2865
- <span class="cline-any cline-neutral">&nbsp;</span>
2866
- <span class="cline-any cline-neutral">&nbsp;</span>
2867
- <span class="cline-any cline-neutral">&nbsp;</span>
2868
- <span class="cline-any cline-neutral">&nbsp;</span>
2869
- <span class="cline-any cline-neutral">&nbsp;</span>
2870
- <span class="cline-any cline-neutral">&nbsp;</span>
2871
- <span class="cline-any cline-neutral">&nbsp;</span>
2872
- <span class="cline-any cline-neutral">&nbsp;</span>
2873
- <span class="cline-any cline-neutral">&nbsp;</span>
2874
- <span class="cline-any cline-neutral">&nbsp;</span>
2875
- <span class="cline-any cline-neutral">&nbsp;</span>
2876
- <span class="cline-any cline-neutral">&nbsp;</span>
2877
- <span class="cline-any cline-neutral">&nbsp;</span>
2878
- <span class="cline-any cline-neutral">&nbsp;</span>
2879
- <span class="cline-any cline-neutral">&nbsp;</span>
2880
- <span class="cline-any cline-neutral">&nbsp;</span>
2881
- <span class="cline-any cline-neutral">&nbsp;</span>
2882
- <span class="cline-any cline-neutral">&nbsp;</span>
2883
- <span class="cline-any cline-neutral">&nbsp;</span>
2884
- <span class="cline-any cline-neutral">&nbsp;</span>
2885
- <span class="cline-any cline-neutral">&nbsp;</span>
2886
- <span class="cline-any cline-neutral">&nbsp;</span>
2887
- <span class="cline-any cline-neutral">&nbsp;</span>
2888
- <span class="cline-any cline-neutral">&nbsp;</span>
2889
- <span class="cline-any cline-neutral">&nbsp;</span>
2890
- <span class="cline-any cline-neutral">&nbsp;</span>
2891
- <span class="cline-any cline-neutral">&nbsp;</span>
2892
- <span class="cline-any cline-neutral">&nbsp;</span>
2893
- <span class="cline-any cline-neutral">&nbsp;</span>
2894
- <span class="cline-any cline-neutral">&nbsp;</span>
2895
- <span class="cline-any cline-neutral">&nbsp;</span>
2896
- <span class="cline-any cline-neutral">&nbsp;</span>
2897
- <span class="cline-any cline-neutral">&nbsp;</span>
2898
- <span class="cline-any cline-neutral">&nbsp;</span>
2899
- <span class="cline-any cline-neutral">&nbsp;</span>
2900
- <span class="cline-any cline-neutral">&nbsp;</span>
2901
- <span class="cline-any cline-neutral">&nbsp;</span>
2902
- <span class="cline-any cline-neutral">&nbsp;</span>
2903
- <span class="cline-any cline-neutral">&nbsp;</span>
2904
- <span class="cline-any cline-neutral">&nbsp;</span>
2905
- <span class="cline-any cline-neutral">&nbsp;</span>
2906
- <span class="cline-any cline-neutral">&nbsp;</span>
2907
- <span class="cline-any cline-neutral">&nbsp;</span>
2908
- <span class="cline-any cline-neutral">&nbsp;</span>
2909
- <span class="cline-any cline-neutral">&nbsp;</span>
2910
- <span class="cline-any cline-neutral">&nbsp;</span>
2911
- <span class="cline-any cline-neutral">&nbsp;</span>
2912
- <span class="cline-any cline-neutral">&nbsp;</span>
2913
- <span class="cline-any cline-neutral">&nbsp;</span>
2914
- <span class="cline-any cline-neutral">&nbsp;</span>
2915
- <span class="cline-any cline-neutral">&nbsp;</span>
2916
- <span class="cline-any cline-neutral">&nbsp;</span>
2917
- <span class="cline-any cline-neutral">&nbsp;</span>
2918
- <span class="cline-any cline-neutral">&nbsp;</span>
2919
- <span class="cline-any cline-neutral">&nbsp;</span>
2920
- <span class="cline-any cline-neutral">&nbsp;</span>
2921
- <span class="cline-any cline-neutral">&nbsp;</span>
2922
- <span class="cline-any cline-neutral">&nbsp;</span>
2923
- <span class="cline-any cline-neutral">&nbsp;</span>
2924
- <span class="cline-any cline-no">&nbsp;</span>
2925
- <span class="cline-any cline-neutral">&nbsp;</span>
2926
- <span class="cline-any cline-neutral">&nbsp;</span>
2927
- <span class="cline-any cline-neutral">&nbsp;</span>
2928
- <span class="cline-any cline-neutral">&nbsp;</span>
2929
- <span class="cline-any cline-neutral">&nbsp;</span>
2930
- <span class="cline-any cline-neutral">&nbsp;</span>
2931
- <span class="cline-any cline-neutral">&nbsp;</span>
2932
- <span class="cline-any cline-neutral">&nbsp;</span>
2933
- <span class="cline-any cline-neutral">&nbsp;</span>
2934
- <span class="cline-any cline-neutral">&nbsp;</span>
2935
- <span class="cline-any cline-neutral">&nbsp;</span>
2936
- <span class="cline-any cline-neutral">&nbsp;</span>
2937
- <span class="cline-any cline-neutral">&nbsp;</span>
2938
- <span class="cline-any cline-neutral">&nbsp;</span>
2939
- <span class="cline-any cline-neutral">&nbsp;</span>
2940
- <span class="cline-any cline-neutral">&nbsp;</span>
2941
- <span class="cline-any cline-neutral">&nbsp;</span>
2942
- <span class="cline-any cline-no">&nbsp;</span>
2943
- <span class="cline-any cline-neutral">&nbsp;</span>
2944
- <span class="cline-any cline-neutral">&nbsp;</span>
2945
- <span class="cline-any cline-neutral">&nbsp;</span>
2946
- <span class="cline-any cline-neutral">&nbsp;</span>
2947
- <span class="cline-any cline-neutral">&nbsp;</span>
2948
1500
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
2949
1501
  * 1. 从genCurdBlock组件复制,算是工行的定制化需求多主键(联合主键的支持)
2950
1502
  * 2. 改动了原来判断id的逻辑
@@ -2952,16 +1504,8 @@
2952
1504
  * 4. 主键目前支持 Long String Double 类型接口所以只禁用了对应的三个类型
2953
1505
  */
2954
1506
  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';
1507
+ import { App, Module, Namespace, Entity, View, Enum, DataSource, ViewElement } from '../concepts';
1508
+ import { NaslCoreTypeAnnotation, NaslUITypeAnnotation, NaslTypeAnnotation, NaslLogicItem, NaslNode, getDecimalInfo, transEntityMetadataTypes } from './utils';
2965
1509
  import {
2966
1510
  filterProperty,
2967
1511
  NameGroup,
@@ -2978,7 +1522,6 @@ import {
2978
1522
  genGridViewLoadLogic,
2979
1523
  genGridViewRemoveLogic,
2980
1524
  genLogicParam,
2981
- genTableTemplateTableDesigner,
2982
1525
  } from '.';
2983
1526
  &nbsp;
2984
1527
  function <span class="fstat-no" title="function not covered" >genFilterTemplate(e</span>ntity: Entity, nameGroup: NameGroup, selectNameGroupMap: Map&lt;string, NameGroup&gt;) {
@@ -3014,7 +1557,7 @@ function <span class="fstat-no" title="function not covered" >genFilterTemplate(
3014
1557
  // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
3015
1558
  const key = <span class="cstat-no" title="statement not covered" >[property.name, relationEntity.name].join('-');</span>
3016
1559
  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) =&gt; ${selectNameGroup.logic}(elements.$ce.page, elements.$ce.size)`;</span>
1560
+ let dataSourceValue = <span class="cstat-no" title="statement not covered" >`(params) =&gt; ${selectNameGroup.logic}(elements.$ce.page, elements.$ce.size)`</span>
3018
1561
  <span class="cstat-no" title="statement not covered" > formItem += `</span>
3019
1562
  &lt;u-select clearable placeholder="请选择${label}" :data-source="${dataSourceValue}" :page-size="50"
3020
1563
  text-field="${lowerEntityName}.${displayedProperty.name}" value-field="${lowerEntityName}.${relationProperty.name}" :pagination="true" v-model="${vModel}"&gt;
@@ -3065,12 +1608,11 @@ function <span class="fstat-no" title="function not covered" >genFilterTemplate(
3065
1608
  &lt;/u-form&gt;
3066
1609
  &lt;/u-linear-layout&gt;
3067
1610
  &nbsp;
3068
- &lt;u-linear-layout mode="flex" alignment="start" justify="end"&gt;&lt;u-button color="primary" @click="${
3069
- nameGroup.viewLogicCreate
3070
- }"&gt;创 建&lt;/u-button&gt;&lt;/u-linear-layout&gt;
1611
+ &lt;u-linear-layout mode="flex" alignment="start" justify="end"&gt;&lt;u-button color="primary" @click="${nameGroup.viewLogicCreate}"&gt;创 建&lt;/u-button&gt;&lt;/u-linear-layout&gt;
3071
1612
  `;
3072
1613
  }
3073
1614
  &nbsp;
1615
+ &nbsp;
3074
1616
  function <span class="fstat-no" title="function not covered" >genSaveModalTemplate(e</span>ntity: Entity, nameGroup: NameGroup, selectNameGroupMap: Map&lt;string, NameGroup&gt;) {
3075
1617
  const dataSource = <span class="cstat-no" title="statement not covered" >entity.parentNode as DataSource;</span>
3076
1618
  const properties = <span class="cstat-no" title="statement not covered" >entity.properties.filter(filterProperty('inForm'));</span>
@@ -3094,9 +1636,8 @@ function <span class="fstat-no" title="function not covered" >genSaveModalTempla
3094
1636
  }
3095
1637
  <span class="cstat-no" title="statement not covered" > if (required) <span class="cstat-no" title="statement not covered" >rules.push('required');</span></span>
3096
1638
  const rulesStr = <span class="cstat-no" title="statement not covered" >rules.join(' | ');</span>
3097
- let formItem = <span class="cstat-no" title="statement not covered" >`&lt;u-form-item ${required ? 'required' : ''} ${</span>
3098
- rulesStr.length ? `rules="${rulesStr}"` : ''
3099
- } layout="center"&gt;&lt;template #label&gt;&lt;u-text text="${label}"&gt;&lt;/u-text&gt;&lt;/template&gt;`;
1639
+ let formItem = <span class="cstat-no" title="statement not covered" >`&lt;u-form-item ${required ? 'required' : ''} ${rulesStr.length ? `rules="${rulesStr}"` : ''</span>
1640
+ } layout="center"&gt;&lt;template #label&gt;&lt;u-text text="${label}"&gt;&lt;/u-text&gt;&lt;/template&gt;`;
3100
1641
  &nbsp;
3101
1642
  const { typeAnnotation } = <span class="cstat-no" title="statement not covered" >property || {};</span>
3102
1643
  const { typeNamespace: propertyTypeNamespace } = <span class="cstat-no" title="statement not covered" >typeAnnotation || {};</span>
@@ -3119,7 +1660,7 @@ function <span class="fstat-no" title="function not covered" >genSaveModalTempla
3119
1660
  // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
3120
1661
  const key = <span class="cstat-no" title="statement not covered" >[property.name, relationEntity.name].join('-');</span>
3121
1662
  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) =&gt; ${selectNameGroup.logic}(elements.$ce.page, elements.$ce.size)`;</span>
1663
+ let dataSourceValue = <span class="cstat-no" title="statement not covered" >`(params) =&gt; ${selectNameGroup.logic}(elements.$ce.page, elements.$ce.size)`</span>
3123
1664
  <span class="cstat-no" title="statement not covered" > formItem += `</span>
3124
1665
  &lt;u-select clearable placeholder="请选择${label}"
3125
1666
  text-field="${lowerEntityName}.${displayedProperty.name}"
@@ -3134,40 +1675,32 @@ function <span class="fstat-no" title="function not covered" >genSaveModalTempla
3134
1675
  } else <span class="cstat-no" title="statement not covered" >return '';</span>
3135
1676
  <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Boolean') {</span>
3136
1677
  <span class="cstat-no" title="statement not covered" > formItem += `</span>
3137
- &lt;u-select clearable v-model="${vModel}" placeholder="请输入${label}" ${
3138
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
3139
- }&gt;
1678
+ &lt;u-select clearable v-model="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
1679
+ }&gt;
3140
1680
  &lt;u-select-item :value="true" text="是"&gt;&lt;u-text text="是"&gt;&lt;/u-text&gt;&lt;/u-select-item&gt;
3141
1681
  &lt;u-select-item :value="false" text="否"&gt;&lt;u-text text="否"&gt;&lt;/u-text&gt;&lt;/u-select-item&gt;
3142
1682
  &lt;/u-select&gt;`;
3143
1683
  <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 += `&lt;u-number-input v-model="${vModel}" placeholder="请输入${label}" ${</span>
3145
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
3146
- }&gt;&lt;/u-number-input&gt;`;
1684
+ <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-number-input v-model="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''</span>
1685
+ }&gt;&lt;/u-number-input&gt;`;
3147
1686
  <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Double') {</span>
3148
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${</span>
3149
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
3150
- }&gt;&lt;/u-number-input&gt;`;
1687
+ <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''</span>
1688
+ }&gt;&lt;/u-number-input&gt;`;
3151
1689
  <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Decimal') {</span>
3152
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${</span>
3153
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
3154
- }&gt;&lt;/u-number-input&gt;`;
1690
+ <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''</span>
1691
+ }&gt;&lt;/u-number-input&gt;`;
3155
1692
  <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'String' &amp;&amp; propertyTypeMaxLength &gt; 256) {</span>
3156
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-textarea v-model="${vModel}" placeholder="请输入${label}" ${</span>
3157
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
3158
- }&gt;&lt;/u-textarea&gt;`;
1693
+ <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-textarea v-model="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''</span>
1694
+ }&gt;&lt;/u-textarea&gt;`;
3159
1695
  <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Date') {</span>
3160
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${</span>
3161
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
3162
- }&gt;&lt;/u-date-picker&gt;`;
1696
+ <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''</span>
1697
+ }&gt;&lt;/u-date-picker&gt;`;
3163
1698
  <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Time') {</span>
3164
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-time-picker :value.sync="${vModel}" placeholder="请输入${label}" ${</span>
3165
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
3166
- }&gt;&lt;/u-time-picker&gt;`;
1699
+ <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-time-picker :value.sync="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''</span>
1700
+ }&gt;&lt;/u-time-picker&gt;`;
3167
1701
  <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'DateTime') {</span>
3168
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${</span>
3169
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
3170
- }&gt;&lt;/u-date-time-picker&gt;`;
1702
+ <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''</span>
1703
+ }&gt;&lt;/u-date-time-picker&gt;`;
3171
1704
  } else {
3172
1705
  const namespaceArr = <span class="cstat-no" title="statement not covered" >propertyTypeNamespace.split('.');</span>
3173
1706
  const type = <span class="cstat-no" title="statement not covered" >namespaceArr.pop();</span>
@@ -3175,9 +1708,8 @@ function <span class="fstat-no" title="function not covered" >genSaveModalTempla
3175
1708
  const Enum = <span class="cstat-no" title="statement not covered" >dataSource.app.findNodeByCompleteName(`${propertyTypeNamespace}.${propertyTypeName}`) as Enum;</span>
3176
1709
  <span class="cstat-no" title="statement not covered" > formItem += genEnumSelectBlock(Enum, `${vModel}`, '', `请选择${label}`, true);</span>
3177
1710
  } else {
3178
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-input v-model="${vModel}" placeholder="请输入${label}" ${</span>
3179
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
3180
- }&gt;&lt;/u-input&gt;`;
1711
+ <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-input v-model="${vModel}" placeholder="请输入${label}" ${property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''</span>
1712
+ }&gt;&lt;/u-input&gt;`;
3181
1713
  }
3182
1714
  }
3183
1715
  &nbsp;
@@ -3197,6 +1729,7 @@ function <span class="fstat-no" title="function not covered" >genSaveModalTempla
3197
1729
  &lt;/u-modal&gt;`;
3198
1730
  }
3199
1731
  &nbsp;
1732
+ &nbsp;
3200
1733
  function <span class="fstat-no" title="function not covered" >genInitLogic(n</span>ameGroup: NameGroup) {
3201
1734
  <span class="cstat-no" title="statement not covered" > return NaslNode.Logic({</span>
3202
1735
  name: nameGroup.viewLogicInit,
@@ -3410,209 +1943,29 @@ function <span class="fstat-no" title="function not covered" >genModifyLogic(e</
3410
1943
  playground: [] as any[],
3411
1944
  });
3412
1945
  }
3413
- &nbsp;
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
- &nbsp;
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
- &nbsp;
3466
- // 列表(全)
3467
- export function <span class="fstat-no" title="function not covered" >genCurdMultipleKeyBlock(e</span>ntity: Entity, oldNode: ViewElement) {
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
- &nbsp;
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
- &nbsp;
3489
- // 收集所有和本实体关联的实体
3490
- const entitySet: Set&lt;Entity&gt; = <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&lt;string, NameGroup&gt; = <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) =&gt; {</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
- &nbsp;
3520
- <span class="cstat-no" title="statement not covered" > return `&lt;template&gt;</span>
3521
- &lt;u-linear-layout direction="vertical"&gt;
3522
- ${genFilterTemplate(entity, nameGroup, selectNameGroupMap)}
3523
- ${genTableTemplate(entity, nameGroup, entityLogic, true, 'genCurdMultipleKeyBlock')}
3524
- ${genSaveModalTemplate(entity, nameGroup, selectNameGroupMap)}
3525
- &lt;/u-linear-layout&gt;
3526
- &lt;/template&gt;
3527
- &nbsp;
3528
- &lt;definition&gt;
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) =&gt; <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
- &nbsp;
3588
- "logics": ${JSON.stringify(newLogics)}
3589
- }
3590
- &lt;/definition&gt;
3591
- `;
3592
- }
3593
- &nbsp;
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>
1946
+ &nbsp;
1947
+ // 列表(全)
1948
+ export function <span class="fstat-no" title="function not covered" >genCurdMultipleKeyBlock(e</span>ntity: Entity, oldNode: ViewElement) {
1949
+ const { view } = <span class="cstat-no" title="statement not covered" >oldNode;</span>
3597
1950
  const dataSource = <span class="cstat-no" title="statement not covered" >entity.parentNode as DataSource;</span>
3598
1951
  const module = <span class="cstat-no" title="statement not covered" >dataSource.app;</span>
3599
1952
  &nbsp;
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>
1953
+ const viewElementMainView = <span class="cstat-no" title="statement not covered" >view.getViewElementUniqueName('tableView');</span>
1954
+ const <span class="cstat-no" title="statement not covered" >nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView);</span>
3602
1955
  <span class="cstat-no" title="statement not covered" > nameGroup.viewElementMainView = viewElementMainView;</span>
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>
1956
+ <span class="cstat-no" title="statement not covered" > nameGroup.viewElementSaveModal = view.getViewElementUniqueName('saveModal');</span>
1957
+ <span class="cstat-no" title="statement not covered" > nameGroup.viewElementSaveModalForm = view.getViewElementUniqueName('saveModalForm');</span>
1958
+ <span class="cstat-no" title="statement not covered" > nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');</span>
1959
+ <span class="cstat-no" title="statement not covered" > nameGroup.viewLogicInit = view.getLogicUniqueName('init');</span>
1960
+ <span class="cstat-no" title="statement not covered" > nameGroup.viewLogicCreate = view.getLogicUniqueName('create');</span>
1961
+ <span class="cstat-no" title="statement not covered" > nameGroup.viewLogicModify = view.getLogicUniqueName('modify');</span>
1962
+ <span class="cstat-no" title="statement not covered" > nameGroup.viewLogicSubmit = view.getLogicUniqueName('submit');</span>
1963
+ <span class="cstat-no" title="statement not covered" > nameGroup.viewLogicUpdateSubmit = view.getLogicUniqueName('updateSubmit');</span>
1964
+ <span class="cstat-no" title="statement not covered" > nameGroup.viewLogicReload = view.getLogicUniqueName('reload');</span>
1965
+ <span class="cstat-no" title="statement not covered" > nameGroup.viewVariableEntity = view.getVariableUniqueName(utils.firstLowerCase(entity.name));</span>
1966
+ <span class="cstat-no" title="statement not covered" > nameGroup.viewVariableInput = view.getVariableUniqueName('input');</span>
1967
+ <span class="cstat-no" title="statement not covered" > nameGroup.viewVariableFilter = view.getVariableUniqueName('filter');</span>
1968
+ <span class="cstat-no" title="statement not covered" > nameGroup.viewVariableIsUpdate = view.getVariableUniqueName('isUpdate');</span>
3616
1969
  &nbsp;
3617
1970
  // 收集所有和本实体关联的实体
3618
1971
  const entitySet: Set&lt;Entity&gt; = <span class="cstat-no" title="statement not covered" >new Set();</span>
@@ -3628,8 +1981,8 @@ export function <span class="fstat-no" title="function not covered" >genGridView
3628
1981
  const <span class="cstat-no" title="statement not covered" >displayedProperty = getFirstDisplayedProperty(relationEntity);</span>
3629
1982
  <span class="cstat-no" title="statement not covered" > if (displayedProperty) {</span>
3630
1983
  <span class="cstat-no" title="statement not covered" > entitySet.add(relationEntity);</span>
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>
1984
+ const viewElementSelect = <span class="cstat-no" title="statement not covered" >view.getViewElementUniqueName('select');</span>
1985
+ const <span class="cstat-no" title="statement not covered" >selectNameGroup = genUniqueQueryNameGroup(module, view, viewElementSelect, false, relationEntity.name);</span>
3633
1986
  <span class="cstat-no" title="statement not covered" > selectNameGroup.viewElementSelect = viewElementSelect;</span>
3634
1987
  // 存在多个属性关联同一个实体的情况,因此加上属性名用以唯一标识
3635
1988
  const key = <span class="cstat-no" title="statement not covered" >[property.name, relationEntity.name].join('-');</span>
@@ -3648,7 +2001,7 @@ export function <span class="fstat-no" title="function not covered" >genGridView
3648
2001
  <span class="cstat-no" title="statement not covered" > return `&lt;template&gt;</span>
3649
2002
  &lt;u-linear-layout direction="vertical"&gt;
3650
2003
  ${genFilterTemplate(entity, nameGroup, selectNameGroupMap)}
3651
- ${genGridViewTemplate(entity, nameGroup, entityLogic, true, 'genCurdMultipleKeyBlock')}
2004
+ ${genTableTemplate(entity, nameGroup, entityLogic, true, 'genCurdMultipleKeyBlock')}
3652
2005
  ${genSaveModalTemplate(entity, nameGroup, selectNameGroupMap)}
3653
2006
  &lt;/u-linear-layout&gt;
3654
2007
  &lt;/template&gt;
@@ -3660,31 +2013,31 @@ export function <span class="fstat-no" title="function not covered" >genGridView
3660
2013
  "concept": "Variable",
3661
2014
  "name": "${nameGroup.viewVariableEntity}",
3662
2015
  "typeAnnotation": ${JSON.stringify(
3663
- NaslTypeAnnotation.Reference({
3664
- typeNamespace: entity.getNamespace(),
3665
- typeName: entity.name,
3666
- })
3667
- )}
2016
+ NaslTypeAnnotation.Reference({
2017
+ typeNamespace: entity.getNamespace(),
2018
+ typeName: entity.name,
2019
+ })
2020
+ )}
3668
2021
  },
3669
2022
  {
3670
2023
  "concept": "Variable",
3671
2024
  "name": "${nameGroup.viewVariableInput}",
3672
2025
  "typeAnnotation": ${JSON.stringify(
3673
- NaslTypeAnnotation.Reference({
3674
- typeNamespace: entity.getNamespace(),
3675
- typeName: entity.name,
3676
- })
3677
- )}
2026
+ NaslTypeAnnotation.Reference({
2027
+ typeNamespace: entity.getNamespace(),
2028
+ typeName: entity.name,
2029
+ })
2030
+ )}
3678
2031
  },
3679
2032
  {
3680
2033
  "concept": "Variable",
3681
2034
  "name": "${nameGroup.viewVariableFilter}",
3682
2035
  "typeAnnotation": ${JSON.stringify(
3683
- NaslTypeAnnotation.Reference({
3684
- typeNamespace: entity.getNamespace(),
3685
- typeName: entity.name,
3686
- })
3687
- )}
2036
+ NaslTypeAnnotation.Reference({
2037
+ typeNamespace: entity.getNamespace(),
2038
+ typeName: entity.name,
2039
+ })
2040
+ )}
3688
2041
  },
3689
2042
  {
3690
2043
  "concept": "Variable",
@@ -3693,8 +2046,8 @@ export function <span class="fstat-no" title="function not covered" >genGridView
3693
2046
  }
3694
2047
  ],
3695
2048
  "viewLogics": [
3696
- ${JSON.stringify(genGridViewLoadLogic(entity, nameGroup, entityLogic, true))},
3697
- ${JSON.stringify(genGridViewRemoveLogic(entity, nameGroup))},
2049
+ ${JSON.stringify(genTableLoadLogic(entity, nameGroup, entityLogic, true))},
2050
+ ${JSON.stringify(genTableRemoveLogic(entity, nameGroup))},
3698
2051
  ${JSON.stringify(genInitLogic(nameGroup))},
3699
2052
  ${JSON.stringify(genCreateLogic(nameGroup))},
3700
2053
  ${JSON.stringify(genModifyLogic(entity, nameGroup))},
@@ -3712,530 +2065,23 @@ export function <span class="fstat-no" title="function not covered" >genGridView
3712
2065
  "calleeName": "${nameGroup.viewLogicInit}"
3713
2066
  }
3714
2067
  ],
2068
+ &nbsp;
3715
2069
  "logics": ${JSON.stringify(newLogics)}
3716
2070
  }
3717
2071
  &lt;/definition&gt;
3718
2072
  `;
3719
2073
  }
3720
2074
  &nbsp;
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
- &nbsp;
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
- &nbsp;
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
- &nbsp;
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
- &nbsp;
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
- &nbsp;
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) =&gt; <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
- &nbsp;
3940
- export function <span class="fstat-no" title="function not covered" >genFilterTemplateTableDesigner(e</span>ntity: Entity, nameGroup: NameGroup, selectNameGroupMap: Map&lt;string, NameGroup&gt;, 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) =&gt; <span class="cstat-no" title="statement not covered" >`</span>&lt;u-grid-layout-column span="6" style="padding: 10px 0;"&gt;${code}&lt;/u-grid-layout-column&gt;`;</span>
3944
- <span class="cstat-no" title="statement not covered" > return `&lt;u-form style="margin-bottom: 6px;padding: 15px 15px 5px 15px;background: #fff;"&gt;</span>
3945
- &lt;u-grid-layout&gt;
3946
- &lt;u-grid-layout-row repeat="24"&gt;
3947
- ${properties
3948
- .map((<span class="fstat-no" title="function not covered" >property) =&gt; {</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, '&amp;quot;');</span>
3951
- let formItem = <span class="cstat-no" title="statement not covered" >`&lt;u-form-item layout="center"&gt;&lt;template #label&gt;&lt;u-text text="${label}"&gt;&lt;/u-text&gt;&lt;/template&gt;`;</span>
3952
- &nbsp;
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) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.indexOf('max') &gt; -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
- &lt;u-select clearable v-model="${vModel}" placeholder="请选择" ${multiple ? 'multiple' : ''}&gt;
3967
- ${options.map((<span class="fstat-no" title="function not covered" >option: any) =&gt; <span class="cstat-no" title="statement not covered" >`</span>&lt;u-select-item value="${option.value}"&gt;${option.label}&lt;/u-select-item&gt;`)</span>.join('')}
3968
- &lt;/u-select&gt;
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) =&gt; <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) =&gt; ${selectNameGroup.logic}(elements.$ce.page, elements.$ce.size)`;</span>
3982
- <span class="cstat-no" title="statement not covered" > formItem += `</span>
3983
- &lt;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}"&gt;
3985
- &lt;/u-select&gt;
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
- &lt;u-select clearable v-model="${vModel}" placeholder="请输入${label}"&gt;
3992
- &lt;u-select-item :value="true" text="是"&gt;是&lt;/u-select-item&gt;
3993
- &lt;u-select-item :value="false" text="否"&gt;否&lt;/u-select-item&gt;
3994
- &lt;/u-select&gt;
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 += `&lt;u-number-input v-model="${vModel}" placeholder="请输入${label}"&gt;&lt;/u-number-input&gt;`;</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 += `&lt;u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"&gt;&lt;/u-number-input&gt;`;</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 += `&lt;u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}"&gt;&lt;/u-number-input&gt;`;</span>
4002
- <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'String' &amp;&amp; propertyTypeMaxLength &gt; 256) {</span>
4003
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-textarea v-model="${vModel}" placeholder="请输入${label}"&gt;&lt;/u-textarea&gt;`;</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 += `&lt;u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"&gt;&lt;/u-date-picker&gt;`;</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 += `&lt;u-time-picker :value.sync="${vModel}" placeholder="请输入${label}"&gt;&lt;/u-time-picker&gt;`;</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 += `&lt;u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}"&gt;&lt;/u-date-time-picker&gt;`;</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 += `&lt;u-input v-model="${vModel}" placeholder="请输入${label}"&gt;&lt;/u-input&gt;`;</span>
4018
- }
4019
- }
4020
- &nbsp;
4021
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;/u-form-item&gt;`;</span>
4022
- <span class="cstat-no" title="statement not covered" > return getCol(formItem);</span>
4023
- })
4024
- .join('')}
4025
- ${getCol(`&lt;u-form-item layout="center" label-size="auto"&gt;
4026
- &lt;u-button color="primary" style="margin-right: 5px" @click="${nameGroup.viewLogicReload}"&gt;查 询&lt;/u-button&gt;
4027
- &lt;u-button @click="${nameGroup.viewLogicReset}"&gt;重 置&lt;/u-button&gt;
4028
- &lt;/u-form-item&gt;`)}
4029
- &lt;/u-grid-layout-row&gt;
4030
- &lt;/u-grid-layout&gt;
4031
- &lt;/u-form&gt;
4032
- `;
4033
- }
4034
- &nbsp;
4035
- function <span class="fstat-no" title="function not covered" >genSaveModalTemplateDesigner(</span>
4036
- entity: Entity,
4037
- nameGroup: NameGroup,
4038
- selectNameGroupMap: Map&lt;string, NameGroup&gt;,
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
- &nbsp;
4044
- const formStr = <span class="cstat-no" title="statement not covered" >` &lt;u-form ref="${nameGroup.viewElementSaveModalForm}" :preview="${nameGroup.viewVariablePreview}"&gt;</span>
4045
- ${properties
4046
- .map((<span class="fstat-no" title="function not covered" >property) =&gt; {</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, '&amp;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 &amp;&amp; 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) =&gt; <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" >`&lt;u-form-item ${required ? 'required' : ''} ${</span>
4057
- rulesStr.length ? `rules="${rulesStr}"` : ''
4058
- } layout="center"&gt;&lt;template #label&gt;&lt;u-text text="${label}"&gt;&lt;/u-text&gt;&lt;/template&gt;`;
4059
- &nbsp;
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) =&gt; <span class="cstat-no" title="statement not covered" >i</span>tem.indexOf('max') &gt; -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) =&gt; <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) =&gt; ${selectNameGroup.logic}(elements.$ce.page, elements.$ce.size)`;</span>
4081
- <span class="cstat-no" title="statement not covered" > formItem += `</span>
4082
- &lt;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}"&gt;
4089
- &lt;/u-select&gt;
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
- &lt;u-select clearable v-model="${vModel}" placeholder="请输入${label}" ${
4096
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
4097
- }&gt;
4098
- &lt;u-select-item :value="true" text="是"&gt;&lt;u-text text="是"&gt;&lt;/u-text&gt;&lt;/u-select-item&gt;
4099
- &lt;u-select-item :value="false" text="否"&gt;&lt;u-text text="否"&gt;&lt;/u-text&gt;&lt;/u-select-item&gt;
4100
- &lt;/u-select&gt;`;
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 += `&lt;u-number-input v-model="${vModel}" placeholder="请输入${label}" ${</span>
4103
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
4104
- }&gt;&lt;/u-number-input&gt;`;
4105
- <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Double') {</span>
4106
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${</span>
4107
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
4108
- }&gt;&lt;/u-number-input&gt;`;
4109
- <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Decimal') {</span>
4110
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-number-input v-model="${vModel}" :precision="0" :step="0" placeholder="请输入${label}" ${</span>
4111
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
4112
- }&gt;&lt;/u-number-input&gt;`;
4113
- <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'String' &amp;&amp; propertyTypeMaxLength &gt; 256) {</span>
4114
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-textarea v-model="${vModel}" placeholder="请输入${label}" ${</span>
4115
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
4116
- }&gt;&lt;/u-textarea&gt;`;
4117
- <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Date') {</span>
4118
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-date-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${</span>
4119
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
4120
- }&gt;&lt;/u-date-picker&gt;`;
4121
- <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'Time') {</span>
4122
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-time-picker :value.sync="${vModel}" placeholder="请输入${label}" ${</span>
4123
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
4124
- }&gt;&lt;/u-time-picker&gt;`;
4125
- <span class="cstat-no" title="statement not covered" > } else if (propertyTypeName === 'DateTime') {</span>
4126
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;u-date-time-picker clearable :value.sync="${vModel}" placeholder="请输入${label}" ${</span>
4127
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
4128
- }&gt;&lt;/u-date-time-picker&gt;`;
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 += `&lt;u-input v-model="${vModel}" placeholder="请输入${label}" ${</span>
4137
- property.primaryKey ? `:disabled="${nameGroup.viewVariableIsUpdate}"` : ''
4138
- }&gt;&lt;/u-input&gt;`;
4139
- }
4140
- }
4141
- &nbsp;
4142
- <span class="cstat-no" title="statement not covered" > formItem += `&lt;/u-form-item&gt;\n`;</span>
4143
- &nbsp;
4144
- <span class="cstat-no" title="statement not covered" > return formItem;</span>
4145
- })
4146
- .join('')}
4147
- &lt;/u-form&gt;`;
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
- '&lt;u-form',
4151
- `&lt;u-form ref="${nameGroup.viewElementSaveModalForm}" :preview="${nameGroup.viewVariablePreview}" `
4152
- );
4153
- }
4154
- &nbsp;
4155
- <span class="cstat-no" title="statement not covered" > return `</span>
4156
- &lt;u-modal ref="${nameGroup.viewElementSaveModal}" @close="${nameGroup.viewLogicCloseModal}" size="huge" :show-foot="!${
4157
- nameGroup.viewVariablePreview
4158
- }"&gt;
4159
- &lt;template #title&gt;
4160
- &lt;div v-if="${nameGroup.viewVariablePreview}"&gt;
4161
- &lt;u-text&gt;详情&lt;/u-text&gt;
4162
- &lt;/div&gt;
4163
- &lt;div v-if="!${nameGroup.viewVariablePreview}"&gt;
4164
- &lt;div v-if="${nameGroup.viewVariableIsUpdate}"&gt;&lt;u-text&gt;修改&lt;/u-text&gt;&lt;/div&gt;
4165
- &lt;div v-if="!${nameGroup.viewVariableIsUpdate}"&gt;&lt;u-text&gt;新增&lt;/u-text&gt;&lt;/div&gt;
4166
- &lt;/template&gt;
4167
- &lt;template #body&gt;
4168
- ${SaveModalFormTemplate || formStr}
4169
- &lt;/template&gt;
4170
- &lt;template #foot&gt;
4171
- &lt;u-linear-layout&gt;
4172
- &lt;u-button color="primary" @click="${nameGroup.viewLogicUpdateSubmit}()" v-if="${nameGroup.viewVariableIsUpdate}"&gt;提交修改&lt;/u-button&gt;
4173
- &lt;u-button color="primary" @click="${nameGroup.viewLogicSubmit}()" v-if="!${nameGroup.viewVariableIsUpdate}"&gt;立即新增&lt;/u-button&gt;
4174
- &lt;/u-linear-layout&gt;
4175
- &lt;/template&gt;
4176
- &lt;/u-modal&gt;`;
4177
- }
4178
- &nbsp;
4179
- export const genDelModalTemplate = (<span class="fstat-no" title="function not covered" >nameGroup: NameGroup) =&gt; {</span>
4180
- <span class="cstat-no" title="statement not covered" > return `</span>
4181
- &lt;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
- &gt;
4192
- &lt;template #foot&gt;
4193
- &lt;u-linear-layout style="text-align: right" :vusion-disabled-cut="true" justify="center"&gt;
4194
- &lt;u-button text="取 消" @click="${nameGroup.viewLogicCloseDelModal}"&gt;&lt;/u-button&gt;
4195
- &lt;u-button color="primary" text="确 定" @click="${nameGroup.viewLogicDelModalSubmit}"&gt;&lt;/u-button&gt;
4196
- &lt;/u-linear-layout&gt;
4197
- &lt;/template&gt;
4198
- &lt;template #body&gt;
4199
- &lt;u-text style="font-weight: bold; font-size: 18px" text="请确认是否删除?"&gt;&lt;/u-text&gt;
4200
- &lt;u-linear-layout style="--custom-start: auto" direction="horizontal"&gt;
4201
- &lt;u-text
4202
- style="--custom-start: auto"
4203
- color="secondary"
4204
- text="删除后将无法恢复,请谨慎操作"
4205
- &gt;&lt;/u-text&gt;
4206
- &lt;/u-linear-layout&gt;
4207
- &lt;/template&gt;
4208
- &lt;template #title&gt; &lt;u-text&gt;&lt;/u-text&gt; &lt;/template
4209
- &gt;&lt;/u-modal&gt;
4210
- `;
4211
- };
4212
- &nbsp;
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
- ) {
2075
+ // 数据网格(全)
2076
+ export function <span class="fstat-no" title="function not covered" >genGridViewMultipleKeyBlock(e</span>ntity: Entity, oldNode: ViewElement) {
4221
2077
  const { view } = <span class="cstat-no" title="statement not covered" >oldNode;</span>
4222
2078
  const dataSource = <span class="cstat-no" title="statement not covered" >entity.parentNode as DataSource;</span>
4223
2079
  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 &amp;&amp; composedBy.length &gt; 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) =&gt; {</span>
4226
- <span class="cstat-no" title="statement not covered" > if (composedBy &amp;&amp; composedBy.length &gt; 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
- };
4233
2080
  &nbsp;
4234
- const viewElementMainView = <span class="cstat-no" title="statement not covered" >view.getViewElementUniqueName('tableView');</span>
2081
+ const viewElementMainView = <span class="cstat-no" title="statement not covered" >view.getViewElementUniqueName('gridView');</span>
4235
2082
  const <span class="cstat-no" title="statement not covered" >nameGroup = genUniqueQueryNameGroup(module, view, viewElementMainView);</span>
4236
2083
  <span class="cstat-no" title="statement not covered" > nameGroup.viewElementMainView = viewElementMainView;</span>
4237
2084
  <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>
4239
2085
  <span class="cstat-no" title="statement not covered" > nameGroup.viewElementSaveModalForm = view.getViewElementUniqueName('saveModalForm');</span>
4240
2086
  <span class="cstat-no" title="statement not covered" > nameGroup.viewLogicRemove = view.getLogicUniqueName('remove');</span>
4241
2087
  <span class="cstat-no" title="statement not covered" > nameGroup.viewLogicInit = view.getLogicUniqueName('init');</span>
@@ -4248,14 +2094,6 @@ export function <span class="fstat-no" title="function not covered" >genCurdMult
4248
2094
  <span class="cstat-no" title="statement not covered" > nameGroup.viewVariableInput = view.getVariableUniqueName('input');</span>
4249
2095
  <span class="cstat-no" title="statement not covered" > nameGroup.viewVariableFilter = view.getVariableUniqueName('filter');</span>
4250
2096
  <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>
4259
2097
  &nbsp;
4260
2098
  // 收集所有和本实体关联的实体
4261
2099
  const entitySet: Set&lt;Entity&gt; = <span class="cstat-no" title="statement not covered" >new Set();</span>
@@ -4286,14 +2124,13 @@ export function <span class="fstat-no" title="function not covered" >genCurdMult
4286
2124
  });
4287
2125
  const allEntities = <span class="cstat-no" title="statement not covered" >[...entitySet];</span>
4288
2126
  const <span class="cstat-no" title="statement not covered" >entityLogic = genQueryLogic(allEntities, nameGroup, true, true, module);</span>
4289
- <span class="cstat-no" title="statement not covered" > newLogics.push(patchLogic(entityLogic));</span>
2127
+ <span class="cstat-no" title="statement not covered" > newLogics.push(entityLogic);</span>
4290
2128
  &nbsp;
4291
- const code = <span class="cstat-no" title="statement not covered" >`&lt;template&gt;</span>
4292
- &lt;u-linear-layout direction="vertical" :bindEntity="" :TableDesignerLocked="true" style="background: #F7F8FA;"&gt;
4293
- ${genFilterTemplateTableDesigner(entity, nameGroup, selectNameGroupMap, optionsMap)}
4294
- ${genTableTemplateTableDesigner(entity, nameGroup, entityLogic, true, 'genCurdMultipleKeyBlock', optionsMap)}
4295
- ${genSaveModalTemplateDesigner(entity, nameGroup, selectNameGroupMap, SaveModalFormTemplate)}
4296
- ${genDelModalTemplate(nameGroup)}
2129
+ <span class="cstat-no" title="statement not covered" > return `&lt;template&gt;</span>
2130
+ &lt;u-linear-layout direction="vertical"&gt;
2131
+ ${genFilterTemplate(entity, nameGroup, selectNameGroupMap)}
2132
+ ${genGridViewTemplate(entity, nameGroup, entityLogic, true, 'genCurdMultipleKeyBlock')}
2133
+ ${genSaveModalTemplate(entity, nameGroup, selectNameGroupMap)}
4297
2134
  &lt;/u-linear-layout&gt;
4298
2135
  &lt;/template&gt;
4299
2136
  &nbsp;
@@ -4302,89 +2139,80 @@ export function <span class="fstat-no" title="function not covered" >genCurdMult
4302
2139
  "viewVariables": [
4303
2140
  {
4304
2141
  "concept": "Variable",
4305
- ${composedByOptionStr}
4306
2142
  "name": "${nameGroup.viewVariableEntity}",
4307
2143
  "typeAnnotation": ${JSON.stringify(
4308
- NaslTypeAnnotation.Reference({
4309
- typeNamespace: entity.getNamespace(),
4310
- typeName: entity.name,
4311
- })
4312
- )}
2144
+ NaslTypeAnnotation.Reference({
2145
+ typeNamespace: entity.getNamespace(),
2146
+ typeName: entity.name,
2147
+ })
2148
+ )}
4313
2149
  },
4314
2150
  {
4315
2151
  "concept": "Variable",
4316
- ${composedByOptionStr}
4317
2152
  "name": "${nameGroup.viewVariableInput}",
4318
2153
  "typeAnnotation": ${JSON.stringify(
4319
- NaslTypeAnnotation.Reference({
4320
- typeNamespace: entity.getNamespace(),
4321
- typeName: entity.name,
4322
- })
4323
- )}
2154
+ NaslTypeAnnotation.Reference({
2155
+ typeNamespace: entity.getNamespace(),
2156
+ typeName: entity.name,
2157
+ })
2158
+ )}
4324
2159
  },
4325
2160
  {
4326
2161
  "concept": "Variable",
4327
- ${composedByOptionStr}
4328
2162
  "name": "${nameGroup.viewVariableFilter}",
4329
2163
  "typeAnnotation": ${JSON.stringify(
4330
- NaslTypeAnnotation.Reference({
4331
- typeNamespace: entity.getNamespace(),
4332
- typeName: entity.name,
4333
- })
4334
- )}
2164
+ NaslTypeAnnotation.Reference({
2165
+ typeNamespace: entity.getNamespace(),
2166
+ typeName: entity.name,
2167
+ })
2168
+ )}
4335
2169
  },
4336
2170
  {
4337
2171
  "concept": "Variable",
4338
- ${composedByOptionStr}
4339
2172
  "name": "${nameGroup.viewVariableIsUpdate}",
4340
2173
  "typeAnnotation": ${JSON.stringify(NaslCoreTypeAnnotation.Boolean)}
4341
- },
4342
- {
4343
- "concept": "Variable",
4344
- ${composedByOptionStr}
4345
- "name": "${nameGroup.viewVariablePreview}",
4346
- "typeAnnotation": ${JSON.stringify(NaslCoreTypeAnnotation.Boolean)}
4347
2174
  }
4348
2175
  ],
4349
2176
  "viewLogics": [
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) =&gt; <span class="cstat-no" title="statement not covered" >`</span>,${JSON.stringify(patchLogic(logic))}`)</span>.join('\n')}
2177
+ ${JSON.stringify(genGridViewLoadLogic(entity, nameGroup, entityLogic, true))},
2178
+ ${JSON.stringify(genGridViewRemoveLogic(entity, nameGroup))},
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(genUpdateSubmitLogic(entity, nameGroup))},
2184
+ ${JSON.stringify(genReloadLogic(nameGroup))}
2185
+ ${newLoadSelectLogics.map((<span class="fstat-no" title="function not covered" >logic) =&gt; <span class="cstat-no" title="statement not covered" >`</span>,${JSON.stringify(logic)}`)</span>.join('\n')}
4366
2186
  ],
4367
2187
  "viewBindEvents": [
4368
2188
  {
4369
2189
  "concept": "BindEvent",
4370
- ${composedByOptionStr}
4371
2190
  "arguments": [],
4372
2191
  "name": "created",
4373
2192
  "calleeNamespace": "",
4374
2193
  "calleeName": "${nameGroup.viewLogicInit}"
4375
2194
  }
4376
2195
  ],
4377
- &nbsp;
4378
2196
  "logics": ${JSON.stringify(newLogics)}
4379
2197
  }
4380
2198
  &lt;/definition&gt;
4381
2199
  `;
2200
+ }
4382
2201
  &nbsp;
4383
- <span class="cstat-no" title="statement not covered" > return {</span>
4384
- code,
4385
- nameGroup,
4386
- saveFormTemp: `${genSaveModalTemplateDesigner(entity, nameGroup, selectNameGroupMap, SaveModalFormTemplate)}`,
4387
- };
2202
+ export function <span class="fstat-no" title="function not covered" >genReloadLogic(n</span>ameGroup: NameGroup) {
2203
+ <span class="cstat-no" title="statement not covered" > return NaslNode.Logic({</span>
2204
+ name: nameGroup.viewLogicReload,
2205
+ params: [] as any[],
2206
+ returns: [] as any[],
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
+ });
4388
2216
  }
4389
2217
  &nbsp;</pre></td></tr></table></pre>
4390
2218
 
@@ -4393,7 +2221,7 @@ export function <span class="fstat-no" title="function not covered" >genCurdMult
4393
2221
  <div class='footer quiet pad2 space-top1 center small'>
4394
2222
  Code coverage generated by
4395
2223
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
4396
- at 2023-12-20T16:21:15.863Z
2224
+ at 2023-12-07T14:08:08.581Z
4397
2225
  </div>
4398
2226
  <script src="../../prettify.js"></script>
4399
2227
  <script>