@lcap/nasl 3.4.0-beta.8 → 3.4.0-beta.9

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 (407) hide show
  1. package/.nyc_output/559608df-ab15-4969-acf0-5239dacd6111.json +1 -0
  2. package/.nyc_output/processinfo/559608df-ab15-4969-acf0-5239dacd6111.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 +476 -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 +718 -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 +1282 -0
  19. package/coverage/src/breakpoint/generator/CallbackNode.ts.html +196 -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 +436 -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 +1297 -0
  29. package/coverage/src/breakpoint/shared/utils.ts.html +1087 -0
  30. package/coverage/src/breakpoint/store/core.ts.html +1600 -0
  31. package/coverage/src/breakpoint/store/dock.ts.html +733 -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 +4303 -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 +206 -0
  40. package/coverage/src/common/index.ts.html +97 -0
  41. package/coverage/src/common/utils.ts.html +136 -0
  42. package/coverage/src/concepts/Abort__.ts.html +358 -0
  43. package/coverage/src/concepts/AbstractInterface__.ts.html +280 -0
  44. package/coverage/src/concepts/Anchor__.ts.html +703 -0
  45. package/coverage/src/concepts/AnonymousFunction__.ts.html +2122 -0
  46. package/coverage/src/concepts/App__.ts.html +14305 -0
  47. package/coverage/src/concepts/Argument__.ts.html +1033 -0
  48. package/coverage/src/concepts/Assignee__.ts.html +2326 -0
  49. package/coverage/src/concepts/AssignmentLine__.ts.html +442 -0
  50. package/coverage/src/concepts/Assignment__.ts.html +1201 -0
  51. package/coverage/src/concepts/Attribute__.ts.html +760 -0
  52. package/coverage/src/concepts/AuthInterface__.ts.html +370 -0
  53. package/coverage/src/concepts/AuthLogicForCallInterface__.ts.html +1948 -0
  54. package/coverage/src/concepts/AuthLogic__.ts.html +793 -0
  55. package/coverage/src/concepts/BackendVariable__.ts.html +1567 -0
  56. package/coverage/src/concepts/Backend__.ts.html +1243 -0
  57. package/coverage/src/concepts/BatchAssignment__.ts.html +3406 -0
  58. package/coverage/src/concepts/BinaryExpression__.ts.html +1519 -0
  59. package/coverage/src/concepts/BindAttribute__.ts.html +3955 -0
  60. package/coverage/src/concepts/BindDirective__.ts.html +2026 -0
  61. package/coverage/src/concepts/BindEvent__.ts.html +3502 -0
  62. package/coverage/src/concepts/BindStyle__.ts.html +1669 -0
  63. package/coverage/src/concepts/Block__.ts.html +910 -0
  64. package/coverage/src/concepts/BooleanLiteral__.ts.html +445 -0
  65. package/coverage/src/concepts/CallAuthInterface__.ts.html +1672 -0
  66. package/coverage/src/concepts/CallConnector__.ts.html +949 -0
  67. package/coverage/src/concepts/CallFunction__.ts.html +2290 -0
  68. package/coverage/src/concepts/CallInterface__.ts.html +2752 -0
  69. package/coverage/src/concepts/CallLogic__.ts.html +4924 -0
  70. package/coverage/src/concepts/CallQueryComponent__.ts.html +5341 -0
  71. package/coverage/src/concepts/Comment__.ts.html +427 -0
  72. package/coverage/src/concepts/CompletionProperty__.ts.html +952 -0
  73. package/coverage/src/concepts/ConfigGroup__.ts.html +1132 -0
  74. package/coverage/src/concepts/ConfigPropertyValue__.ts.html +427 -0
  75. package/coverage/src/concepts/ConfigProperty__.ts.html +1405 -0
  76. package/coverage/src/concepts/Configuration__.ts.html +1054 -0
  77. package/coverage/src/concepts/Connection__.ts.html +1435 -0
  78. package/coverage/src/concepts/ConnectorTrigger__.ts.html +598 -0
  79. package/coverage/src/concepts/Connector__.ts.html +4378 -0
  80. package/coverage/src/concepts/Constant__.ts.html +973 -0
  81. package/coverage/src/concepts/CountersignPolicy__.ts.html +316 -0
  82. package/coverage/src/concepts/DataSource__.ts.html +1825 -0
  83. package/coverage/src/concepts/DatabaseTypeAnnotation__.ts.html +334 -0
  84. package/coverage/src/concepts/DefaultValue__.ts.html +1000 -0
  85. package/coverage/src/concepts/Destination__.ts.html +2773 -0
  86. package/coverage/src/concepts/End__.ts.html +463 -0
  87. package/coverage/src/concepts/EntityIndex__.ts.html +817 -0
  88. package/coverage/src/concepts/EntityProperty__.ts.html +2776 -0
  89. package/coverage/src/concepts/Entity__.ts.html +3028 -0
  90. package/coverage/src/concepts/EnumItem__.ts.html +580 -0
  91. package/coverage/src/concepts/Enum__.ts.html +1291 -0
  92. package/coverage/src/concepts/Event__.ts.html +1111 -0
  93. package/coverage/src/concepts/ExternalDestination__.ts.html +1087 -0
  94. package/coverage/src/concepts/ForEachStatement__.ts.html +2005 -0
  95. package/coverage/src/concepts/FrontendLibrary__.ts.html +1762 -0
  96. package/coverage/src/concepts/FrontendVariable__.ts.html +292 -0
  97. package/coverage/src/concepts/Frontend__.ts.html +4117 -0
  98. package/coverage/src/concepts/Function__.ts.html +3751 -0
  99. package/coverage/src/concepts/I18nInfo__.ts.html +436 -0
  100. package/coverage/src/concepts/Identifier__.ts.html +1087 -0
  101. package/coverage/src/concepts/IfStatement__.ts.html +1657 -0
  102. package/coverage/src/concepts/ImportedInterface__.ts.html +268 -0
  103. package/coverage/src/concepts/Integration__.ts.html +1279 -0
  104. package/coverage/src/concepts/InterfaceParam__.ts.html +1144 -0
  105. package/coverage/src/concepts/Interface__.ts.html +3496 -0
  106. package/coverage/src/concepts/JSBlock__.ts.html +451 -0
  107. package/coverage/src/concepts/JavaLogic__.ts.html +493 -0
  108. package/coverage/src/concepts/LogicItem__.ts.html +1201 -0
  109. package/coverage/src/concepts/Logic__.ts.html +7495 -0
  110. package/coverage/src/concepts/MatchCase__.ts.html +3013 -0
  111. package/coverage/src/concepts/Match__.ts.html +2527 -0
  112. package/coverage/src/concepts/MemberExpression__.ts.html +1783 -0
  113. package/coverage/src/concepts/MetadataType__.ts.html +2053 -0
  114. package/coverage/src/concepts/MicroApp__.ts.html +439 -0
  115. package/coverage/src/concepts/Module__.ts.html +9874 -0
  116. package/coverage/src/concepts/MsgTriggerEvent__.ts.html +1072 -0
  117. package/coverage/src/concepts/MsgTriggerLauncher__.ts.html +1045 -0
  118. package/coverage/src/concepts/MultiApprovalPolicy__.ts.html +292 -0
  119. package/coverage/src/concepts/Namespace__.ts.html +8209 -0
  120. package/coverage/src/concepts/NewComposite__.ts.html +4909 -0
  121. package/coverage/src/concepts/NewList__.ts.html +1756 -0
  122. package/coverage/src/concepts/NewMap__.ts.html +2431 -0
  123. package/coverage/src/concepts/New__.ts.html +319 -0
  124. package/coverage/src/concepts/NullLiteral__.ts.html +376 -0
  125. package/coverage/src/concepts/NumericLiteral__.ts.html +730 -0
  126. package/coverage/src/concepts/OqlQueryComponent__.ts.html +1267 -0
  127. package/coverage/src/concepts/OverriddenLogic__.ts.html +6940 -0
  128. package/coverage/src/concepts/Param__.ts.html +1801 -0
  129. package/coverage/src/concepts/Point__.ts.html +334 -0
  130. package/coverage/src/concepts/ProcessComponent__.ts.html +1717 -0
  131. package/coverage/src/concepts/ProcessElement__.ts.html +6292 -0
  132. package/coverage/src/concepts/ProcessOutcome__.ts.html +424 -0
  133. package/coverage/src/concepts/ProcessOutcomes__.ts.html +415 -0
  134. package/coverage/src/concepts/Process__.ts.html +4915 -0
  135. package/coverage/src/concepts/QueryAggregateExpression__.ts.html +619 -0
  136. package/coverage/src/concepts/QueryFieldExpression__.ts.html +613 -0
  137. package/coverage/src/concepts/QueryFromExpression__.ts.html +970 -0
  138. package/coverage/src/concepts/QueryGroupByExpression__.ts.html +610 -0
  139. package/coverage/src/concepts/QueryJoinExpression__.ts.html +1627 -0
  140. package/coverage/src/concepts/QueryLimitExpression__.ts.html +694 -0
  141. package/coverage/src/concepts/QueryOrderByExpression__.ts.html +739 -0
  142. package/coverage/src/concepts/QuerySelectExpression__.ts.html +1741 -0
  143. package/coverage/src/concepts/Rect__.ts.html +376 -0
  144. package/coverage/src/concepts/Return__.ts.html +1393 -0
  145. package/coverage/src/concepts/Role__.ts.html +631 -0
  146. package/coverage/src/concepts/SelectMembers__.ts.html +1303 -0
  147. package/coverage/src/concepts/SequentialPolicy__.ts.html +259 -0
  148. package/coverage/src/concepts/Slot__.ts.html +655 -0
  149. package/coverage/src/concepts/SqlQueryComponent__.ts.html +1042 -0
  150. package/coverage/src/concepts/Start__.ts.html +331 -0
  151. package/coverage/src/concepts/StaticString__.ts.html +403 -0
  152. package/coverage/src/concepts/StringInterpolation__.ts.html +1210 -0
  153. package/coverage/src/concepts/StringLiteral__.ts.html +535 -0
  154. package/coverage/src/concepts/StructureProperty__.ts.html +1189 -0
  155. package/coverage/src/concepts/Structure__.ts.html +2176 -0
  156. package/coverage/src/concepts/SwitchCase__.ts.html +1225 -0
  157. package/coverage/src/concepts/SwitchStatement__.ts.html +934 -0
  158. package/coverage/src/concepts/Theme__.ts.html +361 -0
  159. package/coverage/src/concepts/Transactional__.ts.html +631 -0
  160. package/coverage/src/concepts/TriggerEvent__.ts.html +1039 -0
  161. package/coverage/src/concepts/TriggerLauncher__.ts.html +808 -0
  162. package/coverage/src/concepts/TypeAnnotation__.ts.html +3949 -0
  163. package/coverage/src/concepts/TypeParam__.ts.html +349 -0
  164. package/coverage/src/concepts/UnaryExpression__.ts.html +775 -0
  165. package/coverage/src/concepts/Unparsed__.ts.html +418 -0
  166. package/coverage/src/concepts/UseComponent__.ts.html +334 -0
  167. package/coverage/src/concepts/ValidationRule__.ts.html +1879 -0
  168. package/coverage/src/concepts/Variable__.ts.html +1570 -0
  169. package/coverage/src/concepts/ViewBlock__.ts.html +355 -0
  170. package/coverage/src/concepts/ViewComponent__.ts.html +4255 -0
  171. package/coverage/src/concepts/ViewElement__.ts.html +9013 -0
  172. package/coverage/src/concepts/View__.ts.html +8932 -0
  173. package/coverage/src/concepts/WhileStatement__.ts.html +1126 -0
  174. package/coverage/src/concepts/basics/constants.ts.html +88 -0
  175. package/coverage/src/concepts/basics/index.html +116 -0
  176. package/coverage/src/concepts/basics/stdlib/index.html +356 -0
  177. package/coverage/src/concepts/basics/stdlib/index.ts.html +208 -0
  178. package/coverage/src/concepts/basics/stdlib/nasl.auth.ts.html +565 -0
  179. package/coverage/src/concepts/basics/stdlib/nasl.browser.ts.html +517 -0
  180. package/coverage/src/concepts/basics/stdlib/nasl.collection.ts.html +226 -0
  181. package/coverage/src/concepts/basics/stdlib/nasl.configuration.ts.html +172 -0
  182. package/coverage/src/concepts/basics/stdlib/nasl.core.ts.html +214 -0
  183. package/coverage/src/concepts/basics/stdlib/nasl.event.ts.html +145 -0
  184. package/coverage/src/concepts/basics/stdlib/nasl.http.ts.html +589 -0
  185. package/coverage/src/concepts/basics/stdlib/nasl.interface.ts.html +214 -0
  186. package/coverage/src/concepts/basics/stdlib/nasl.io.ts.html +229 -0
  187. package/coverage/src/concepts/basics/stdlib/nasl.logging.ts.html +268 -0
  188. package/coverage/src/concepts/basics/stdlib/nasl.process.ts.html +1999 -0
  189. package/coverage/src/concepts/basics/stdlib/nasl.ui.ts.html +3259 -0
  190. package/coverage/src/concepts/basics/stdlib/nasl.util.ts.html +6844 -0
  191. package/coverage/src/concepts/basics/stdlib/nasl.validation.ts.html +1768 -0
  192. package/coverage/src/concepts/basics/stdlib/reference2TypeAnnotationList.ts.html +163 -0
  193. package/coverage/src/concepts/basics/stdlib/timeZone.ts.html +664 -0
  194. package/coverage/src/concepts/basics/types/coreTypeList.ts.html +121 -0
  195. package/coverage/src/concepts/basics/types/index.html +131 -0
  196. package/coverage/src/concepts/basics/types/index.ts.html +160 -0
  197. package/coverage/src/concepts/index.html +2021 -0
  198. package/coverage/src/concepts/index.ts.html +103 -0
  199. package/coverage/src/concepts/index__.ts.html +463 -0
  200. package/coverage/src/concepts/utils/asserts.ts.html +27967 -0
  201. package/coverage/src/concepts/utils/index.html +116 -0
  202. package/coverage/src/config.ts.html +325 -0
  203. package/coverage/src/decorators/index.html +131 -0
  204. package/coverage/src/decorators/index.ts.html +574 -0
  205. package/coverage/src/decorators/promise.ts.html +169 -0
  206. package/coverage/src/eventBus.ts.html +100 -0
  207. package/coverage/src/generator/compileComponent.ts.html +142 -0
  208. package/coverage/src/generator/genBundleFiles.ts.html +1822 -0
  209. package/coverage/src/generator/genHash.ts.html +124 -0
  210. package/coverage/src/generator/genMetaData.ts.html +1129 -0
  211. package/coverage/src/generator/genReleaseBody.ts.html +1282 -0
  212. package/coverage/src/generator/icestark.ts.html +226 -0
  213. package/coverage/src/generator/index.html +266 -0
  214. package/coverage/src/generator/index.ts.html +106 -0
  215. package/coverage/src/generator/microApp.ts.html +172 -0
  216. package/coverage/src/generator/permission.ts.html +1108 -0
  217. package/coverage/src/generator/qiankun.ts.html +238 -0
  218. package/coverage/src/generator/styleReplacer.ts.html +199 -0
  219. package/coverage/src/index.html +146 -0
  220. package/coverage/src/index.ts.html +121 -0
  221. package/coverage/src/manager/diagnostic.ts.html +439 -0
  222. package/coverage/src/manager/index.html +131 -0
  223. package/coverage/src/manager/stepRecorder.ts.html +457 -0
  224. package/coverage/src/natural/genNaturalTS.ts.html +355 -0
  225. package/coverage/src/natural/index.html +161 -0
  226. package/coverage/src/natural/index.ts.html +91 -0
  227. package/coverage/src/natural/naslStdlibMap.ts.html +157 -0
  228. package/coverage/src/natural/transformTSCode.ts.html +2707 -0
  229. package/coverage/src/sentry/index.html +116 -0
  230. package/coverage/src/sentry/index.ts.html +682 -0
  231. package/coverage/src/server/createUiTs.ts.html +919 -0
  232. package/coverage/src/server/entity2LogicNamespace.ts.html +1294 -0
  233. package/coverage/src/server/event.js.html +526 -0
  234. package/coverage/src/server/extendBaseNode.ts.html +1792 -0
  235. package/coverage/src/server/formatTsUtils.ts.html +2692 -0
  236. package/coverage/src/server/getConnector.ts.html +316 -0
  237. package/coverage/src/server/getExtensionModules.ts.html +178 -0
  238. package/coverage/src/server/getFunctions.ts.html +133 -0
  239. package/coverage/src/server/getInterfaces.ts.html +229 -0
  240. package/coverage/src/server/getLogging.ts.html +100 -0
  241. package/coverage/src/server/getLogics.ts.html +1375 -0
  242. package/coverage/src/server/getMemberIdentifier.ts.html +1672 -0
  243. package/coverage/src/server/getProcessComponents.ts.html +112 -0
  244. package/coverage/src/server/getProcesses.ts.html +2173 -0
  245. package/coverage/src/server/getValidates.ts.html +115 -0
  246. package/coverage/src/server/index.html +401 -0
  247. package/coverage/src/server/index.ts.html +232 -0
  248. package/coverage/src/server/naslServer.ts.html +14659 -0
  249. package/coverage/src/server/naslStdlibMap.ts.html +241 -0
  250. package/coverage/src/server/process2LogicNamespace.ts.html +454 -0
  251. package/coverage/src/server/translator.ts.html +2611 -0
  252. package/coverage/src/service/creator/add.configs.js.html +397 -0
  253. package/coverage/src/service/creator/errHandles.js.html +313 -0
  254. package/coverage/src/service/creator/index.html +146 -0
  255. package/coverage/src/service/creator/index.js.html +352 -0
  256. package/coverage/src/service/datasource/api.js.html +118 -0
  257. package/coverage/src/service/datasource/index.html +131 -0
  258. package/coverage/src/service/datasource/index.js.html +103 -0
  259. package/coverage/src/service/logic/api.js.html +109 -0
  260. package/coverage/src/service/logic/index.html +131 -0
  261. package/coverage/src/service/logic/index.js.html +103 -0
  262. package/coverage/src/service/storage/api.js.html +202 -0
  263. package/coverage/src/service/storage/index.html +206 -0
  264. package/coverage/src/service/storage/index.ts.html +103 -0
  265. package/coverage/src/service/storage/init.ts.html +3694 -0
  266. package/coverage/src/service/storage/jsoner.ts.html +565 -0
  267. package/coverage/src/service/storage/map.ts.html +256 -0
  268. package/coverage/src/service/storage/service.ts.html +331 -0
  269. package/coverage/src/service/storage/storagePoint.ts.html +304 -0
  270. package/coverage/src/templator/genCallComponentLogic.ts.html +163 -0
  271. package/coverage/src/templator/genCreateBlock.ts.html +1072 -0
  272. package/coverage/src/templator/genCurdEditMultipleKeyBlock.ts.html +1609 -0
  273. package/coverage/src/templator/genCurdMultipleKeyBlock.ts.html +2236 -0
  274. package/coverage/src/templator/genEditTableBlock.ts.html +1018 -0
  275. package/coverage/src/templator/genEnumSelectBlock.ts.html +178 -0
  276. package/coverage/src/templator/genGetBlock.ts.html +451 -0
  277. package/coverage/src/templator/genGridViewBlock.ts.html +1114 -0
  278. package/coverage/src/templator/genListViewBlock.ts.html +475 -0
  279. package/coverage/src/templator/genQueryComponent.ts.html +1207 -0
  280. package/coverage/src/templator/genSelectBlock.ts.html +1243 -0
  281. package/coverage/src/templator/genTableBlock.ts.html +973 -0
  282. package/coverage/src/templator/genUpdateBlock.ts.html +1195 -0
  283. package/coverage/src/templator/index.html +326 -0
  284. package/coverage/src/templator/index.ts.html +154 -0
  285. package/coverage/src/templator/utils.ts.html +1924 -0
  286. package/coverage/src/translator/constant.ts.html +106 -0
  287. package/coverage/src/translator/index.html +146 -0
  288. package/coverage/src/translator/index.ts.html +94 -0
  289. package/coverage/src/translator/utils.ts.html +757 -0
  290. package/coverage/src/utils/cookie.ts.html +265 -0
  291. package/coverage/src/utils/env.ts.html +91 -0
  292. package/coverage/src/utils/i18nInfo.ts.html +166 -0
  293. package/coverage/src/utils/index.html +221 -0
  294. package/coverage/src/utils/index.ts.html +748 -0
  295. package/coverage/src/utils/logger.ts.html +145 -0
  296. package/coverage/src/utils/sortTsString.ts.html +202 -0
  297. package/coverage/src/utils/string.ts.html +502 -0
  298. package/coverage/src/utils/time-slicing/constant.ts.html +196 -0
  299. package/coverage/src/utils/time-slicing/controller.ts.html +1144 -0
  300. package/coverage/src/utils/time-slicing/index.html +236 -0
  301. package/coverage/src/utils/time-slicing/index.ts.html +103 -0
  302. package/coverage/src/utils/time-slicing/page-state.ts.html +121 -0
  303. package/coverage/src/utils/time-slicing/performance.ts.html +253 -0
  304. package/coverage/src/utils/time-slicing/runner.ts.html +241 -0
  305. package/coverage/src/utils/time-slicing/tool.ts.html +220 -0
  306. package/coverage/src/utils/time-slicing/utils.ts.html +355 -0
  307. package/coverage/src/utils/time-slicing/wrapper.ts.html +259 -0
  308. package/coverage/src/utils/time-slicing.ts.html +418 -0
  309. package/coverage/src/utils/traverse.ts.html +568 -0
  310. package/coverage/src/utils/window.ts.html +112 -0
  311. package/out/concepts/BackendVariable__.js +10 -2
  312. package/out/concepts/BackendVariable__.js.map +1 -1
  313. package/out/concepts/BinaryExpression__.d.ts +2 -0
  314. package/out/concepts/BinaryExpression__.js +4 -0
  315. package/out/concepts/BinaryExpression__.js.map +1 -1
  316. package/out/concepts/CallFunction__.d.ts +2 -0
  317. package/out/concepts/CallFunction__.js +14 -2
  318. package/out/concepts/CallFunction__.js.map +1 -1
  319. package/out/concepts/CallInterface__.d.ts +2 -0
  320. package/out/concepts/CallInterface__.js +5 -1
  321. package/out/concepts/CallInterface__.js.map +1 -1
  322. package/out/concepts/CallLogic__.d.ts +3 -2
  323. package/out/concepts/CallLogic__.js +15 -26
  324. package/out/concepts/CallLogic__.js.map +1 -1
  325. package/out/concepts/Logic__.js +0 -1
  326. package/out/concepts/Logic__.js.map +1 -1
  327. package/out/concepts/MemberExpression__.d.ts +1 -1
  328. package/out/concepts/MemberExpression__.js +3 -3
  329. package/out/concepts/MemberExpression__.js.map +1 -1
  330. package/out/concepts/NewComposite__.d.ts +2 -0
  331. package/out/concepts/NewComposite__.js +4 -0
  332. package/out/concepts/NewComposite__.js.map +1 -1
  333. package/out/concepts/NewList__.d.ts +2 -0
  334. package/out/concepts/NewList__.js +4 -0
  335. package/out/concepts/NewList__.js.map +1 -1
  336. package/out/concepts/NewMap__.d.ts +2 -0
  337. package/out/concepts/NewMap__.js +4 -0
  338. package/out/concepts/NewMap__.js.map +1 -1
  339. package/out/concepts/Param__.js +11 -3
  340. package/out/concepts/Param__.js.map +1 -1
  341. package/out/concepts/Return__.js +10 -2
  342. package/out/concepts/Return__.js.map +1 -1
  343. package/out/concepts/Variable__.js +10 -2
  344. package/out/concepts/Variable__.js.map +1 -1
  345. package/out/concepts/utils/quick-info.d.ts +13 -0
  346. package/out/concepts/utils/quick-info.js +51 -0
  347. package/out/concepts/utils/quick-info.js.map +1 -0
  348. package/out/server/naslServer.js +2 -48
  349. package/out/server/naslServer.js.map +1 -1
  350. package/out/translator/utils.d.ts +2 -2
  351. package/package.json +1 -1
  352. package/src/concepts/BackendVariable__.ts +10 -2
  353. package/src/concepts/BinaryExpression__.ts +5 -1
  354. package/src/concepts/CallFunction__.ts +15 -2
  355. package/src/concepts/CallInterface__.ts +6 -1
  356. package/src/concepts/CallLogic__.ts +15 -30
  357. package/src/concepts/Logic__.ts +0 -1
  358. package/src/concepts/MemberExpression__.ts +3 -3
  359. package/src/concepts/NewComposite__.ts +5 -5
  360. package/src/concepts/NewList__.ts +6 -2
  361. package/src/concepts/NewMap__.ts +6 -3
  362. package/src/concepts/Param__.ts +11 -3
  363. package/src/concepts/Return__.ts +10 -2
  364. package/src/concepts/Variable__.ts +10 -2
  365. package/src/concepts/utils/quick-info.ts +64 -0
  366. package/src/server/naslServer.ts +1 -45
  367. package/src/translator/utils.ts +2 -2
  368. package/test/concepts/binary-expression/__snapshots__/getQuickInfoOffset.spec.ts.snap +25 -0
  369. package/test/concepts/binary-expression/getQuickInfoOffset.spec.ts +19 -0
  370. package/test/concepts/call-function/__snapshots__/getQuickInfoOffset.spec.ts.snap +41 -0
  371. package/test/concepts/call-function/getQuickInfoOffset.spec.ts +19 -0
  372. package/test/concepts/call-interface/__snapshots__/getQuickInfoOffset.spec.ts.snap +86 -0
  373. package/test/concepts/call-interface/__snapshots__/toEmbeddedTS.spec.ts.snap +3 -3
  374. package/test/concepts/call-interface/getQuickInfoOffset.spec.ts +19 -0
  375. package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +2 -7
  376. package/test/concepts/new-composite/__snapshots__/getQuickInfoOffset.spec.ts.snap +104 -0
  377. package/test/concepts/new-composite/__snapshots__/toEmbeddedTS.spec.ts.snap +97 -0
  378. package/test/concepts/new-composite/__snapshots__/toJS.spec.ts.snap +43 -0
  379. package/test/concepts/new-composite/constant.ts +5 -0
  380. package/test/concepts/new-composite/fixtures/nested-transform.json +241 -0
  381. package/test/concepts/new-composite/fixtures/nested.json +146 -0
  382. package/test/concepts/new-composite/fixtures/normal.json +63 -0
  383. package/test/concepts/new-composite/getQuickInfoOffset.spec.ts +19 -0
  384. package/test/concepts/new-composite/toEmbeddedTS.spec.ts +15 -0
  385. package/test/concepts/new-composite/toJS.spec.ts +14 -0
  386. package/test/concepts/new-list/__snapshots__/getQuickInfoOffset.spec.ts.snap +165 -0
  387. package/test/concepts/new-list/__snapshots__/toEmbeddedTS.spec.ts.snap +207 -0
  388. package/test/concepts/new-list/__snapshots__/toJS.spec.ts.snap +63 -0
  389. package/test/concepts/new-list/constant.ts +5 -0
  390. package/test/concepts/new-list/fixtures/nested-map.json +117 -0
  391. package/test/concepts/new-list/fixtures/nested-tranform.json +140 -0
  392. package/test/concepts/new-list/fixtures/nested.json +107 -0
  393. package/test/concepts/new-list/fixtures/normal.json +95 -0
  394. package/test/concepts/new-list/getQuickInfoOffset.spec.ts +19 -0
  395. package/test/concepts/new-list/toEmbeddedTS.spec.ts +15 -0
  396. package/test/concepts/new-list/toJS.spec.ts +14 -0
  397. package/test/concepts/new-map/__snapshots__/getQuickInfoOffset.spec.ts.snap +115 -0
  398. package/test/concepts/new-map/__snapshots__/toEmbeddedTS.spec.ts.snap +192 -0
  399. package/test/concepts/new-map/__snapshots__/toJS.spec.ts.snap +54 -0
  400. package/test/concepts/new-map/constant.ts +5 -0
  401. package/test/concepts/new-map/fixtures/nested-transform.json +169 -0
  402. package/test/concepts/new-map/fixtures/nested.json +141 -0
  403. package/test/concepts/new-map/fixtures/normal.json +101 -0
  404. package/test/concepts/new-map/getQuickInfoOffset.spec.ts +19 -0
  405. package/test/concepts/new-map/toEmbeddedTS.spec.ts +15 -0
  406. package/test/concepts/new-map/toJS.spec.ts +14 -0
  407. package/test/concepts/utils.ts +17 -0
