repoburg 1.0.38 → 1.0.40

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 (218) hide show
  1. package/backend/.env +1 -7
  2. package/backend/coverage/clover.xml +3380 -0
  3. package/backend/coverage/coverage-final.json +117 -0
  4. package/backend/coverage/lcov-report/base.css +224 -0
  5. package/backend/coverage/lcov-report/block-navigation.js +87 -0
  6. package/backend/coverage/lcov-report/favicon.png +0 -0
  7. package/backend/coverage/lcov-report/index.html +686 -0
  8. package/backend/coverage/lcov-report/prettify.css +1 -0
  9. package/backend/coverage/lcov-report/prettify.js +2 -0
  10. package/backend/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  11. package/backend/coverage/lcov-report/sorter.js +196 -0
  12. package/backend/coverage/lcov-report/src/action-execution/action-execution.module.ts.html +109 -0
  13. package/backend/coverage/lcov-report/src/action-execution/action-execution.service.ts.html +370 -0
  14. package/backend/coverage/lcov-report/src/action-execution/index.html +131 -0
  15. package/backend/coverage/lcov-report/src/ai-actions/ai-action-batch.service.ts.html +940 -0
  16. package/backend/coverage/lcov-report/src/ai-actions/ai-action-creation.service.ts.html +1195 -0
  17. package/backend/coverage/lcov-report/src/ai-actions/ai-actions.controller.ts.html +664 -0
  18. package/backend/coverage/lcov-report/src/ai-actions/ai-actions.module.ts.html +154 -0
  19. package/backend/coverage/lcov-report/src/ai-actions/ai-actions.service.ts.html +859 -0
  20. package/backend/coverage/lcov-report/src/ai-actions/index.html +176 -0
  21. package/backend/coverage/lcov-report/src/app.controller.ts.html +151 -0
  22. package/backend/coverage/lcov-report/src/app.module.ts.html +370 -0
  23. package/backend/coverage/lcov-report/src/app.service.ts.html +163 -0
  24. package/backend/coverage/lcov-report/src/application-state/application-state.controller.ts.html +265 -0
  25. package/backend/coverage/lcov-report/src/application-state/application-state.module.ts.html +124 -0
  26. package/backend/coverage/lcov-report/src/application-state/application-state.service.ts.html +394 -0
  27. package/backend/coverage/lcov-report/src/application-state/dto/index.html +146 -0
  28. package/backend/coverage/lcov-report/src/application-state/dto/set-auto-context-fetch-enabled.dto.ts.html +103 -0
  29. package/backend/coverage/lcov-report/src/application-state/dto/set-theme.dto.ts.html +106 -0
  30. package/backend/coverage/lcov-report/src/application-state/dto/set-websocket-enabled.dto.ts.html +103 -0
  31. package/backend/coverage/lcov-report/src/application-state/index.html +146 -0
  32. package/backend/coverage/lcov-report/src/context-generation/context-generation.module.ts.html +118 -0
  33. package/backend/coverage/lcov-report/src/context-generation/context-generation.service.ts.html +1348 -0
  34. package/backend/coverage/lcov-report/src/context-generation/index.html +131 -0
  35. package/backend/coverage/lcov-report/src/context-snippets/context-snippets.controller.ts.html +289 -0
  36. package/backend/coverage/lcov-report/src/context-snippets/context-snippets.module.ts.html +136 -0
  37. package/backend/coverage/lcov-report/src/context-snippets/context-snippets.service.ts.html +400 -0
  38. package/backend/coverage/lcov-report/src/context-snippets/dto/context-snippet.dto.ts.html +211 -0
  39. package/backend/coverage/lcov-report/src/context-snippets/dto/index.html +116 -0
  40. package/backend/coverage/lcov-report/src/context-snippets/index.html +146 -0
  41. package/backend/coverage/lcov-report/src/context-templates/context-templates.controller.ts.html +397 -0
  42. package/backend/coverage/lcov-report/src/context-templates/context-templates.module.ts.html +136 -0
  43. package/backend/coverage/lcov-report/src/context-templates/context-templates.service.ts.html +832 -0
  44. package/backend/coverage/lcov-report/src/context-templates/dto/context-template.dto.ts.html +358 -0
  45. package/backend/coverage/lcov-report/src/context-templates/dto/index.html +116 -0
  46. package/backend/coverage/lcov-report/src/context-templates/index.html +146 -0
  47. package/backend/coverage/lcov-report/src/core-entities/ai-action.entity.ts.html +241 -0
  48. package/backend/coverage/lcov-report/src/core-entities/application-state.entity.ts.html +115 -0
  49. package/backend/coverage/lcov-report/src/core-entities/base.entity.ts.html +145 -0
  50. package/backend/coverage/lcov-report/src/core-entities/context-snippet.entity.ts.html +130 -0
  51. package/backend/coverage/lcov-report/src/core-entities/context-template.entity.ts.html +223 -0
  52. package/backend/coverage/lcov-report/src/core-entities/custom-snippet.entity.ts.html +136 -0
  53. package/backend/coverage/lcov-report/src/core-entities/execution-log.entity.ts.html +157 -0
  54. package/backend/coverage/lcov-report/src/core-entities/index.html +281 -0
  55. package/backend/coverage/lcov-report/src/core-entities/index.ts.html +118 -0
  56. package/backend/coverage/lcov-report/src/core-entities/project.entity.ts.html +130 -0
  57. package/backend/coverage/lcov-report/src/core-entities/session-input.entity.ts.html +280 -0
  58. package/backend/coverage/lcov-report/src/core-entities/session.entity.ts.html +280 -0
  59. package/backend/coverage/lcov-report/src/core-entities/system-prompt.entity.ts.html +148 -0
  60. package/backend/coverage/lcov-report/src/custom-snippets/custom-snippets.controller.ts.html +277 -0
  61. package/backend/coverage/lcov-report/src/custom-snippets/custom-snippets.module.ts.html +124 -0
  62. package/backend/coverage/lcov-report/src/custom-snippets/custom-snippets.service.ts.html +304 -0
  63. package/backend/coverage/lcov-report/src/custom-snippets/dto/custom-snippet.dto.ts.html +205 -0
  64. package/backend/coverage/lcov-report/src/custom-snippets/dto/index.html +116 -0
  65. package/backend/coverage/lcov-report/src/custom-snippets/index.html +146 -0
  66. package/backend/coverage/lcov-report/src/events/events.gateway.ts.html +292 -0
  67. package/backend/coverage/lcov-report/src/events/events.module.ts.html +109 -0
  68. package/backend/coverage/lcov-report/src/events/index.html +131 -0
  69. package/backend/coverage/lcov-report/src/execution-logs/dto/execution-log.dto.ts.html +130 -0
  70. package/backend/coverage/lcov-report/src/execution-logs/dto/index.html +116 -0
  71. package/backend/coverage/lcov-report/src/execution-logs/execution-logs.controller.ts.html +130 -0
  72. package/backend/coverage/lcov-report/src/execution-logs/execution-logs.module.ts.html +124 -0
  73. package/backend/coverage/lcov-report/src/execution-logs/execution-logs.service.ts.html +238 -0
  74. package/backend/coverage/lcov-report/src/execution-logs/index.html +146 -0
  75. package/backend/coverage/lcov-report/src/http-exception.filter.ts.html +340 -0
  76. package/backend/coverage/lcov-report/src/index.html +191 -0
  77. package/backend/coverage/lcov-report/src/llm-response-parser/dto/ai-action.dto.ts.html +400 -0
  78. package/backend/coverage/lcov-report/src/llm-response-parser/dto/index.html +116 -0
  79. package/backend/coverage/lcov-report/src/llm-response-parser/errors/index.html +116 -0
  80. package/backend/coverage/lcov-report/src/llm-response-parser/errors/parsing.error.ts.html +118 -0
  81. package/backend/coverage/lcov-report/src/llm-response-parser/index.html +146 -0
  82. package/backend/coverage/lcov-report/src/llm-response-parser/llm-response-parser.module.ts.html +109 -0
  83. package/backend/coverage/lcov-report/src/llm-response-parser/llm-response-parser.service.ts.html +808 -0
  84. package/backend/coverage/lcov-report/src/llm-response-parser/parsing.constants.ts.html +139 -0
  85. package/backend/coverage/lcov-report/src/llm-responses/dto/index.html +116 -0
  86. package/backend/coverage/lcov-report/src/llm-responses/dto/submit-llm-response.dto.ts.html +172 -0
  87. package/backend/coverage/lcov-report/src/llm-responses/index.html +146 -0
  88. package/backend/coverage/lcov-report/src/llm-responses/llm-responses.controller.ts.html +154 -0
  89. package/backend/coverage/lcov-report/src/llm-responses/llm-responses.module.ts.html +163 -0
  90. package/backend/coverage/lcov-report/src/llm-responses/llm-responses.service.ts.html +766 -0
  91. package/backend/coverage/lcov-report/src/main.ts.html +382 -0
  92. package/backend/coverage/lcov-report/src/orchestration/dto/index.html +116 -0
  93. package/backend/coverage/lcov-report/src/orchestration/dto/orchestration.dto.ts.html +184 -0
  94. package/backend/coverage/lcov-report/src/orchestration/index.html +191 -0
  95. package/backend/coverage/lcov-report/src/orchestration/orchestration-fs.service.ts.html +478 -0
  96. package/backend/coverage/lcov-report/src/orchestration/orchestration-parser.service.ts.html +310 -0
  97. package/backend/coverage/lcov-report/src/orchestration/orchestration.controller.ts.html +436 -0
  98. package/backend/coverage/lcov-report/src/orchestration/orchestration.module.ts.html +172 -0
  99. package/backend/coverage/lcov-report/src/orchestration/orchestration.service.ts.html +1201 -0
  100. package/backend/coverage/lcov-report/src/orchestration/orchestration.types.ts.html +169 -0
  101. package/backend/coverage/lcov-report/src/projects/dto/index.html +116 -0
  102. package/backend/coverage/lcov-report/src/projects/dto/project.dto.ts.html +154 -0
  103. package/backend/coverage/lcov-report/src/projects/index.html +146 -0
  104. package/backend/coverage/lcov-report/src/projects/projects.controller.ts.html +232 -0
  105. package/backend/coverage/lcov-report/src/projects/projects.module.ts.html +124 -0
  106. package/backend/coverage/lcov-report/src/projects/projects.service.ts.html +223 -0
  107. package/backend/coverage/lcov-report/src/seeding/context-template-seeding.service.ts.html +355 -0
  108. package/backend/coverage/lcov-report/src/seeding/custom-snippet-seeding.service.ts.html +271 -0
  109. package/backend/coverage/lcov-report/src/seeding/data/context-templates/default-followup_ad-hoc-focused-context.ts.html +136 -0
  110. package/backend/coverage/lcov-report/src/seeding/data/context-templates/default-initial_condensed-project-context.ts.html +148 -0
  111. package/backend/coverage/lcov-report/src/seeding/data/context-templates/default-initial_full-project-context.ts.html +247 -0
  112. package/backend/coverage/lcov-report/src/seeding/data/context-templates/index.html +191 -0
  113. package/backend/coverage/lcov-report/src/seeding/data/context-templates/pm-context.ts.html +250 -0
  114. package/backend/coverage/lcov-report/src/seeding/data/context-templates/pr-description.ts.html +187 -0
  115. package/backend/coverage/lcov-report/src/seeding/data/context-templates/sample_focused-tree.ts.html +124 -0
  116. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/default_rglob.ts.html +94 -0
  117. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/git-diff.ts.html +94 -0
  118. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/index.html +236 -0
  119. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/rg-exclude.ts.html +94 -0
  120. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/rg-search-glob.ts.html +94 -0
  121. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/rg-search.ts.html +94 -0
  122. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/run-command.ts.html +94 -0
  123. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/tree.ts.html +94 -0
  124. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/usr-adhoc-incl.ts.html +100 -0
  125. package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/usr-input-incl.ts.html +94 -0
  126. package/backend/coverage/lcov-report/src/seeding/data/system-prompts/codebase-explorer.ts.html +331 -0
  127. package/backend/coverage/lcov-report/src/seeding/data/system-prompts/default_multi-file-action-generator-with-requester.ts.html +670 -0
  128. package/backend/coverage/lcov-report/src/seeding/data/system-prompts/index.html +161 -0
  129. package/backend/coverage/lcov-report/src/seeding/data/system-prompts/multi-file-action-generator.ts.html +550 -0
  130. package/backend/coverage/lcov-report/src/seeding/data/system-prompts/packup.ts.html +184 -0
  131. package/backend/coverage/lcov-report/src/seeding/index.html +176 -0
  132. package/backend/coverage/lcov-report/src/seeding/seeding.module.ts.html +145 -0
  133. package/backend/coverage/lcov-report/src/seeding/seeding.service.ts.html +151 -0
  134. package/backend/coverage/lcov-report/src/seeding/system-prompt-seeding.service.ts.html +289 -0
  135. package/backend/coverage/lcov-report/src/session-followup/index.html +131 -0
  136. package/backend/coverage/lcov-report/src/session-followup/session-followup.module.ts.html +130 -0
  137. package/backend/coverage/lcov-report/src/session-followup/session-followup.service.ts.html +667 -0
  138. package/backend/coverage/lcov-report/src/session-inputs/dto/index.html +116 -0
  139. package/backend/coverage/lcov-report/src/session-inputs/dto/session-input.dto.ts.html +235 -0
  140. package/backend/coverage/lcov-report/src/session-inputs/index.html +161 -0
  141. package/backend/coverage/lcov-report/src/session-inputs/session-input-context.service.ts.html +751 -0
  142. package/backend/coverage/lcov-report/src/session-inputs/session-inputs.controller.ts.html +337 -0
  143. package/backend/coverage/lcov-report/src/session-inputs/session-inputs.module.ts.html +202 -0
  144. package/backend/coverage/lcov-report/src/session-inputs/session-inputs.service.ts.html +1615 -0
  145. package/backend/coverage/lcov-report/src/session-transfer/index.html +131 -0
  146. package/backend/coverage/lcov-report/src/session-transfer/session-transfer.module.ts.html +172 -0
  147. package/backend/coverage/lcov-report/src/session-transfer/session-transfer.service.ts.html +574 -0
  148. package/backend/coverage/lcov-report/src/sessions/dto/index.html +116 -0
  149. package/backend/coverage/lcov-report/src/sessions/dto/session.dto.ts.html +340 -0
  150. package/backend/coverage/lcov-report/src/sessions/index.html +146 -0
  151. package/backend/coverage/lcov-report/src/sessions/sessions.controller.ts.html +457 -0
  152. package/backend/coverage/lcov-report/src/sessions/sessions.module.ts.html +214 -0
  153. package/backend/coverage/lcov-report/src/sessions/sessions.service.ts.html +844 -0
  154. package/backend/coverage/lcov-report/src/system-prompts/dto/index.html +116 -0
  155. package/backend/coverage/lcov-report/src/system-prompts/dto/system-prompt.dto.ts.html +208 -0
  156. package/backend/coverage/lcov-report/src/system-prompts/index.html +146 -0
  157. package/backend/coverage/lcov-report/src/system-prompts/system-prompts.controller.ts.html +298 -0
  158. package/backend/coverage/lcov-report/src/system-prompts/system-prompts.module.ts.html +127 -0
  159. package/backend/coverage/lcov-report/src/system-prompts/system-prompts.service.ts.html +352 -0
  160. package/backend/coverage/lcov-report/src/timeout.interceptor.ts.html +178 -0
  161. package/backend/coverage/lcov-report/src/workspace/dto/index.html +116 -0
  162. package/backend/coverage/lcov-report/src/workspace/dto/search-workspace.dto.ts.html +193 -0
  163. package/backend/coverage/lcov-report/src/workspace/index.html +146 -0
  164. package/backend/coverage/lcov-report/src/workspace/workspace.controller.ts.html +247 -0
  165. package/backend/coverage/lcov-report/src/workspace/workspace.module.ts.html +121 -0
  166. package/backend/coverage/lcov-report/src/workspace/workspace.service.ts.html +700 -0
  167. package/backend/coverage/lcov.info +5492 -0
  168. package/backend/dist/ai-actions/ai-action-creation.service.d.ts +2 -0
  169. package/backend/dist/ai-actions/ai-action-creation.service.js +65 -0
  170. package/backend/dist/ai-actions/ai-action-creation.service.js.map +1 -1
  171. package/backend/dist/app.module.js +2 -0
  172. package/backend/dist/app.module.js.map +1 -1
  173. package/backend/dist/application-state/application-state.service.d.ts +4 -0
  174. package/backend/dist/application-state/application-state.service.js +25 -0
  175. package/backend/dist/application-state/application-state.service.js.map +1 -1
  176. package/backend/dist/context-templates/context-templates.service.d.ts +1 -0
  177. package/backend/dist/context-templates/context-templates.service.js +3 -0
  178. package/backend/dist/context-templates/context-templates.service.js.map +1 -1
  179. package/backend/dist/llm-responses/llm-responses.module.js +4 -1
  180. package/backend/dist/llm-responses/llm-responses.module.js.map +1 -1
  181. package/backend/dist/llm-responses/llm-responses.service.d.ts +3 -1
  182. package/backend/dist/llm-responses/llm-responses.service.js +29 -2
  183. package/backend/dist/llm-responses/llm-responses.service.js.map +1 -1
  184. package/backend/dist/orchestration/dto/orchestration.dto.d.ts +15 -0
  185. package/backend/dist/orchestration/dto/orchestration.dto.js +58 -0
  186. package/backend/dist/orchestration/dto/orchestration.dto.js.map +1 -0
  187. package/backend/dist/orchestration/orchestration-fs.service.d.ts +18 -0
  188. package/backend/dist/orchestration/orchestration-fs.service.js +124 -0
  189. package/backend/dist/orchestration/orchestration-fs.service.js.map +1 -0
  190. package/backend/dist/orchestration/orchestration-parser.service.d.ts +16 -0
  191. package/backend/dist/orchestration/orchestration-parser.service.js +78 -0
  192. package/backend/dist/orchestration/orchestration-parser.service.js.map +1 -0
  193. package/backend/dist/orchestration/orchestration.controller.d.ts +28 -0
  194. package/backend/dist/orchestration/orchestration.controller.js +158 -0
  195. package/backend/dist/orchestration/orchestration.controller.js.map +1 -0
  196. package/backend/dist/orchestration/orchestration.module.d.ts +2 -0
  197. package/backend/dist/orchestration/orchestration.module.js +43 -0
  198. package/backend/dist/orchestration/orchestration.module.js.map +1 -0
  199. package/backend/dist/orchestration/orchestration.service.d.ts +38 -0
  200. package/backend/dist/orchestration/orchestration.service.js +301 -0
  201. package/backend/dist/orchestration/orchestration.service.js.map +1 -0
  202. package/backend/dist/orchestration/orchestration.types.d.ts +27 -0
  203. package/backend/dist/orchestration/orchestration.types.js +20 -0
  204. package/backend/dist/orchestration/orchestration.types.js.map +1 -0
  205. package/backend/dist/seeding/data/system-prompts/packup.d.ts +2 -0
  206. package/backend/dist/seeding/data/system-prompts/packup.js +37 -0
  207. package/backend/dist/seeding/data/system-prompts/packup.js.map +1 -0
  208. package/backend/dist/session-inputs/session-inputs.module.js +2 -0
  209. package/backend/dist/session-inputs/session-inputs.module.js.map +1 -1
  210. package/backend/dist/session-inputs/session-inputs.service.d.ts +3 -1
  211. package/backend/dist/session-inputs/session-inputs.service.js +13 -2
  212. package/backend/dist/session-inputs/session-inputs.service.js.map +1 -1
  213. package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
  214. package/backend/orchestration-test-2.txt +1 -0
  215. package/backend/orchestration-test.txt +1 -0
  216. package/backend/package.json +1 -1
  217. package/orchestration-test.txt +3 -0
  218. package/package.json +1 -1
