@lcap/nasl 3.3.3-beta.3 → 3.3.3-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/.nyc_output/f2d14ce8-876a-4dc0-9aaf-e51d08d081ca.json +1 -0
  2. package/.nyc_output/processinfo/f2d14ce8-876a-4dc0-9aaf-e51d08d081ca.json +1 -0
  3. package/.nyc_output/processinfo/index.json +1 -0
  4. package/coverage/base.css +224 -0
  5. package/coverage/block-navigation.js +87 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +446 -0
  8. package/coverage/prettify.css +1 -0
  9. package/coverage/prettify.js +2 -0
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +196 -0
  12. package/coverage/src/automate/engine/index.html +116 -0
  13. package/coverage/src/automate/engine/utils.js.html +1414 -0
  14. package/coverage/src/bak/index.html +116 -0
  15. package/coverage/src/bak/translator.js.html +619 -0
  16. package/coverage/src/breakpoint/generator/AfterStartNode.ts.html +175 -0
  17. package/coverage/src/breakpoint/generator/BeforeEndNode.ts.html +169 -0
  18. package/coverage/src/breakpoint/generator/BreakpointNode.ts.html +1243 -0
  19. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +145 -0
  20. package/coverage/src/breakpoint/generator/index.html +176 -0
  21. package/coverage/src/breakpoint/generator/index.ts.html +508 -0
  22. package/coverage/src/breakpoint/index.html +116 -0
  23. package/coverage/src/breakpoint/index.ts.html +94 -0
  24. package/coverage/src/breakpoint/shared/constants.ts.html +430 -0
  25. package/coverage/src/breakpoint/shared/index.html +176 -0
  26. package/coverage/src/breakpoint/shared/index.ts.html +94 -0
  27. package/coverage/src/breakpoint/shared/operations.ts.html +160 -0
  28. package/coverage/src/breakpoint/shared/socket.ts.html +1225 -0
  29. package/coverage/src/breakpoint/shared/utils.ts.html +961 -0
  30. package/coverage/src/breakpoint/store/core.ts.html +1600 -0
  31. package/coverage/src/breakpoint/store/dock.ts.html +583 -0
  32. package/coverage/src/breakpoint/store/index.html +146 -0
  33. package/coverage/src/breakpoint/store/index.ts.html +91 -0
  34. package/coverage/src/common/BaseNode.ts.html +3868 -0
  35. package/coverage/src/common/Command.ts.html +310 -0
  36. package/coverage/src/common/EventEmitter.ts.html +370 -0
  37. package/coverage/src/common/Messager.ts.html +820 -0
  38. package/coverage/src/common/asyncFuncMap.ts.html +127 -0
  39. package/coverage/src/common/index.html +191 -0
  40. package/coverage/src/common/index.ts.html +94 -0
  41. package/coverage/src/concepts/Abort__.ts.html +328 -0
  42. package/coverage/src/concepts/Anchor__.ts.html +604 -0
  43. package/coverage/src/concepts/AnonymousFunction__.ts.html +1951 -0
  44. package/coverage/src/concepts/App__.ts.html +13252 -0
  45. package/coverage/src/concepts/Argument__.ts.html +910 -0
  46. package/coverage/src/concepts/Assignee__.ts.html +2236 -0
  47. package/coverage/src/concepts/AssignmentLine__.ts.html +409 -0
  48. package/coverage/src/concepts/Assignment__.ts.html +1078 -0
  49. package/coverage/src/concepts/Attribute__.ts.html +733 -0
  50. package/coverage/src/concepts/AuthInterface__.ts.html +367 -0
  51. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +1984 -0
  52. package/coverage/src/concepts/AuthLogic__.ts.html +781 -0
  53. package/coverage/src/concepts/BackendVariable__.ts.html +1483 -0
  54. package/coverage/src/concepts/Backend__.ts.html +1165 -0
  55. package/coverage/src/concepts/BatchAssignment__.ts.html +3250 -0
  56. package/coverage/src/concepts/BinaryExpression__.ts.html +1336 -0
  57. package/coverage/src/concepts/BindAttribute__.ts.html +3679 -0
  58. package/coverage/src/concepts/BindDirective__.ts.html +1921 -0
  59. package/coverage/src/concepts/BindEvent__.ts.html +3232 -0
  60. package/coverage/src/concepts/BindStyle__.ts.html +1612 -0
  61. package/coverage/src/concepts/BooleanLiteral__.ts.html +403 -0
  62. package/coverage/src/concepts/CallAuthInterface__.ts.html +1615 -0
  63. package/coverage/src/concepts/CallConnector__.ts.html +868 -0
  64. package/coverage/src/concepts/CallFunction__.ts.html +1966 -0
  65. package/coverage/src/concepts/CallInterface__.ts.html +2614 -0
  66. package/coverage/src/concepts/CallLogic__.ts.html +4420 -0
  67. package/coverage/src/concepts/CallQueryComponent__.ts.html +5308 -0
  68. package/coverage/src/concepts/Comment__.ts.html +376 -0
  69. package/coverage/src/concepts/CompletionProperty__.ts.html +925 -0
  70. package/coverage/src/concepts/ConfigGroup__.ts.html +1105 -0
  71. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +424 -0
  72. package/coverage/src/concepts/ConfigProperty__.ts.html +1348 -0
  73. package/coverage/src/concepts/Configuration__.ts.html +1027 -0
  74. package/coverage/src/concepts/Connection__.ts.html +1360 -0
  75. package/coverage/src/concepts/ConnectorTrigger__.ts.html +595 -0
  76. package/coverage/src/concepts/Connector__.ts.html +4255 -0
  77. package/coverage/src/concepts/Constant__.ts.html +913 -0
  78. package/coverage/src/concepts/DataSource__.ts.html +1771 -0
  79. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +331 -0
  80. package/coverage/src/concepts/Destination__.ts.html +2563 -0
  81. package/coverage/src/concepts/End__.ts.html +433 -0
  82. package/coverage/src/concepts/EntityIndex__.ts.html +787 -0
  83. package/coverage/src/concepts/EntityProperty__.ts.html +2620 -0
  84. package/coverage/src/concepts/Entity__.ts.html +2872 -0
  85. package/coverage/src/concepts/EnumItem__.ts.html +535 -0
  86. package/coverage/src/concepts/Enum__.ts.html +1192 -0
  87. package/coverage/src/concepts/Event__.ts.html +1084 -0
  88. package/coverage/src/concepts/ExternalDestination__.ts.html +1033 -0
  89. package/coverage/src/concepts/ForEachStatement__.ts.html +1819 -0
  90. package/coverage/src/concepts/FrontendLibrary__.ts.html +1711 -0
  91. package/coverage/src/concepts/FrontendVariable__.ts.html +292 -0
  92. package/coverage/src/concepts/Frontend__.ts.html +3961 -0
  93. package/coverage/src/concepts/Function__.ts.html +3514 -0
  94. package/coverage/src/concepts/Identifier__.ts.html +1057 -0
  95. package/coverage/src/concepts/IfStatement__.ts.html +1486 -0
  96. package/coverage/src/concepts/Integration__.ts.html +1228 -0
  97. package/coverage/src/concepts/InterfaceParam__.ts.html +1087 -0
  98. package/coverage/src/concepts/Interface__.ts.html +3394 -0
  99. package/coverage/src/concepts/JSBlock__.ts.html +406 -0
  100. package/coverage/src/concepts/JavaLogic__.ts.html +460 -0
  101. package/coverage/src/concepts/LogicItem__.ts.html +1144 -0
  102. package/coverage/src/concepts/Logic__.ts.html +7078 -0
  103. package/coverage/src/concepts/MatchCase__.ts.html +2641 -0
  104. package/coverage/src/concepts/Match__.ts.html +2323 -0
  105. package/coverage/src/concepts/MemberExpression__.ts.html +1666 -0
  106. package/coverage/src/concepts/MicroApp__.ts.html +436 -0
  107. package/coverage/src/concepts/Module__.ts.html +9220 -0
  108. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1045 -0
  109. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1018 -0
  110. package/coverage/src/concepts/Namespace__.ts.html +7942 -0
  111. package/coverage/src/concepts/NewComposite__.ts.html +4684 -0
  112. package/coverage/src/concepts/NewList__.ts.html +1567 -0
  113. package/coverage/src/concepts/NewMap__.ts.html +2275 -0
  114. package/coverage/src/concepts/New__.ts.html +289 -0
  115. package/coverage/src/concepts/NullLiteral__.ts.html +349 -0
  116. package/coverage/src/concepts/NumericLiteral__.ts.html +661 -0
  117. package/coverage/src/concepts/OqlQueryComponent__.ts.html +1123 -0
  118. package/coverage/src/concepts/OverriddenLogic__.ts.html +6817 -0
  119. package/coverage/src/concepts/Param__.ts.html +1609 -0
  120. package/coverage/src/concepts/Point__.ts.html +331 -0
  121. package/coverage/src/concepts/ProcessComponent__.ts.html +1666 -0
  122. package/coverage/src/concepts/ProcessElement__.ts.html +5884 -0
  123. package/coverage/src/concepts/ProcessOutcome__.ts.html +352 -0
  124. package/coverage/src/concepts/ProcessOutcomes__.ts.html +343 -0
  125. package/coverage/src/concepts/Process__.ts.html +4768 -0
  126. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +568 -0
  127. package/coverage/src/concepts/QueryFieldExpression__.ts.html +583 -0
  128. package/coverage/src/concepts/QueryFromExpression__.ts.html +910 -0
  129. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +559 -0
  130. package/coverage/src/concepts/QueryJoinExpression__.ts.html +1567 -0
  131. package/coverage/src/concepts/QueryLimitExpression__.ts.html +637 -0
  132. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +679 -0
  133. package/coverage/src/concepts/QuerySelectExpression__.ts.html +1714 -0
  134. package/coverage/src/concepts/Rect__.ts.html +373 -0
  135. package/coverage/src/concepts/Return__.ts.html +1258 -0
  136. package/coverage/src/concepts/Role__.ts.html +601 -0
  137. package/coverage/src/concepts/SelectMembers__.ts.html +1246 -0
  138. package/coverage/src/concepts/Slot__.ts.html +628 -0
  139. package/coverage/src/concepts/SqlQueryComponent__.ts.html +964 -0
  140. package/coverage/src/concepts/Start__.ts.html +304 -0
  141. package/coverage/src/concepts/StringInterpolation__.ts.html +1078 -0
  142. package/coverage/src/concepts/StringLiteral__.ts.html +490 -0
  143. package/coverage/src/concepts/StructureProperty__.ts.html +1102 -0
  144. package/coverage/src/concepts/Structure__.ts.html +2053 -0
  145. package/coverage/src/concepts/SwitchCase__.ts.html +1063 -0
  146. package/coverage/src/concepts/SwitchStatement__.ts.html +826 -0
  147. package/coverage/src/concepts/Theme__.ts.html +358 -0
  148. package/coverage/src/concepts/Transactional__.ts.html +628 -0
  149. package/coverage/src/concepts/TriggerEvent__.ts.html +1012 -0
  150. package/coverage/src/concepts/TriggerLauncher__.ts.html +775 -0
  151. package/coverage/src/concepts/TypeAnnotation__.ts.html +3583 -0
  152. package/coverage/src/concepts/TypeParam__.ts.html +301 -0
  153. package/coverage/src/concepts/UnaryExpression__.ts.html +640 -0
  154. package/coverage/src/concepts/Unparsed__.ts.html +382 -0
  155. package/coverage/src/concepts/UseComponent__.ts.html +331 -0
  156. package/coverage/src/concepts/ValidationRule__.ts.html +1840 -0
  157. package/coverage/src/concepts/Variable__.ts.html +1435 -0
  158. package/coverage/src/concepts/ViewBlock__.ts.html +352 -0
  159. package/coverage/src/concepts/ViewComponent__.ts.html +4180 -0
  160. package/coverage/src/concepts/ViewElement__.ts.html +8557 -0
  161. package/coverage/src/concepts/View__.ts.html +8278 -0
  162. package/coverage/src/concepts/WhileStatement__.ts.html +991 -0
  163. package/coverage/src/concepts/basics/stdlib/index.html +341 -0
  164. package/coverage/src/concepts/basics/stdlib/index.ts.html +208 -0
  165. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +565 -0
  166. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +517 -0
  167. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +226 -0
  168. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +172 -0
  169. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +214 -0
  170. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +145 -0
  171. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +589 -0
  172. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +214 -0
  173. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +229 -0
  174. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +268 -0
  175. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1999 -0
  176. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +3259 -0
  177. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +6787 -0
  178. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1768 -0
  179. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +163 -0
  180. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +121 -0
  181. package/coverage/src/concepts/basics/types/index.html +131 -0
  182. package/coverage/src/concepts/basics/types/index.ts.html +160 -0
  183. package/coverage/src/concepts/index.html +1961 -0
  184. package/coverage/src/concepts/index.ts.html +103 -0
  185. package/coverage/src/concepts/index__.ts.html +451 -0
  186. package/coverage/src/config.ts.html +325 -0
  187. package/coverage/src/decorators/index.html +131 -0
  188. package/coverage/src/decorators/index.ts.html +574 -0
  189. package/coverage/src/decorators/promise.ts.html +169 -0
  190. package/coverage/src/eventBus.ts.html +100 -0
  191. package/coverage/src/generator/compileComponent.ts.html +142 -0
  192. package/coverage/src/generator/genBundleFiles.ts.html +1828 -0
  193. package/coverage/src/generator/genHash.ts.html +124 -0
  194. package/coverage/src/generator/genMetaData.ts.html +1042 -0
  195. package/coverage/src/generator/genReleaseBody.ts.html +1282 -0
  196. package/coverage/src/generator/icestark.ts.html +220 -0
  197. package/coverage/src/generator/index.html +266 -0
  198. package/coverage/src/generator/index.ts.html +106 -0
  199. package/coverage/src/generator/microApp.ts.html +172 -0
  200. package/coverage/src/generator/permission.ts.html +1036 -0
  201. package/coverage/src/generator/qiankun.ts.html +232 -0
  202. package/coverage/src/generator/styleReplacer.ts.html +199 -0
  203. package/coverage/src/index.html +146 -0
  204. package/coverage/src/index.ts.html +121 -0
  205. package/coverage/src/manager/diagnostic.ts.html +442 -0
  206. package/coverage/src/manager/index.html +131 -0
  207. package/coverage/src/manager/stepRecorder.ts.html +457 -0
  208. package/coverage/src/sentry/index.html +116 -0
  209. package/coverage/src/sentry/index.ts.html +676 -0
  210. package/coverage/src/server/createUiTs.ts.html +919 -0
  211. package/coverage/src/server/entity2LogicNamespace.ts.html +1294 -0
  212. package/coverage/src/server/event.js.html +526 -0
  213. package/coverage/src/server/extendBaseNode.ts.html +1762 -0
  214. package/coverage/src/server/formatTsUtils.ts.html +2689 -0
  215. package/coverage/src/server/getConnector.ts.html +316 -0
  216. package/coverage/src/server/getExtensionModules.ts.html +178 -0
  217. package/coverage/src/server/getFunctions.ts.html +133 -0
  218. package/coverage/src/server/getInterfaces.ts.html +229 -0
  219. package/coverage/src/server/getLogging.ts.html +100 -0
  220. package/coverage/src/server/getLogics.ts.html +1363 -0
  221. package/coverage/src/server/getMemberIdentifier.ts.html +1606 -0
  222. package/coverage/src/server/getProcessComponents.ts.html +112 -0
  223. package/coverage/src/server/getProcesses.ts.html +2023 -0
  224. package/coverage/src/server/getValidates.ts.html +115 -0
  225. package/coverage/src/server/index.html +401 -0
  226. package/coverage/src/server/index.ts.html +229 -0
  227. package/coverage/src/server/naslServer.ts.html +14290 -0
  228. package/coverage/src/server/naslStdlibMap.ts.html +241 -0
  229. package/coverage/src/server/process2LogicNamespace.ts.html +454 -0
  230. package/coverage/src/server/translator.ts.html +2566 -0
  231. package/coverage/src/service/creator/add.configs.js.html +379 -0
  232. package/coverage/src/service/creator/errHandles.js.html +322 -0
  233. package/coverage/src/service/creator/index.html +146 -0
  234. package/coverage/src/service/creator/index.js.html +352 -0
  235. package/coverage/src/service/datasource/api.js.html +118 -0
  236. package/coverage/src/service/datasource/index.html +131 -0
  237. package/coverage/src/service/datasource/index.js.html +103 -0
  238. package/coverage/src/service/logic/api.js.html +109 -0
  239. package/coverage/src/service/logic/index.html +131 -0
  240. package/coverage/src/service/logic/index.js.html +103 -0
  241. package/coverage/src/service/storage/api.js.html +202 -0
  242. package/coverage/src/service/storage/index.html +206 -0
  243. package/coverage/src/service/storage/index.ts.html +103 -0
  244. package/coverage/src/service/storage/init.ts.html +2710 -0
  245. package/coverage/src/service/storage/jsoner.ts.html +502 -0
  246. package/coverage/src/service/storage/map.ts.html +256 -0
  247. package/coverage/src/service/storage/service.ts.html +331 -0
  248. package/coverage/src/service/storage/storagePoint.ts.html +304 -0
  249. package/coverage/src/templator/genCallComponentLogic.ts.html +163 -0
  250. package/coverage/src/templator/genCreateBlock.ts.html +1093 -0
  251. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1609 -0
  252. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2254 -0
  253. package/coverage/src/templator/genEditTableBlock.ts.html +955 -0
  254. package/coverage/src/templator/genEnumSelectBlock.ts.html +178 -0
  255. package/coverage/src/templator/genGetBlock.ts.html +451 -0
  256. package/coverage/src/templator/genGridViewBlock.ts.html +1114 -0
  257. package/coverage/src/templator/genListViewBlock.ts.html +475 -0
  258. package/coverage/src/templator/genQueryComponent.ts.html +1207 -0
  259. package/coverage/src/templator/genSelectBlock.ts.html +1243 -0
  260. package/coverage/src/templator/genTableBlock.ts.html +910 -0
  261. package/coverage/src/templator/genUpdateBlock.ts.html +1192 -0
  262. package/coverage/src/templator/index.html +326 -0
  263. package/coverage/src/templator/index.ts.html +154 -0
  264. package/coverage/src/templator/utils.ts.html +1861 -0
  265. package/coverage/src/translator/constant.ts.html +106 -0
  266. package/coverage/src/translator/index.html +146 -0
  267. package/coverage/src/translator/index.ts.html +94 -0
  268. package/coverage/src/translator/utils.ts.html +397 -0
  269. package/coverage/src/utils/cookie.ts.html +265 -0
  270. package/coverage/src/utils/env.ts.html +91 -0
  271. package/coverage/src/utils/index.html +236 -0
  272. package/coverage/src/utils/index.ts.html +655 -0
  273. package/coverage/src/utils/logger.ts.html +145 -0
  274. package/coverage/src/utils/sortTsString.ts.html +187 -0
  275. package/coverage/src/utils/string.ts.html +400 -0
  276. package/coverage/src/utils/time-slicing.ts.html +412 -0
  277. package/coverage/src/utils/traverse.ts.html +568 -0
  278. package/coverage/src/utils/window.ts.html +112 -0
  279. package/out/common/BaseNode.d.ts +22 -11
  280. package/out/common/BaseNode.js +20 -0
  281. package/out/common/BaseNode.js.map +1 -1
  282. package/out/concepts/BinaryExpression__.js +1 -1
  283. package/out/concepts/BinaryExpression__.js.map +1 -1
  284. package/out/concepts/CallLogic__.js +1 -1
  285. package/out/concepts/CallLogic__.js.map +1 -1
  286. package/out/concepts/CallQueryComponent__.js +4 -13
  287. package/out/concepts/CallQueryComponent__.js.map +1 -1
  288. package/out/concepts/ViewElement__.js +21 -0
  289. package/out/concepts/ViewElement__.js.map +1 -1
  290. package/out/concepts/View__.js +7 -2
  291. package/out/concepts/View__.js.map +1 -1
  292. package/out/concepts/types__.d.ts +2 -3
  293. package/out/decorators/index.d.ts +3 -3
  294. package/out/enums/KEYWORDS.js +2 -0
  295. package/out/enums/KEYWORDS.js.map +1 -1
  296. package/out/generator/genMetaData.js +4 -4
  297. package/out/generator/genMetaData.js.map +1 -1
  298. package/out/generator/genReleaseBody.js +2 -2
  299. package/out/generator/genReleaseBody.js.map +1 -1
  300. package/out/generator/permission.js +1 -1
  301. package/out/generator/permission.js.map +1 -1
  302. package/out/natural/transformTSCode.d.ts +2 -2
  303. package/out/server/formatTsUtils.d.ts +3 -3
  304. package/out/server/getMemberIdentifier.d.ts +4 -4
  305. package/out/server/getMemberIdentifier.js +2 -2
  306. package/out/server/getMemberIdentifier.js.map +1 -1
  307. package/out/server/naslServer.js +2 -2
  308. package/out/server/naslServer.js.map +1 -1
  309. package/out/templator/genCurdMultipleKeyBlock.js +2 -1
  310. package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
  311. package/out/translator/utils.js +2 -2
  312. package/out/translator/utils.js.map +1 -1
  313. package/package.json +1 -1
  314. package/sandbox/stdlib/nasl.util.ts +142 -142
  315. package/src/common/BaseNode.ts +45 -23
  316. package/src/concepts/BinaryExpression__.ts +1 -1
  317. package/src/concepts/CallLogic__.ts +1 -1
  318. package/src/concepts/CallQueryComponent__.ts +4 -12
  319. package/src/concepts/ViewElement__.ts +19 -0
  320. package/src/concepts/View__.ts +7 -2
  321. package/src/concepts/types__.ts +2 -4
  322. package/src/decorators/index.ts +4 -4
  323. package/src/enums/KEYWORDS.ts +2 -0
  324. package/src/generator/genMetaData.ts +4 -4
  325. package/src/generator/genReleaseBody.ts +2 -2
  326. package/src/generator/permission.ts +4 -4
  327. package/src/server/formatTsUtils.ts +8 -8
  328. package/src/server/getMemberIdentifier.ts +6 -6
  329. package/src/server/naslServer.ts +4 -4
  330. package/src/service/storage/init.ts +2 -2
  331. package/src/templator/genCurdMultipleKeyBlock.ts +2 -1
  332. package/src/translator/utils.ts +5 -6