@@ -0,0 +1,1627 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/concepts/QueryJoinExpression__.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> QueryJoinExpression__.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">15.7% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>19/121</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/49</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/27</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">15.04% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>17/113</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
581
+ <span class="cline-any cline-yes">1x</span>
582
+ <span class="cline-any cline-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
584
+ <span class="cline-any cline-neutral">&nbsp;</span>
585
+ <span class="cline-any cline-neutral">&nbsp;</span>
586
+ <span class="cline-any cline-neutral">&nbsp;</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-neutral">&nbsp;</span>
589
+ <span class="cline-any cline-neutral">&nbsp;</span>
590
+ <span class="cline-any cline-neutral">&nbsp;</span>
591
+ <span class="cline-any cline-neutral">&nbsp;</span>
592
+ <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-neutral">&nbsp;</span>
594
+ <span class="cline-any cline-neutral">&nbsp;</span>
595
+ <span class="cline-any cline-neutral">&nbsp;</span>
596
+ <span class="cline-any cline-neutral">&nbsp;</span>
597
+ <span class="cline-any cline-yes">1x</span>
598
+ <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-yes">1x</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-yes">1x</span>
603
+ <span class="cline-any cline-yes">1x</span>
604
+ <span class="cline-any cline-neutral">&nbsp;</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
607
+ <span class="cline-any cline-neutral">&nbsp;</span>
608
+ <span class="cline-any cline-neutral">&nbsp;</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-yes">1x</span>
612
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
+ <span class="cline-any cline-yes">1x</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-neutral">&nbsp;</span>
617
+ <span class="cline-any cline-neutral">&nbsp;</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-neutral">&nbsp;</span>
620
+ <span class="cline-any cline-yes">1x</span>
621
+ <span class="cline-any cline-neutral">&nbsp;</span>
622
+ <span class="cline-any cline-neutral">&nbsp;</span>
623
+ <span class="cline-any cline-neutral">&nbsp;</span>
624
+ <span class="cline-any cline-neutral">&nbsp;</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-neutral">&nbsp;</span>
627
+ <span class="cline-any cline-yes">1x</span>
628
+ <span class="cline-any cline-neutral">&nbsp;</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
630
+ <span class="cline-any cline-neutral">&nbsp;</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-neutral">&nbsp;</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-yes">1x</span>
635
+ <span class="cline-any cline-neutral">&nbsp;</span>
636
+ <span class="cline-any cline-neutral">&nbsp;</span>
637
+ <span class="cline-any cline-neutral">&nbsp;</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-neutral">&nbsp;</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
641
+ <span class="cline-any cline-yes">1x</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-neutral">&nbsp;</span>
644
+ <span class="cline-any cline-neutral">&nbsp;</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-yes">1x</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-neutral">&nbsp;</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-neutral">&nbsp;</span>
660
+ <span class="cline-any cline-yes">1x</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-no">&nbsp;</span>
667
+ <span class="cline-any cline-no">&nbsp;</span>
668
+ <span class="cline-any cline-no">&nbsp;</span>
669
+ <span class="cline-any cline-neutral">&nbsp;</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
672
+ <span class="cline-any cline-no">&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-no">&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-no">&nbsp;</span>
683
+ <span class="cline-any cline-neutral">&nbsp;</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-no">&nbsp;</span>
689
+ <span class="cline-any cline-no">&nbsp;</span>
690
+ <span class="cline-any cline-no">&nbsp;</span>
691
+ <span class="cline-any cline-no">&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-no">&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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</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-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-neutral">&nbsp;</span>
725
+ <span class="cline-any cline-no">&nbsp;</span>
726
+ <span class="cline-any cline-no">&nbsp;</span>
727
+ <span class="cline-any cline-neutral">&nbsp;</span>
728
+ <span class="cline-any cline-no">&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-neutral">&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-neutral">&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-neutral">&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-no">&nbsp;</span>
747
+ <span class="cline-any cline-no">&nbsp;</span>
748
+ <span class="cline-any cline-no">&nbsp;</span>
749
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
753
+ <span class="cline-any cline-neutral">&nbsp;</span>
754
+ <span class="cline-any cline-neutral">&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-neutral">&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-no">&nbsp;</span>
761
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
767
+ <span class="cline-any cline-neutral">&nbsp;</span>
768
+ <span class="cline-any cline-neutral">&nbsp;</span>
769
+ <span class="cline-any cline-neutral">&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-neutral">&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-neutral">&nbsp;</span>
782
+ <span class="cline-any cline-neutral">&nbsp;</span>
783
+ <span class="cline-any cline-neutral">&nbsp;</span>
784
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
788
+ <span class="cline-any cline-neutral">&nbsp;</span>
789
+ <span class="cline-any cline-no">&nbsp;</span>
790
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
796
+ <span class="cline-any cline-neutral">&nbsp;</span>
797
+ <span class="cline-any cline-neutral">&nbsp;</span>
798
+ <span class="cline-any cline-neutral">&nbsp;</span>
799
+ <span class="cline-any cline-neutral">&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-neutral">&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-no">&nbsp;</span>
821
+ <span class="cline-any cline-no">&nbsp;</span>
822
+ <span class="cline-any cline-neutral">&nbsp;</span>
823
+ <span class="cline-any cline-neutral">&nbsp;</span>
824
+ <span class="cline-any cline-neutral">&nbsp;</span>
825
+ <span class="cline-any cline-neutral">&nbsp;</span>
826
+ <span class="cline-any cline-neutral">&nbsp;</span>
827
+ <span class="cline-any cline-neutral">&nbsp;</span>
828
+ <span class="cline-any cline-neutral">&nbsp;</span>
829
+ <span class="cline-any cline-neutral">&nbsp;</span>
830
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
840
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
845
+ <span class="cline-any cline-no">&nbsp;</span>
846
+ <span class="cline-any cline-no">&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-no">&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-neutral">&nbsp;</span>
857
+ <span class="cline-any cline-neutral">&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-neutral">&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-no">&nbsp;</span>
873
+ <span class="cline-any cline-no">&nbsp;</span>
874
+ <span class="cline-any cline-neutral">&nbsp;</span>
875
+ <span class="cline-any cline-no">&nbsp;</span>
876
+ <span class="cline-any cline-no">&nbsp;</span>
877
+ <span class="cline-any cline-no">&nbsp;</span>
878
+ <span class="cline-any cline-no">&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-neutral">&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-no">&nbsp;</span>
890
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
898
+ <span class="cline-any cline-neutral">&nbsp;</span>
899
+ <span class="cline-any cline-neutral">&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-neutral">&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-no">&nbsp;</span>
910
+ <span class="cline-any cline-no">&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-no">&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-neutral">&nbsp;</span>
922
+ <span class="cline-any cline-neutral">&nbsp;</span>
923
+ <span class="cline-any cline-neutral">&nbsp;</span>
924
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
928
+ <span class="cline-any cline-neutral">&nbsp;</span>
929
+ <span class="cline-any cline-neutral">&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-no">&nbsp;</span>
934
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
947
+ <span class="cline-any cline-neutral">&nbsp;</span>
948
+ <span class="cline-any cline-neutral">&nbsp;</span>
949
+ <span class="cline-any cline-neutral">&nbsp;</span>
950
+ <span class="cline-any cline-no">&nbsp;</span>
951
+ <span class="cline-any cline-no">&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-neutral">&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-no">&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-neutral">&nbsp;</span>
972
+ <span class="cline-any cline-neutral">&nbsp;</span>
973
+ <span class="cline-any cline-neutral">&nbsp;</span>
974
+ <span class="cline-any cline-no">&nbsp;</span>
975
+ <span class="cline-any cline-no">&nbsp;</span>
976
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
980
+ <span class="cline-any cline-no">&nbsp;</span>
981
+ <span class="cline-any cline-neutral">&nbsp;</span>
982
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
990
+ <span class="cline-any cline-neutral">&nbsp;</span>
991
+ <span class="cline-any cline-neutral">&nbsp;</span>
992
+ <span class="cline-any cline-no">&nbsp;</span>
993
+ <span class="cline-any cline-no">&nbsp;</span>
994
+ <span class="cline-any cline-neutral">&nbsp;</span>
995
+ <span class="cline-any cline-neutral">&nbsp;</span>
996
+ <span class="cline-any cline-neutral">&nbsp;</span>
997
+ <span class="cline-any cline-no">&nbsp;</span>
998
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1003
+ <span class="cline-any cline-neutral">&nbsp;</span>
1004
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1008
+ <span class="cline-any cline-no">&nbsp;</span>
1009
+ <span class="cline-any cline-neutral">&nbsp;</span>
1010
+ <span class="cline-any cline-no">&nbsp;</span>
1011
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1015
+ <span class="cline-any cline-no">&nbsp;</span>
1016
+ <span class="cline-any cline-neutral">&nbsp;</span>
1017
+ <span class="cline-any cline-no">&nbsp;</span>
1018
+ <span class="cline-any cline-no">&nbsp;</span>
1019
+ <span class="cline-any cline-no">&nbsp;</span>
1020
+ <span class="cline-any cline-no">&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-no">&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-neutral">&nbsp;</span>
1031
+ <span class="cline-any cline-neutral">&nbsp;</span>
1032
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1037
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1044
+ <span class="cline-any cline-no">&nbsp;</span>
1045
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1054
+ <span class="cline-any cline-neutral">&nbsp;</span>
1055
+ <span class="cline-any cline-neutral">&nbsp;</span>
1056
+ <span class="cline-any cline-no">&nbsp;</span>
1057
+ <span class="cline-any cline-neutral">&nbsp;</span>
1058
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
1062
+ <span class="cline-any cline-yes">1x</span>
1063
+ <span class="cline-any cline-no">&nbsp;</span>
1064
+ <span class="cline-any cline-no">&nbsp;</span>
1065
+ <span class="cline-any cline-no">&nbsp;</span>
1066
+ <span class="cline-any cline-no">&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-no">&nbsp;</span>
1070
+ <span class="cline-any cline-no">&nbsp;</span>
1071
+ <span class="cline-any cline-neutral">&nbsp;</span>
1072
+ <span class="cline-any cline-no">&nbsp;</span>
1073
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</span>
1079
+ <span class="cline-any cline-neutral">&nbsp;</span>
1080
+ <span class="cline-any cline-no">&nbsp;</span>
1081
+ <span class="cline-any cline-neutral">&nbsp;</span>
1082
+ <span class="cline-any cline-neutral">&nbsp;</span>
1083
+ <span class="cline-any cline-neutral">&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-neutral">&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-yes">1x</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></td><td class="text"><pre class="prettyprint lang-js">import { wrapForEachToGenerator as wrapForEach } from '../utils/time-slicing';
1095
+ import {
1096
+ TranslatorState,
1097
+ shiftState,
1098
+ withSourceMap,
1099
+ indent,
1100
+ createCompilerState,
1101
+ withSourceMapGenerator,
1102
+ withGenerator,
1103
+ TranslatorGenerator,
1104
+ } from '../translator';
1105
+ import CallQueryComponent from './CallQueryComponent__';
1106
+ //================================================================================
1107
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1108
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1109
+ //================================================================================
1110
+ import { EventPayload, Params } from '../common/EventEmitter';
1111
+ import { concept, excludedInJSON, property, className } from '../decorators';
1112
+ &nbsp;
1113
+ import * as utils from '../utils';
1114
+ import { v4 as uuidv4 } from 'uuid';
1115
+ import BaseNode from '../common/BaseNode';
1116
+ import BinaryExpression from './BinaryExpression__';
1117
+ import LogicItem from './LogicItem__';
1118
+ &nbsp;
1119
+ /**
1120
+ * 查询 Join 子句
1121
+ */
1122
+ @className
1123
+ @concept('查询 Join 子句')
1124
+ // @ts-ignore
1125
+ export class QueryJoinExpression extends LogicItem {
1126
+ /** 类名 */
1127
+ static readonly ConceptName = 'QueryJoinExpression';
1128
+ &nbsp;
1129
+ /**
1130
+ * 产品概念
1131
+ */
1132
+ @property('concept')
1133
+ // @ts-ignore
1134
+ readonly concept!: 'QueryJoinExpression';
1135
+ &nbsp;
1136
+ /**
1137
+ * 实体的命名空间
1138
+ */
1139
+ @property()
1140
+ // @ts-ignore
1141
+ entityNamespace!: string;
1142
+ &nbsp;
1143
+ /**
1144
+ * 实体名称
1145
+ */
1146
+ @property()
1147
+ // @ts-ignore
1148
+ entityName!: string;
1149
+ &nbsp;
1150
+ /**
1151
+ * 别名
1152
+ */
1153
+ @property()
1154
+ // @ts-ignore
1155
+ asName!: string;
1156
+ &nbsp;
1157
+ /**
1158
+ * joinType
1159
+ */
1160
+ @property()
1161
+ // @ts-ignore
1162
+ joinType!: 'INNER' | 'LEFT' | 'RIGHT' | 'FULL';
1163
+ &nbsp;
1164
+ /**
1165
+ * 二元表达式列表
1166
+ */
1167
+ @property('BinaryExpression')
1168
+ onExpressions: Array&lt;BinaryExpression&gt; = <span class="cstat-no" title="statement not covered" >[];</span>
1169
+ &nbsp;
1170
+ /**
1171
+ * 查询 Join 子句列表
1172
+ */
1173
+ @property('QueryJoinExpression')
1174
+ joinParts: Array&lt;QueryJoinExpression&gt; = <span class="cstat-no" title="statement not covered" >[];</span>
1175
+ &nbsp;
1176
+ /**
1177
+ * @param source 需要合并的部分参数
1178
+ */
1179
+ <span class="fstat-no" title="function not covered" > constructor(s</span>ource?: Partial&lt;QueryJoinExpression&gt;) {
1180
+ <span class="cstat-no" title="statement not covered" > source = Object.assign({}, QueryJoinExpression.getDefaultOptions(), source);</span>
1181
+ <span class="cstat-no" title="statement not covered" > super(source);</span>
1182
+ <span class="cstat-no" title="statement not covered" > super.subConstructor(source);</span>
1183
+ }
1184
+ &nbsp;
1185
+ <span class="fstat-no" title="function not covered" > static </span>from(source: any, parentNode?: any, parentKey?: string): QueryJoinExpression {
1186
+ <span class="cstat-no" title="statement not covered" > return super.from(source, parentNode, parentKey) as QueryJoinExpression;</span>
1187
+ }
1188
+ &nbsp;
1189
+ /**
1190
+ * 设置实体名称
1191
+ */
1192
+ <span class="fstat-no" title="function not covered" > setEntityName(</span>entityName: string) {
1193
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1194
+ entityName,
1195
+ };
1196
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1197
+ ...object,
1198
+ });
1199
+ }
1200
+ &nbsp;
1201
+ <span class="fstat-no" title="function not covered" > getBinaryExpressionExistingNames(</span>excludedList: Array&lt;BinaryExpression&gt; = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
1202
+ const excludedSet = <span class="cstat-no" title="statement not covered" >new Set(excludedList);</span>
1203
+ <span class="cstat-no" title="statement not covered" > return ((this.onExpressions as BinaryExpression[]) || [])</span>
1204
+ .filter(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >!excludedSet.has(item))</span>
1205
+ .map(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item?.name)</span>;
1206
+ }
1207
+ <span class="fstat-no" title="function not covered" > getBinaryExpressionUniqueName(</span>name = <span class="branch-0 cbranch-no" title="branch not covered" >'binaryExpression1')</span> {
1208
+ <span class="cstat-no" title="statement not covered" > return utils.unique(name, this.getBinaryExpressionExistingNames(), undefined, false);</span>
1209
+ }
1210
+ &nbsp;
1211
+ /**
1212
+ * 插入二元表达式
1213
+ * @internal
1214
+ * @param name 二元表达式名称,如果不填会自动生成一个唯一名称
1215
+ */
1216
+ _insertBinaryExpressionInOnExpressionsAt(name: string, index: number): BinaryExpression;
1217
+ &nbsp;
1218
+ /**
1219
+ * 插入二元表达式
1220
+ * @internal
1221
+ * @param binaryExpressionOptions 二元表达式参数
1222
+ */
1223
+ _insertBinaryExpressionInOnExpressionsAt(
1224
+ binaryExpressionOptions: Partial&lt;BinaryExpression&gt;,
1225
+ index: number,
1226
+ ): BinaryExpression;
1227
+ &nbsp;
1228
+ /**
1229
+ * 插入二元表达式
1230
+ * @internal
1231
+ * @param binaryExpression 已有的二元表达式实例
1232
+ */
1233
+ _insertBinaryExpressionInOnExpressionsAt(binaryExpression: BinaryExpression, index: number): BinaryExpression;
1234
+ &nbsp;
1235
+ <span class="fstat-no" title="function not covered" > _insertBinaryExpressionInOnExpressionsAt(</span>
1236
+ options: string | Partial&lt;BinaryExpression&gt; | BinaryExpression,
1237
+ index: number,
1238
+ ) {
1239
+ const binaryExpressionOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
1240
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'onExpressions' };</span>
1241
+ let binaryExpression: BinaryExpression;
1242
+ <span class="cstat-no" title="statement not covered" > if (!options) {</span>
1243
+ <span class="cstat-no" title="statement not covered" > binaryExpression = BinaryExpression.from(</span>
1244
+ {
1245
+ ...binaryExpressionOptions,
1246
+ name: this.getBinaryExpressionUniqueName(),
1247
+ },
1248
+ this,
1249
+ 'onExpressions',
1250
+ );
1251
+ } else <span class="cstat-no" title="statement not covered" >if (typeof options === 'string') {</span>
1252
+ <span class="cstat-no" title="statement not covered" > binaryExpression = BinaryExpression.from(</span>
1253
+ {
1254
+ ...binaryExpressionOptions,
1255
+ name: options,
1256
+ },
1257
+ this,
1258
+ 'onExpressions',
1259
+ );
1260
+ } else <span class="cstat-no" title="statement not covered" >if (options instanceof BinaryExpression) {</span>
1261
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
1262
+ <span class="cstat-no" title="statement not covered" > binaryExpression = options;</span>
1263
+ <span class="cstat-no" title="statement not covered" > Object.assign(binaryExpression, relationOptions);</span>
1264
+ } else {
1265
+ <span class="cstat-no" title="statement not covered" > binaryExpression = BinaryExpression.from(</span>
1266
+ {
1267
+ ...binaryExpressionOptions,
1268
+ ...options,
1269
+ },
1270
+ this,
1271
+ 'onExpressions',
1272
+ );
1273
+ }
1274
+ <span class="cstat-no" title="statement not covered" > this.onExpressions.splice(index, 0, binaryExpression);</span>
1275
+ <span class="cstat-no" title="statement not covered" > return binaryExpression;</span>
1276
+ }
1277
+ &nbsp;
1278
+ /**
1279
+ * 插入二元表达式
1280
+ * @param name 二元表达式名称,如果不填会自动生成一个唯一名称
1281
+ */
1282
+ insertBinaryExpressionInOnExpressionsAt(name: string, index: number): BinaryExpression;
1283
+ &nbsp;
1284
+ /**
1285
+ * 插入二元表达式
1286
+ * @param binaryExpressionOptions 二元表达式参数
1287
+ */
1288
+ insertBinaryExpressionInOnExpressionsAt(
1289
+ binaryExpressionOptions: Partial&lt;BinaryExpression&gt;,
1290
+ index: number,
1291
+ ): BinaryExpression;
1292
+ &nbsp;
1293
+ /**
1294
+ * 插入二元表达式
1295
+ * @param binaryExpression 已有的二元表达式实例
1296
+ */
1297
+ insertBinaryExpressionInOnExpressionsAt(binaryExpression: BinaryExpression, index: number): BinaryExpression;
1298
+ &nbsp;
1299
+ <span class="fstat-no" title="function not covered" > insertBinaryExpressionInOnExpressionsAt(</span>
1300
+ options: string | Partial&lt;BinaryExpression&gt; | BinaryExpression,
1301
+ index: number,
1302
+ ) {
1303
+ const node = <span class="cstat-no" title="statement not covered" >this._insertBinaryExpressionInOnExpressionsAt(options as any, index);</span>
1304
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1305
+ index,
1306
+ parentNode: this,
1307
+ parentKey: 'onExpressions',
1308
+ });
1309
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1310
+ }
1311
+ &nbsp;
1312
+ /**
1313
+ * 添加二元表达式
1314
+ * @internal
1315
+ * @param name 二元表达式名称,如果不填会自动生成一个唯一名称
1316
+ */
1317
+ _addBinaryExpressionInOnExpressions(name?: string): BinaryExpression;
1318
+ &nbsp;
1319
+ /**
1320
+ * 添加二元表达式
1321
+ * @internal
1322
+ * @param binaryExpressionOptions 二元表达式参数
1323
+ */
1324
+ _addBinaryExpressionInOnExpressions(binaryExpressionOptions: Partial&lt;BinaryExpression&gt;): BinaryExpression;
1325
+ &nbsp;
1326
+ /**
1327
+ * 添加二元表达式
1328
+ * @internal
1329
+ * @param binaryExpression 已有的二元表达式实例
1330
+ */
1331
+ _addBinaryExpressionInOnExpressions(binaryExpression: BinaryExpression): BinaryExpression;
1332
+ &nbsp;
1333
+ <span class="fstat-no" title="function not covered" > _addBinaryExpressionInOnExpressions(</span>options?: string | Partial&lt;BinaryExpression&gt; | BinaryExpression) {
1334
+ const index = <span class="cstat-no" title="statement not covered" >this.onExpressions.length;</span>
1335
+ <span class="cstat-no" title="statement not covered" > return this._insertBinaryExpressionInOnExpressionsAt(options as any, index);</span>
1336
+ }
1337
+ &nbsp;
1338
+ /**
1339
+ * 添加二元表达式
1340
+ * @internal
1341
+ * @param name 二元表达式名称,如果不填会自动生成一个唯一名称
1342
+ */
1343
+ addBinaryExpressionInOnExpressions(name?: string): BinaryExpression;
1344
+ &nbsp;
1345
+ /**
1346
+ * 添加二元表达式
1347
+ * @param binaryExpressionOptions 二元表达式参数
1348
+ */
1349
+ addBinaryExpressionInOnExpressions(binaryExpressionOptions: Partial&lt;BinaryExpression&gt;): BinaryExpression;
1350
+ &nbsp;
1351
+ /**
1352
+ * 添加二元表达式
1353
+ * @param binaryExpression 已有的二元表达式实例
1354
+ */
1355
+ addBinaryExpressionInOnExpressions(binaryExpression: BinaryExpression): BinaryExpression;
1356
+ &nbsp;
1357
+ <span class="fstat-no" title="function not covered" > addBinaryExpressionInOnExpressions(</span>options?: string | Partial&lt;BinaryExpression&gt; | BinaryExpression) {
1358
+ const node = <span class="cstat-no" title="statement not covered" >this._addBinaryExpressionInOnExpressions(options as any);</span>
1359
+ const index = <span class="cstat-no" title="statement not covered" >this.onExpressions.indexOf(node);</span>
1360
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1361
+ index,
1362
+ parentNode: this,
1363
+ parentKey: 'onExpressions',
1364
+ });
1365
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1366
+ }
1367
+ &nbsp;
1368
+ /**
1369
+ * 插入查询 Join 子句
1370
+ * @internal
1371
+ * @param queryJoinExpressionOptions 查询 Join 子句参数
1372
+ */
1373
+ _insertJoinPartInJoinPartsAt(
1374
+ queryJoinExpressionOptions: Partial&lt;QueryJoinExpression&gt;,
1375
+ index: number,
1376
+ ): QueryJoinExpression;
1377
+ &nbsp;
1378
+ /**
1379
+ * 插入查询 Join 子句
1380
+ * @internal
1381
+ * @param queryJoinExpression 已有的查询 Join 子句实例
1382
+ */
1383
+ _insertJoinPartInJoinPartsAt(queryJoinExpression: QueryJoinExpression, index: number): QueryJoinExpression;
1384
+ &nbsp;
1385
+ <span class="fstat-no" title="function not covered" > _insertJoinPartInJoinPartsAt(</span>options: Partial&lt;QueryJoinExpression&gt; | QueryJoinExpression, index: number) {
1386
+ const queryJoinExpressionOptions: any = <span class="cstat-no" title="statement not covered" >{};</span>
1387
+ const relationOptions = <span class="cstat-no" title="statement not covered" >{ parentNode: this, parentKey: 'joinParts' };</span>
1388
+ let queryJoinExpression: QueryJoinExpression;
1389
+ <span class="cstat-no" title="statement not covered" > if (options instanceof QueryJoinExpression) {</span>
1390
+ <span class="cstat-no" title="statement not covered" > options.ensureDelete(); </span>// 同一实例不支持多处存在
1391
+ <span class="cstat-no" title="statement not covered" > queryJoinExpression = options;</span>
1392
+ <span class="cstat-no" title="statement not covered" > Object.assign(queryJoinExpression, relationOptions);</span>
1393
+ } else {
1394
+ <span class="cstat-no" title="statement not covered" > queryJoinExpression = QueryJoinExpression.from(</span>
1395
+ {
1396
+ ...queryJoinExpressionOptions,
1397
+ ...options,
1398
+ },
1399
+ this,
1400
+ 'joinParts',
1401
+ );
1402
+ }
1403
+ <span class="cstat-no" title="statement not covered" > this.joinParts.splice(index, 0, queryJoinExpression);</span>
1404
+ <span class="cstat-no" title="statement not covered" > return queryJoinExpression;</span>
1405
+ }
1406
+ &nbsp;
1407
+ /**
1408
+ * 插入查询 Join 子句
1409
+ * @param queryJoinExpressionOptions 查询 Join 子句参数
1410
+ */
1411
+ insertJoinPartInJoinPartsAt(
1412
+ queryJoinExpressionOptions: Partial&lt;QueryJoinExpression&gt;,
1413
+ index: number,
1414
+ ): QueryJoinExpression;
1415
+ &nbsp;
1416
+ /**
1417
+ * 插入查询 Join 子句
1418
+ * @param queryJoinExpression 已有的查询 Join 子句实例
1419
+ */
1420
+ insertJoinPartInJoinPartsAt(queryJoinExpression: QueryJoinExpression, index: number): QueryJoinExpression;
1421
+ &nbsp;
1422
+ <span class="fstat-no" title="function not covered" > insertJoinPartInJoinPartsAt(</span>options: Partial&lt;QueryJoinExpression&gt; | QueryJoinExpression, index: number) {
1423
+ const node = <span class="cstat-no" title="statement not covered" >this._insertJoinPartInJoinPartsAt(options as any, index);</span>
1424
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1425
+ index,
1426
+ parentNode: this,
1427
+ parentKey: 'joinParts',
1428
+ });
1429
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1430
+ }
1431
+ &nbsp;
1432
+ /**
1433
+ * 添加查询 Join 子句
1434
+ * @internal
1435
+ * @param queryJoinExpressionOptions 查询 Join 子句参数
1436
+ */
1437
+ _addJoinPartInJoinParts(queryJoinExpressionOptions: Partial&lt;QueryJoinExpression&gt;): QueryJoinExpression;
1438
+ &nbsp;
1439
+ /**
1440
+ * 添加查询 Join 子句
1441
+ * @internal
1442
+ * @param queryJoinExpression 已有的查询 Join 子句实例
1443
+ */
1444
+ _addJoinPartInJoinParts(queryJoinExpression: QueryJoinExpression): QueryJoinExpression;
1445
+ &nbsp;
1446
+ <span class="fstat-no" title="function not covered" > _addJoinPartInJoinParts(</span>options?: Partial&lt;QueryJoinExpression&gt; | QueryJoinExpression) {
1447
+ const index = <span class="cstat-no" title="statement not covered" >this.joinParts.length;</span>
1448
+ <span class="cstat-no" title="statement not covered" > return this._insertJoinPartInJoinPartsAt(options as any, index);</span>
1449
+ }
1450
+ &nbsp;
1451
+ /**
1452
+ * 添加查询 Join 子句
1453
+ * @param queryJoinExpressionOptions 查询 Join 子句参数
1454
+ */
1455
+ addJoinPartInJoinParts(queryJoinExpressionOptions: Partial&lt;QueryJoinExpression&gt;): QueryJoinExpression;
1456
+ &nbsp;
1457
+ /**
1458
+ * 添加查询 Join 子句
1459
+ * @param queryJoinExpression 已有的查询 Join 子句实例
1460
+ */
1461
+ addJoinPartInJoinParts(queryJoinExpression: QueryJoinExpression): QueryJoinExpression;
1462
+ &nbsp;
1463
+ <span class="fstat-no" title="function not covered" > addJoinPartInJoinParts(</span>options?: Partial&lt;QueryJoinExpression&gt; | QueryJoinExpression) {
1464
+ const node = <span class="cstat-no" title="statement not covered" >this._addJoinPartInJoinParts(options as any);</span>
1465
+ const index = <span class="cstat-no" title="statement not covered" >this.joinParts.indexOf(node);</span>
1466
+ <span class="cstat-no" title="statement not covered" > node.create({</span>
1467
+ index,
1468
+ parentNode: this,
1469
+ parentKey: 'joinParts',
1470
+ });
1471
+ <span class="cstat-no" title="statement not covered" > return node;</span>
1472
+ }
1473
+ &nbsp;
1474
+ /**
1475
+ * 删除二元表达式
1476
+ * @param name 二元表达式名称
1477
+ */
1478
+ removeBinaryExpressionInOnExpressions(name: string): void;
1479
+ &nbsp;
1480
+ /**
1481
+ * 删除二元表达式
1482
+ * @param binaryExpression 已有的二元表达式实例
1483
+ */
1484
+ removeBinaryExpressionInOnExpressions(binaryExpression: BinaryExpression): void;
1485
+ &nbsp;
1486
+ <span class="fstat-no" title="function not covered" > removeBinaryExpressionInOnExpressions(</span>options: string | BinaryExpression) {
1487
+ let binaryExpression: BinaryExpression;
1488
+ <span class="cstat-no" title="statement not covered" > if (typeof options === 'string') {</span>
1489
+ <span class="cstat-no" title="statement not covered" > binaryExpression = (this.onExpressions as BinaryExpression[]).find(<span class="fstat-no" title="function not covered" >(i</span>tem) =&gt; <span class="cstat-no" title="statement not covered" >item.name === options)</span>;</span>
1490
+ <span class="cstat-no" title="statement not covered" > if (!binaryExpression) {</span>
1491
+ <span class="cstat-no" title="statement not covered" > throw new Error('找不到二元表达式 ' + options);</span>
1492
+ }
1493
+ } else {
1494
+ <span class="cstat-no" title="statement not covered" > binaryExpression = options;</span>
1495
+ }
1496
+ <span class="cstat-no" title="statement not covered" > return binaryExpression.delete();</span>
1497
+ }
1498
+ &nbsp;
1499
+ /**
1500
+ * 删除查询 Join 子句
1501
+ * @param queryJoinExpression 已有的查询 Join 子句实例
1502
+ */
1503
+ removeJoinPartInJoinParts(queryJoinExpression: QueryJoinExpression): void;
1504
+ &nbsp;
1505
+ <span class="fstat-no" title="function not covered" > removeJoinPartInJoinParts(</span>options: QueryJoinExpression) {
1506
+ let queryJoinExpression: QueryJoinExpression = <span class="cstat-no" title="statement not covered" >options;</span>
1507
+ <span class="cstat-no" title="statement not covered" > return queryJoinExpression.delete();</span>
1508
+ }
1509
+ &nbsp;
1510
+ <span class="fstat-no" title="function not covered" > __removeLogicItem(</span>logicItem: LogicItem) {
1511
+ const parentKey = <span class="cstat-no" title="statement not covered" >logicItem.parentKey;</span>
1512
+ const params: Params = <span class="cstat-no" title="statement not covered" >{</span>
1513
+ parentNode: this,
1514
+ parentKey,
1515
+ index: -1,
1516
+ object: null,
1517
+ oldObject: logicItem,
1518
+ };
1519
+ <span class="cstat-no" title="statement not covered" > if (parentKey) {</span>
1520
+ <span class="cstat-no" title="statement not covered" > params.parentKey = parentKey;</span>
1521
+ // @ts-ignore
1522
+ const t = <span class="cstat-no" title="statement not covered" >this.__v_raw || this;</span>
1523
+ // @ts-ignore
1524
+ const n = <span class="cstat-no" title="statement not covered" >logicItem.__v_raw || logicItem;</span>
1525
+ <span class="cstat-no" title="statement not covered" > if (Array.isArray((t as any)[parentKey])) {</span>
1526
+ // @ts-ignore
1527
+ const index = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey].findIndex(<span class="fstat-no" title="function not covered" >(e</span>l) =&gt; <span class="cstat-no" title="statement not covered" >(el.__v_raw || el) === n)</span>;</span>
1528
+ <span class="cstat-no" title="statement not covered" > ~index &amp;&amp; (this as any)[parentKey].splice(index, 1);</span>
1529
+ <span class="cstat-no" title="statement not covered" > params.index = index;</span>
1530
+ } else {
1531
+ const q = (<span class="cstat-no" title="statement not covered" >t as any)[parentKey];</span>
1532
+ <span class="cstat-no" title="statement not covered" > if ((q.__v_raw || q) === n) {</span>
1533
+ <span class="cstat-no" title="statement not covered" > params.index = 0;</span>
1534
+ (<span class="cstat-no" title="statement not covered" >this as any)[parentKey] = undefined;</span>
1535
+ }
1536
+ }
1537
+ }
1538
+ <span class="cstat-no" title="statement not covered" > return params;</span>
1539
+ }
1540
+ &nbsp;
1541
+ //================================================================================
1542
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1543
+ // 自动生成的代码已结束。下面可以手动编写。
1544
+ //================================================================================
1545
+ &nbsp;
1546
+ <span class="fstat-no" title="function not covered" > get e</span>ntityKey(): string {
1547
+ <span class="cstat-no" title="statement not covered" > return `${this.entityNamespace}.${this.entityName}`;</span>
1548
+ }
1549
+ &nbsp;
1550
+ <span class="fstat-no" title="function not covered" > setEntityNameAndEffect(</span>entityName: string) {
1551
+ <span class="cstat-no" title="statement not covered" > this.setEntityName(entityName);</span>
1552
+ <span class="cstat-no" title="statement not covered" > this.effect();</span>
1553
+ }
1554
+ &nbsp;
1555
+ <span class="fstat-no" title="function not covered" > effect(</span>) {
1556
+ // 处理选中的此实体的 CallQueryComponent(只限 CallQueryComponent.ideVersion 2.11 版本)
1557
+ const callQueryComponent = <span class="cstat-no" title="statement not covered" >this.getAncestor('CallQueryComponent') as CallQueryComponent;</span>
1558
+ <span class="cstat-no" title="statement not covered" > if (callQueryComponent?.ideVersion === '2.11') {</span>
1559
+ <span class="cstat-no" title="statement not covered" > callQueryComponent.saveStructure();</span>
1560
+ }
1561
+ }
1562
+ &nbsp;
1563
+ /**
1564
+ * 设置实体namespace属性
1565
+ */
1566
+ <span class="fstat-no" title="function not covered" > setEntityNamespace(</span>entityNamespace: string) {
1567
+ const object = <span class="cstat-no" title="statement not covered" >{</span>
1568
+ entityNamespace,
1569
+ };
1570
+ <span class="cstat-no" title="statement not covered" > this.update({</span>
1571
+ ...object,
1572
+ });
1573
+ }
1574
+ &nbsp;
1575
+ @withSourceMapGenerator
1576
+ <span class="fstat-no" title="function not covered" > *t</span>oEmbeddedTS(state = <span class="branch-0 cbranch-no" title="branch not covered" >createCompilerState())</span>: TranslatorGenerator {
1577
+ const self = <span class="cstat-no" title="statement not covered" >this;</span>
1578
+ let code = <span class="cstat-no" title="statement not covered" >'';</span>
1579
+ <span class="cstat-no" title="statement not covered" > code += `.${self.joinType}_JOIN(new nasl.langUtil.Collection&lt;[${self.entityKey}]&gt;())\n`;</span>
1580
+ <span class="cstat-no" title="statement not covered" > if (self.onExpressions.length &gt; 0) {</span>
1581
+ <span class="cstat-no" title="statement not covered" > code += `${indent(state?.tabSize || 0)}.ON(() =&gt; `;</span>
1582
+ <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.onExpressions, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>expression, index) {</span>
1583
+ <span class="cstat-no" title="statement not covered" > if (index &gt; 0) <span class="cstat-no" title="statement not covered" >code += `\n${indent((state?.tabSize || 0) + 1)}&amp;&amp; `;</span></span>
1584
+ <span class="cstat-no" title="statement not covered" > code += yield* expression.toEmbeddedTS(shiftState(state, code, { tabSize: 0 }));</span>
1585
+ });
1586
+ <span class="cstat-no" title="statement not covered" > if (self.onExpressions.length &gt; 1) <span class="cstat-no" title="statement not covered" >code += `\n${indent(state?.tabSize || 0)}`;</span></span>
1587
+ <span class="cstat-no" title="statement not covered" > code += ')\n';</span>
1588
+ }
1589
+ <span class="cstat-no" title="statement not covered" > if (self.joinParts.length &gt; 0) {</span>
1590
+ <span class="cstat-no" title="statement not covered" > yield* wrapForEach(self.joinParts, function* <span class="fstat-no" title="function not covered" >warpForEachGenerator(</span>joinPart) {</span>
1591
+ <span class="cstat-no" title="statement not covered" > code += yield* joinPart.toEmbeddedTS(shiftState(state, code));</span>
1592
+ });
1593
+ }
1594
+ <span class="cstat-no" title="statement not covered" > return code;</span>
1595
+ }
1596
+ &nbsp;
1597
+ //================================================================================
1598
+ // 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
1599
+ // ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓
1600
+ //================================================================================
1601
+ }
1602
+ &nbsp;
1603
+ export default QueryJoinExpression;
1604
+ //================================================================================
1605
+ // ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1606
+ // 自动生成的代码已结束。下面可以手动编写。
1607
+ //================================================================================
1608
+ &nbsp;</pre></td></tr></table></pre>
1609
+
1610
+ <div class='push'></div><!-- for sticky footer -->
1611
+ </div><!-- /wrapper -->
1612
+ <div class='footer quiet pad2 space-top1 center small'>
1613
+ Code coverage generated by
1614
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1615
+ at 2023-12-14T04:42:19.254Z
1616
+ </div>
1617
+ <script src="../../prettify.js"></script>
1618
+ <script>
1619
+ window.onload = function () {
1620
+ prettyPrint();
1621
+ };
1622
+ </script>
1623
+ <script src="../../sorter.js"></script>
1624
+ <script src="../../block-navigation.js"></script>
1625
+ </body>
1626
+ </html>
1627
+