@@ -0,0 +1,670 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/seeding/data/system-prompts/default_multi-file-action-generator-with-requester.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/seeding/data/system-prompts</a> default_multi-file-action-generator-with-requester.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>0/2</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/0</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>0/2</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 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></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
262
+ <span class="cline-any cline-no">&nbsp;</span>
263
+ <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-neutral">&nbsp;</span>
267
+ <span class="cline-any cline-neutral">&nbsp;</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
271
+ <span class="cline-any cline-neutral">&nbsp;</span>
272
+ <span class="cline-any cline-neutral">&nbsp;</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-neutral">&nbsp;</span>
276
+ <span class="cline-any cline-neutral">&nbsp;</span>
277
+ <span class="cline-any cline-neutral">&nbsp;</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-neutral">&nbsp;</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-neutral">&nbsp;</span>
284
+ <span class="cline-any cline-neutral">&nbsp;</span>
285
+ <span class="cline-any cline-neutral">&nbsp;</span>
286
+ <span class="cline-any cline-neutral">&nbsp;</span>
287
+ <span class="cline-any cline-neutral">&nbsp;</span>
288
+ <span class="cline-any cline-neutral">&nbsp;</span>
289
+ <span class="cline-any cline-neutral">&nbsp;</span>
290
+ <span class="cline-any cline-neutral">&nbsp;</span>
291
+ <span class="cline-any cline-neutral">&nbsp;</span>
292
+ <span class="cline-any cline-neutral">&nbsp;</span>
293
+ <span class="cline-any cline-neutral">&nbsp;</span>
294
+ <span class="cline-any cline-neutral">&nbsp;</span>
295
+ <span class="cline-any cline-neutral">&nbsp;</span>
296
+ <span class="cline-any cline-neutral">&nbsp;</span>
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
+ <span class="cline-any cline-neutral">&nbsp;</span>
300
+ <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-neutral">&nbsp;</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-neutral">&nbsp;</span>
308
+ <span class="cline-any cline-neutral">&nbsp;</span>
309
+ <span class="cline-any cline-neutral">&nbsp;</span>
310
+ <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-neutral">&nbsp;</span>
312
+ <span class="cline-any cline-neutral">&nbsp;</span>
313
+ <span class="cline-any cline-neutral">&nbsp;</span>
314
+ <span class="cline-any cline-neutral">&nbsp;</span>
315
+ <span class="cline-any cline-neutral">&nbsp;</span>
316
+ <span class="cline-any cline-neutral">&nbsp;</span>
317
+ <span class="cline-any cline-neutral">&nbsp;</span>
318
+ <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-neutral">&nbsp;</span>
321
+ <span class="cline-any cline-neutral">&nbsp;</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-neutral">&nbsp;</span>
324
+ <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-neutral">&nbsp;</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span>
331
+ <span class="cline-any cline-neutral">&nbsp;</span>
332
+ <span class="cline-any cline-neutral">&nbsp;</span>
333
+ <span class="cline-any cline-neutral">&nbsp;</span>
334
+ <span class="cline-any cline-neutral">&nbsp;</span>
335
+ <span class="cline-any cline-neutral">&nbsp;</span>
336
+ <span class="cline-any cline-neutral">&nbsp;</span>
337
+ <span class="cline-any cline-neutral">&nbsp;</span>
338
+ <span class="cline-any cline-neutral">&nbsp;</span>
339
+ <span class="cline-any cline-neutral">&nbsp;</span>
340
+ <span class="cline-any cline-neutral">&nbsp;</span>
341
+ <span class="cline-any cline-neutral">&nbsp;</span>
342
+ <span class="cline-any cline-neutral">&nbsp;</span>
343
+ <span class="cline-any cline-neutral">&nbsp;</span>
344
+ <span class="cline-any cline-neutral">&nbsp;</span>
345
+ <span class="cline-any cline-neutral">&nbsp;</span>
346
+ <span class="cline-any cline-neutral">&nbsp;</span>
347
+ <span class="cline-any cline-neutral">&nbsp;</span>
348
+ <span class="cline-any cline-neutral">&nbsp;</span>
349
+ <span class="cline-any cline-neutral">&nbsp;</span>
350
+ <span class="cline-any cline-neutral">&nbsp;</span>
351
+ <span class="cline-any cline-neutral">&nbsp;</span>
352
+ <span class="cline-any cline-neutral">&nbsp;</span>
353
+ <span class="cline-any cline-neutral">&nbsp;</span>
354
+ <span class="cline-any cline-neutral">&nbsp;</span>
355
+ <span class="cline-any cline-neutral">&nbsp;</span>
356
+ <span class="cline-any cline-neutral">&nbsp;</span>
357
+ <span class="cline-any cline-neutral">&nbsp;</span>
358
+ <span class="cline-any cline-neutral">&nbsp;</span>
359
+ <span class="cline-any cline-neutral">&nbsp;</span>
360
+ <span class="cline-any cline-neutral">&nbsp;</span>
361
+ <span class="cline-any cline-neutral">&nbsp;</span>
362
+ <span class="cline-any cline-neutral">&nbsp;</span>
363
+ <span class="cline-any cline-neutral">&nbsp;</span>
364
+ <span class="cline-any cline-neutral">&nbsp;</span>
365
+ <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-neutral">&nbsp;</span>
368
+ <span class="cline-any cline-neutral">&nbsp;</span>
369
+ <span class="cline-any cline-neutral">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-neutral">&nbsp;</span>
372
+ <span class="cline-any cline-neutral">&nbsp;</span>
373
+ <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-neutral">&nbsp;</span>
375
+ <span class="cline-any cline-neutral">&nbsp;</span>
376
+ <span class="cline-any cline-neutral">&nbsp;</span>
377
+ <span class="cline-any cline-neutral">&nbsp;</span>
378
+ <span class="cline-any cline-neutral">&nbsp;</span>
379
+ <span class="cline-any cline-neutral">&nbsp;</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-neutral">&nbsp;</span>
382
+ <span class="cline-any cline-neutral">&nbsp;</span>
383
+ <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-neutral">&nbsp;</span>
385
+ <span class="cline-any cline-neutral">&nbsp;</span>
386
+ <span class="cline-any cline-neutral">&nbsp;</span>
387
+ <span class="cline-any cline-neutral">&nbsp;</span>
388
+ <span class="cline-any cline-neutral">&nbsp;</span>
389
+ <span class="cline-any cline-neutral">&nbsp;</span>
390
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-neutral">&nbsp;</span>
392
+ <span class="cline-any cline-neutral">&nbsp;</span>
393
+ <span class="cline-any cline-neutral">&nbsp;</span>
394
+ <span class="cline-any cline-neutral">&nbsp;</span>
395
+ <span class="cline-any cline-neutral">&nbsp;</span>
396
+ <span class="cline-any cline-neutral">&nbsp;</span>
397
+ <span class="cline-any cline-neutral">&nbsp;</span>
398
+ <span class="cline-any cline-neutral">&nbsp;</span>
399
+ <span class="cline-any cline-neutral">&nbsp;</span>
400
+ <span class="cline-any cline-neutral">&nbsp;</span>
401
+ <span class="cline-any cline-neutral">&nbsp;</span>
402
+ <span class="cline-any cline-neutral">&nbsp;</span>
403
+ <span class="cline-any cline-neutral">&nbsp;</span>
404
+ <span class="cline-any cline-neutral">&nbsp;</span>
405
+ <span class="cline-any cline-neutral">&nbsp;</span>
406
+ <span class="cline-any cline-neutral">&nbsp;</span>
407
+ <span class="cline-any cline-neutral">&nbsp;</span>
408
+ <span class="cline-any cline-neutral">&nbsp;</span>
409
+ <span class="cline-any cline-neutral">&nbsp;</span>
410
+ <span class="cline-any cline-neutral">&nbsp;</span>
411
+ <span class="cline-any cline-neutral">&nbsp;</span>
412
+ <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-neutral">&nbsp;</span>
416
+ <span class="cline-any cline-neutral">&nbsp;</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-neutral">&nbsp;</span>
420
+ <span class="cline-any cline-neutral">&nbsp;</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
427
+ <span class="cline-any cline-neutral">&nbsp;</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-neutral">&nbsp;</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-neutral">&nbsp;</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-neutral">&nbsp;</span>
442
+ <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-neutral">&nbsp;</span>
445
+ <span class="cline-any cline-neutral">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">export const <span class="cstat-no" title="statement not covered" >name = 'Multi-file Action Generator Assistant- Request Context\n';</span>
457
+ export const <span class="cstat-no" title="statement not covered" >content = `You are a Multi‑File Edit Coder Agent. Analyze context, determine changes, and execute them across files sequentially.</span>
458
+ &nbsp;
459
+ **Core Principles:**
460
+ &nbsp;
461
+ * **Analyze Requirements:** Understand the requested changes. Request clarification if needed.
462
+ * **Plan Actions:** Generate a numbered, sequential list of actions using the format below.
463
+ * **Atomic File Changes:** Each file path must appear in **at most one** action item. All modifications for a single file occur within that action.
464
+ * **Inter-File Dependencies:** Ensure changes in one action (e.g., creating a file) are correctly referenced in subsequent actions (e.g., importing from it).
465
+ * **Code Quality:** Follow standard coding practices. Ensure overall functionality remains intact.
466
+ &nbsp;
467
+ ---
468
+ &nbsp;
469
+ **Output Generation Strategy**
470
+ &nbsp;
471
+ Based on the user request, you must generate a numbered list of action items. Each action item represents the *complete* set of modifications for a *single* file. Action items are ordered sequentially. Each action item should be enclosed within \`§ACTION_ITEM_START§\` and \`§ACTION_ITEM_END§\` markers and include the following details using the \`¦FieldName¦ Value\` format:
472
+ &nbsp;
473
+ §TITLE_START§ very brief title for entire chat history including previous prompt, if current title is fine then leave it (max 4 words) §TITLE_END§
474
+ &nbsp;
475
+ * \`¦ActionNumber¦\`: The sequential identifier for the task.
476
+ * \`¦TaskDescription¦\`: A concise description of **all** changes to be made to this particular file.
477
+ * \`¦FilePath¦\`: The file path where the modification will occur (ensure it aligns with the *Project Files from Structure*).
478
+ * \`¦FileAction¦\`: The operation to perform: \`create_file\`, \`edit_file\`, \`delete_file\` or \`request_context\`.
479
+ * \`¦Files¦\`: (optional, use only for \`request_context\`) A comma-separated list of file paths that are relevant to the \`request_context\` action.
480
+ * \`¦Folders¦\`: (optional, use only for \`request_context\`) A comma-separated list of folder paths that are relevant to the \`request_context\` action.
481
+ * \`¦Code¦\`:
482
+ * For \`create_file\`: Provide the complete content of the new file within a code block.
483
+ * For \`edit_file\`: Provide the complete content with modifications of the new file within a code block.
484
+ * For \`delete_file\`: Leave this section empty or provide an empty code block.
485
+ &nbsp;
486
+ **Edit Diff Format:**
487
+ &nbsp;
488
+ FOR EDITS: GENERATE WHOLE CONTENT WITH MODIFICATIONS, DO NOT GENERATE PARTIAL CONTENT.
489
+ do not use + or - for diff, just use the whole content of the file.
490
+ &nbsp;
491
+ **Create or Edit File Action:**
492
+ &nbsp;
493
+ The \`¦Code¦\` section should contain the full file content within a Markdown code block.
494
+ &nbsp;
495
+ \`\`\`typescript
496
+ // Full content of the new file or full modified content of the existing file
497
+ \`\`\`
498
+ &nbsp;
499
+ &nbsp;
500
+ **Delete File Action:**
501
+ &nbsp;
502
+ The \`¦Code¦\` section should contain an empty Markdown code block.
503
+ &nbsp;
504
+ \`\`\`diff
505
+ &nbsp;
506
+ \`\`\`
507
+ &nbsp;
508
+ &nbsp;
509
+ **Requesting More Context:**
510
+ &nbsp;
511
+ If you don't have lack sufficient context to fulfill the request, you can ask for more files or folders using the \`request_context\` command.
512
+ Do not try to edit a file content you don't know just ask
513
+ &nbsp;
514
+ * \`¦FileAction¦\`: \`request_context\`
515
+ * \`¦Files¦\`: (Optional) A comma-separated list of file paths.
516
+ * \`¦Folders¦\`: (Optional) A comma-separated list of folder paths.
517
+ * \`¦Reason¦\`: (Optional) A brief explanation of why you need more context. This reason will be shown to the user.
518
+ &nbsp;
519
+ \`request_context\` should be the only action in a response. Do not mix it with other file modification actions.
520
+ &nbsp;
521
+ Example:
522
+ \`\`\`
523
+ §ACTION_ITEM_START§
524
+ ¦ActionNumber¦ 1
525
+ ¦TaskDescription¦ Requesting more context for UI component creation.
526
+ ¦FileAction¦ request_context
527
+ ¦Files¦ src/components/ui/button.tsx,src/components/ui/card.tsx
528
+ ¦Folders¦ src/hooks
529
+ ¦Reason¦ I need to see the existing UI components and custom hooks to maintain consistency.
530
+ §ACTION_ITEM_END§
531
+ \`\`\`
532
+ &nbsp;
533
+ **Example Output (Conceptual)**
534
+ &nbsp;
535
+ &lt;EXAMPLE OUTPUT STARTS HERE&gt;
536
+ &nbsp;
537
+ §ACTION_ITEM_START§
538
+ ¦ActionNumber¦ 1
539
+ ¦TaskDescription¦ Create \`ErrorBanner.tsx\` component in \`src/components/common\` to display error messages.
540
+ ¦FilePath¦ src/components/common/ErrorBanner.tsx
541
+ ¦FileAction¦ create_file
542
+ ¦Code¦
543
+ \`\`\`typescript
544
+ import React from 'react';
545
+ &nbsp;
546
+ interface ErrorBannerProps {
547
+ message: string;
548
+ }
549
+ &nbsp;
550
+ const ErrorBanner: React.FC&lt;ErrorBannerProps&gt; = ({ message }) =&gt; {
551
+ return (
552
+ &lt;div className="bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative" role="alert"&gt;
553
+ &lt;strong className="font-bold"&gt;Error!&lt;/strong&gt;
554
+ &lt;span className="block sm:inline"&gt; {message}&lt;/span&gt;
555
+ &lt;/div&gt;
556
+ );
557
+ };
558
+ &nbsp;
559
+ export default ErrorBanner;
560
+ \`\`\`
561
+ §ACTION_ITEM_END§
562
+ -------------------------------------------------
563
+ §ACTION_ITEM_START§
564
+ ¦ActionNumber¦ 2
565
+ ¦TaskDescription¦ Modify \`ErrorBoundary.tsx\` component in \`src/components/common\` to catch unrecoverable errors and prevent UI crashes.
566
+ ¦FilePath¦ src/components/common/ErrorBoundary.tsx
567
+ ¦FileAction¦ edit_file
568
+ ¦Code¦
569
+ \`\`\`typescript
570
+ import React, { Component, ReactNode } from 'react';
571
+ &nbsp;
572
+ interface Props {
573
+ children: ReactNode;
574
+ }
575
+ &nbsp;
576
+ interface State {
577
+ hasError: boolean;
578
+ error: Error | null;
579
+ errorInfo: React.ErrorInfo | null;
580
+ }
581
+ &nbsp;
582
+ class ErrorBoundary extends Component&lt;Props, State&gt; {
583
+ constructor(props: Props) {
584
+ super(props);
585
+ this.state = { hasError: false, error: null, errorInfo: null };
586
+ }
587
+ &nbsp;
588
+ static getDerivedStateFromError(error: Error): State {
589
+ // Update state so the next render will show the fallback UI.
590
+ return { hasError: true, error: error, errorInfo: null };
591
+ }
592
+ &nbsp;
593
+ componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void {
594
+ // You can also log the error to an error reporting service
595
+ console.error("Caught error in ErrorBoundary", error, errorInfo);
596
+ this.setState({errorInfo: errorInfo});
597
+ }
598
+ &nbsp;
599
+ render() {
600
+ if (this.state.hasError) {
601
+ // You can render any custom fallback UI
602
+ return (
603
+ &lt;div style={{ padding: '20px', border: '1px solid red', backgroundColor: '#f8d7da', color: '#721c24' }}&gt;
604
+ &lt;h2&gt;Something went wrong.&lt;/h2&gt;
605
+ &lt;p&gt;Please try again later.&lt;/p&gt;
606
+ {process.env.NODE_ENV === 'development' &amp;&amp; this.state.errorInfo &amp;&amp; (
607
+ &lt;&gt;
608
+ &lt;h3&gt;Error Details:&lt;/h3&gt;
609
+ &lt;pre style={{ backgroundColor: '#f5f5f5', padding: '10px', overflow: 'auto' }}&gt;
610
+ {this.state.error?.stack}
611
+ &lt;/pre&gt;
612
+ &lt;/&gt;
613
+ )}
614
+ &lt;/div&gt;
615
+ );
616
+ }
617
+ &nbsp;
618
+ return this.props.children;
619
+ }
620
+ }
621
+ &nbsp;
622
+ export default ErrorBoundary;
623
+ \`\`\`
624
+ §ACTION_ITEM_END§
625
+ &nbsp;
626
+ &lt;/EXAMPLE OUTPUT ENDS HERE&gt;
627
+ &nbsp;
628
+ &nbsp;
629
+ &lt;REQUEST CONTEXT EXAMPLE OUTPUT STARTS HERE&gt;
630
+ &nbsp;
631
+ §ACTION_ITEM_START§
632
+ ¦ActionNumber¦ 1
633
+ ¦TaskDescription¦ Requesting context for backend service files to add logging for workspace commands.
634
+ ¦FileAction¦ request_context
635
+ ¦Files¦ backend/src/workspace/workspace.service.ts,backend/src/context-generation/context-generation.service.ts
636
+ ¦Reason¦ You are correct, I apologize for making assumptions about files I haven't seen. To correctly add logging to the backend workspace commands, I need to see the content of the relevant services. Based on the file structure, workspace.service.ts and context-generation.service.ts seem to be the most relevant files.
637
+ §ACTION_ITEM_END§
638
+ &nbsp;
639
+ &lt;/REQUEST CONTEXT EXAMPLE OUTPUT ENDS HERE&gt;
640
+ &nbsp;
641
+ &nbsp;
642
+ **Important Guidelines:**
643
+ &nbsp;
644
+ * **One Action Per File:** Each file path (\`¦FilePath¦\`) must appear in **at most one** action item. All modifications for a single file must be contained within that file's single action item.
645
+ * **Sequential Actions:** Actions are still ordered sequentially (\`ActionNumber\`). Changes made in earlier actions (e.g., creating a file, exporting a new function) should be correctly referenced or utilized in later actions where necessary.
646
+ * IMPORTANT: always generate whole content of a file, do not generate partial content.
647
+ * Always generate code within the \`¦Code¦\` section unless the action is a deletion.
648
+ * The entire output should follow the specified template format.
649
+ * Be concise and focus only on generating the action items as per the template.
650
+ `;
651
+ &nbsp;</pre></td></tr></table></pre>
652
+
653
+ <div class='push'></div><!-- for sticky footer -->
654
+ </div><!-- /wrapper -->
655
+ <div class='footer quiet pad2 space-top1 center small'>
656
+ Code coverage generated by
657
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
658
+ at 2025-07-30T23:37:05.373Z
659
+ </div>
660
+ <script src="../../../../prettify.js"></script>
661
+ <script>
662
+ window.onload = function () {
663
+ prettyPrint();
664
+ };
665
+ </script>
666
+ <script src="../../../../sorter.js"></script>
667
+ <script src="../../../../block-navigation.js"></script>
668
+ </body>
669
+ </html>
670
+