@@ -0,0 +1,1819 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/concepts/ForEachStatement__.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/concepts</a> ForEachStatement__.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">9.09% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>16/176</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/80</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/25</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">8.13% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>14/172</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a>
412
+ <a name='L347'></a><a href='#L347'>347</a>
413
+ <a name='L348'></a><a href='#L348'>348</a>
414
+ <a name='L349'></a><a href='#L349'>349</a>
415
+ <a name='L350'></a><a href='#L350'>350</a>
416
+ <a name='L351'></a><a href='#L351'>351</a>
417
+ <a name='L352'></a><a href='#L352'>352</a>
418
+ <a name='L353'></a><a href='#L353'>353</a>
419
+ <a name='L354'></a><a href='#L354'>354</a>
420
+ <a name='L355'></a><a href='#L355'>355</a>
421
+ <a name='L356'></a><a href='#L356'>356</a>
422
+ <a name='L357'></a><a href='#L357'>357</a>
423
+ <a name='L358'></a><a href='#L358'>358</a>
424
+ <a name='L359'></a><a href='#L359'>359</a>
425
+ <a name='L360'></a><a href='#L360'>360</a>
426
+ <a name='L361'></a><a href='#L361'>361</a>
427
+ <a name='L362'></a><a href='#L362'>362</a>
428
+ <a name='L363'></a><a href='#L363'>363</a>
429
+ <a name='L364'></a><a href='#L364'>364</a>
430
+ <a name='L365'></a><a href='#L365'>365</a>
431
+ <a name='L366'></a><a href='#L366'>366</a>
432
+ <a name='L367'></a><a href='#L367'>367</a>
433
+ <a name='L368'></a><a href='#L368'>368</a>
434
+ <a name='L369'></a><a href='#L369'>369</a>
435
+ <a name='L370'></a><a href='#L370'>370</a>
436
+ <a name='L371'></a><a href='#L371'>371</a>
437
+ <a name='L372'></a><a href='#L372'>372</a>
438
+ <a name='L373'></a><a href='#L373'>373</a>
439
+ <a name='L374'></a><a href='#L374'>374</a>
440
+ <a name='L375'></a><a href='#L375'>375</a>
441
+ <a name='L376'></a><a href='#L376'>376</a>
442
+ <a name='L377'></a><a href='#L377'>377</a>
443
+ <a name='L378'></a><a href='#L378'>378</a>
444
+ <a name='L379'></a><a href='#L379'>379</a>
445
+ <a name='L380'></a><a href='#L380'>380</a>
446
+ <a name='L381'></a><a href='#L381'>381</a>
447
+ <a name='L382'></a><a href='#L382'>382</a>
448
+ <a name='L383'></a><a href='#L383'>383</a>
449
+ <a name='L384'></a><a href='#L384'>384</a>
450
+ <a name='L385'></a><a href='#L385'>385</a>
451
+ <a name='L386'></a><a href='#L386'>386</a>
452
+ <a name='L387'></a><a href='#L387'>387</a>
453
+ <a name='L388'></a><a href='#L388'>388</a>
454
+ <a name='L389'></a><a href='#L389'>389</a>
455
+ <a name='L390'></a><a href='#L390'>390</a>
456
+ <a name='L391'></a><a href='#L391'>391</a>
457
+ <a name='L392'></a><a href='#L392'>392</a>
458
+ <a name='L393'></a><a href='#L393'>393</a>
459
+ <a name='L394'></a><a href='#L394'>394</a>
460
+ <a name='L395'></a><a href='#L395'>395</a>
461
+ <a name='L396'></a><a href='#L396'>396</a>
462
+ <a name='L397'></a><a href='#L397'>397</a>
463
+ <a name='L398'></a><a href='#L398'>398</a>
464
+ <a name='L399'></a><a href='#L399'>399</a>
465
+ <a name='L400'></a><a href='#L400'>400</a>
466
+ <a name='L401'></a><a href='#L401'>401</a>
467
+ <a name='L402'></a><a href='#L402'>402</a>
468
+ <a name='L403'></a><a href='#L403'>403</a>
469
+ <a name='L404'></a><a href='#L404'>404</a>
470
+ <a name='L405'></a><a href='#L405'>405</a>
471
+ <a name='L406'></a><a href='#L406'>406</a>
472
+ <a name='L407'></a><a href='#L407'>407</a>
473
+ <a name='L408'></a><a href='#L408'>408</a>
474
+ <a name='L409'></a><a href='#L409'>409</a>
475
+ <a name='L410'></a><a href='#L410'>410</a>
476
+ <a name='L411'></a><a href='#L411'>411</a>
477
+ <a name='L412'></a><a href='#L412'>412</a>
478
+ <a name='L413'></a><a href='#L413'>413</a>
479
+ <a name='L414'></a><a href='#L414'>414</a>
480
+ <a name='L415'></a><a href='#L415'>415</a>
481
+ <a name='L416'></a><a href='#L416'>416</a>
482
+ <a name='L417'></a><a href='#L417'>417</a>
483
+ <a name='L418'></a><a href='#L418'>418</a>
484
+ <a name='L419'></a><a href='#L419'>419</a>
485
+ <a name='L420'></a><a href='#L420'>420</a>
486
+ <a name='L421'></a><a href='#L421'>421</a>
487
+ <a name='L422'></a><a href='#L422'>422</a>
488
+ <a name='L423'></a><a href='#L423'>423</a>
489
+ <a name='L424'></a><a href='#L424'>424</a>
490
+ <a name='L425'></a><a href='#L425'>425</a>
491
+ <a name='L426'></a><a href='#L426'>426</a>
492
+ <a name='L427'></a><a href='#L427'>427</a>
493
+ <a name='L428'></a><a href='#L428'>428</a>
494
+ <a name='L429'></a><a href='#L429'>429</a>
495
+ <a name='L430'></a><a href='#L430'>430</a>
496
+ <a name='L431'></a><a href='#L431'>431</a>
497
+ <a name='L432'></a><a href='#L432'>432</a>
498
+ <a name='L433'></a><a href='#L433'>433</a>
499
+ <a name='L434'></a><a href='#L434'>434</a>
500
+ <a name='L435'></a><a href='#L435'>435</a>
501
+ <a name='L436'></a><a href='#L436'>436</a>
502
+ <a name='L437'></a><a href='#L437'>437</a>
503
+ <a name='L438'></a><a href='#L438'>438</a>
504
+ <a name='L439'></a><a href='#L439'>439</a>
505
+ <a name='L440'></a><a href='#L440'>440</a>
506
+ <a name='L441'></a><a href='#L441'>441</a>
507
+ <a name='L442'></a><a href='#L442'>442</a>
508
+ <a name='L443'></a><a href='#L443'>443</a>
509
+ <a name='L444'></a><a href='#L444'>444</a>
510
+ <a name='L445'></a><a href='#L445'>445</a>
511
+ <a name='L446'></a><a href='#L446'>446</a>
512
+ <a name='L447'></a><a href='#L447'>447</a>
513
+ <a name='L448'></a><a href='#L448'>448</a>
514
+ <a name='L449'></a><a href='#L449'>449</a>
515
+ <a name='L450'></a><a href='#L450'>450</a>
516
+ <a name='L451'></a><a href='#L451'>451</a>
517
+ <a name='L452'></a><a href='#L452'>452</a>
518
+ <a name='L453'></a><a href='#L453'>453</a>
519
+ <a name='L454'></a><a href='#L454'>454</a>
520
+ <a name='L455'></a><a href='#L455'>455</a>
521
+ <a name='L456'></a><a href='#L456'>456</a>
522
+ <a name='L457'></a><a href='#L457'>457</a>
523
+ <a name='L458'></a><a href='#L458'>458</a>
524
+ <a name='L459'></a><a href='#L459'>459</a>
525
+ <a name='L460'></a><a href='#L460'>460</a>
526
+ <a name='L461'></a><a href='#L461'>461</a>
527
+ <a name='L462'></a><a href='#L462'>462</a>
528
+ <a name='L463'></a><a href='#L463'>463</a>
529
+ <a name='L464'></a><a href='#L464'>464</a>
530
+ <a name='L465'></a><a href='#L465'>465</a>
531
+ <a name='L466'></a><a href='#L466'>466</a>
532
+ <a name='L467'></a><a href='#L467'>467</a>
533
+ <a name='L468'></a><a href='#L468'>468</a>
534
+ <a name='L469'></a><a href='#L469'>469</a>
535
+ <a name='L470'></a><a href='#L470'>470</a>
536
+ <a name='L471'></a><a href='#L471'>471</a>
537
+ <a name='L472'></a><a href='#L472'>472</a>
538
+ <a name='L473'></a><a href='#L473'>473</a>
539
+ <a name='L474'></a><a href='#L474'>474</a>
540
+ <a name='L475'></a><a href='#L475'>475</a>
541
+ <a name='L476'></a><a href='#L476'>476</a>
542
+ <a name='L477'></a><a href='#L477'>477</a>
543
+ <a name='L478'></a><a href='#L478'>478</a>
544
+ <a name='L479'></a><a href='#L479'>479</a>
545
+ <a name='L480'></a><a href='#L480'>480</a>
546
+ <a name='L481'></a><a href='#L481'>481</a>
547
+ <a name='L482'></a><a href='#L482'>482</a>
548
+ <a name='L483'></a><a href='#L483'>483</a>
549
+ <a name='L484'></a><a href='#L484'>484</a>
550
+ <a name='L485'></a><a href='#L485'>485</a>
551
+ <a name='L486'></a><a href='#L486'>486</a>
552
+ <a name='L487'></a><a href='#L487'>487</a>
553
+ <a name='L488'></a><a href='#L488'>488</a>
554
+ <a name='L489'></a><a href='#L489'>489</a>
555
+ <a name='L490'></a><a href='#L490'>490</a>
556
+ <a name='L491'></a><a href='#L491'>491</a>
557
+ <a name='L492'></a><a href='#L492'>492</a>
558
+ <a name='L493'></a><a href='#L493'>493</a>
559
+ <a name='L494'></a><a href='#L494'>494</a>
560
+ <a name='L495'></a><a href='#L495'>495</a>
561
+ <a name='L496'></a><a href='#L496'>496</a>
562
+ <a name='L497'></a><a href='#L497'>497</a>
563
+ <a name='L498'></a><a href='#L498'>498</a>
564
+ <a name='L499'></a><a href='#L499'>499</a>
565
+ <a name='L500'></a><a href='#L500'>500</a>
566
+ <a name='L501'></a><a href='#L501'>501</a>
567
+ <a name='L502'></a><a href='#L502'>502</a>
568
+ <a name='L503'></a><a href='#L503'>503</a>
569
+ <a name='L504'></a><a href='#L504'>504</a>
570
+ <a name='L505'></a><a href='#L505'>505</a>
571
+ <a name='L506'></a><a href='#L506'>506</a>
572
+ <a name='L507'></a><a href='#L507'>507</a>
573
+ <a name='L508'></a><a href='#L508'>508</a>
574
+ <a name='L509'></a><a href='#L509'>509</a>
575
+ <a name='L510'></a><a href='#L510'>510</a>
576
+ <a name='L511'></a><a href='#L511'>511</a>
577
+ <a name='L512'></a><a href='#L512'>512</a>
578
+ <a name='L513'></a><a href='#L513'>513</a>
579
+ <a name='L514'></a><a href='#L514'>514</a>
580
+ <a name='L515'></a><a href='#L515'>515</a>
581
+ <a name='L516'></a><a href='#L516'>516</a>
582
+ <a name='L517'></a><a href='#L517'>517</a>
583
+ <a name='L518'></a><a href='#L518'>518</a>
584
+ <a name='L519'></a><a href='#L519'>519</a>
585
+ <a name='L520'></a><a href='#L520'>520</a>
586
+ <a name='L521'></a><a href='#L521'>521</a>
587
+ <a name='L522'></a><a href='#L522'>522</a>
588
+ <a name='L523'></a><a href='#L523'>523</a>
589
+ <a name='L524'></a><a href='#L524'>524</a>
590
+ <a name='L525'></a><a href='#L525'>525</a>
591
+ <a name='L526'></a><a href='#L526'>526</a>
592
+ <a name='L527'></a><a href='#L527'>527</a>
593
+ <a name='L528'></a><a href='#L528'>528</a>
594
+ <a name='L529'></a><a href='#L529'>529</a>
595
+ <a name='L530'></a><a href='#L530'>530</a>
596
+ <a name='L531'></a><a href='#L531'>531</a>
597
+ <a name='L532'></a><a href='#L532'>532</a>
598
+ <a name='L533'></a><a href='#L533'>533</a>
599
+ <a name='L534'></a><a href='#L534'>534</a>
600
+ <a name='L535'></a><a href='#L535'>535</a>
601
+ <a name='L536'></a><a href='#L536'>536</a>
602
+ <a name='L537'></a><a href='#L537'>537</a>
603
+ <a name='L538'></a><a href='#L538'>538</a>
604
+ <a name='L539'></a><a href='#L539'>539</a>
605
+ <a name='L540'></a><a href='#L540'>540</a>
606
+ <a name='L541'></a><a href='#L541'>541</a>
607
+ <a name='L542'></a><a href='#L542'>542</a>
608
+ <a name='L543'></a><a href='#L543'>543</a>
609
+ <a name='L544'></a><a href='#L544'>544</a>
610
+ <a name='L545'></a><a href='#L545'>545</a>
611
+ <a name='L546'></a><a href='#L546'>546</a>
612
+ <a name='L547'></a><a href='#L547'>547</a>
613
+ <a name='L548'></a><a href='#L548'>548</a>
614
+ <a name='L549'></a><a href='#L549'>549</a>
615
+ <a name='L550'></a><a href='#L550'>550</a>
616
+ <a name='L551'></a><a href='#L551'>551</a>
617
+ <a name='L552'></a><a href='#L552'>552</a>
618
+ <a name='L553'></a><a href='#L553'>553</a>
619
+ <a name='L554'></a><a href='#L554'>554</a>
620
+ <a name='L555'></a><a href='#L555'>555</a>
621
+ <a name='L556'></a><a href='#L556'>556</a>
622
+ <a name='L557'></a><a href='#L557'>557</a>
623
+ <a name='L558'></a><a href='#L558'>558</a>
624
+ <a name='L559'></a><a href='#L559'>559</a>
625
+ <a name='L560'></a><a href='#L560'>560</a>
626
+ <a name='L561'></a><a href='#L561'>561</a>
627
+ <a name='L562'></a><a href='#L562'>562</a>
628
+ <a name='L563'></a><a href='#L563'>563</a>
629
+ <a name='L564'></a><a href='#L564'>564</a>
630
+ <a name='L565'></a><a href='#L565'>565</a>
631
+ <a name='L566'></a><a href='#L566'>566</a>
632
+ <a name='L567'></a><a href='#L567'>567</a>
633
+ <a name='L568'></a><a href='#L568'>568</a>
634
+ <a name='L569'></a><a href='#L569'>569</a>
635
+ <a name='L570'></a><a href='#L570'>570</a>
636
+ <a name='L571'></a><a href='#L571'>571</a>
637
+ <a name='L572'></a><a href='#L572'>572</a>
638
+ <a name='L573'></a><a href='#L573'>573</a>
639
+ <a name='L574'></a><a href='#L574'>574</a>
640
+ <a name='L575'></a><a href='#L575'>575</a>
641
+ <a name='L576'></a><a href='#L576'>576</a>
642
+ <a name='L577'></a><a href='#L577'>577</a>
643
+ <a name='L578'></a><a href='#L578'>578</a>
644
+ <a name='L579'></a><a href='#L579'>579</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
645
+ <span class="cline-any cline-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-neutral">&nbsp;</span>
649
+ <span class="cline-any cline-neutral">&nbsp;</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-yes">1x</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-yes">1x</span>
657
+ <span class="cline-any cline-neutral">&nbsp;</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-yes">1x</span>
660
+ <span class="cline-any cline-neutral">&nbsp;</span>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-neutral">&nbsp;</span>
663
+ <span class="cline-any cline-neutral">&nbsp;</span>
664
+ <span class="cline-any cline-neutral">&nbsp;</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-neutral">&nbsp;</span>
667
+ <span class="cline-any cline-neutral">&nbsp;</span>
668
+ <span class="cline-any cline-yes">1x</span>
669
+ <span class="cline-any cline-neutral">&nbsp;</span>
670
+ <span class="cline-any cline-yes">1x</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
672
+ <span class="cline-any cline-neutral">&nbsp;</span>
673
+ <span class="cline-any cline-neutral">&nbsp;</span>
674
+ <span class="cline-any cline-neutral">&nbsp;</span>
675
+ <span class="cline-any cline-neutral">&nbsp;</span>
676
+ <span class="cline-any cline-neutral">&nbsp;</span>
677
+ <span class="cline-any cline-neutral">&nbsp;</span>
678
+ <span class="cline-any cline-neutral">&nbsp;</span>
679
+ <span class="cline-any cline-neutral">&nbsp;</span>
680
+ <span class="cline-any cline-neutral">&nbsp;</span>
681
+ <span class="cline-any cline-neutral">&nbsp;</span>
682
+ <span class="cline-any cline-neutral">&nbsp;</span>
683
+ <span class="cline-any cline-yes">1x</span>
684
+ <span class="cline-any cline-neutral">&nbsp;</span>
685
+ <span class="cline-any cline-neutral">&nbsp;</span>
686
+ <span class="cline-any cline-neutral">&nbsp;</span>
687
+ <span class="cline-any cline-neutral">&nbsp;</span>
688
+ <span class="cline-any cline-neutral">&nbsp;</span>
689
+ <span class="cline-any cline-neutral">&nbsp;</span>
690
+ <span class="cline-any cline-yes">1x</span>
691
+ <span class="cline-any cline-neutral">&nbsp;</span>
692
+ <span class="cline-any cline-neutral">&nbsp;</span>
693
+ <span class="cline-any cline-neutral">&nbsp;</span>
694
+ <span class="cline-any cline-neutral">&nbsp;</span>
695
+ <span class="cline-any cline-neutral">&nbsp;</span>
696
+ <span class="cline-any cline-neutral">&nbsp;</span>
697
+ <span class="cline-any cline-yes">1x</span>
698
+ <span class="cline-any cline-neutral">&nbsp;</span>
699
+ <span class="cline-any cline-neutral">&nbsp;</span>
700
+ <span class="cline-any cline-neutral">&nbsp;</span>
701
+ <span class="cline-any cline-neutral">&nbsp;</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-neutral">&nbsp;</span>
704
+ <span class="cline-any cline-yes">1x</span>
705
+ <span class="cline-any cline-neutral">&nbsp;</span>
706
+ <span class="cline-any cline-neutral">&nbsp;</span>
707
+ <span class="cline-any cline-neutral">&nbsp;</span>
708
+ <span class="cline-any cline-neutral">&nbsp;</span>
709
+ <span class="cline-any cline-neutral">&nbsp;</span>
710
+ <span class="cline-any cline-neutral">&nbsp;</span>
711
+ <span class="cline-any cline-yes">1x</span>
712
+ <span class="cline-any cline-neutral">&nbsp;</span>
713
+ <span class="cline-any cline-neutral">&nbsp;</span>
714
+ <span class="cline-any cline-neutral">&nbsp;</span>
715
+ <span class="cline-any cline-neutral">&nbsp;</span>
716
+ <span class="cline-any cline-neutral">&nbsp;</span>
717
+ <span class="cline-any cline-yes">1x</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
719
+ <span class="cline-any cline-neutral">&nbsp;</span>
720
+ <span class="cline-any cline-neutral">&nbsp;</span>
721
+ <span class="cline-any cline-neutral">&nbsp;</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-no">&nbsp;</span>
724
+ <span class="cline-any cline-no">&nbsp;</span>
725
+ <span class="cline-any cline-no">&nbsp;</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
727
+ <span class="cline-any cline-neutral">&nbsp;</span>
728
+ <span class="cline-any cline-neutral">&nbsp;</span>
729
+ <span class="cline-any cline-no">&nbsp;</span>
730
+ <span class="cline-any cline-neutral">&nbsp;</span>
731
+ <span class="cline-any cline-neutral">&nbsp;</span>
732
+ <span class="cline-any cline-neutral">&nbsp;</span>
733
+ <span class="cline-any cline-neutral">&nbsp;</span>
734
+ <span class="cline-any cline-neutral">&nbsp;</span>
735
+ <span class="cline-any cline-neutral">&nbsp;</span>
736
+ <span class="cline-any cline-no">&nbsp;</span>
737
+ <span class="cline-any cline-no">&nbsp;</span>
738
+ <span class="cline-any cline-no">&nbsp;</span>
739
+ <span class="cline-any cline-no">&nbsp;</span>
740
+ <span class="cline-any cline-neutral">&nbsp;</span>
741
+ <span class="cline-any cline-neutral">&nbsp;</span>
742
+ <span class="cline-any cline-no">&nbsp;</span>
743
+ <span class="cline-any cline-neutral">&nbsp;</span>
744
+ <span class="cline-any cline-neutral">&nbsp;</span>
745
+ <span class="cline-any cline-neutral">&nbsp;</span>
746
+ <span class="cline-any cline-neutral">&nbsp;</span>
747
+ <span class="cline-any cline-neutral">&nbsp;</span>
748
+ <span class="cline-any cline-neutral">&nbsp;</span>
749
+ <span class="cline-any cline-neutral">&nbsp;</span>
750
+ <span class="cline-any cline-neutral">&nbsp;</span>
751
+ <span class="cline-any cline-no">&nbsp;</span>
752
+ <span class="cline-any cline-no">&nbsp;</span>
753
+ <span class="cline-any cline-no">&nbsp;</span>
754
+ <span class="cline-any cline-no">&nbsp;</span>
755
+ <span class="cline-any cline-neutral">&nbsp;</span>
756
+ <span class="cline-any cline-neutral">&nbsp;</span>
757
+ <span class="cline-any cline-no">&nbsp;</span>
758
+ <span class="cline-any cline-neutral">&nbsp;</span>
759
+ <span class="cline-any cline-neutral">&nbsp;</span>
760
+ <span class="cline-any cline-neutral">&nbsp;</span>
761
+ <span class="cline-any cline-neutral">&nbsp;</span>
762
+ <span class="cline-any cline-neutral">&nbsp;</span>
763
+ <span class="cline-any cline-neutral">&nbsp;</span>
764
+ <span class="cline-any cline-neutral">&nbsp;</span>
765
+ <span class="cline-any cline-neutral">&nbsp;</span>
766
+ <span class="cline-any cline-no">&nbsp;</span>
767
+ <span class="cline-any cline-no">&nbsp;</span>
768
+ <span class="cline-any cline-no">&nbsp;</span>
769
+ <span class="cline-any cline-no">&nbsp;</span>
770
+ <span class="cline-any cline-neutral">&nbsp;</span>
771
+ <span class="cline-any cline-neutral">&nbsp;</span>
772
+ <span class="cline-any cline-no">&nbsp;</span>
773
+ <span class="cline-any cline-neutral">&nbsp;</span>
774
+ <span class="cline-any cline-neutral">&nbsp;</span>
775
+ <span class="cline-any cline-neutral">&nbsp;</span>
776
+ <span class="cline-any cline-neutral">&nbsp;</span>
777
+ <span class="cline-any cline-neutral">&nbsp;</span>
778
+ <span class="cline-any cline-neutral">&nbsp;</span>
779
+ <span class="cline-any cline-neutral">&nbsp;</span>
780
+ <span class="cline-any cline-neutral">&nbsp;</span>
781
+ <span class="cline-any cline-no">&nbsp;</span>
782
+ <span class="cline-any cline-no">&nbsp;</span>
783
+ <span class="cline-any cline-no">&nbsp;</span>
784
+ <span class="cline-any cline-no">&nbsp;</span>
785
+ <span class="cline-any cline-neutral">&nbsp;</span>
786
+ <span class="cline-any cline-neutral">&nbsp;</span>
787
+ <span class="cline-any cline-no">&nbsp;</span>
788
+ <span class="cline-any cline-neutral">&nbsp;</span>
789
+ <span class="cline-any cline-neutral">&nbsp;</span>
790
+ <span class="cline-any cline-neutral">&nbsp;</span>
791
+ <span class="cline-any cline-neutral">&nbsp;</span>
792
+ <span class="cline-any cline-neutral">&nbsp;</span>
793
+ <span class="cline-any cline-neutral">&nbsp;</span>
794
+ <span class="cline-any cline-neutral">&nbsp;</span>
795
+ <span class="cline-any cline-neutral">&nbsp;</span>
796
+ <span class="cline-any cline-no">&nbsp;</span>
797
+ <span class="cline-any cline-no">&nbsp;</span>
798
+ <span class="cline-any cline-no">&nbsp;</span>
799
+ <span class="cline-any cline-no">&nbsp;</span>
800
+ <span class="cline-any cline-neutral">&nbsp;</span>
801
+ <span class="cline-any cline-neutral">&nbsp;</span>
802
+ <span class="cline-any cline-no">&nbsp;</span>
803
+ <span class="cline-any cline-neutral">&nbsp;</span>
804
+ <span class="cline-any cline-neutral">&nbsp;</span>
805
+ <span class="cline-any cline-neutral">&nbsp;</span>
806
+ <span class="cline-any cline-neutral">&nbsp;</span>
807
+ <span class="cline-any cline-neutral">&nbsp;</span>
808
+ <span class="cline-any cline-neutral">&nbsp;</span>
809
+ <span class="cline-any cline-neutral">&nbsp;</span>
810
+ <span class="cline-any cline-neutral">&nbsp;</span>
811
+ <span class="cline-any cline-neutral">&nbsp;</span>
812
+ <span class="cline-any cline-neutral">&nbsp;</span>
813
+ <span class="cline-any cline-neutral">&nbsp;</span>
814
+ <span class="cline-any cline-neutral">&nbsp;</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-neutral">&nbsp;</span>
817
+ <span class="cline-any cline-neutral">&nbsp;</span>
818
+ <span class="cline-any cline-neutral">&nbsp;</span>
819
+ <span class="cline-any cline-neutral">&nbsp;</span>
820
+ <span class="cline-any cline-neutral">&nbsp;</span>
821
+ <span class="cline-any cline-neutral">&nbsp;</span>
822
+ <span class="cline-any cline-no">&nbsp;</span>
823
+ <span class="cline-any cline-no">&nbsp;</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-no">&nbsp;</span>
826
+ <span class="cline-any cline-no">&nbsp;</span>
827
+ <span class="cline-any cline-no">&nbsp;</span>
828
+ <span class="cline-any cline-no">&nbsp;</span>
829
+ <span class="cline-any cline-neutral">&nbsp;</span>
830
+ <span class="cline-any cline-no">&nbsp;</span>
831
+ <span class="cline-any cline-neutral">&nbsp;</span>
832
+ <span class="cline-any cline-neutral">&nbsp;</span>
833
+ <span class="cline-any cline-neutral">&nbsp;</span>
834
+ <span class="cline-any cline-neutral">&nbsp;</span>
835
+ <span class="cline-any cline-neutral">&nbsp;</span>
836
+ <span class="cline-any cline-neutral">&nbsp;</span>
837
+ <span class="cline-any cline-neutral">&nbsp;</span>
838
+ <span class="cline-any cline-neutral">&nbsp;</span>
839
+ <span class="cline-any cline-no">&nbsp;</span>
840
+ <span class="cline-any cline-no">&nbsp;</span>
841
+ <span class="cline-any cline-neutral">&nbsp;</span>
842
+ <span class="cline-any cline-neutral">&nbsp;</span>
843
+ <span class="cline-any cline-neutral">&nbsp;</span>
844
+ <span class="cline-any cline-neutral">&nbsp;</span>
845
+ <span class="cline-any cline-neutral">&nbsp;</span>
846
+ <span class="cline-any cline-neutral">&nbsp;</span>
847
+ <span class="cline-any cline-neutral">&nbsp;</span>
848
+ <span class="cline-any cline-neutral">&nbsp;</span>
849
+ <span class="cline-any cline-neutral">&nbsp;</span>
850
+ <span class="cline-any cline-neutral">&nbsp;</span>
851
+ <span class="cline-any cline-neutral">&nbsp;</span>
852
+ <span class="cline-any cline-neutral">&nbsp;</span>
853
+ <span class="cline-any cline-neutral">&nbsp;</span>
854
+ <span class="cline-any cline-neutral">&nbsp;</span>
855
+ <span class="cline-any cline-neutral">&nbsp;</span>
856
+ <span class="cline-any cline-no">&nbsp;</span>
857
+ <span class="cline-any cline-no">&nbsp;</span>
858
+ <span class="cline-any cline-neutral">&nbsp;</span>
859
+ <span class="cline-any cline-neutral">&nbsp;</span>
860
+ <span class="cline-any cline-neutral">&nbsp;</span>
861
+ <span class="cline-any cline-neutral">&nbsp;</span>
862
+ <span class="cline-any cline-no">&nbsp;</span>
863
+ <span class="cline-any cline-neutral">&nbsp;</span>
864
+ <span class="cline-any cline-neutral">&nbsp;</span>
865
+ <span class="cline-any cline-neutral">&nbsp;</span>
866
+ <span class="cline-any cline-neutral">&nbsp;</span>
867
+ <span class="cline-any cline-neutral">&nbsp;</span>
868
+ <span class="cline-any cline-neutral">&nbsp;</span>
869
+ <span class="cline-any cline-neutral">&nbsp;</span>
870
+ <span class="cline-any cline-neutral">&nbsp;</span>
871
+ <span class="cline-any cline-neutral">&nbsp;</span>
872
+ <span class="cline-any cline-neutral">&nbsp;</span>
873
+ <span class="cline-any cline-neutral">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-neutral">&nbsp;</span>
876
+ <span class="cline-any cline-neutral">&nbsp;</span>
877
+ <span class="cline-any cline-neutral">&nbsp;</span>
878
+ <span class="cline-any cline-neutral">&nbsp;</span>
879
+ <span class="cline-any cline-neutral">&nbsp;</span>
880
+ <span class="cline-any cline-no">&nbsp;</span>
881
+ <span class="cline-any cline-no">&nbsp;</span>
882
+ <span class="cline-any cline-neutral">&nbsp;</span>
883
+ <span class="cline-any cline-neutral">&nbsp;</span>
884
+ <span class="cline-any cline-neutral">&nbsp;</span>
885
+ <span class="cline-any cline-neutral">&nbsp;</span>
886
+ <span class="cline-any cline-neutral">&nbsp;</span>
887
+ <span class="cline-any cline-neutral">&nbsp;</span>
888
+ <span class="cline-any cline-neutral">&nbsp;</span>
889
+ <span class="cline-any cline-neutral">&nbsp;</span>
890
+ <span class="cline-any cline-neutral">&nbsp;</span>
891
+ <span class="cline-any cline-neutral">&nbsp;</span>
892
+ <span class="cline-any cline-neutral">&nbsp;</span>
893
+ <span class="cline-any cline-neutral">&nbsp;</span>
894
+ <span class="cline-any cline-neutral">&nbsp;</span>
895
+ <span class="cline-any cline-neutral">&nbsp;</span>
896
+ <span class="cline-any cline-neutral">&nbsp;</span>
897
+ <span class="cline-any cline-no">&nbsp;</span>
898
+ <span class="cline-any cline-no">&nbsp;</span>
899
+ <span class="cline-any cline-no">&nbsp;</span>
900
+ <span class="cline-any cline-neutral">&nbsp;</span>
901
+ <span class="cline-any cline-neutral">&nbsp;</span>
902
+ <span class="cline-any cline-neutral">&nbsp;</span>
903
+ <span class="cline-any cline-neutral">&nbsp;</span>
904
+ <span class="cline-any cline-no">&nbsp;</span>
905
+ <span class="cline-any cline-neutral">&nbsp;</span>
906
+ <span class="cline-any cline-neutral">&nbsp;</span>
907
+ <span class="cline-any cline-neutral">&nbsp;</span>
908
+ <span class="cline-any cline-neutral">&nbsp;</span>
909
+ <span class="cline-any cline-neutral">&nbsp;</span>
910
+ <span class="cline-any cline-neutral">&nbsp;</span>
911
+ <span class="cline-any cline-neutral">&nbsp;</span>
912
+ <span class="cline-any cline-neutral">&nbsp;</span>
913
+ <span class="cline-any cline-neutral">&nbsp;</span>
914
+ <span class="cline-any cline-neutral">&nbsp;</span>
915
+ <span class="cline-any cline-neutral">&nbsp;</span>
916
+ <span class="cline-any cline-neutral">&nbsp;</span>
917
+ <span class="cline-any cline-neutral">&nbsp;</span>
918
+ <span class="cline-any cline-neutral">&nbsp;</span>
919
+ <span class="cline-any cline-neutral">&nbsp;</span>
920
+ <span class="cline-any cline-neutral">&nbsp;</span>
921
+ <span class="cline-any cline-no">&nbsp;</span>
922
+ <span class="cline-any cline-no">&nbsp;</span>
923
+ <span class="cline-any cline-no">&nbsp;</span>
924
+ <span class="cline-any cline-no">&nbsp;</span>
925
+ <span class="cline-any cline-neutral">&nbsp;</span>
926
+ <span class="cline-any cline-neutral">&nbsp;</span>
927
+ <span class="cline-any cline-no">&nbsp;</span>
928
+ <span class="cline-any cline-neutral">&nbsp;</span>
929
+ <span class="cline-any cline-no">&nbsp;</span>
930
+ <span class="cline-any cline-neutral">&nbsp;</span>
931
+ <span class="cline-any cline-neutral">&nbsp;</span>
932
+ <span class="cline-any cline-neutral">&nbsp;</span>
933
+ <span class="cline-any cline-neutral">&nbsp;</span>
934
+ <span class="cline-any cline-neutral">&nbsp;</span>
935
+ <span class="cline-any cline-neutral">&nbsp;</span>
936
+ <span class="cline-any cline-neutral">&nbsp;</span>
937
+ <span class="cline-any cline-neutral">&nbsp;</span>
938
+ <span class="cline-any cline-neutral">&nbsp;</span>
939
+ <span class="cline-any cline-neutral">&nbsp;</span>
940
+ <span class="cline-any cline-neutral">&nbsp;</span>
941
+ <span class="cline-any cline-neutral">&nbsp;</span>
942
+ <span class="cline-any cline-neutral">&nbsp;</span>
943
+ <span class="cline-any cline-neutral">&nbsp;</span>
944
+ <span class="cline-any cline-neutral">&nbsp;</span>
945
+ <span class="cline-any cline-neutral">&nbsp;</span>
946
+ <span class="cline-any cline-no">&nbsp;</span>
947
+ <span class="cline-any cline-no">&nbsp;</span>
948
+ <span class="cline-any cline-no">&nbsp;</span>
949
+ <span class="cline-any cline-no">&nbsp;</span>
950
+ <span class="cline-any cline-neutral">&nbsp;</span>
951
+ <span class="cline-any cline-neutral">&nbsp;</span>
952
+ <span class="cline-any cline-no">&nbsp;</span>
953
+ <span class="cline-any cline-neutral">&nbsp;</span>
954
+ <span class="cline-any cline-no">&nbsp;</span>
955
+ <span class="cline-any cline-neutral">&nbsp;</span>
956
+ <span class="cline-any cline-neutral">&nbsp;</span>
957
+ <span class="cline-any cline-neutral">&nbsp;</span>
958
+ <span class="cline-any cline-neutral">&nbsp;</span>
959
+ <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-neutral">&nbsp;</span>
961
+ <span class="cline-any cline-neutral">&nbsp;</span>
962
+ <span class="cline-any cline-neutral">&nbsp;</span>
963
+ <span class="cline-any cline-neutral">&nbsp;</span>
964
+ <span class="cline-any cline-neutral">&nbsp;</span>
965
+ <span class="cline-any cline-neutral">&nbsp;</span>
966
+ <span class="cline-any cline-neutral">&nbsp;</span>
967
+ <span class="cline-any cline-neutral">&nbsp;</span>
968
+ <span class="cline-any cline-neutral">&nbsp;</span>
969
+ <span class="cline-any cline-neutral">&nbsp;</span>
970
+ <span class="cline-any cline-neutral">&nbsp;</span>
971
+ <span class="cline-any cline-no">&nbsp;</span>
972
+ <span class="cline-any cline-no">&nbsp;</span>
973
+ <span class="cline-any cline-no">&nbsp;</span>
974
+ <span class="cline-any cline-no">&nbsp;</span>
975
+ <span class="cline-any cline-neutral">&nbsp;</span>
976
+ <span class="cline-any cline-neutral">&nbsp;</span>
977
+ <span class="cline-any cline-no">&nbsp;</span>
978
+ <span class="cline-any cline-neutral">&nbsp;</span>
979
+ <span class="cline-any cline-no">&nbsp;</span>
980
+ <span class="cline-any cline-neutral">&nbsp;</span>
981
+ <span class="cline-any cline-neutral">&nbsp;</span>
982
+ <span class="cline-any cline-neutral">&nbsp;</span>
983
+ <span class="cline-any cline-neutral">&nbsp;</span>
984
+ <span class="cline-any cline-neutral">&nbsp;</span>
985
+ <span class="cline-any cline-neutral">&nbsp;</span>
986
+ <span class="cline-any cline-neutral">&nbsp;</span>
987
+ <span class="cline-any cline-neutral">&nbsp;</span>
988
+ <span class="cline-any cline-neutral">&nbsp;</span>
989
+ <span class="cline-any cline-no">&nbsp;</span>
990
+ <span class="cline-any cline-no">&nbsp;</span>
991
+ <span class="cline-any cline-neutral">&nbsp;</span>
992
+ <span class="cline-any cline-neutral">&nbsp;</span>
993
+ <span class="cline-any cline-neutral">&nbsp;</span>
994
+ <span class="cline-any cline-no">&nbsp;</span>
995
+ <span class="cline-any cline-no">&nbsp;</span>
996
+ <span class="cline-any cline-neutral">&nbsp;</span>
997
+ <span class="cline-any cline-neutral">&nbsp;</span>
998
+ <span class="cline-any cline-neutral">&nbsp;</span>
999
+ <span class="cline-any cline-neutral">&nbsp;</span>
1000
+ <span class="cline-any cline-neutral">&nbsp;</span>
1001
+ <span class="cline-any cline-neutral">&nbsp;</span>
1002
+ <span class="cline-any cline-no">&nbsp;</span>
1003
+ <span class="cline-any cline-no">&nbsp;</span>
1004
+ <span class="cline-any cline-no">&nbsp;</span>
1005
+ <span class="cline-any cline-no">&nbsp;</span>
1006
+ <span class="cline-any cline-no">&nbsp;</span>
1007
+ <span class="cline-any cline-no">&nbsp;</span>
1008
+ <span class="cline-any cline-no">&nbsp;</span>
1009
+ <span class="cline-any cline-no">&nbsp;</span>
1010
+ <span class="cline-any cline-no">&nbsp;</span>
1011
+ <span class="cline-any cline-neutral">&nbsp;</span>
1012
+ <span class="cline-any cline-neutral">&nbsp;</span>
1013
+ <span class="cline-any cline-no">&nbsp;</span>
1014
+ <span class="cline-any cline-neutral">&nbsp;</span>
1015
+ <span class="cline-any cline-neutral">&nbsp;</span>
1016
+ <span class="cline-any cline-neutral">&nbsp;</span>
1017
+ <span class="cline-any cline-neutral">&nbsp;</span>
1018
+ <span class="cline-any cline-neutral">&nbsp;</span>
1019
+ <span class="cline-any cline-neutral">&nbsp;</span>
1020
+ <span class="cline-any cline-neutral">&nbsp;</span>
1021
+ <span class="cline-any cline-neutral">&nbsp;</span>
1022
+ <span class="cline-any cline-neutral">&nbsp;</span>
1023
+ <span class="cline-any cline-neutral">&nbsp;</span>
1024
+ <span class="cline-any cline-neutral">&nbsp;</span>
1025
+ <span class="cline-any cline-neutral">&nbsp;</span>
1026
+ <span class="cline-any cline-neutral">&nbsp;</span>
1027
+ <span class="cline-any cline-neutral">&nbsp;</span>
1028
+ <span class="cline-any cline-neutral">&nbsp;</span>
1029
+ <span class="cline-any cline-neutral">&nbsp;</span>
1030
+ <span class="cline-any cline-no">&nbsp;</span>
1031
+ <span class="cline-any cline-no">&nbsp;</span>
1032
+ <span class="cline-any cline-no">&nbsp;</span>
1033
+ <span class="cline-any cline-no">&nbsp;</span>
1034
+ <span class="cline-any cline-neutral">&nbsp;</span>
1035
+ <span class="cline-any cline-neutral">&nbsp;</span>
1036
+ <span class="cline-any cline-no">&nbsp;</span>
1037
+ <span class="cline-any cline-neutral">&nbsp;</span>
1038
+ <span class="cline-any cline-no">&nbsp;</span>
1039
+ <span class="cline-any cline-neutral">&nbsp;</span>
1040
+ <span class="cline-any cline-neutral">&nbsp;</span>
1041
+ <span class="cline-any cline-neutral">&nbsp;</span>
1042
+ <span class="cline-any cline-neutral">&nbsp;</span>
1043
+ <span class="cline-any cline-neutral">&nbsp;</span>
1044
+ <span class="cline-any cline-neutral">&nbsp;</span>
1045
+ <span class="cline-any cline-neutral">&nbsp;</span>
1046
+ <span class="cline-any cline-neutral">&nbsp;</span>
1047
+ <span class="cline-any cline-neutral">&nbsp;</span>
1048
+ <span class="cline-any cline-neutral">&nbsp;</span>
1049
+ <span class="cline-any cline-neutral">&nbsp;</span>
1050
+ <span class="cline-any cline-neutral">&nbsp;</span>
1051
+ <span class="cline-any cline-neutral">&nbsp;</span>
1052
+ <span class="cline-any cline-neutral">&nbsp;</span>
1053
+ <span class="cline-any cline-neutral">&nbsp;</span>
1054
+ <span class="cline-any cline-neutral">&nbsp;</span>
1055
+ <span class="cline-any cline-no">&nbsp;</span>
1056
+ <span class="cline-any cline-no">&nbsp;</span>
1057
+ <span class="cline-any cline-no">&nbsp;</span>
1058
+ <span class="cline-any cline-no">&nbsp;</span>
1059
+ <span class="cline-any cline-neutral">&nbsp;</span>
1060
+ <span class="cline-any cline-neutral">&nbsp;</span>
1061
+ <span class="cline-any cline-no">&nbsp;</span>
1062
+ <span class="cline-any cline-neutral">&nbsp;</span>
1063
+ <span class="cline-any cline-no">&nbsp;</span>
1064
+ <span class="cline-any cline-neutral">&nbsp;</span>
1065
+ <span class="cline-any cline-neutral">&nbsp;</span>
1066
+ <span class="cline-any cline-neutral">&nbsp;</span>
1067
+ <span class="cline-any cline-no">&nbsp;</span>
1068
+ <span class="cline-any cline-no">&nbsp;</span>
1069
+ <span class="cline-any cline-neutral">&nbsp;</span>
1070
+ <span class="cline-any cline-neutral">&nbsp;</span>
1071
+ <span class="cline-any cline-neutral">&nbsp;</span>
1072
+ <span class="cline-any cline-neutral">&nbsp;</span>
1073
+ <span class="cline-any cline-neutral">&nbsp;</span>
1074
+ <span class="cline-any cline-neutral">&nbsp;</span>
1075
+ <span class="cline-any cline-no">&nbsp;</span>
1076
+ <span class="cline-any cline-no">&nbsp;</span>
1077
+ <span class="cline-any cline-no">&nbsp;</span>
1078
+ <span class="cline-any cline-no">&nbsp;</span>
1079
+ <span class="cline-any cline-no">&nbsp;</span>
1080
+ <span class="cline-any cline-no">&nbsp;</span>
1081
+ <span class="cline-any cline-no">&nbsp;</span>
1082
+ <span class="cline-any cline-no">&nbsp;</span>
1083
+ <span class="cline-any cline-no">&nbsp;</span>
1084
+ <span class="cline-any cline-neutral">&nbsp;</span>
1085
+ <span class="cline-any cline-neutral">&nbsp;</span>
1086
+ <span class="cline-any cline-no">&nbsp;</span>
1087
+ <span class="cline-any cline-neutral">&nbsp;</span>
1088
+ <span class="cline-any cline-neutral">&nbsp;</span>
1089
+ <span class="cline-any cline-neutral">&nbsp;</span>
1090
+ <span class="cline-any cline-neutral">&nbsp;</span>
1091
+ <span class="cline-any cline-neutral">&nbsp;</span>
1092
+ <span class="cline-any cline-neutral">&nbsp;</span>
1093
+ <span class="cline-any cline-neutral">&nbsp;</span>
1094
+ <span class="cline-any cline-neutral">&nbsp;</span>
1095
+ <span class="cline-any cline-no">&nbsp;</span>
1096
+ <span class="cline-any cline-no">&nbsp;</span>
1097
+ <span class="cline-any cline-no">&nbsp;</span>
1098
+ <span class="cline-any cline-no">&nbsp;</span>
1099
+ <span class="cline-any cline-no">&nbsp;</span>
1100
+ <span class="cline-any cline-no">&nbsp;</span>
1101
+ <span class="cline-any cline-no">&nbsp;</span>
1102
+ <span class="cline-any cline-neutral">&nbsp;</span>
1103
+ <span class="cline-any cline-no">&nbsp;</span>
1104
+ <span class="cline-any cline-neutral">&nbsp;</span>
1105
+ <span class="cline-any cline-no">&nbsp;</span>
1106
+ <span class="cline-any cline-no">&nbsp;</span>
1107
+ <span class="cline-any cline-no">&nbsp;</span>
1108
+ <span class="cline-any cline-no">&nbsp;</span>
1109
+ <span class="cline-any cline-neutral">&nbsp;</span>
1110
+ <span class="cline-any cline-no">&nbsp;</span>
1111
+ <span class="cline-any cline-no">&nbsp;</span>
1112
+ <span class="cline-any cline-neutral">&nbsp;</span>
1113
+ <span class="cline-any cline-neutral">&nbsp;</span>
1114
+ <span class="cline-any cline-neutral">&nbsp;</span>
1115
+ <span class="cline-any cline-neutral">&nbsp;</span>
1116
+ <span class="cline-any cline-no">&nbsp;</span>
1117
+ <span class="cline-any cline-neutral">&nbsp;</span>
1118
+ <span class="cline-any cline-neutral">&nbsp;</span>
1119
+ <span class="cline-any cline-neutral">&nbsp;</span>
1120
+ <span class="cline-any cline-neutral">&nbsp;</span>
1121
+ <span class="cline-any cline-neutral">&nbsp;</span>
1122
+ <span class="cline-any cline-neutral">&nbsp;</span>
1123
+ <span class="cline-any cline-neutral">&nbsp;</span>
1124
+ <span class="cline-any cline-neutral">&nbsp;</span>
1125
+ <span class="cline-any cline-neutral">&nbsp;</span>
1126
+ <span class="cline-any cline-neutral">&nbsp;</span>
1127
+ <span class="cline-any cline-neutral">&nbsp;</span>
1128
+ <span class="cline-any cline-neutral">&nbsp;</span>
1129
+ <span class="cline-any cline-neutral">&nbsp;</span>
1130
+ <span class="cline-any cline-neutral">&nbsp;</span>
1131
+ <span class="cline-any cline-neutral">&nbsp;</span>
1132
+ <span class="cline-any cline-neutral">&nbsp;</span>
1133
+ <span class="cline-any cline-neutral">&nbsp;</span>
1134
+ <span class="cline-any cline-neutral">&nbsp;</span>
1135
+ <span class="cline-any cline-neutral">&nbsp;</span>
1136
+ <span class="cline-any cline-neutral">&nbsp;</span>
1137
+ <span class="cline-any cline-neutral">&nbsp;</span>
1138
+ <span class="cline-any cline-no">&nbsp;</span>
1139
+ <span class="cline-any cline-no">&nbsp;</span>
1140
+ <span class="cline-any cline-neutral">&nbsp;</span>
1141
+ <span class="cline-any cline-neutral">&nbsp;</span>
1142
+ <span class="cline-any cline-neutral">&nbsp;</span>
1143
+ <span class="cline-any cline-neutral">&nbsp;</span>
1144
+ <span class="cline-any cline-neutral">&nbsp;</span>
1145
+ <span class="cline-any cline-neutral">&nbsp;</span>
1146
+ <span class="cline-any cline-no">&nbsp;</span>
1147
+ <span class="cline-any cline-no">&nbsp;</span>
1148
+ <span class="cline-any cline-no">&nbsp;</span>
1149
+ <span class="cline-any cline-no">&nbsp;</span>
1150
+ <span class="cline-any cline-no">&nbsp;</span>
1151
+ <span class="cline-any cline-no">&nbsp;</span>
1152
+ <span class="cline-any cline-no">&nbsp;</span>
1153
+ <span class="cline-any cline-no">&nbsp;</span>
1154
+ <span class="cline-any cline-neutral">&nbsp;</span>
1155
+ <span class="cline-any cline-no">&nbsp;</span>
1156
+ <span class="cline-any cline-no">&nbsp;</span>
1157
+ <span class="cline-any cline-no">&nbsp;</span>
1158
+ <span class="cline-any cline-no">&nbsp;</span>
1159
+ <span class="cline-any cline-no">&nbsp;</span>
1160
+ <span class="cline-any cline-no">&nbsp;</span>
1161
+ <span class="cline-any cline-no">&nbsp;</span>
1162
+ <span class="cline-any cline-no">&nbsp;</span>
1163
+ <span class="cline-any cline-no">&nbsp;</span>
1164
+ <span class="cline-any cline-no">&nbsp;</span>
1165
+ <span class="cline-any cline-neutral">&nbsp;</span>
1166
+ <span class="cline-any cline-neutral">&nbsp;</span>
1167
+ <span class="cline-any cline-neutral">&nbsp;</span>
1168
+ <span class="cline-any cline-neutral">&nbsp;</span>
1169
+ <span class="cline-any cline-neutral">&nbsp;</span>
1170
+ <span class="cline-any cline-neutral">&nbsp;</span>
1171
+ <span class="cline-any cline-neutral">&nbsp;</span>
1172
+ <span class="cline-any cline-no">&nbsp;</span>
1173
+ <span class="cline-any cline-no">&nbsp;</span>
1174
+ <span class="cline-any cline-no">&nbsp;</span>
1175
+ <span class="cline-any cline-neutral">&nbsp;</span>
1176
+ <span class="cline-any cline-neutral">&nbsp;</span>
1177
+ <span class="cline-any cline-neutral">&nbsp;</span>
1178
+ <span class="cline-any cline-yes">1x</span>
1179
+ <span class="cline-any cline-no">&nbsp;</span>
1180
+ <span class="cline-any cline-no">&nbsp;</span>
1181
+ <span class="cline-any cline-neutral">&nbsp;</span>
1182
+ <span class="cline-any cline-neutral">&nbsp;</span>
1183
+ <span class="cline-any cline-neutral">&nbsp;</span>
1184
+ <span class="cline-any cline-neutral">&nbsp;</span>
1185
+ <span class="cline-any cline-neutral">&nbsp;</span>
1186
+ <span class="cline-any cline-neutral">&nbsp;</span>
1187
+ <span class="cline-any cline-no">&nbsp;</span>
1188
+ <span class="cline-any cline-no">&nbsp;</span>
1189
+ <span class="cline-any cline-no">&nbsp;</span>
1190
+ <span class="cline-any cline-no">&nbsp;</span>
1191
+ <span class="cline-any cline-no">&nbsp;</span>
1192
+ <span class="cline-any cline-no">&nbsp;</span>
1193
+ <span class="cline-any cline-no">&nbsp;</span>
1194
+ <span class="cline-any cline-no">&nbsp;</span>
1195
+ <span class="cline-any cline-no">&nbsp;</span>
1196
+ <span class="cline-any cline-no">&nbsp;</span>
1197
+ <span class="cline-any cline-no">&nbsp;</span>
1198
+ <span class="cline-any cline-no">&nbsp;</span>
1199
+ <span class="cline-any cline-no">&nbsp;</span>
1200
+ <span class="cline-any cline-neutral">&nbsp;</span>
1201
+ <span class="cline-any cline-neutral">&nbsp;</span>
1202
+ <span class="cline-any cline-neutral">&nbsp;</span>
1203
+ <span class="cline-any cline-neutral">&nbsp;</span>
1204
+ <span class="cline-any cline-neutral">&nbsp;</span>
1205
+ <span class="cline-any cline-neutral">&nbsp;</span>
1206
+ <span class="cline-any cline-neutral">&nbsp;</span>
1207
+ <span class="cline-any cline-no">&nbsp;</span>
1208
+ <span class="cline-any cline-neutral">&nbsp;</span>
1209
+ <span class="cline-any cline-no">&nbsp;</span>
1210
+ <span class="cline-any cline-neutral">&nbsp;</span>
1211
+ <span class="cline-any cline-neutral">&nbsp;</span>
1212
+ <span class="cline-any cline-neutral">&nbsp;</span>
1213
+ <span class="cline-any cline-neutral">&nbsp;</span>
1214
+ <span class="cline-any cline-neutral">&nbsp;</span>
1215
+ <span class="cline-any cline-neutral">&nbsp;</span>
1216
+ <span class="cline-any cline-neutral">&nbsp;</span>
1217
+ <span class="cline-any cline-yes">1x</span>
1218
+ <span class="cline-any cline-neutral">&nbsp;</span>
1219
+ <span class="cline-any cline-neutral">&nbsp;</span>
1220
+ <span class="cline-any cline-neutral">&nbsp;</span>
1221
+ <span class="cline-any cline-neutral">&nbsp;</span>
1222
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { TranslatorState, shiftState, withSourceMap, indent } from '../translator';
1223
+ import TypeAnnotation from './TypeAnnotation__';
1224
+ import Identifier from './Identifier__';
1225
+ import MemberExpression from './MemberExpression__';
1226
+ &nbsp;
1227
+ //================================================================================
1228
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1229
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1230
+ //================================================================================
1231
+ import { EventPayload, Params } from '../common/EventEmitter';
1232
+ import { concept, excludedInJSON, property, className } from '../decorators';
1233
+ &nbsp;
1234
+ import * as utils from '../utils';
1235
+ import { v4 as uuidv4 } from 'uuid';
1236
+ import BaseNode from '../common/BaseNode';
1237
+ import LogicItem from './LogicItem__';
1238
+ import Param from './Param__';
1239
+ &nbsp;
1240
+ /**
1241
+ * ForEach 循环分支
1242
+ */
1243
+ @className
1244
+ @concept('ForEach 循环分支')
1245
+ // @ts-ignore
1246
+ export class ForEachStatement extends LogicItem {
1247
+ /** 类名 */
1248
+ static readonly ConceptName = 'ForEachStatement';
1249
+ &nbsp;
1250
+ /**
1251
+ * 产品概念
1252
+ */
1253
+ // @ts-ignore
1254
+ readonly concept!: 'ForEachStatement';
1255
+ &nbsp;
1256
+ /**
1257
+ * 循环列表
1258
+ */
1259
+ @property('LogicItem')
1260
+ // @ts-ignore
1261
+ each!: LogicItem;
1262
+ &nbsp;
1263
+ /**
1264
+ * 循环项参数
1265
+ */
1266
+ @property('Param')
1267
+ // @ts-ignore
1268
+ item!: Param;
1269
+ &nbsp;
1270
+ /**
1271
+ * 循环项索引
1272
+ */
1273
+ @property('Param')
1274
+ // @ts-ignore
1275
+ index!: Param;
1276
+ &nbsp;
1277
+ /**
1278
+ * 循环开始值
1279
+ */
1280
+ @property('LogicItem')
1281
+ // @ts-ignore
1282
+ start!: LogicItem;
1283
+ &nbsp;
1284
+ /**
1285
+ * 循环结束值
1286
+ */
1287
+ @property('LogicItem')
1288
+ // @ts-ignore
1289
+ end!: LogicItem;
1290
+ &nbsp;
1291
+ /**
1292
+ * 循环体
1293
+ */
1294
+ @property('LogicItem')
1295
+ body: Array&lt;LogicItem&gt; = <span class="cstat-no" title="statement not covered" >[];</span>
1296
+ &nbsp;
1297
+ /**
1298
+ * @param source 需要合并的部分参数
1299
+ */
1300
+ <span class="fstat-no" title="function not covered" > constructor(s</span>ource?: Partial&lt;ForEachStatement&gt;) {
1301
+ <span class="cstat-no" title="statement not covered" > source = Object.assign({}, ForEachStatement.getDefaultOptions(), source);</span>
1302
+ <span class="cstat-no" title="statement not covered" > super(source);</span>
1303
+ <span class="cstat-no" title="statement not covered" > super.subConstructor(source);</span>
1304
+ }
1305
+ &nbsp;
1306
+ <span class="fstat-no" title="function not covered" > static </span>from(source: any, parentNode?: any, parentKey?: string): ForEachStatement {
1307
+ <span class="cstat-no" title="statement not covered" > return super.from(source, parentNode, parentKey) as ForEachStatement;</span>
1308
+ }
1309
+ &nbsp;
1310
+ /**
1311
+ * 设置循环列表
1312
+ */
1313
+ <span class="fstat-no" title="function not covered" > setEach(</span>each: LogicItem) {
1314
+ <span class="cstat-no" title="statement not covered" > each._delete();</span>
1315
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'each' };</span>
1316
+ <span class="cstat-no" title="statement not covered" > Object.assign(each, relationOptions);</span>
1317
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1318
+ each,
1319
+ };
1320
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1321
+ ...object,
1322
+ });
1323
+ }
1324
+ &nbsp;
1325
+ /**
1326
+ * 设置循环项参数
1327
+ */
1328
+ <span class="fstat-no" title="function not covered" > setItem(</span>item: Param) {
1329
+ <span class="cstat-no" title="statement not covered" > item._delete();</span>
1330
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'item' };</span>
1331
+ <span class="cstat-no" title="statement not covered" > Object.assign(item, relationOptions);</span>
1332
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1333
+ item,
1334
+ };
1335
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1336
+ ...object,
1337
+ });
1338
+ }
1339
+ &nbsp;
1340
+ /**
1341
+ * 设置循环项索引
1342
+ */
1343
+ <span class="fstat-no" title="function not covered" > setIndex(</span>index: Param) {
1344
+ <span class="cstat-no" title="statement not covered" > index._delete();</span>
1345
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'index' };</span>
1346
+ <span class="cstat-no" title="statement not covered" > Object.assign(index, relationOptions);</span>
1347
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1348
+ index,
1349
+ };
1350
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1351
+ ...object,
1352
+ });
1353
+ }
1354
+ &nbsp;
1355
+ /**
1356
+ * 设置循环开始值
1357
+ */
1358
+ <span class="fstat-no" title="function not covered" > setStart(</span>start: LogicItem) {
1359
+ <span class="cstat-no" title="statement not covered" > start._delete();</span>
1360
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'start' };</span>
1361
+ <span class="cstat-no" title="statement not covered" > Object.assign(start, relationOptions);</span>
1362
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1363
+ start,
1364
+ };
1365
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1366
+ ...object,
1367
+ });
1368
+ }
1369
+ &nbsp;
1370
+ /**
1371
+ * 设置循环结束值
1372
+ */
1373
+ <span class="fstat-no" title="function not covered" > setEnd(</span>end: LogicItem) {
1374
+ <span class="cstat-no" title="statement not covered" > end._delete();</span>
1375
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'end' };</span>
1376
+ <span class="cstat-no" title="statement not covered" > Object.assign(end, relationOptions);</span>
1377
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1378
+ end,
1379
+ };
1380
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1381
+ ...object,
1382
+ });
1383
+ }
1384
+ &nbsp;
1385
+ /**
1386
+ * 插入逻辑项
1387
+ * @internal
1388
+ * @param logicItemOptions 逻辑项参数
1389
+ */
1390
+ _insertItemAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
1391
+ &nbsp;
1392
+ /**
1393
+ * 插入逻辑项
1394
+ * @internal
1395
+ * @param logicItem 已有的逻辑项实例
1396
+ */
1397
+ _insertItemAt(logicItem: LogicItem, index: number): LogicItem;
1398
+ &nbsp;
1399
+ <span class="fstat-no" title="function not covered" > _insertItemAt(</span>options: Partial&lt;LogicItem&gt; | LogicItem, index: number) {
1400
+ const logicItemOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
1401
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'body' };</span>
1402
+ let logicItem: LogicItem;
1403
+ <span class="cstat-no" title="statement not covered" > if (options instanceof LogicItem) {</span>
1404
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
1405
+ <span class="cstat-no" title="statement not covered" > logicItem = options;</span>
1406
+ <span class="cstat-no" title="statement not covered" > Object.assign(logicItem, relationOptions);</span>
1407
+ } else {
1408
+ <span class="cstat-no" title="statement not covered" > logicItem = LogicItem.from(</span>
1409
+ {
1410
+ ...logicItemOptions,
1411
+ ...options,
1412
+ },
1413
+ this,
1414
+ 'body',
1415
+ );
1416
+ }
1417
+ <span class="cstat-no" title="statement not covered" > this.body.splice(index, 0, logicItem);</span>
1418
+ <span class="cstat-no" title="statement not covered" > return logicItem;</span>
1419
+ }
1420
+ &nbsp;
1421
+ /**
1422
+ * 插入逻辑项
1423
+ * @param logicItemOptions 逻辑项参数
1424
+ */
1425
+ insertItemAt(logicItemOptions: Partial&lt;LogicItem&gt;, index: number): LogicItem;
1426
+ &nbsp;
1427
+ /**
1428
+ * 插入逻辑项
1429
+ * @param logicItem 已有的逻辑项实例
1430
+ */
1431
+ insertItemAt(logicItem: LogicItem, index: number): LogicItem;
1432
+ &nbsp;
1433
+ <span class="fstat-no" title="function not covered" > insertItemAt(</span>options: Partial&lt;LogicItem&gt; | LogicItem, index: number) {
1434
+ const node = <span class="cstat-no" title="statement not covered" >this._insertItemAt(options as any, index);</span>
1435
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1436
+ index,
1437
+ parentNode: this,
1438
+ parentKey: 'body',
1439
+ });
1440
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1441
+ }
1442
+ &nbsp;
1443
+ /**
1444
+ * 添加逻辑项
1445
+ * @internal
1446
+ * @param logicItemOptions 逻辑项参数
1447
+ */
1448
+ _addItem(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
1449
+ &nbsp;
1450
+ /**
1451
+ * 添加逻辑项
1452
+ * @internal
1453
+ * @param logicItem 已有的逻辑项实例
1454
+ */
1455
+ _addItem(logicItem: LogicItem): LogicItem;
1456
+ &nbsp;
1457
+ <span class="fstat-no" title="function not covered" > _addItem(</span>options?: Partial&lt;LogicItem&gt; | LogicItem) {
1458
+ const index = <span class="cstat-no" title="statement not covered" >this.body.length;</span>
1459
+ <span class="cstat-no" title="statement not covered" > return this._insertItemAt(options as any, index);</span>
1460
+ }
1461
+ &nbsp;
1462
+ /**
1463
+ * 添加逻辑项
1464
+ * @param logicItemOptions 逻辑项参数
1465
+ */
1466
+ addItem(logicItemOptions: Partial&lt;LogicItem&gt;): LogicItem;
1467
+ &nbsp;
1468
+ /**
1469
+ * 添加逻辑项
1470
+ * @param logicItem 已有的逻辑项实例
1471
+ */
1472
+ addItem(logicItem: LogicItem): LogicItem;
1473
+ &nbsp;
1474
+ <span class="fstat-no" title="function not covered" > addItem(</span>options?: Partial&lt;LogicItem&gt; | LogicItem) {
1475
+ const node = <span class="cstat-no" title="statement not covered" >this._addItem(options as any);</span>
1476
+ const index = <span class="cstat-no" title="statement not covered" >this.body.indexOf(node);</span>
1477
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1478
+ index,
1479
+ parentNode: this,
1480
+ parentKey: 'body',
1481
+ });
1482
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1483
+ }
1484
+ &nbsp;
1485
+ /**
1486
+ * 删除逻辑项
1487
+ * @param name 逻辑项名称
1488
+ */
1489
+ removeEach(name: string): void;
1490
+ &nbsp;
1491
+ /**
1492
+ * 删除逻辑项
1493
+ * @param each 已有的逻辑项实例
1494
+ */
1495
+ removeEach(each: LogicItem): void;
1496
+ &nbsp;
1497
+ <span class="fstat-no" title="function not covered" > removeEach(</span>options: string | LogicItem) {
1498
+ let each: LogicItem;
1499
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
1500
+ <span class="cstat-no" title="statement not covered" > each = this.each;</span>
1501
+ <span class="cstat-no" title="statement not covered" > if (!each) {</span>
1502
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到逻辑项 ' + options);</span>
1503
+ }
1504
+ } else {
1505
+ <span class="cstat-no" title="statement not covered" > each = options;</span>
1506
+ }
1507
+ <span class="cstat-no" title="statement not covered" > return each.delete();</span>
1508
+ }
1509
+ &nbsp;
1510
+ /**
1511
+ * 删除逻辑项
1512
+ * @param name 逻辑项名称
1513
+ */
1514
+ removeStart(name: string): void;
1515
+ &nbsp;
1516
+ /**
1517
+ * 删除逻辑项
1518
+ * @param start 已有的逻辑项实例
1519
+ */
1520
+ removeStart(start: LogicItem): void;
1521
+ &nbsp;
1522
+ <span class="fstat-no" title="function not covered" > removeStart(</span>options: string | LogicItem) {
1523
+ let start: LogicItem;
1524
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
1525
+ <span class="cstat-no" title="statement not covered" > start = this.start;</span>
1526
+ <span class="cstat-no" title="statement not covered" > if (!start) {</span>
1527
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到逻辑项 ' + options);</span>
1528
+ }
1529
+ } else {
1530
+ <span class="cstat-no" title="statement not covered" > start = options;</span>
1531
+ }
1532
+ <span class="cstat-no" title="statement not covered" > return start.delete();</span>
1533
+ }
1534
+ &nbsp;
1535
+ /**
1536
+ * 删除逻辑项
1537
+ * @param name 逻辑项名称
1538
+ */
1539
+ removeEnd(name: string): void;
1540
+ &nbsp;
1541
+ /**
1542
+ * 删除逻辑项
1543
+ * @param end 已有的逻辑项实例
1544
+ */
1545
+ removeEnd(end: LogicItem): void;
1546
+ &nbsp;
1547
+ <span class="fstat-no" title="function not covered" > removeEnd(</span>options: string | LogicItem) {
1548
+ let end: LogicItem;
1549
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
1550
+ <span class="cstat-no" title="statement not covered" > end = this.end;</span>
1551
+ <span class="cstat-no" title="statement not covered" > if (!end) {</span>
1552
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到逻辑项 ' + options);</span>
1553
+ }
1554
+ } else {
1555
+ <span class="cstat-no" title="statement not covered" > end = options;</span>
1556
+ }
1557
+ <span class="cstat-no" title="statement not covered" > return end.delete();</span>
1558
+ }
1559
+ &nbsp;
1560
+ /**
1561
+ * 删除逻辑项
1562
+ * @param logicItem 已有的逻辑项实例
1563
+ */
1564
+ removeItemInBody(logicItem: LogicItem): void;
1565
+ &nbsp;
1566
+ <span class="fstat-no" title="function not covered" > removeItemInBody(</span>options: LogicItem) {
1567
+ let logicItem: LogicItem = <span class="cstat-no" title="statement not covered" >options;</span>
1568
+ <span class="cstat-no" title="statement not covered" > return logicItem.delete();</span>
1569
+ }
1570
+ &nbsp;
1571
+ <span class="fstat-no" title="function not covered" > __removeLogicItem(</span>logicItem: LogicItem) {
1572
+ const parentKey = <span class="cstat-no" title="statement not covered" >logicItem.parentKey;</span>
1573
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
1574
+ parentNode: this,
1575
+ parentKey,
1576
+ index: -1,
1577
+ object: null,
1578
+ oldObject: logicItem,
1579
+ };
1580
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
1581
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
1582
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((this as any)[parentKey])) {</span>
1583
+ const index = (<span class="cstat-no" title="statement not covered" >this as any)[parentKey].indexOf(logicItem);</span>
1584
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
1585
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
1586
+ } else <span class="cstat-no" title="statement not covered" >if ((this as any)[parentKey] === logicItem) {</span>
1587
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
1588
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
1589
+ }
1590
+ }
1591
+ <span class="cstat-no" title="statement not covered" > return params;</span>
1592
+ }
1593
+ &nbsp;
1594
+ /**
1595
+ * 删除输入参数
1596
+ * @param name 输入参数名称
1597
+ */
1598
+ removeItem(name: string): void;
1599
+ &nbsp;
1600
+ /**
1601
+ * 删除输入参数
1602
+ * @param item 已有的输入参数实例
1603
+ */
1604
+ removeItem(item: Param): void;
1605
+ &nbsp;
1606
+ <span class="fstat-no" title="function not covered" > removeItem(</span>options: string | Param) {
1607
+ let item: Param;
1608
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
1609
+ <span class="cstat-no" title="statement not covered" > item = this.item;</span>
1610
+ <span class="cstat-no" title="statement not covered" > if (!item) {</span>
1611
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到输入参数 ' + options);</span>
1612
+ }
1613
+ } else {
1614
+ <span class="cstat-no" title="statement not covered" > item = options;</span>
1615
+ }
1616
+ <span class="cstat-no" title="statement not covered" > return item.delete();</span>
1617
+ }
1618
+ &nbsp;
1619
+ /**
1620
+ * 删除输入参数
1621
+ * @param name 输入参数名称
1622
+ */
1623
+ removeIndex(name: string): void;
1624
+ &nbsp;
1625
+ /**
1626
+ * 删除输入参数
1627
+ * @param index 已有的输入参数实例
1628
+ */
1629
+ removeIndex(index: Param): void;
1630
+ &nbsp;
1631
+ <span class="fstat-no" title="function not covered" > removeIndex(</span>options: string | Param) {
1632
+ let index: Param;
1633
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
1634
+ <span class="cstat-no" title="statement not covered" > index = this.index;</span>
1635
+ <span class="cstat-no" title="statement not covered" > if (!index) {</span>
1636
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到输入参数 ' + options);</span>
1637
+ }
1638
+ } else {
1639
+ <span class="cstat-no" title="statement not covered" > index = options;</span>
1640
+ }
1641
+ <span class="cstat-no" title="statement not covered" > return index.delete();</span>
1642
+ }
1643
+ &nbsp;
1644
+ <span class="fstat-no" title="function not covered" > __removeParam(</span>param: Param) {
1645
+ const parentKey = <span class="cstat-no" title="statement not covered" >param.parentKey;</span>
1646
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
1647
+ parentNode: this,
1648
+ parentKey,
1649
+ index: -1,
1650
+ object: null,
1651
+ oldObject: param,
1652
+ };
1653
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
1654
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
1655
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((this as any)[parentKey])) {</span>
1656
+ const index = (<span class="cstat-no" title="statement not covered" >this as any)[parentKey].indexOf(param);</span>
1657
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
1658
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
1659
+ } else <span class="cstat-no" title="statement not covered" >if ((this as any)[parentKey] === param) {</span>
1660
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
1661
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
1662
+ }
1663
+ }
1664
+ <span class="cstat-no" title="statement not covered" > return params;</span>
1665
+ }
1666
+ &nbsp;
1667
+ //================================================================================
1668
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1669
+ // 自动生成的代码已结束。下面可以手动编写。
1670
+ //================================================================================
1671
+ &nbsp;
1672
+ public <span class="fstat-no" title="function not covered" >async </span>checkItemIndexName() {
1673
+ const itemNames = <span class="cstat-no" title="statement not covered" >[];</span>
1674
+ const idxNames = <span class="cstat-no" title="statement not covered" >[];</span>
1675
+ let n = <span class="cstat-no" title="statement not covered" >this.parentNode;</span>
1676
+ <span class="cstat-no" title="statement not covered" > while (n &amp;&amp; n.concept !== 'Logic') {</span>
1677
+ <span class="cstat-no" title="statement not covered" > if (n instanceof ForEachStatement) {</span>
1678
+ <span class="cstat-no" title="statement not covered" > itemNames.push(n.item.name);</span>
1679
+ <span class="cstat-no" title="statement not covered" > idxNames.push(n.index.name);</span>
1680
+ }
1681
+ <span class="cstat-no" title="statement not covered" > n = n.parentNode;</span>
1682
+ }
1683
+ const uniqueItemName = <span class="cstat-no" title="statement not covered" >utils.unique('item', itemNames);</span>
1684
+ const uniqueIdxName = <span class="cstat-no" title="statement not covered" >utils.unique('index', idxNames);</span>
1685
+ <span class="cstat-no" title="statement not covered" > if (itemNames.length &amp;&amp; this.item.name !== uniqueItemName) {</span>
1686
+ <span class="cstat-no" title="statement not covered" > await this.item.changeName(uniqueItemName, true);</span>
1687
+ }
1688
+ <span class="cstat-no" title="statement not covered" > if (idxNames.length &amp;&amp; this.index.name !== uniqueIdxName) {</span>
1689
+ <span class="cstat-no" title="statement not covered" > await this.index.changeName(uniqueIdxName, true);</span>
1690
+ }
1691
+ }
1692
+ &nbsp;
1693
+ public <span class="fstat-no" title="function not covered" >static </span>getDefaultOptions() {
1694
+ <span class="cstat-no" title="statement not covered" > return {</span>
1695
+ label: 'ForEach 循环分支',
1696
+ item: {
1697
+ concept: 'Param',
1698
+ name: 'item',
1699
+ typeAnnotation: null as TypeAnnotation,
1700
+ editable: true,
1701
+ },
1702
+ index: {
1703
+ concept: 'Param',
1704
+ name: 'index',
1705
+ typeAnnotation: null as TypeAnnotation,
1706
+ editable: true,
1707
+ },
1708
+ start: {
1709
+ concept: 'NumericLiteral',
1710
+ value: '0',
1711
+ },
1712
+ };
1713
+ }
1714
+ &nbsp;
1715
+ <span class="fstat-no" title="function not covered" > toJS(</span>state?: TranslatorState): string {
1716
+ let code = <span class="cstat-no" title="statement not covered" >'';</span>
1717
+ const list = <span class="cstat-no" title="statement not covered" >this.each</span>
1718
+ ? this.each.toJS(
1719
+ shiftState(state, code, {
1720
+ tabSize: 0,
1721
+ }),
1722
+ )
1723
+ : '';
1724
+ const random = <span class="cstat-no" title="statement not covered" >Math.random();</span>
1725
+ const number = <span class="cstat-no" title="statement not covered" >Math.round(random * 10000);</span>
1726
+ const eachCode = <span class="cstat-no" title="statement not covered" >`$forEachListVariable${number}`;</span>
1727
+ let endValue = <span class="cstat-no" title="statement not covered" >'';</span>
1728
+ <span class="cstat-no" title="statement not covered" > if (this.end) {</span>
1729
+ <span class="cstat-no" title="statement not covered" > endValue = this.end.toJS();</span>
1730
+ } else <span class="cstat-no" title="statement not covered" >if (this.each) {</span>
1731
+ <span class="cstat-no" title="statement not covered" > endValue = `(${eachCode} || {}).length`;</span>
1732
+ }
1733
+ <span class="cstat-no" title="statement not covered" > code += `var ${eachCode} = ${list};\n`;</span>
1734
+ <span class="cstat-no" title="statement not covered" > code += `var $forEachStartVariable${number} = ${this.start &amp;&amp; this.start.toJS() ? this.start.toJS() : ''};\n`;</span>
1735
+ <span class="cstat-no" title="statement not covered" > code += `var $forEachEndVariable${number} = ${endValue};\n`;</span>
1736
+ <span class="cstat-no" title="statement not covered" > code += `if(Array.isArray($forEachListVariable${number})) {\n`;</span>
1737
+ <span class="cstat-no" title="statement not covered" > code += `for (let ${this.index.name} = $forEachStartVariable${number}; `;</span>
1738
+ <span class="cstat-no" title="statement not covered" > code += `${this.index.name} &lt; $forEachEndVariable${number}; ${this.index.name}++) {\n`;</span>
1739
+ <span class="cstat-no" title="statement not covered" > code += `const ${this.item.name} = $forEachListVariable${number}[${this.index.name}];\n`;</span>
1740
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.body)) {</span>
1741
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem) =&gt; {</span>
1742
+ <span class="cstat-no" title="statement not covered" > code +=</span>
1743
+ logicItem.toJS(
1744
+ shiftState(state, code, {
1745
+ tabSize: 0,
1746
+ }),
1747
+ ) + '\n';
1748
+ });
1749
+ }
1750
+ <span class="cstat-no" title="statement not covered" > code += '}\n';</span>
1751
+ <span class="cstat-no" title="statement not covered" > code += '}\n';</span>
1752
+ <span class="cstat-no" title="statement not covered" > return code;</span>
1753
+ }
1754
+ &nbsp;
1755
+ @withSourceMap()
1756
+ <span class="fstat-no" title="function not covered" > toEmbeddedTS(</span>state?: TranslatorState): string {
1757
+ let code = <span class="cstat-no" title="statement not covered" >'';</span>
1758
+ <span class="cstat-no" title="statement not covered" > code += this.each</span>
1759
+ ? this.each.toEmbeddedTS(
1760
+ shiftState(state, code, {
1761
+ tabSize: 0,
1762
+ }),
1763
+ )
1764
+ : '__IDENTIFIER__';
1765
+ <span class="cstat-no" title="statement not covered" > if (['NewList', 'NewMap'].includes(this.each?.concept)) <span class="cstat-no" title="statement not covered" >code += '\n';</span></span>
1766
+ <span class="cstat-no" title="statement not covered" > code += '.__slice(';</span>
1767
+ <span class="cstat-no" title="statement not covered" > code += this.start ? this.start.toEmbeddedTS(shiftState(state, code)) : '__IDENTIFIER__';</span>
1768
+ <span class="cstat-no" title="statement not covered" > code += ', ';</span>
1769
+ <span class="cstat-no" title="statement not covered" > code += this.end ? this.end.toEmbeddedTS(shiftState(state, code)) : 'null';</span>
1770
+ <span class="cstat-no" title="statement not covered" > code += ').__forEach((';</span>
1771
+ <span class="cstat-no" title="statement not covered" > code += this.item ? this.item.toEmbeddedTS(shiftState(state, code), true) : '__IDENTIFIER__';</span>
1772
+ <span class="cstat-no" title="statement not covered" > code += ', ';</span>
1773
+ <span class="cstat-no" title="statement not covered" > code += this.index ? this.index.toEmbeddedTS(shiftState(state, code), true) : '__IDENTIFIER__';</span>
1774
+ <span class="cstat-no" title="statement not covered" > code += ') =&gt; {\n';</span>
1775
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray(this.body)) {</span>
1776
+ <span class="cstat-no" title="statement not covered" > this.body.forEach(<span class="fstat-no" title="function not covered" >(l</span>ogicItem) =&gt; {</span>
1777
+ <span class="cstat-no" title="statement not covered" > code +=</span>
1778
+ logicItem.toEmbeddedTS(
1779
+ shiftState(state, code, {
1780
+ tabSize: (state?.tabSize || 0) + 1,
1781
+ }),
1782
+ ) + ';\n';
1783
+ });
1784
+ }
1785
+ <span class="cstat-no" title="statement not covered" > code += indent(state?.tabSize || 0) + '})\n';</span>
1786
+ &nbsp;
1787
+ <span class="cstat-no" title="statement not covered" > return code;</span>
1788
+ }
1789
+ //================================================================================
1790
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1791
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1792
+ //================================================================================
1793
+ }
1794
+ &nbsp;
1795
+ export default ForEachStatement;
1796
+ //================================================================================
1797
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1798
+ // 自动生成的代码已结束。下面可以手动编写。
1799
+ //================================================================================
1800
+ &nbsp;</pre></td></tr></table></pre>
1801
+
1802
+ <div class='push'></div><!-- for sticky footer -->
1803
+ </div><!-- /wrapper -->
1804
+ <div class='footer quiet pad2 space-top1 center small'>
1805
+ Code coverage generated by
1806
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1807
+ at 2023-10-19T09:18:56.902Z
1808
+ </div>
1809
+ <script src="../../prettify.js"></script>
1810
+ <script>
1811
+ window.onload = function () {
1812
+ prettyPrint();
1813
+ };
1814
+ </script>
1815
+ <script src="../../sorter.js"></script>
1816
+ <script src="../../block-navigation.js"></script>
1817
+ </body>
1818
+ </html>
1819
+