@claude-flow/memory 3.0.0-alpha.2 → 3.0.0-alpha.8

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 (164) hide show
  1. package/README.md +356 -18
  2. package/dist/agent-memory-scope.d.ts +131 -0
  3. package/dist/agent-memory-scope.d.ts.map +1 -0
  4. package/dist/agent-memory-scope.js +215 -0
  5. package/dist/agent-memory-scope.js.map +1 -0
  6. package/dist/agent-memory-scope.test.d.ts +8 -0
  7. package/dist/agent-memory-scope.test.d.ts.map +1 -0
  8. package/dist/agent-memory-scope.test.js +463 -0
  9. package/dist/agent-memory-scope.test.js.map +1 -0
  10. package/dist/agentdb-adapter.d.ts +22 -3
  11. package/dist/agentdb-adapter.d.ts.map +1 -1
  12. package/dist/agentdb-adapter.js +135 -8
  13. package/dist/agentdb-adapter.js.map +1 -1
  14. package/dist/auto-memory-bridge.d.ts +226 -0
  15. package/dist/auto-memory-bridge.d.ts.map +1 -0
  16. package/dist/auto-memory-bridge.js +709 -0
  17. package/dist/auto-memory-bridge.js.map +1 -0
  18. package/dist/auto-memory-bridge.test.d.ts +8 -0
  19. package/dist/auto-memory-bridge.test.d.ts.map +1 -0
  20. package/dist/auto-memory-bridge.test.js +754 -0
  21. package/dist/auto-memory-bridge.test.js.map +1 -0
  22. package/dist/benchmark.test.d.ts +2 -0
  23. package/dist/benchmark.test.d.ts.map +1 -0
  24. package/dist/benchmark.test.js +277 -0
  25. package/dist/benchmark.test.js.map +1 -0
  26. package/dist/hybrid-backend.d.ts.map +1 -1
  27. package/dist/hybrid-backend.js +29 -4
  28. package/dist/hybrid-backend.js.map +1 -1
  29. package/dist/index.d.ts +8 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +8 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/learning-bridge.d.ts +137 -0
  34. package/dist/learning-bridge.d.ts.map +1 -0
  35. package/dist/learning-bridge.js +335 -0
  36. package/dist/learning-bridge.js.map +1 -0
  37. package/dist/learning-bridge.test.d.ts +8 -0
  38. package/dist/learning-bridge.test.d.ts.map +1 -0
  39. package/dist/learning-bridge.test.js +578 -0
  40. package/dist/learning-bridge.test.js.map +1 -0
  41. package/dist/memory-graph.d.ts +100 -0
  42. package/dist/memory-graph.d.ts.map +1 -0
  43. package/dist/memory-graph.js +333 -0
  44. package/dist/memory-graph.js.map +1 -0
  45. package/dist/memory-graph.test.d.ts +8 -0
  46. package/dist/memory-graph.test.d.ts.map +1 -0
  47. package/dist/memory-graph.test.js +609 -0
  48. package/dist/memory-graph.test.js.map +1 -0
  49. package/dist/sqlite-backend.js +3 -3
  50. package/dist/sqljs-backend.d.ts.map +1 -1
  51. package/dist/sqljs-backend.js +5 -2
  52. package/dist/sqljs-backend.js.map +1 -1
  53. package/dist/types.d.ts +3 -0
  54. package/dist/types.d.ts.map +1 -1
  55. package/package.json +15 -4
  56. package/.agentic-flow/intelligence.json +0 -16
  57. package/__tests__/coverage/base.css +0 -224
  58. package/__tests__/coverage/block-navigation.js +0 -87
  59. package/__tests__/coverage/coverage-final.json +0 -19
  60. package/__tests__/coverage/favicon.png +0 -0
  61. package/__tests__/coverage/index.html +0 -206
  62. package/__tests__/coverage/lcov-report/base.css +0 -224
  63. package/__tests__/coverage/lcov-report/block-navigation.js +0 -87
  64. package/__tests__/coverage/lcov-report/favicon.png +0 -0
  65. package/__tests__/coverage/lcov-report/index.html +0 -206
  66. package/__tests__/coverage/lcov-report/prettify.css +0 -1
  67. package/__tests__/coverage/lcov-report/prettify.js +0 -2
  68. package/__tests__/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  69. package/__tests__/coverage/lcov-report/sorter.js +0 -210
  70. package/__tests__/coverage/lcov-report/src/agentdb-adapter.ts.html +0 -2737
  71. package/__tests__/coverage/lcov-report/src/agentdb-backend.ts.html +0 -3130
  72. package/__tests__/coverage/lcov-report/src/application/commands/delete-memory.command.ts.html +0 -601
  73. package/__tests__/coverage/lcov-report/src/application/commands/index.html +0 -131
  74. package/__tests__/coverage/lcov-report/src/application/commands/store-memory.command.ts.html +0 -394
  75. package/__tests__/coverage/lcov-report/src/application/queries/index.html +0 -116
  76. package/__tests__/coverage/lcov-report/src/application/queries/search-memory.query.ts.html +0 -796
  77. package/__tests__/coverage/lcov-report/src/application/services/index.html +0 -116
  78. package/__tests__/coverage/lcov-report/src/application/services/memory-application-service.ts.html +0 -793
  79. package/__tests__/coverage/lcov-report/src/cache-manager.ts.html +0 -1633
  80. package/__tests__/coverage/lcov-report/src/database-provider.ts.html +0 -1618
  81. package/__tests__/coverage/lcov-report/src/domain/entities/index.html +0 -116
  82. package/__tests__/coverage/lcov-report/src/domain/entities/memory-entry.ts.html +0 -952
  83. package/__tests__/coverage/lcov-report/src/domain/services/index.html +0 -116
  84. package/__tests__/coverage/lcov-report/src/domain/services/memory-domain-service.ts.html +0 -1294
  85. package/__tests__/coverage/lcov-report/src/hnsw-index.ts.html +0 -3124
  86. package/__tests__/coverage/lcov-report/src/hybrid-backend.ts.html +0 -2167
  87. package/__tests__/coverage/lcov-report/src/index.html +0 -266
  88. package/__tests__/coverage/lcov-report/src/infrastructure/repositories/hybrid-memory-repository.ts.html +0 -1633
  89. package/__tests__/coverage/lcov-report/src/infrastructure/repositories/index.html +0 -116
  90. package/__tests__/coverage/lcov-report/src/migration.ts.html +0 -2092
  91. package/__tests__/coverage/lcov-report/src/query-builder.ts.html +0 -1711
  92. package/__tests__/coverage/lcov-report/src/sqlite-backend.ts.html +0 -2281
  93. package/__tests__/coverage/lcov-report/src/sqljs-backend.ts.html +0 -2374
  94. package/__tests__/coverage/lcov-report/src/types.ts.html +0 -2266
  95. package/__tests__/coverage/lcov.info +0 -10238
  96. package/__tests__/coverage/prettify.css +0 -1
  97. package/__tests__/coverage/prettify.js +0 -2
  98. package/__tests__/coverage/sort-arrow-sprite.png +0 -0
  99. package/__tests__/coverage/sorter.js +0 -210
  100. package/__tests__/coverage/src/agentdb-adapter.ts.html +0 -2737
  101. package/__tests__/coverage/src/agentdb-backend.ts.html +0 -3130
  102. package/__tests__/coverage/src/application/commands/delete-memory.command.ts.html +0 -601
  103. package/__tests__/coverage/src/application/commands/index.html +0 -131
  104. package/__tests__/coverage/src/application/commands/store-memory.command.ts.html +0 -394
  105. package/__tests__/coverage/src/application/queries/index.html +0 -116
  106. package/__tests__/coverage/src/application/queries/search-memory.query.ts.html +0 -796
  107. package/__tests__/coverage/src/application/services/index.html +0 -116
  108. package/__tests__/coverage/src/application/services/memory-application-service.ts.html +0 -793
  109. package/__tests__/coverage/src/cache-manager.ts.html +0 -1633
  110. package/__tests__/coverage/src/database-provider.ts.html +0 -1618
  111. package/__tests__/coverage/src/domain/entities/index.html +0 -116
  112. package/__tests__/coverage/src/domain/entities/memory-entry.ts.html +0 -952
  113. package/__tests__/coverage/src/domain/services/index.html +0 -116
  114. package/__tests__/coverage/src/domain/services/memory-domain-service.ts.html +0 -1294
  115. package/__tests__/coverage/src/hnsw-index.ts.html +0 -3124
  116. package/__tests__/coverage/src/hybrid-backend.ts.html +0 -2167
  117. package/__tests__/coverage/src/index.html +0 -266
  118. package/__tests__/coverage/src/infrastructure/repositories/hybrid-memory-repository.ts.html +0 -1633
  119. package/__tests__/coverage/src/infrastructure/repositories/index.html +0 -116
  120. package/__tests__/coverage/src/migration.ts.html +0 -2092
  121. package/__tests__/coverage/src/query-builder.ts.html +0 -1711
  122. package/__tests__/coverage/src/sqlite-backend.ts.html +0 -2281
  123. package/__tests__/coverage/src/sqljs-backend.ts.html +0 -2374
  124. package/__tests__/coverage/src/types.ts.html +0 -2266
  125. package/benchmarks/cache-hit-rate.bench.ts +0 -535
  126. package/benchmarks/hnsw-indexing.bench.ts +0 -552
  127. package/benchmarks/memory-write.bench.ts +0 -469
  128. package/benchmarks/vector-search.bench.ts +0 -449
  129. package/docs/AGENTDB-INTEGRATION.md +0 -388
  130. package/docs/CROSS_PLATFORM.md +0 -505
  131. package/docs/WINDOWS_SUPPORT.md +0 -422
  132. package/examples/agentdb-example.ts +0 -345
  133. package/examples/cross-platform-usage.ts +0 -326
  134. package/framework/benchmark.ts +0 -112
  135. package/src/agentdb-adapter.ts +0 -884
  136. package/src/agentdb-backend.test.ts +0 -339
  137. package/src/agentdb-backend.ts +0 -1016
  138. package/src/application/commands/delete-memory.command.ts +0 -172
  139. package/src/application/commands/store-memory.command.ts +0 -103
  140. package/src/application/index.ts +0 -36
  141. package/src/application/queries/search-memory.query.ts +0 -237
  142. package/src/application/services/memory-application-service.ts +0 -236
  143. package/src/cache-manager.ts +0 -516
  144. package/src/database-provider.test.ts +0 -364
  145. package/src/database-provider.ts +0 -511
  146. package/src/domain/entities/memory-entry.ts +0 -289
  147. package/src/domain/index.ts +0 -35
  148. package/src/domain/repositories/memory-repository.interface.ts +0 -120
  149. package/src/domain/services/memory-domain-service.ts +0 -403
  150. package/src/hnsw-index.ts +0 -1013
  151. package/src/hybrid-backend.test.ts +0 -399
  152. package/src/hybrid-backend.ts +0 -694
  153. package/src/index.ts +0 -515
  154. package/src/infrastructure/index.ts +0 -23
  155. package/src/infrastructure/repositories/hybrid-memory-repository.ts +0 -516
  156. package/src/migration.ts +0 -669
  157. package/src/query-builder.ts +0 -542
  158. package/src/sqlite-backend.ts +0 -732
  159. package/src/sqljs-backend.ts +0 -763
  160. package/src/types.ts +0 -727
  161. package/tmp.json +0 -0
  162. package/tsconfig.json +0 -9
  163. package/tsconfig.tsbuildinfo +0 -1
  164. package/verify-cross-platform.ts +0 -170
@@ -1,2266 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/types.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</a> types.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/727</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/1</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/1</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/727</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>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a>
452
- <a name='L387'></a><a href='#L387'>387</a>
453
- <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a>
457
- <a name='L392'></a><a href='#L392'>392</a>
458
- <a name='L393'></a><a href='#L393'>393</a>
459
- <a name='L394'></a><a href='#L394'>394</a>
460
- <a name='L395'></a><a href='#L395'>395</a>
461
- <a name='L396'></a><a href='#L396'>396</a>
462
- <a name='L397'></a><a href='#L397'>397</a>
463
- <a name='L398'></a><a href='#L398'>398</a>
464
- <a name='L399'></a><a href='#L399'>399</a>
465
- <a name='L400'></a><a href='#L400'>400</a>
466
- <a name='L401'></a><a href='#L401'>401</a>
467
- <a name='L402'></a><a href='#L402'>402</a>
468
- <a name='L403'></a><a href='#L403'>403</a>
469
- <a name='L404'></a><a href='#L404'>404</a>
470
- <a name='L405'></a><a href='#L405'>405</a>
471
- <a name='L406'></a><a href='#L406'>406</a>
472
- <a name='L407'></a><a href='#L407'>407</a>
473
- <a name='L408'></a><a href='#L408'>408</a>
474
- <a name='L409'></a><a href='#L409'>409</a>
475
- <a name='L410'></a><a href='#L410'>410</a>
476
- <a name='L411'></a><a href='#L411'>411</a>
477
- <a name='L412'></a><a href='#L412'>412</a>
478
- <a name='L413'></a><a href='#L413'>413</a>
479
- <a name='L414'></a><a href='#L414'>414</a>
480
- <a name='L415'></a><a href='#L415'>415</a>
481
- <a name='L416'></a><a href='#L416'>416</a>
482
- <a name='L417'></a><a href='#L417'>417</a>
483
- <a name='L418'></a><a href='#L418'>418</a>
484
- <a name='L419'></a><a href='#L419'>419</a>
485
- <a name='L420'></a><a href='#L420'>420</a>
486
- <a name='L421'></a><a href='#L421'>421</a>
487
- <a name='L422'></a><a href='#L422'>422</a>
488
- <a name='L423'></a><a href='#L423'>423</a>
489
- <a name='L424'></a><a href='#L424'>424</a>
490
- <a name='L425'></a><a href='#L425'>425</a>
491
- <a name='L426'></a><a href='#L426'>426</a>
492
- <a name='L427'></a><a href='#L427'>427</a>
493
- <a name='L428'></a><a href='#L428'>428</a>
494
- <a name='L429'></a><a href='#L429'>429</a>
495
- <a name='L430'></a><a href='#L430'>430</a>
496
- <a name='L431'></a><a href='#L431'>431</a>
497
- <a name='L432'></a><a href='#L432'>432</a>
498
- <a name='L433'></a><a href='#L433'>433</a>
499
- <a name='L434'></a><a href='#L434'>434</a>
500
- <a name='L435'></a><a href='#L435'>435</a>
501
- <a name='L436'></a><a href='#L436'>436</a>
502
- <a name='L437'></a><a href='#L437'>437</a>
503
- <a name='L438'></a><a href='#L438'>438</a>
504
- <a name='L439'></a><a href='#L439'>439</a>
505
- <a name='L440'></a><a href='#L440'>440</a>
506
- <a name='L441'></a><a href='#L441'>441</a>
507
- <a name='L442'></a><a href='#L442'>442</a>
508
- <a name='L443'></a><a href='#L443'>443</a>
509
- <a name='L444'></a><a href='#L444'>444</a>
510
- <a name='L445'></a><a href='#L445'>445</a>
511
- <a name='L446'></a><a href='#L446'>446</a>
512
- <a name='L447'></a><a href='#L447'>447</a>
513
- <a name='L448'></a><a href='#L448'>448</a>
514
- <a name='L449'></a><a href='#L449'>449</a>
515
- <a name='L450'></a><a href='#L450'>450</a>
516
- <a name='L451'></a><a href='#L451'>451</a>
517
- <a name='L452'></a><a href='#L452'>452</a>
518
- <a name='L453'></a><a href='#L453'>453</a>
519
- <a name='L454'></a><a href='#L454'>454</a>
520
- <a name='L455'></a><a href='#L455'>455</a>
521
- <a name='L456'></a><a href='#L456'>456</a>
522
- <a name='L457'></a><a href='#L457'>457</a>
523
- <a name='L458'></a><a href='#L458'>458</a>
524
- <a name='L459'></a><a href='#L459'>459</a>
525
- <a name='L460'></a><a href='#L460'>460</a>
526
- <a name='L461'></a><a href='#L461'>461</a>
527
- <a name='L462'></a><a href='#L462'>462</a>
528
- <a name='L463'></a><a href='#L463'>463</a>
529
- <a name='L464'></a><a href='#L464'>464</a>
530
- <a name='L465'></a><a href='#L465'>465</a>
531
- <a name='L466'></a><a href='#L466'>466</a>
532
- <a name='L467'></a><a href='#L467'>467</a>
533
- <a name='L468'></a><a href='#L468'>468</a>
534
- <a name='L469'></a><a href='#L469'>469</a>
535
- <a name='L470'></a><a href='#L470'>470</a>
536
- <a name='L471'></a><a href='#L471'>471</a>
537
- <a name='L472'></a><a href='#L472'>472</a>
538
- <a name='L473'></a><a href='#L473'>473</a>
539
- <a name='L474'></a><a href='#L474'>474</a>
540
- <a name='L475'></a><a href='#L475'>475</a>
541
- <a name='L476'></a><a href='#L476'>476</a>
542
- <a name='L477'></a><a href='#L477'>477</a>
543
- <a name='L478'></a><a href='#L478'>478</a>
544
- <a name='L479'></a><a href='#L479'>479</a>
545
- <a name='L480'></a><a href='#L480'>480</a>
546
- <a name='L481'></a><a href='#L481'>481</a>
547
- <a name='L482'></a><a href='#L482'>482</a>
548
- <a name='L483'></a><a href='#L483'>483</a>
549
- <a name='L484'></a><a href='#L484'>484</a>
550
- <a name='L485'></a><a href='#L485'>485</a>
551
- <a name='L486'></a><a href='#L486'>486</a>
552
- <a name='L487'></a><a href='#L487'>487</a>
553
- <a name='L488'></a><a href='#L488'>488</a>
554
- <a name='L489'></a><a href='#L489'>489</a>
555
- <a name='L490'></a><a href='#L490'>490</a>
556
- <a name='L491'></a><a href='#L491'>491</a>
557
- <a name='L492'></a><a href='#L492'>492</a>
558
- <a name='L493'></a><a href='#L493'>493</a>
559
- <a name='L494'></a><a href='#L494'>494</a>
560
- <a name='L495'></a><a href='#L495'>495</a>
561
- <a name='L496'></a><a href='#L496'>496</a>
562
- <a name='L497'></a><a href='#L497'>497</a>
563
- <a name='L498'></a><a href='#L498'>498</a>
564
- <a name='L499'></a><a href='#L499'>499</a>
565
- <a name='L500'></a><a href='#L500'>500</a>
566
- <a name='L501'></a><a href='#L501'>501</a>
567
- <a name='L502'></a><a href='#L502'>502</a>
568
- <a name='L503'></a><a href='#L503'>503</a>
569
- <a name='L504'></a><a href='#L504'>504</a>
570
- <a name='L505'></a><a href='#L505'>505</a>
571
- <a name='L506'></a><a href='#L506'>506</a>
572
- <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a>
577
- <a name='L512'></a><a href='#L512'>512</a>
578
- <a name='L513'></a><a href='#L513'>513</a>
579
- <a name='L514'></a><a href='#L514'>514</a>
580
- <a name='L515'></a><a href='#L515'>515</a>
581
- <a name='L516'></a><a href='#L516'>516</a>
582
- <a name='L517'></a><a href='#L517'>517</a>
583
- <a name='L518'></a><a href='#L518'>518</a>
584
- <a name='L519'></a><a href='#L519'>519</a>
585
- <a name='L520'></a><a href='#L520'>520</a>
586
- <a name='L521'></a><a href='#L521'>521</a>
587
- <a name='L522'></a><a href='#L522'>522</a>
588
- <a name='L523'></a><a href='#L523'>523</a>
589
- <a name='L524'></a><a href='#L524'>524</a>
590
- <a name='L525'></a><a href='#L525'>525</a>
591
- <a name='L526'></a><a href='#L526'>526</a>
592
- <a name='L527'></a><a href='#L527'>527</a>
593
- <a name='L528'></a><a href='#L528'>528</a>
594
- <a name='L529'></a><a href='#L529'>529</a>
595
- <a name='L530'></a><a href='#L530'>530</a>
596
- <a name='L531'></a><a href='#L531'>531</a>
597
- <a name='L532'></a><a href='#L532'>532</a>
598
- <a name='L533'></a><a href='#L533'>533</a>
599
- <a name='L534'></a><a href='#L534'>534</a>
600
- <a name='L535'></a><a href='#L535'>535</a>
601
- <a name='L536'></a><a href='#L536'>536</a>
602
- <a name='L537'></a><a href='#L537'>537</a>
603
- <a name='L538'></a><a href='#L538'>538</a>
604
- <a name='L539'></a><a href='#L539'>539</a>
605
- <a name='L540'></a><a href='#L540'>540</a>
606
- <a name='L541'></a><a href='#L541'>541</a>
607
- <a name='L542'></a><a href='#L542'>542</a>
608
- <a name='L543'></a><a href='#L543'>543</a>
609
- <a name='L544'></a><a href='#L544'>544</a>
610
- <a name='L545'></a><a href='#L545'>545</a>
611
- <a name='L546'></a><a href='#L546'>546</a>
612
- <a name='L547'></a><a href='#L547'>547</a>
613
- <a name='L548'></a><a href='#L548'>548</a>
614
- <a name='L549'></a><a href='#L549'>549</a>
615
- <a name='L550'></a><a href='#L550'>550</a>
616
- <a name='L551'></a><a href='#L551'>551</a>
617
- <a name='L552'></a><a href='#L552'>552</a>
618
- <a name='L553'></a><a href='#L553'>553</a>
619
- <a name='L554'></a><a href='#L554'>554</a>
620
- <a name='L555'></a><a href='#L555'>555</a>
621
- <a name='L556'></a><a href='#L556'>556</a>
622
- <a name='L557'></a><a href='#L557'>557</a>
623
- <a name='L558'></a><a href='#L558'>558</a>
624
- <a name='L559'></a><a href='#L559'>559</a>
625
- <a name='L560'></a><a href='#L560'>560</a>
626
- <a name='L561'></a><a href='#L561'>561</a>
627
- <a name='L562'></a><a href='#L562'>562</a>
628
- <a name='L563'></a><a href='#L563'>563</a>
629
- <a name='L564'></a><a href='#L564'>564</a>
630
- <a name='L565'></a><a href='#L565'>565</a>
631
- <a name='L566'></a><a href='#L566'>566</a>
632
- <a name='L567'></a><a href='#L567'>567</a>
633
- <a name='L568'></a><a href='#L568'>568</a>
634
- <a name='L569'></a><a href='#L569'>569</a>
635
- <a name='L570'></a><a href='#L570'>570</a>
636
- <a name='L571'></a><a href='#L571'>571</a>
637
- <a name='L572'></a><a href='#L572'>572</a>
638
- <a name='L573'></a><a href='#L573'>573</a>
639
- <a name='L574'></a><a href='#L574'>574</a>
640
- <a name='L575'></a><a href='#L575'>575</a>
641
- <a name='L576'></a><a href='#L576'>576</a>
642
- <a name='L577'></a><a href='#L577'>577</a>
643
- <a name='L578'></a><a href='#L578'>578</a>
644
- <a name='L579'></a><a href='#L579'>579</a>
645
- <a name='L580'></a><a href='#L580'>580</a>
646
- <a name='L581'></a><a href='#L581'>581</a>
647
- <a name='L582'></a><a href='#L582'>582</a>
648
- <a name='L583'></a><a href='#L583'>583</a>
649
- <a name='L584'></a><a href='#L584'>584</a>
650
- <a name='L585'></a><a href='#L585'>585</a>
651
- <a name='L586'></a><a href='#L586'>586</a>
652
- <a name='L587'></a><a href='#L587'>587</a>
653
- <a name='L588'></a><a href='#L588'>588</a>
654
- <a name='L589'></a><a href='#L589'>589</a>
655
- <a name='L590'></a><a href='#L590'>590</a>
656
- <a name='L591'></a><a href='#L591'>591</a>
657
- <a name='L592'></a><a href='#L592'>592</a>
658
- <a name='L593'></a><a href='#L593'>593</a>
659
- <a name='L594'></a><a href='#L594'>594</a>
660
- <a name='L595'></a><a href='#L595'>595</a>
661
- <a name='L596'></a><a href='#L596'>596</a>
662
- <a name='L597'></a><a href='#L597'>597</a>
663
- <a name='L598'></a><a href='#L598'>598</a>
664
- <a name='L599'></a><a href='#L599'>599</a>
665
- <a name='L600'></a><a href='#L600'>600</a>
666
- <a name='L601'></a><a href='#L601'>601</a>
667
- <a name='L602'></a><a href='#L602'>602</a>
668
- <a name='L603'></a><a href='#L603'>603</a>
669
- <a name='L604'></a><a href='#L604'>604</a>
670
- <a name='L605'></a><a href='#L605'>605</a>
671
- <a name='L606'></a><a href='#L606'>606</a>
672
- <a name='L607'></a><a href='#L607'>607</a>
673
- <a name='L608'></a><a href='#L608'>608</a>
674
- <a name='L609'></a><a href='#L609'>609</a>
675
- <a name='L610'></a><a href='#L610'>610</a>
676
- <a name='L611'></a><a href='#L611'>611</a>
677
- <a name='L612'></a><a href='#L612'>612</a>
678
- <a name='L613'></a><a href='#L613'>613</a>
679
- <a name='L614'></a><a href='#L614'>614</a>
680
- <a name='L615'></a><a href='#L615'>615</a>
681
- <a name='L616'></a><a href='#L616'>616</a>
682
- <a name='L617'></a><a href='#L617'>617</a>
683
- <a name='L618'></a><a href='#L618'>618</a>
684
- <a name='L619'></a><a href='#L619'>619</a>
685
- <a name='L620'></a><a href='#L620'>620</a>
686
- <a name='L621'></a><a href='#L621'>621</a>
687
- <a name='L622'></a><a href='#L622'>622</a>
688
- <a name='L623'></a><a href='#L623'>623</a>
689
- <a name='L624'></a><a href='#L624'>624</a>
690
- <a name='L625'></a><a href='#L625'>625</a>
691
- <a name='L626'></a><a href='#L626'>626</a>
692
- <a name='L627'></a><a href='#L627'>627</a>
693
- <a name='L628'></a><a href='#L628'>628</a>
694
- <a name='L629'></a><a href='#L629'>629</a>
695
- <a name='L630'></a><a href='#L630'>630</a>
696
- <a name='L631'></a><a href='#L631'>631</a>
697
- <a name='L632'></a><a href='#L632'>632</a>
698
- <a name='L633'></a><a href='#L633'>633</a>
699
- <a name='L634'></a><a href='#L634'>634</a>
700
- <a name='L635'></a><a href='#L635'>635</a>
701
- <a name='L636'></a><a href='#L636'>636</a>
702
- <a name='L637'></a><a href='#L637'>637</a>
703
- <a name='L638'></a><a href='#L638'>638</a>
704
- <a name='L639'></a><a href='#L639'>639</a>
705
- <a name='L640'></a><a href='#L640'>640</a>
706
- <a name='L641'></a><a href='#L641'>641</a>
707
- <a name='L642'></a><a href='#L642'>642</a>
708
- <a name='L643'></a><a href='#L643'>643</a>
709
- <a name='L644'></a><a href='#L644'>644</a>
710
- <a name='L645'></a><a href='#L645'>645</a>
711
- <a name='L646'></a><a href='#L646'>646</a>
712
- <a name='L647'></a><a href='#L647'>647</a>
713
- <a name='L648'></a><a href='#L648'>648</a>
714
- <a name='L649'></a><a href='#L649'>649</a>
715
- <a name='L650'></a><a href='#L650'>650</a>
716
- <a name='L651'></a><a href='#L651'>651</a>
717
- <a name='L652'></a><a href='#L652'>652</a>
718
- <a name='L653'></a><a href='#L653'>653</a>
719
- <a name='L654'></a><a href='#L654'>654</a>
720
- <a name='L655'></a><a href='#L655'>655</a>
721
- <a name='L656'></a><a href='#L656'>656</a>
722
- <a name='L657'></a><a href='#L657'>657</a>
723
- <a name='L658'></a><a href='#L658'>658</a>
724
- <a name='L659'></a><a href='#L659'>659</a>
725
- <a name='L660'></a><a href='#L660'>660</a>
726
- <a name='L661'></a><a href='#L661'>661</a>
727
- <a name='L662'></a><a href='#L662'>662</a>
728
- <a name='L663'></a><a href='#L663'>663</a>
729
- <a name='L664'></a><a href='#L664'>664</a>
730
- <a name='L665'></a><a href='#L665'>665</a>
731
- <a name='L666'></a><a href='#L666'>666</a>
732
- <a name='L667'></a><a href='#L667'>667</a>
733
- <a name='L668'></a><a href='#L668'>668</a>
734
- <a name='L669'></a><a href='#L669'>669</a>
735
- <a name='L670'></a><a href='#L670'>670</a>
736
- <a name='L671'></a><a href='#L671'>671</a>
737
- <a name='L672'></a><a href='#L672'>672</a>
738
- <a name='L673'></a><a href='#L673'>673</a>
739
- <a name='L674'></a><a href='#L674'>674</a>
740
- <a name='L675'></a><a href='#L675'>675</a>
741
- <a name='L676'></a><a href='#L676'>676</a>
742
- <a name='L677'></a><a href='#L677'>677</a>
743
- <a name='L678'></a><a href='#L678'>678</a>
744
- <a name='L679'></a><a href='#L679'>679</a>
745
- <a name='L680'></a><a href='#L680'>680</a>
746
- <a name='L681'></a><a href='#L681'>681</a>
747
- <a name='L682'></a><a href='#L682'>682</a>
748
- <a name='L683'></a><a href='#L683'>683</a>
749
- <a name='L684'></a><a href='#L684'>684</a>
750
- <a name='L685'></a><a href='#L685'>685</a>
751
- <a name='L686'></a><a href='#L686'>686</a>
752
- <a name='L687'></a><a href='#L687'>687</a>
753
- <a name='L688'></a><a href='#L688'>688</a>
754
- <a name='L689'></a><a href='#L689'>689</a>
755
- <a name='L690'></a><a href='#L690'>690</a>
756
- <a name='L691'></a><a href='#L691'>691</a>
757
- <a name='L692'></a><a href='#L692'>692</a>
758
- <a name='L693'></a><a href='#L693'>693</a>
759
- <a name='L694'></a><a href='#L694'>694</a>
760
- <a name='L695'></a><a href='#L695'>695</a>
761
- <a name='L696'></a><a href='#L696'>696</a>
762
- <a name='L697'></a><a href='#L697'>697</a>
763
- <a name='L698'></a><a href='#L698'>698</a>
764
- <a name='L699'></a><a href='#L699'>699</a>
765
- <a name='L700'></a><a href='#L700'>700</a>
766
- <a name='L701'></a><a href='#L701'>701</a>
767
- <a name='L702'></a><a href='#L702'>702</a>
768
- <a name='L703'></a><a href='#L703'>703</a>
769
- <a name='L704'></a><a href='#L704'>704</a>
770
- <a name='L705'></a><a href='#L705'>705</a>
771
- <a name='L706'></a><a href='#L706'>706</a>
772
- <a name='L707'></a><a href='#L707'>707</a>
773
- <a name='L708'></a><a href='#L708'>708</a>
774
- <a name='L709'></a><a href='#L709'>709</a>
775
- <a name='L710'></a><a href='#L710'>710</a>
776
- <a name='L711'></a><a href='#L711'>711</a>
777
- <a name='L712'></a><a href='#L712'>712</a>
778
- <a name='L713'></a><a href='#L713'>713</a>
779
- <a name='L714'></a><a href='#L714'>714</a>
780
- <a name='L715'></a><a href='#L715'>715</a>
781
- <a name='L716'></a><a href='#L716'>716</a>
782
- <a name='L717'></a><a href='#L717'>717</a>
783
- <a name='L718'></a><a href='#L718'>718</a>
784
- <a name='L719'></a><a href='#L719'>719</a>
785
- <a name='L720'></a><a href='#L720'>720</a>
786
- <a name='L721'></a><a href='#L721'>721</a>
787
- <a name='L722'></a><a href='#L722'>722</a>
788
- <a name='L723'></a><a href='#L723'>723</a>
789
- <a name='L724'></a><a href='#L724'>724</a>
790
- <a name='L725'></a><a href='#L725'>725</a>
791
- <a name='L726'></a><a href='#L726'>726</a>
792
- <a name='L727'></a><a href='#L727'>727</a>
793
- <a name='L728'></a><a href='#L728'>728</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
794
- <span class="cline-any cline-no">&nbsp;</span>
795
- <span class="cline-any cline-no">&nbsp;</span>
796
- <span class="cline-any cline-no">&nbsp;</span>
797
- <span class="cline-any cline-no">&nbsp;</span>
798
- <span class="cline-any cline-no">&nbsp;</span>
799
- <span class="cline-any cline-no">&nbsp;</span>
800
- <span class="cline-any cline-no">&nbsp;</span>
801
- <span class="cline-any cline-no">&nbsp;</span>
802
- <span class="cline-any cline-no">&nbsp;</span>
803
- <span class="cline-any cline-no">&nbsp;</span>
804
- <span class="cline-any cline-no">&nbsp;</span>
805
- <span class="cline-any cline-no">&nbsp;</span>
806
- <span class="cline-any cline-no">&nbsp;</span>
807
- <span class="cline-any cline-no">&nbsp;</span>
808
- <span class="cline-any cline-no">&nbsp;</span>
809
- <span class="cline-any cline-no">&nbsp;</span>
810
- <span class="cline-any cline-no">&nbsp;</span>
811
- <span class="cline-any cline-no">&nbsp;</span>
812
- <span class="cline-any cline-no">&nbsp;</span>
813
- <span class="cline-any cline-no">&nbsp;</span>
814
- <span class="cline-any cline-no">&nbsp;</span>
815
- <span class="cline-any cline-no">&nbsp;</span>
816
- <span class="cline-any cline-no">&nbsp;</span>
817
- <span class="cline-any cline-no">&nbsp;</span>
818
- <span class="cline-any cline-no">&nbsp;</span>
819
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
823
- <span class="cline-any cline-no">&nbsp;</span>
824
- <span class="cline-any cline-no">&nbsp;</span>
825
- <span class="cline-any cline-no">&nbsp;</span>
826
- <span class="cline-any cline-no">&nbsp;</span>
827
- <span class="cline-any cline-no">&nbsp;</span>
828
- <span class="cline-any cline-no">&nbsp;</span>
829
- <span class="cline-any cline-no">&nbsp;</span>
830
- <span class="cline-any cline-no">&nbsp;</span>
831
- <span class="cline-any cline-no">&nbsp;</span>
832
- <span class="cline-any cline-no">&nbsp;</span>
833
- <span class="cline-any cline-no">&nbsp;</span>
834
- <span class="cline-any cline-no">&nbsp;</span>
835
- <span class="cline-any cline-no">&nbsp;</span>
836
- <span class="cline-any cline-no">&nbsp;</span>
837
- <span class="cline-any cline-no">&nbsp;</span>
838
- <span class="cline-any cline-no">&nbsp;</span>
839
- <span class="cline-any cline-no">&nbsp;</span>
840
- <span class="cline-any cline-no">&nbsp;</span>
841
- <span class="cline-any cline-no">&nbsp;</span>
842
- <span class="cline-any cline-no">&nbsp;</span>
843
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
848
- <span class="cline-any cline-no">&nbsp;</span>
849
- <span class="cline-any cline-no">&nbsp;</span>
850
- <span class="cline-any cline-no">&nbsp;</span>
851
- <span class="cline-any cline-no">&nbsp;</span>
852
- <span class="cline-any cline-no">&nbsp;</span>
853
- <span class="cline-any cline-no">&nbsp;</span>
854
- <span class="cline-any cline-no">&nbsp;</span>
855
- <span class="cline-any cline-no">&nbsp;</span>
856
- <span class="cline-any cline-no">&nbsp;</span>
857
- <span class="cline-any cline-no">&nbsp;</span>
858
- <span class="cline-any cline-no">&nbsp;</span>
859
- <span class="cline-any cline-no">&nbsp;</span>
860
- <span class="cline-any cline-no">&nbsp;</span>
861
- <span class="cline-any cline-no">&nbsp;</span>
862
- <span class="cline-any cline-no">&nbsp;</span>
863
- <span class="cline-any cline-no">&nbsp;</span>
864
- <span class="cline-any cline-no">&nbsp;</span>
865
- <span class="cline-any cline-no">&nbsp;</span>
866
- <span class="cline-any cline-no">&nbsp;</span>
867
- <span class="cline-any cline-no">&nbsp;</span>
868
- <span class="cline-any cline-no">&nbsp;</span>
869
- <span class="cline-any cline-no">&nbsp;</span>
870
- <span class="cline-any cline-no">&nbsp;</span>
871
- <span class="cline-any cline-no">&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-no">&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-no">&nbsp;</span>
880
- <span class="cline-any cline-no">&nbsp;</span>
881
- <span class="cline-any cline-no">&nbsp;</span>
882
- <span class="cline-any cline-no">&nbsp;</span>
883
- <span class="cline-any cline-no">&nbsp;</span>
884
- <span class="cline-any cline-no">&nbsp;</span>
885
- <span class="cline-any cline-no">&nbsp;</span>
886
- <span class="cline-any cline-no">&nbsp;</span>
887
- <span class="cline-any cline-no">&nbsp;</span>
888
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
892
- <span class="cline-any cline-no">&nbsp;</span>
893
- <span class="cline-any cline-no">&nbsp;</span>
894
- <span class="cline-any cline-no">&nbsp;</span>
895
- <span class="cline-any cline-no">&nbsp;</span>
896
- <span class="cline-any cline-no">&nbsp;</span>
897
- <span class="cline-any cline-no">&nbsp;</span>
898
- <span class="cline-any cline-no">&nbsp;</span>
899
- <span class="cline-any cline-no">&nbsp;</span>
900
- <span class="cline-any cline-no">&nbsp;</span>
901
- <span class="cline-any cline-no">&nbsp;</span>
902
- <span class="cline-any cline-no">&nbsp;</span>
903
- <span class="cline-any cline-no">&nbsp;</span>
904
- <span class="cline-any cline-no">&nbsp;</span>
905
- <span class="cline-any cline-no">&nbsp;</span>
906
- <span class="cline-any cline-no">&nbsp;</span>
907
- <span class="cline-any cline-no">&nbsp;</span>
908
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
912
- <span class="cline-any cline-no">&nbsp;</span>
913
- <span class="cline-any cline-no">&nbsp;</span>
914
- <span class="cline-any cline-no">&nbsp;</span>
915
- <span class="cline-any cline-no">&nbsp;</span>
916
- <span class="cline-any cline-no">&nbsp;</span>
917
- <span class="cline-any cline-no">&nbsp;</span>
918
- <span class="cline-any cline-no">&nbsp;</span>
919
- <span class="cline-any cline-no">&nbsp;</span>
920
- <span class="cline-any cline-no">&nbsp;</span>
921
- <span class="cline-any cline-no">&nbsp;</span>
922
- <span class="cline-any cline-no">&nbsp;</span>
923
- <span class="cline-any cline-no">&nbsp;</span>
924
- <span class="cline-any cline-no">&nbsp;</span>
925
- <span class="cline-any cline-no">&nbsp;</span>
926
- <span class="cline-any cline-no">&nbsp;</span>
927
- <span class="cline-any cline-no">&nbsp;</span>
928
- <span class="cline-any cline-no">&nbsp;</span>
929
- <span class="cline-any cline-no">&nbsp;</span>
930
- <span class="cline-any cline-no">&nbsp;</span>
931
- <span class="cline-any cline-no">&nbsp;</span>
932
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
936
- <span class="cline-any cline-no">&nbsp;</span>
937
- <span class="cline-any cline-no">&nbsp;</span>
938
- <span class="cline-any cline-no">&nbsp;</span>
939
- <span class="cline-any cline-no">&nbsp;</span>
940
- <span class="cline-any cline-no">&nbsp;</span>
941
- <span class="cline-any cline-no">&nbsp;</span>
942
- <span class="cline-any cline-no">&nbsp;</span>
943
- <span class="cline-any cline-no">&nbsp;</span>
944
- <span class="cline-any cline-no">&nbsp;</span>
945
- <span class="cline-any cline-no">&nbsp;</span>
946
- <span class="cline-any cline-no">&nbsp;</span>
947
- <span class="cline-any cline-no">&nbsp;</span>
948
- <span class="cline-any cline-no">&nbsp;</span>
949
- <span class="cline-any cline-no">&nbsp;</span>
950
- <span class="cline-any cline-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-no">&nbsp;</span>
954
- <span class="cline-any cline-no">&nbsp;</span>
955
- <span class="cline-any cline-no">&nbsp;</span>
956
- <span class="cline-any cline-no">&nbsp;</span>
957
- <span class="cline-any cline-no">&nbsp;</span>
958
- <span class="cline-any cline-no">&nbsp;</span>
959
- <span class="cline-any cline-no">&nbsp;</span>
960
- <span class="cline-any cline-no">&nbsp;</span>
961
- <span class="cline-any cline-no">&nbsp;</span>
962
- <span class="cline-any cline-no">&nbsp;</span>
963
- <span class="cline-any cline-no">&nbsp;</span>
964
- <span class="cline-any cline-no">&nbsp;</span>
965
- <span class="cline-any cline-no">&nbsp;</span>
966
- <span class="cline-any cline-no">&nbsp;</span>
967
- <span class="cline-any cline-no">&nbsp;</span>
968
- <span class="cline-any cline-no">&nbsp;</span>
969
- <span class="cline-any cline-no">&nbsp;</span>
970
- <span class="cline-any cline-no">&nbsp;</span>
971
- <span class="cline-any cline-no">&nbsp;</span>
972
- <span class="cline-any cline-no">&nbsp;</span>
973
- <span class="cline-any cline-no">&nbsp;</span>
974
- <span class="cline-any cline-no">&nbsp;</span>
975
- <span class="cline-any cline-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-no">&nbsp;</span>
979
- <span class="cline-any cline-no">&nbsp;</span>
980
- <span class="cline-any cline-no">&nbsp;</span>
981
- <span class="cline-any cline-no">&nbsp;</span>
982
- <span class="cline-any cline-no">&nbsp;</span>
983
- <span class="cline-any cline-no">&nbsp;</span>
984
- <span class="cline-any cline-no">&nbsp;</span>
985
- <span class="cline-any cline-no">&nbsp;</span>
986
- <span class="cline-any cline-no">&nbsp;</span>
987
- <span class="cline-any cline-no">&nbsp;</span>
988
- <span class="cline-any cline-no">&nbsp;</span>
989
- <span class="cline-any cline-no">&nbsp;</span>
990
- <span class="cline-any cline-no">&nbsp;</span>
991
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
995
- <span class="cline-any cline-no">&nbsp;</span>
996
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1000
- <span class="cline-any cline-no">&nbsp;</span>
1001
- <span class="cline-any cline-no">&nbsp;</span>
1002
- <span class="cline-any cline-no">&nbsp;</span>
1003
- <span class="cline-any cline-no">&nbsp;</span>
1004
- <span class="cline-any cline-no">&nbsp;</span>
1005
- <span class="cline-any cline-no">&nbsp;</span>
1006
- <span class="cline-any cline-no">&nbsp;</span>
1007
- <span class="cline-any cline-no">&nbsp;</span>
1008
- <span class="cline-any cline-no">&nbsp;</span>
1009
- <span class="cline-any cline-no">&nbsp;</span>
1010
- <span class="cline-any cline-no">&nbsp;</span>
1011
- <span class="cline-any cline-no">&nbsp;</span>
1012
- <span class="cline-any cline-no">&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-no">&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-no">&nbsp;</span>
1022
- <span class="cline-any cline-no">&nbsp;</span>
1023
- <span class="cline-any cline-no">&nbsp;</span>
1024
- <span class="cline-any cline-no">&nbsp;</span>
1025
- <span class="cline-any cline-no">&nbsp;</span>
1026
- <span class="cline-any cline-no">&nbsp;</span>
1027
- <span class="cline-any cline-no">&nbsp;</span>
1028
- <span class="cline-any cline-no">&nbsp;</span>
1029
- <span class="cline-any cline-no">&nbsp;</span>
1030
- <span class="cline-any cline-no">&nbsp;</span>
1031
- <span class="cline-any cline-no">&nbsp;</span>
1032
- <span class="cline-any cline-no">&nbsp;</span>
1033
- <span class="cline-any cline-no">&nbsp;</span>
1034
- <span class="cline-any cline-no">&nbsp;</span>
1035
- <span class="cline-any cline-no">&nbsp;</span>
1036
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1040
- <span class="cline-any cline-no">&nbsp;</span>
1041
- <span class="cline-any cline-no">&nbsp;</span>
1042
- <span class="cline-any cline-no">&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-no">&nbsp;</span>
1047
- <span class="cline-any cline-no">&nbsp;</span>
1048
- <span class="cline-any cline-no">&nbsp;</span>
1049
- <span class="cline-any cline-no">&nbsp;</span>
1050
- <span class="cline-any cline-no">&nbsp;</span>
1051
- <span class="cline-any cline-no">&nbsp;</span>
1052
- <span class="cline-any cline-no">&nbsp;</span>
1053
- <span class="cline-any cline-no">&nbsp;</span>
1054
- <span class="cline-any cline-no">&nbsp;</span>
1055
- <span class="cline-any cline-no">&nbsp;</span>
1056
- <span class="cline-any cline-no">&nbsp;</span>
1057
- <span class="cline-any cline-no">&nbsp;</span>
1058
- <span class="cline-any cline-no">&nbsp;</span>
1059
- <span class="cline-any cline-no">&nbsp;</span>
1060
- <span class="cline-any cline-no">&nbsp;</span>
1061
- <span class="cline-any cline-no">&nbsp;</span>
1062
- <span class="cline-any cline-no">&nbsp;</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-no">&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-no">&nbsp;</span>
1075
- <span class="cline-any cline-no">&nbsp;</span>
1076
- <span class="cline-any cline-no">&nbsp;</span>
1077
- <span class="cline-any cline-no">&nbsp;</span>
1078
- <span class="cline-any cline-no">&nbsp;</span>
1079
- <span class="cline-any cline-no">&nbsp;</span>
1080
- <span class="cline-any cline-no">&nbsp;</span>
1081
- <span class="cline-any cline-no">&nbsp;</span>
1082
- <span class="cline-any cline-no">&nbsp;</span>
1083
- <span class="cline-any cline-no">&nbsp;</span>
1084
- <span class="cline-any cline-no">&nbsp;</span>
1085
- <span class="cline-any cline-no">&nbsp;</span>
1086
- <span class="cline-any cline-no">&nbsp;</span>
1087
- <span class="cline-any cline-no">&nbsp;</span>
1088
- <span class="cline-any cline-no">&nbsp;</span>
1089
- <span class="cline-any cline-no">&nbsp;</span>
1090
- <span class="cline-any cline-no">&nbsp;</span>
1091
- <span class="cline-any cline-no">&nbsp;</span>
1092
- <span class="cline-any cline-no">&nbsp;</span>
1093
- <span class="cline-any cline-no">&nbsp;</span>
1094
- <span class="cline-any cline-no">&nbsp;</span>
1095
- <span class="cline-any cline-no">&nbsp;</span>
1096
- <span class="cline-any cline-no">&nbsp;</span>
1097
- <span class="cline-any cline-no">&nbsp;</span>
1098
- <span class="cline-any cline-no">&nbsp;</span>
1099
- <span class="cline-any cline-no">&nbsp;</span>
1100
- <span class="cline-any cline-no">&nbsp;</span>
1101
- <span class="cline-any cline-no">&nbsp;</span>
1102
- <span class="cline-any cline-no">&nbsp;</span>
1103
- <span class="cline-any cline-no">&nbsp;</span>
1104
- <span class="cline-any cline-no">&nbsp;</span>
1105
- <span class="cline-any cline-no">&nbsp;</span>
1106
- <span class="cline-any cline-no">&nbsp;</span>
1107
- <span class="cline-any cline-no">&nbsp;</span>
1108
- <span class="cline-any cline-no">&nbsp;</span>
1109
- <span class="cline-any cline-no">&nbsp;</span>
1110
- <span class="cline-any cline-no">&nbsp;</span>
1111
- <span class="cline-any cline-no">&nbsp;</span>
1112
- <span class="cline-any cline-no">&nbsp;</span>
1113
- <span class="cline-any cline-no">&nbsp;</span>
1114
- <span class="cline-any cline-no">&nbsp;</span>
1115
- <span class="cline-any cline-no">&nbsp;</span>
1116
- <span class="cline-any cline-no">&nbsp;</span>
1117
- <span class="cline-any cline-no">&nbsp;</span>
1118
- <span class="cline-any cline-no">&nbsp;</span>
1119
- <span class="cline-any cline-no">&nbsp;</span>
1120
- <span class="cline-any cline-no">&nbsp;</span>
1121
- <span class="cline-any cline-no">&nbsp;</span>
1122
- <span class="cline-any cline-no">&nbsp;</span>
1123
- <span class="cline-any cline-no">&nbsp;</span>
1124
- <span class="cline-any cline-no">&nbsp;</span>
1125
- <span class="cline-any cline-no">&nbsp;</span>
1126
- <span class="cline-any cline-no">&nbsp;</span>
1127
- <span class="cline-any cline-no">&nbsp;</span>
1128
- <span class="cline-any cline-no">&nbsp;</span>
1129
- <span class="cline-any cline-no">&nbsp;</span>
1130
- <span class="cline-any cline-no">&nbsp;</span>
1131
- <span class="cline-any cline-no">&nbsp;</span>
1132
- <span class="cline-any cline-no">&nbsp;</span>
1133
- <span class="cline-any cline-no">&nbsp;</span>
1134
- <span class="cline-any cline-no">&nbsp;</span>
1135
- <span class="cline-any cline-no">&nbsp;</span>
1136
- <span class="cline-any cline-no">&nbsp;</span>
1137
- <span class="cline-any cline-no">&nbsp;</span>
1138
- <span class="cline-any cline-no">&nbsp;</span>
1139
- <span class="cline-any cline-no">&nbsp;</span>
1140
- <span class="cline-any cline-no">&nbsp;</span>
1141
- <span class="cline-any cline-no">&nbsp;</span>
1142
- <span class="cline-any cline-no">&nbsp;</span>
1143
- <span class="cline-any cline-no">&nbsp;</span>
1144
- <span class="cline-any cline-no">&nbsp;</span>
1145
- <span class="cline-any cline-no">&nbsp;</span>
1146
- <span class="cline-any cline-no">&nbsp;</span>
1147
- <span class="cline-any cline-no">&nbsp;</span>
1148
- <span class="cline-any cline-no">&nbsp;</span>
1149
- <span class="cline-any cline-no">&nbsp;</span>
1150
- <span class="cline-any cline-no">&nbsp;</span>
1151
- <span class="cline-any cline-no">&nbsp;</span>
1152
- <span class="cline-any cline-no">&nbsp;</span>
1153
- <span class="cline-any cline-no">&nbsp;</span>
1154
- <span class="cline-any cline-no">&nbsp;</span>
1155
- <span class="cline-any cline-no">&nbsp;</span>
1156
- <span class="cline-any cline-no">&nbsp;</span>
1157
- <span class="cline-any cline-no">&nbsp;</span>
1158
- <span class="cline-any cline-no">&nbsp;</span>
1159
- <span class="cline-any cline-no">&nbsp;</span>
1160
- <span class="cline-any cline-no">&nbsp;</span>
1161
- <span class="cline-any cline-no">&nbsp;</span>
1162
- <span class="cline-any cline-no">&nbsp;</span>
1163
- <span class="cline-any cline-no">&nbsp;</span>
1164
- <span class="cline-any cline-no">&nbsp;</span>
1165
- <span class="cline-any cline-no">&nbsp;</span>
1166
- <span class="cline-any cline-no">&nbsp;</span>
1167
- <span class="cline-any cline-no">&nbsp;</span>
1168
- <span class="cline-any cline-no">&nbsp;</span>
1169
- <span class="cline-any cline-no">&nbsp;</span>
1170
- <span class="cline-any cline-no">&nbsp;</span>
1171
- <span class="cline-any cline-no">&nbsp;</span>
1172
- <span class="cline-any cline-no">&nbsp;</span>
1173
- <span class="cline-any cline-no">&nbsp;</span>
1174
- <span class="cline-any cline-no">&nbsp;</span>
1175
- <span class="cline-any cline-no">&nbsp;</span>
1176
- <span class="cline-any cline-no">&nbsp;</span>
1177
- <span class="cline-any cline-no">&nbsp;</span>
1178
- <span class="cline-any cline-no">&nbsp;</span>
1179
- <span class="cline-any cline-no">&nbsp;</span>
1180
- <span class="cline-any cline-no">&nbsp;</span>
1181
- <span class="cline-any cline-no">&nbsp;</span>
1182
- <span class="cline-any cline-no">&nbsp;</span>
1183
- <span class="cline-any cline-no">&nbsp;</span>
1184
- <span class="cline-any cline-no">&nbsp;</span>
1185
- <span class="cline-any cline-no">&nbsp;</span>
1186
- <span class="cline-any cline-no">&nbsp;</span>
1187
- <span class="cline-any cline-no">&nbsp;</span>
1188
- <span class="cline-any cline-no">&nbsp;</span>
1189
- <span class="cline-any cline-no">&nbsp;</span>
1190
- <span class="cline-any cline-no">&nbsp;</span>
1191
- <span class="cline-any cline-no">&nbsp;</span>
1192
- <span class="cline-any cline-no">&nbsp;</span>
1193
- <span class="cline-any cline-no">&nbsp;</span>
1194
- <span class="cline-any cline-no">&nbsp;</span>
1195
- <span class="cline-any cline-no">&nbsp;</span>
1196
- <span class="cline-any cline-no">&nbsp;</span>
1197
- <span class="cline-any cline-no">&nbsp;</span>
1198
- <span class="cline-any cline-no">&nbsp;</span>
1199
- <span class="cline-any cline-no">&nbsp;</span>
1200
- <span class="cline-any cline-no">&nbsp;</span>
1201
- <span class="cline-any cline-no">&nbsp;</span>
1202
- <span class="cline-any cline-no">&nbsp;</span>
1203
- <span class="cline-any cline-no">&nbsp;</span>
1204
- <span class="cline-any cline-no">&nbsp;</span>
1205
- <span class="cline-any cline-no">&nbsp;</span>
1206
- <span class="cline-any cline-no">&nbsp;</span>
1207
- <span class="cline-any cline-no">&nbsp;</span>
1208
- <span class="cline-any cline-no">&nbsp;</span>
1209
- <span class="cline-any cline-no">&nbsp;</span>
1210
- <span class="cline-any cline-no">&nbsp;</span>
1211
- <span class="cline-any cline-no">&nbsp;</span>
1212
- <span class="cline-any cline-no">&nbsp;</span>
1213
- <span class="cline-any cline-no">&nbsp;</span>
1214
- <span class="cline-any cline-no">&nbsp;</span>
1215
- <span class="cline-any cline-no">&nbsp;</span>
1216
- <span class="cline-any cline-no">&nbsp;</span>
1217
- <span class="cline-any cline-no">&nbsp;</span>
1218
- <span class="cline-any cline-no">&nbsp;</span>
1219
- <span class="cline-any cline-no">&nbsp;</span>
1220
- <span class="cline-any cline-no">&nbsp;</span>
1221
- <span class="cline-any cline-no">&nbsp;</span>
1222
- <span class="cline-any cline-no">&nbsp;</span>
1223
- <span class="cline-any cline-no">&nbsp;</span>
1224
- <span class="cline-any cline-no">&nbsp;</span>
1225
- <span class="cline-any cline-no">&nbsp;</span>
1226
- <span class="cline-any cline-no">&nbsp;</span>
1227
- <span class="cline-any cline-no">&nbsp;</span>
1228
- <span class="cline-any cline-no">&nbsp;</span>
1229
- <span class="cline-any cline-no">&nbsp;</span>
1230
- <span class="cline-any cline-no">&nbsp;</span>
1231
- <span class="cline-any cline-no">&nbsp;</span>
1232
- <span class="cline-any cline-no">&nbsp;</span>
1233
- <span class="cline-any cline-no">&nbsp;</span>
1234
- <span class="cline-any cline-no">&nbsp;</span>
1235
- <span class="cline-any cline-no">&nbsp;</span>
1236
- <span class="cline-any cline-no">&nbsp;</span>
1237
- <span class="cline-any cline-no">&nbsp;</span>
1238
- <span class="cline-any cline-no">&nbsp;</span>
1239
- <span class="cline-any cline-no">&nbsp;</span>
1240
- <span class="cline-any cline-no">&nbsp;</span>
1241
- <span class="cline-any cline-no">&nbsp;</span>
1242
- <span class="cline-any cline-no">&nbsp;</span>
1243
- <span class="cline-any cline-no">&nbsp;</span>
1244
- <span class="cline-any cline-no">&nbsp;</span>
1245
- <span class="cline-any cline-no">&nbsp;</span>
1246
- <span class="cline-any cline-no">&nbsp;</span>
1247
- <span class="cline-any cline-no">&nbsp;</span>
1248
- <span class="cline-any cline-no">&nbsp;</span>
1249
- <span class="cline-any cline-no">&nbsp;</span>
1250
- <span class="cline-any cline-no">&nbsp;</span>
1251
- <span class="cline-any cline-no">&nbsp;</span>
1252
- <span class="cline-any cline-no">&nbsp;</span>
1253
- <span class="cline-any cline-no">&nbsp;</span>
1254
- <span class="cline-any cline-no">&nbsp;</span>
1255
- <span class="cline-any cline-no">&nbsp;</span>
1256
- <span class="cline-any cline-no">&nbsp;</span>
1257
- <span class="cline-any cline-no">&nbsp;</span>
1258
- <span class="cline-any cline-no">&nbsp;</span>
1259
- <span class="cline-any cline-no">&nbsp;</span>
1260
- <span class="cline-any cline-no">&nbsp;</span>
1261
- <span class="cline-any cline-no">&nbsp;</span>
1262
- <span class="cline-any cline-no">&nbsp;</span>
1263
- <span class="cline-any cline-no">&nbsp;</span>
1264
- <span class="cline-any cline-no">&nbsp;</span>
1265
- <span class="cline-any cline-no">&nbsp;</span>
1266
- <span class="cline-any cline-no">&nbsp;</span>
1267
- <span class="cline-any cline-no">&nbsp;</span>
1268
- <span class="cline-any cline-no">&nbsp;</span>
1269
- <span class="cline-any cline-no">&nbsp;</span>
1270
- <span class="cline-any cline-no">&nbsp;</span>
1271
- <span class="cline-any cline-no">&nbsp;</span>
1272
- <span class="cline-any cline-no">&nbsp;</span>
1273
- <span class="cline-any cline-no">&nbsp;</span>
1274
- <span class="cline-any cline-no">&nbsp;</span>
1275
- <span class="cline-any cline-no">&nbsp;</span>
1276
- <span class="cline-any cline-no">&nbsp;</span>
1277
- <span class="cline-any cline-no">&nbsp;</span>
1278
- <span class="cline-any cline-no">&nbsp;</span>
1279
- <span class="cline-any cline-no">&nbsp;</span>
1280
- <span class="cline-any cline-no">&nbsp;</span>
1281
- <span class="cline-any cline-no">&nbsp;</span>
1282
- <span class="cline-any cline-no">&nbsp;</span>
1283
- <span class="cline-any cline-no">&nbsp;</span>
1284
- <span class="cline-any cline-no">&nbsp;</span>
1285
- <span class="cline-any cline-no">&nbsp;</span>
1286
- <span class="cline-any cline-no">&nbsp;</span>
1287
- <span class="cline-any cline-no">&nbsp;</span>
1288
- <span class="cline-any cline-no">&nbsp;</span>
1289
- <span class="cline-any cline-no">&nbsp;</span>
1290
- <span class="cline-any cline-no">&nbsp;</span>
1291
- <span class="cline-any cline-no">&nbsp;</span>
1292
- <span class="cline-any cline-no">&nbsp;</span>
1293
- <span class="cline-any cline-no">&nbsp;</span>
1294
- <span class="cline-any cline-no">&nbsp;</span>
1295
- <span class="cline-any cline-no">&nbsp;</span>
1296
- <span class="cline-any cline-no">&nbsp;</span>
1297
- <span class="cline-any cline-no">&nbsp;</span>
1298
- <span class="cline-any cline-no">&nbsp;</span>
1299
- <span class="cline-any cline-no">&nbsp;</span>
1300
- <span class="cline-any cline-no">&nbsp;</span>
1301
- <span class="cline-any cline-no">&nbsp;</span>
1302
- <span class="cline-any cline-no">&nbsp;</span>
1303
- <span class="cline-any cline-no">&nbsp;</span>
1304
- <span class="cline-any cline-no">&nbsp;</span>
1305
- <span class="cline-any cline-no">&nbsp;</span>
1306
- <span class="cline-any cline-no">&nbsp;</span>
1307
- <span class="cline-any cline-no">&nbsp;</span>
1308
- <span class="cline-any cline-no">&nbsp;</span>
1309
- <span class="cline-any cline-no">&nbsp;</span>
1310
- <span class="cline-any cline-no">&nbsp;</span>
1311
- <span class="cline-any cline-no">&nbsp;</span>
1312
- <span class="cline-any cline-no">&nbsp;</span>
1313
- <span class="cline-any cline-no">&nbsp;</span>
1314
- <span class="cline-any cline-no">&nbsp;</span>
1315
- <span class="cline-any cline-no">&nbsp;</span>
1316
- <span class="cline-any cline-no">&nbsp;</span>
1317
- <span class="cline-any cline-no">&nbsp;</span>
1318
- <span class="cline-any cline-no">&nbsp;</span>
1319
- <span class="cline-any cline-no">&nbsp;</span>
1320
- <span class="cline-any cline-no">&nbsp;</span>
1321
- <span class="cline-any cline-no">&nbsp;</span>
1322
- <span class="cline-any cline-no">&nbsp;</span>
1323
- <span class="cline-any cline-no">&nbsp;</span>
1324
- <span class="cline-any cline-no">&nbsp;</span>
1325
- <span class="cline-any cline-no">&nbsp;</span>
1326
- <span class="cline-any cline-no">&nbsp;</span>
1327
- <span class="cline-any cline-no">&nbsp;</span>
1328
- <span class="cline-any cline-no">&nbsp;</span>
1329
- <span class="cline-any cline-no">&nbsp;</span>
1330
- <span class="cline-any cline-no">&nbsp;</span>
1331
- <span class="cline-any cline-no">&nbsp;</span>
1332
- <span class="cline-any cline-no">&nbsp;</span>
1333
- <span class="cline-any cline-no">&nbsp;</span>
1334
- <span class="cline-any cline-no">&nbsp;</span>
1335
- <span class="cline-any cline-no">&nbsp;</span>
1336
- <span class="cline-any cline-no">&nbsp;</span>
1337
- <span class="cline-any cline-no">&nbsp;</span>
1338
- <span class="cline-any cline-no">&nbsp;</span>
1339
- <span class="cline-any cline-no">&nbsp;</span>
1340
- <span class="cline-any cline-no">&nbsp;</span>
1341
- <span class="cline-any cline-no">&nbsp;</span>
1342
- <span class="cline-any cline-no">&nbsp;</span>
1343
- <span class="cline-any cline-no">&nbsp;</span>
1344
- <span class="cline-any cline-no">&nbsp;</span>
1345
- <span class="cline-any cline-no">&nbsp;</span>
1346
- <span class="cline-any cline-no">&nbsp;</span>
1347
- <span class="cline-any cline-no">&nbsp;</span>
1348
- <span class="cline-any cline-no">&nbsp;</span>
1349
- <span class="cline-any cline-no">&nbsp;</span>
1350
- <span class="cline-any cline-no">&nbsp;</span>
1351
- <span class="cline-any cline-no">&nbsp;</span>
1352
- <span class="cline-any cline-no">&nbsp;</span>
1353
- <span class="cline-any cline-no">&nbsp;</span>
1354
- <span class="cline-any cline-no">&nbsp;</span>
1355
- <span class="cline-any cline-no">&nbsp;</span>
1356
- <span class="cline-any cline-no">&nbsp;</span>
1357
- <span class="cline-any cline-no">&nbsp;</span>
1358
- <span class="cline-any cline-no">&nbsp;</span>
1359
- <span class="cline-any cline-no">&nbsp;</span>
1360
- <span class="cline-any cline-no">&nbsp;</span>
1361
- <span class="cline-any cline-no">&nbsp;</span>
1362
- <span class="cline-any cline-no">&nbsp;</span>
1363
- <span class="cline-any cline-no">&nbsp;</span>
1364
- <span class="cline-any cline-no">&nbsp;</span>
1365
- <span class="cline-any cline-no">&nbsp;</span>
1366
- <span class="cline-any cline-no">&nbsp;</span>
1367
- <span class="cline-any cline-no">&nbsp;</span>
1368
- <span class="cline-any cline-no">&nbsp;</span>
1369
- <span class="cline-any cline-no">&nbsp;</span>
1370
- <span class="cline-any cline-no">&nbsp;</span>
1371
- <span class="cline-any cline-no">&nbsp;</span>
1372
- <span class="cline-any cline-no">&nbsp;</span>
1373
- <span class="cline-any cline-no">&nbsp;</span>
1374
- <span class="cline-any cline-no">&nbsp;</span>
1375
- <span class="cline-any cline-no">&nbsp;</span>
1376
- <span class="cline-any cline-no">&nbsp;</span>
1377
- <span class="cline-any cline-no">&nbsp;</span>
1378
- <span class="cline-any cline-no">&nbsp;</span>
1379
- <span class="cline-any cline-no">&nbsp;</span>
1380
- <span class="cline-any cline-no">&nbsp;</span>
1381
- <span class="cline-any cline-no">&nbsp;</span>
1382
- <span class="cline-any cline-no">&nbsp;</span>
1383
- <span class="cline-any cline-no">&nbsp;</span>
1384
- <span class="cline-any cline-no">&nbsp;</span>
1385
- <span class="cline-any cline-no">&nbsp;</span>
1386
- <span class="cline-any cline-no">&nbsp;</span>
1387
- <span class="cline-any cline-no">&nbsp;</span>
1388
- <span class="cline-any cline-no">&nbsp;</span>
1389
- <span class="cline-any cline-no">&nbsp;</span>
1390
- <span class="cline-any cline-no">&nbsp;</span>
1391
- <span class="cline-any cline-no">&nbsp;</span>
1392
- <span class="cline-any cline-no">&nbsp;</span>
1393
- <span class="cline-any cline-no">&nbsp;</span>
1394
- <span class="cline-any cline-no">&nbsp;</span>
1395
- <span class="cline-any cline-no">&nbsp;</span>
1396
- <span class="cline-any cline-no">&nbsp;</span>
1397
- <span class="cline-any cline-no">&nbsp;</span>
1398
- <span class="cline-any cline-no">&nbsp;</span>
1399
- <span class="cline-any cline-no">&nbsp;</span>
1400
- <span class="cline-any cline-no">&nbsp;</span>
1401
- <span class="cline-any cline-no">&nbsp;</span>
1402
- <span class="cline-any cline-no">&nbsp;</span>
1403
- <span class="cline-any cline-no">&nbsp;</span>
1404
- <span class="cline-any cline-no">&nbsp;</span>
1405
- <span class="cline-any cline-no">&nbsp;</span>
1406
- <span class="cline-any cline-no">&nbsp;</span>
1407
- <span class="cline-any cline-no">&nbsp;</span>
1408
- <span class="cline-any cline-no">&nbsp;</span>
1409
- <span class="cline-any cline-no">&nbsp;</span>
1410
- <span class="cline-any cline-no">&nbsp;</span>
1411
- <span class="cline-any cline-no">&nbsp;</span>
1412
- <span class="cline-any cline-no">&nbsp;</span>
1413
- <span class="cline-any cline-no">&nbsp;</span>
1414
- <span class="cline-any cline-no">&nbsp;</span>
1415
- <span class="cline-any cline-no">&nbsp;</span>
1416
- <span class="cline-any cline-no">&nbsp;</span>
1417
- <span class="cline-any cline-no">&nbsp;</span>
1418
- <span class="cline-any cline-no">&nbsp;</span>
1419
- <span class="cline-any cline-no">&nbsp;</span>
1420
- <span class="cline-any cline-no">&nbsp;</span>
1421
- <span class="cline-any cline-no">&nbsp;</span>
1422
- <span class="cline-any cline-no">&nbsp;</span>
1423
- <span class="cline-any cline-no">&nbsp;</span>
1424
- <span class="cline-any cline-no">&nbsp;</span>
1425
- <span class="cline-any cline-no">&nbsp;</span>
1426
- <span class="cline-any cline-no">&nbsp;</span>
1427
- <span class="cline-any cline-no">&nbsp;</span>
1428
- <span class="cline-any cline-no">&nbsp;</span>
1429
- <span class="cline-any cline-no">&nbsp;</span>
1430
- <span class="cline-any cline-no">&nbsp;</span>
1431
- <span class="cline-any cline-no">&nbsp;</span>
1432
- <span class="cline-any cline-no">&nbsp;</span>
1433
- <span class="cline-any cline-no">&nbsp;</span>
1434
- <span class="cline-any cline-no">&nbsp;</span>
1435
- <span class="cline-any cline-no">&nbsp;</span>
1436
- <span class="cline-any cline-no">&nbsp;</span>
1437
- <span class="cline-any cline-no">&nbsp;</span>
1438
- <span class="cline-any cline-no">&nbsp;</span>
1439
- <span class="cline-any cline-no">&nbsp;</span>
1440
- <span class="cline-any cline-no">&nbsp;</span>
1441
- <span class="cline-any cline-no">&nbsp;</span>
1442
- <span class="cline-any cline-no">&nbsp;</span>
1443
- <span class="cline-any cline-no">&nbsp;</span>
1444
- <span class="cline-any cline-no">&nbsp;</span>
1445
- <span class="cline-any cline-no">&nbsp;</span>
1446
- <span class="cline-any cline-no">&nbsp;</span>
1447
- <span class="cline-any cline-no">&nbsp;</span>
1448
- <span class="cline-any cline-no">&nbsp;</span>
1449
- <span class="cline-any cline-no">&nbsp;</span>
1450
- <span class="cline-any cline-no">&nbsp;</span>
1451
- <span class="cline-any cline-no">&nbsp;</span>
1452
- <span class="cline-any cline-no">&nbsp;</span>
1453
- <span class="cline-any cline-no">&nbsp;</span>
1454
- <span class="cline-any cline-no">&nbsp;</span>
1455
- <span class="cline-any cline-no">&nbsp;</span>
1456
- <span class="cline-any cline-no">&nbsp;</span>
1457
- <span class="cline-any cline-no">&nbsp;</span>
1458
- <span class="cline-any cline-no">&nbsp;</span>
1459
- <span class="cline-any cline-no">&nbsp;</span>
1460
- <span class="cline-any cline-no">&nbsp;</span>
1461
- <span class="cline-any cline-no">&nbsp;</span>
1462
- <span class="cline-any cline-no">&nbsp;</span>
1463
- <span class="cline-any cline-no">&nbsp;</span>
1464
- <span class="cline-any cline-no">&nbsp;</span>
1465
- <span class="cline-any cline-no">&nbsp;</span>
1466
- <span class="cline-any cline-no">&nbsp;</span>
1467
- <span class="cline-any cline-no">&nbsp;</span>
1468
- <span class="cline-any cline-no">&nbsp;</span>
1469
- <span class="cline-any cline-no">&nbsp;</span>
1470
- <span class="cline-any cline-no">&nbsp;</span>
1471
- <span class="cline-any cline-no">&nbsp;</span>
1472
- <span class="cline-any cline-no">&nbsp;</span>
1473
- <span class="cline-any cline-no">&nbsp;</span>
1474
- <span class="cline-any cline-no">&nbsp;</span>
1475
- <span class="cline-any cline-no">&nbsp;</span>
1476
- <span class="cline-any cline-no">&nbsp;</span>
1477
- <span class="cline-any cline-no">&nbsp;</span>
1478
- <span class="cline-any cline-no">&nbsp;</span>
1479
- <span class="cline-any cline-no">&nbsp;</span>
1480
- <span class="cline-any cline-no">&nbsp;</span>
1481
- <span class="cline-any cline-no">&nbsp;</span>
1482
- <span class="cline-any cline-no">&nbsp;</span>
1483
- <span class="cline-any cline-no">&nbsp;</span>
1484
- <span class="cline-any cline-no">&nbsp;</span>
1485
- <span class="cline-any cline-no">&nbsp;</span>
1486
- <span class="cline-any cline-no">&nbsp;</span>
1487
- <span class="cline-any cline-no">&nbsp;</span>
1488
- <span class="cline-any cline-no">&nbsp;</span>
1489
- <span class="cline-any cline-no">&nbsp;</span>
1490
- <span class="cline-any cline-no">&nbsp;</span>
1491
- <span class="cline-any cline-no">&nbsp;</span>
1492
- <span class="cline-any cline-no">&nbsp;</span>
1493
- <span class="cline-any cline-no">&nbsp;</span>
1494
- <span class="cline-any cline-no">&nbsp;</span>
1495
- <span class="cline-any cline-no">&nbsp;</span>
1496
- <span class="cline-any cline-no">&nbsp;</span>
1497
- <span class="cline-any cline-no">&nbsp;</span>
1498
- <span class="cline-any cline-no">&nbsp;</span>
1499
- <span class="cline-any cline-no">&nbsp;</span>
1500
- <span class="cline-any cline-no">&nbsp;</span>
1501
- <span class="cline-any cline-no">&nbsp;</span>
1502
- <span class="cline-any cline-no">&nbsp;</span>
1503
- <span class="cline-any cline-no">&nbsp;</span>
1504
- <span class="cline-any cline-no">&nbsp;</span>
1505
- <span class="cline-any cline-no">&nbsp;</span>
1506
- <span class="cline-any cline-no">&nbsp;</span>
1507
- <span class="cline-any cline-no">&nbsp;</span>
1508
- <span class="cline-any cline-no">&nbsp;</span>
1509
- <span class="cline-any cline-no">&nbsp;</span>
1510
- <span class="cline-any cline-no">&nbsp;</span>
1511
- <span class="cline-any cline-no">&nbsp;</span>
1512
- <span class="cline-any cline-no">&nbsp;</span>
1513
- <span class="cline-any cline-no">&nbsp;</span>
1514
- <span class="cline-any cline-no">&nbsp;</span>
1515
- <span class="cline-any cline-no">&nbsp;</span>
1516
- <span class="cline-any cline-no">&nbsp;</span>
1517
- <span class="cline-any cline-no">&nbsp;</span>
1518
- <span class="cline-any cline-no">&nbsp;</span>
1519
- <span class="cline-any cline-no">&nbsp;</span>
1520
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >/**<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
1521
- <span class="cstat-no" title="statement not covered" > * V3 Unified Memory Types</span>
1522
- <span class="cstat-no" title="statement not covered" > *</span>
1523
- <span class="cstat-no" title="statement not covered" > * Type definitions for the unified memory system based on AgentDB with HNSW indexing.</span>
1524
- <span class="cstat-no" title="statement not covered" > * Supports 150x-12,500x faster vector search compared to brute-force approaches.</span>
1525
- <span class="cstat-no" title="statement not covered" > *</span>
1526
- <span class="cstat-no" title="statement not covered" > * @module v3/memory/types</span>
1527
- <span class="cstat-no" title="statement not covered" > */</span>
1528
- <span class="cstat-no" title="statement not covered" ></span>
1529
- <span class="cstat-no" title="statement not covered" >// ===== Core Memory Entry Types =====</span>
1530
- <span class="cstat-no" title="statement not covered" ></span>
1531
- <span class="cstat-no" title="statement not covered" >/**</span>
1532
- <span class="cstat-no" title="statement not covered" > * Memory entry type classification</span>
1533
- <span class="cstat-no" title="statement not covered" > */</span>
1534
- <span class="cstat-no" title="statement not covered" >export type MemoryType =</span>
1535
- <span class="cstat-no" title="statement not covered" > | 'episodic' // Time-based experiences and events</span>
1536
- <span class="cstat-no" title="statement not covered" > | 'semantic' // Facts, concepts, and knowledge</span>
1537
- <span class="cstat-no" title="statement not covered" > | 'procedural' // How-to knowledge and skills</span>
1538
- <span class="cstat-no" title="statement not covered" > | 'working' // Short-term operational memory</span>
1539
- <span class="cstat-no" title="statement not covered" > | 'cache'; // Temporary cached data</span>
1540
- <span class="cstat-no" title="statement not covered" ></span>
1541
- <span class="cstat-no" title="statement not covered" >/**</span>
1542
- <span class="cstat-no" title="statement not covered" > * Access level for memory entries</span>
1543
- <span class="cstat-no" title="statement not covered" > */</span>
1544
- <span class="cstat-no" title="statement not covered" >export type AccessLevel =</span>
1545
- <span class="cstat-no" title="statement not covered" > | 'private' // Only owner can access</span>
1546
- <span class="cstat-no" title="statement not covered" > | 'team' // Team members can access</span>
1547
- <span class="cstat-no" title="statement not covered" > | 'swarm' // All swarm agents can access</span>
1548
- <span class="cstat-no" title="statement not covered" > | 'public' // Publicly accessible</span>
1549
- <span class="cstat-no" title="statement not covered" > | 'system'; // System-level access</span>
1550
- <span class="cstat-no" title="statement not covered" ></span>
1551
- <span class="cstat-no" title="statement not covered" >/**</span>
1552
- <span class="cstat-no" title="statement not covered" > * Consistency level for distributed memory operations</span>
1553
- <span class="cstat-no" title="statement not covered" > */</span>
1554
- <span class="cstat-no" title="statement not covered" >export type ConsistencyLevel =</span>
1555
- <span class="cstat-no" title="statement not covered" > | 'strong' // Strong consistency (all nodes agree)</span>
1556
- <span class="cstat-no" title="statement not covered" > | 'eventual' // Eventual consistency (propagates over time)</span>
1557
- <span class="cstat-no" title="statement not covered" > | 'session' // Session-scoped consistency</span>
1558
- <span class="cstat-no" title="statement not covered" > | 'weak'; // Weak consistency (best effort)</span>
1559
- <span class="cstat-no" title="statement not covered" ></span>
1560
- <span class="cstat-no" title="statement not covered" >/**</span>
1561
- <span class="cstat-no" title="statement not covered" > * Distance metrics for vector similarity search</span>
1562
- <span class="cstat-no" title="statement not covered" > */</span>
1563
- <span class="cstat-no" title="statement not covered" >export type DistanceMetric =</span>
1564
- <span class="cstat-no" title="statement not covered" > | 'cosine' // Cosine similarity (default)</span>
1565
- <span class="cstat-no" title="statement not covered" > | 'euclidean' // Euclidean distance (L2)</span>
1566
- <span class="cstat-no" title="statement not covered" > | 'dot' // Dot product</span>
1567
- <span class="cstat-no" title="statement not covered" > | 'manhattan'; // Manhattan distance (L1)</span>
1568
- <span class="cstat-no" title="statement not covered" ></span>
1569
- <span class="cstat-no" title="statement not covered" >// ===== Memory Entry =====</span>
1570
- <span class="cstat-no" title="statement not covered" ></span>
1571
- <span class="cstat-no" title="statement not covered" >/**</span>
1572
- <span class="cstat-no" title="statement not covered" > * Core memory entry structure with vector embedding support</span>
1573
- <span class="cstat-no" title="statement not covered" > */</span>
1574
- <span class="cstat-no" title="statement not covered" >export interface MemoryEntry {</span>
1575
- <span class="cstat-no" title="statement not covered" > /** Unique identifier */</span>
1576
- <span class="cstat-no" title="statement not covered" > id: string;</span>
1577
- <span class="cstat-no" title="statement not covered" ></span>
1578
- <span class="cstat-no" title="statement not covered" > /** Human-readable key for retrieval */</span>
1579
- <span class="cstat-no" title="statement not covered" > key: string;</span>
1580
- <span class="cstat-no" title="statement not covered" ></span>
1581
- <span class="cstat-no" title="statement not covered" > /** Actual content of the memory */</span>
1582
- <span class="cstat-no" title="statement not covered" > content: string;</span>
1583
- <span class="cstat-no" title="statement not covered" ></span>
1584
- <span class="cstat-no" title="statement not covered" > /** Vector embedding for semantic search (Float32Array for efficiency) */</span>
1585
- <span class="cstat-no" title="statement not covered" > embedding?: Float32Array;</span>
1586
- <span class="cstat-no" title="statement not covered" ></span>
1587
- <span class="cstat-no" title="statement not covered" > /** Type of memory */</span>
1588
- <span class="cstat-no" title="statement not covered" > type: MemoryType;</span>
1589
- <span class="cstat-no" title="statement not covered" ></span>
1590
- <span class="cstat-no" title="statement not covered" > /** Namespace for organization */</span>
1591
- <span class="cstat-no" title="statement not covered" > namespace: string;</span>
1592
- <span class="cstat-no" title="statement not covered" ></span>
1593
- <span class="cstat-no" title="statement not covered" > /** Tags for categorization and filtering */</span>
1594
- <span class="cstat-no" title="statement not covered" > tags: string[];</span>
1595
- <span class="cstat-no" title="statement not covered" ></span>
1596
- <span class="cstat-no" title="statement not covered" > /** Additional metadata */</span>
1597
- <span class="cstat-no" title="statement not covered" > metadata: Record&lt;string, unknown&gt;;</span>
1598
- <span class="cstat-no" title="statement not covered" ></span>
1599
- <span class="cstat-no" title="statement not covered" > /** Owner agent ID */</span>
1600
- <span class="cstat-no" title="statement not covered" > ownerId?: string;</span>
1601
- <span class="cstat-no" title="statement not covered" ></span>
1602
- <span class="cstat-no" title="statement not covered" > /** Access level */</span>
1603
- <span class="cstat-no" title="statement not covered" > accessLevel: AccessLevel;</span>
1604
- <span class="cstat-no" title="statement not covered" ></span>
1605
- <span class="cstat-no" title="statement not covered" > /** Creation timestamp */</span>
1606
- <span class="cstat-no" title="statement not covered" > createdAt: number;</span>
1607
- <span class="cstat-no" title="statement not covered" ></span>
1608
- <span class="cstat-no" title="statement not covered" > /** Last update timestamp */</span>
1609
- <span class="cstat-no" title="statement not covered" > updatedAt: number;</span>
1610
- <span class="cstat-no" title="statement not covered" ></span>
1611
- <span class="cstat-no" title="statement not covered" > /** Expiration timestamp (optional) */</span>
1612
- <span class="cstat-no" title="statement not covered" > expiresAt?: number;</span>
1613
- <span class="cstat-no" title="statement not covered" ></span>
1614
- <span class="cstat-no" title="statement not covered" > /** Version number for optimistic locking */</span>
1615
- <span class="cstat-no" title="statement not covered" > version: number;</span>
1616
- <span class="cstat-no" title="statement not covered" ></span>
1617
- <span class="cstat-no" title="statement not covered" > /** References to other memory entries */</span>
1618
- <span class="cstat-no" title="statement not covered" > references: string[];</span>
1619
- <span class="cstat-no" title="statement not covered" ></span>
1620
- <span class="cstat-no" title="statement not covered" > /** Access count for usage tracking */</span>
1621
- <span class="cstat-no" title="statement not covered" > accessCount: number;</span>
1622
- <span class="cstat-no" title="statement not covered" ></span>
1623
- <span class="cstat-no" title="statement not covered" > /** Last access timestamp */</span>
1624
- <span class="cstat-no" title="statement not covered" > lastAccessedAt: number;</span>
1625
- <span class="cstat-no" title="statement not covered" >}</span>
1626
- <span class="cstat-no" title="statement not covered" ></span>
1627
- <span class="cstat-no" title="statement not covered" >/**</span>
1628
- <span class="cstat-no" title="statement not covered" > * Input for creating a new memory entry</span>
1629
- <span class="cstat-no" title="statement not covered" > */</span>
1630
- <span class="cstat-no" title="statement not covered" >export interface MemoryEntryInput {</span>
1631
- <span class="cstat-no" title="statement not covered" > key: string;</span>
1632
- <span class="cstat-no" title="statement not covered" > content: string;</span>
1633
- <span class="cstat-no" title="statement not covered" > type?: MemoryType;</span>
1634
- <span class="cstat-no" title="statement not covered" > namespace?: string;</span>
1635
- <span class="cstat-no" title="statement not covered" > tags?: string[];</span>
1636
- <span class="cstat-no" title="statement not covered" > metadata?: Record&lt;string, unknown&gt;;</span>
1637
- <span class="cstat-no" title="statement not covered" > ownerId?: string;</span>
1638
- <span class="cstat-no" title="statement not covered" > accessLevel?: AccessLevel;</span>
1639
- <span class="cstat-no" title="statement not covered" > expiresAt?: number;</span>
1640
- <span class="cstat-no" title="statement not covered" > references?: string[];</span>
1641
- <span class="cstat-no" title="statement not covered" >}</span>
1642
- <span class="cstat-no" title="statement not covered" ></span>
1643
- <span class="cstat-no" title="statement not covered" >/**</span>
1644
- <span class="cstat-no" title="statement not covered" > * Partial update for a memory entry</span>
1645
- <span class="cstat-no" title="statement not covered" > */</span>
1646
- <span class="cstat-no" title="statement not covered" >export interface MemoryEntryUpdate {</span>
1647
- <span class="cstat-no" title="statement not covered" > content?: string;</span>
1648
- <span class="cstat-no" title="statement not covered" > tags?: string[];</span>
1649
- <span class="cstat-no" title="statement not covered" > metadata?: Record&lt;string, unknown&gt;;</span>
1650
- <span class="cstat-no" title="statement not covered" > accessLevel?: AccessLevel;</span>
1651
- <span class="cstat-no" title="statement not covered" > expiresAt?: number;</span>
1652
- <span class="cstat-no" title="statement not covered" > references?: string[];</span>
1653
- <span class="cstat-no" title="statement not covered" >}</span>
1654
- <span class="cstat-no" title="statement not covered" ></span>
1655
- <span class="cstat-no" title="statement not covered" >// ===== Query Types =====</span>
1656
- <span class="cstat-no" title="statement not covered" ></span>
1657
- <span class="cstat-no" title="statement not covered" >/**</span>
1658
- <span class="cstat-no" title="statement not covered" > * Query type for memory retrieval</span>
1659
- <span class="cstat-no" title="statement not covered" > */</span>
1660
- <span class="cstat-no" title="statement not covered" >export type QueryType =</span>
1661
- <span class="cstat-no" title="statement not covered" > | 'semantic' // Vector similarity search</span>
1662
- <span class="cstat-no" title="statement not covered" > | 'exact' // Exact key match</span>
1663
- <span class="cstat-no" title="statement not covered" > | 'prefix' // Key prefix match</span>
1664
- <span class="cstat-no" title="statement not covered" > | 'tag' // Tag-based search</span>
1665
- <span class="cstat-no" title="statement not covered" > | 'hybrid'; // Combined semantic + filters</span>
1666
- <span class="cstat-no" title="statement not covered" ></span>
1667
- <span class="cstat-no" title="statement not covered" >/**</span>
1668
- <span class="cstat-no" title="statement not covered" > * Memory query specification</span>
1669
- <span class="cstat-no" title="statement not covered" > */</span>
1670
- <span class="cstat-no" title="statement not covered" >export interface MemoryQuery {</span>
1671
- <span class="cstat-no" title="statement not covered" > /** Type of query to perform */</span>
1672
- <span class="cstat-no" title="statement not covered" > type: QueryType;</span>
1673
- <span class="cstat-no" title="statement not covered" ></span>
1674
- <span class="cstat-no" title="statement not covered" > /** Content for semantic search (will be embedded) */</span>
1675
- <span class="cstat-no" title="statement not covered" > content?: string;</span>
1676
- <span class="cstat-no" title="statement not covered" ></span>
1677
- <span class="cstat-no" title="statement not covered" > /** Pre-computed embedding for semantic search */</span>
1678
- <span class="cstat-no" title="statement not covered" > embedding?: Float32Array;</span>
1679
- <span class="cstat-no" title="statement not covered" ></span>
1680
- <span class="cstat-no" title="statement not covered" > /** Exact key to match */</span>
1681
- <span class="cstat-no" title="statement not covered" > key?: string;</span>
1682
- <span class="cstat-no" title="statement not covered" ></span>
1683
- <span class="cstat-no" title="statement not covered" > /** Key prefix to match */</span>
1684
- <span class="cstat-no" title="statement not covered" > keyPrefix?: string;</span>
1685
- <span class="cstat-no" title="statement not covered" ></span>
1686
- <span class="cstat-no" title="statement not covered" > /** Namespace filter */</span>
1687
- <span class="cstat-no" title="statement not covered" > namespace?: string;</span>
1688
- <span class="cstat-no" title="statement not covered" ></span>
1689
- <span class="cstat-no" title="statement not covered" > /** Tag filters (entries must have all specified tags) */</span>
1690
- <span class="cstat-no" title="statement not covered" > tags?: string[];</span>
1691
- <span class="cstat-no" title="statement not covered" ></span>
1692
- <span class="cstat-no" title="statement not covered" > /** Memory type filter */</span>
1693
- <span class="cstat-no" title="statement not covered" > memoryType?: MemoryType;</span>
1694
- <span class="cstat-no" title="statement not covered" ></span>
1695
- <span class="cstat-no" title="statement not covered" > /** Access level filter */</span>
1696
- <span class="cstat-no" title="statement not covered" > accessLevel?: AccessLevel;</span>
1697
- <span class="cstat-no" title="statement not covered" ></span>
1698
- <span class="cstat-no" title="statement not covered" > /** Owner filter */</span>
1699
- <span class="cstat-no" title="statement not covered" > ownerId?: string;</span>
1700
- <span class="cstat-no" title="statement not covered" ></span>
1701
- <span class="cstat-no" title="statement not covered" > /** Metadata filters */</span>
1702
- <span class="cstat-no" title="statement not covered" > metadata?: Record&lt;string, unknown&gt;;</span>
1703
- <span class="cstat-no" title="statement not covered" ></span>
1704
- <span class="cstat-no" title="statement not covered" > /** Time range filters */</span>
1705
- <span class="cstat-no" title="statement not covered" > createdAfter?: number;</span>
1706
- <span class="cstat-no" title="statement not covered" > createdBefore?: number;</span>
1707
- <span class="cstat-no" title="statement not covered" > updatedAfter?: number;</span>
1708
- <span class="cstat-no" title="statement not covered" > updatedBefore?: number;</span>
1709
- <span class="cstat-no" title="statement not covered" ></span>
1710
- <span class="cstat-no" title="statement not covered" > /** Maximum number of results */</span>
1711
- <span class="cstat-no" title="statement not covered" > limit: number;</span>
1712
- <span class="cstat-no" title="statement not covered" ></span>
1713
- <span class="cstat-no" title="statement not covered" > /** Offset for pagination */</span>
1714
- <span class="cstat-no" title="statement not covered" > offset?: number;</span>
1715
- <span class="cstat-no" title="statement not covered" ></span>
1716
- <span class="cstat-no" title="statement not covered" > /** Minimum similarity threshold (0-1) for semantic search */</span>
1717
- <span class="cstat-no" title="statement not covered" > threshold?: number;</span>
1718
- <span class="cstat-no" title="statement not covered" ></span>
1719
- <span class="cstat-no" title="statement not covered" > /** Include expired entries */</span>
1720
- <span class="cstat-no" title="statement not covered" > includeExpired?: boolean;</span>
1721
- <span class="cstat-no" title="statement not covered" ></span>
1722
- <span class="cstat-no" title="statement not covered" > /** Distance metric for semantic search */</span>
1723
- <span class="cstat-no" title="statement not covered" > distanceMetric?: DistanceMetric;</span>
1724
- <span class="cstat-no" title="statement not covered" >}</span>
1725
- <span class="cstat-no" title="statement not covered" ></span>
1726
- <span class="cstat-no" title="statement not covered" >/**</span>
1727
- <span class="cstat-no" title="statement not covered" > * Search result with similarity score</span>
1728
- <span class="cstat-no" title="statement not covered" > */</span>
1729
- <span class="cstat-no" title="statement not covered" >export interface SearchResult {</span>
1730
- <span class="cstat-no" title="statement not covered" > /** The memory entry */</span>
1731
- <span class="cstat-no" title="statement not covered" > entry: MemoryEntry;</span>
1732
- <span class="cstat-no" title="statement not covered" ></span>
1733
- <span class="cstat-no" title="statement not covered" > /** Similarity score (0-1, higher is better) */</span>
1734
- <span class="cstat-no" title="statement not covered" > score: number;</span>
1735
- <span class="cstat-no" title="statement not covered" ></span>
1736
- <span class="cstat-no" title="statement not covered" > /** Distance from query vector */</span>
1737
- <span class="cstat-no" title="statement not covered" > distance: number;</span>
1738
- <span class="cstat-no" title="statement not covered" >}</span>
1739
- <span class="cstat-no" title="statement not covered" ></span>
1740
- <span class="cstat-no" title="statement not covered" >/**</span>
1741
- <span class="cstat-no" title="statement not covered" > * Search options for HNSW vector search</span>
1742
- <span class="cstat-no" title="statement not covered" > */</span>
1743
- <span class="cstat-no" title="statement not covered" >export interface SearchOptions {</span>
1744
- <span class="cstat-no" title="statement not covered" > /** Number of results to return */</span>
1745
- <span class="cstat-no" title="statement not covered" > k: number;</span>
1746
- <span class="cstat-no" title="statement not covered" ></span>
1747
- <span class="cstat-no" title="statement not covered" > /** Search expansion factor (higher = more accurate, slower) */</span>
1748
- <span class="cstat-no" title="statement not covered" > ef?: number;</span>
1749
- <span class="cstat-no" title="statement not covered" ></span>
1750
- <span class="cstat-no" title="statement not covered" > /** Minimum similarity threshold (0-1) */</span>
1751
- <span class="cstat-no" title="statement not covered" > threshold?: number;</span>
1752
- <span class="cstat-no" title="statement not covered" ></span>
1753
- <span class="cstat-no" title="statement not covered" > /** Distance metric */</span>
1754
- <span class="cstat-no" title="statement not covered" > metric?: DistanceMetric;</span>
1755
- <span class="cstat-no" title="statement not covered" ></span>
1756
- <span class="cstat-no" title="statement not covered" > /** Additional filters to apply post-search */</span>
1757
- <span class="cstat-no" title="statement not covered" > filters?: MemoryQuery;</span>
1758
- <span class="cstat-no" title="statement not covered" >}</span>
1759
- <span class="cstat-no" title="statement not covered" ></span>
1760
- <span class="cstat-no" title="statement not covered" >// ===== HNSW Index Types =====</span>
1761
- <span class="cstat-no" title="statement not covered" ></span>
1762
- <span class="cstat-no" title="statement not covered" >/**</span>
1763
- <span class="cstat-no" title="statement not covered" > * HNSW index configuration</span>
1764
- <span class="cstat-no" title="statement not covered" > */</span>
1765
- <span class="cstat-no" title="statement not covered" >export interface HNSWConfig {</span>
1766
- <span class="cstat-no" title="statement not covered" > /** Vector dimensions (e.g., 1536 for OpenAI embeddings) */</span>
1767
- <span class="cstat-no" title="statement not covered" > dimensions: number;</span>
1768
- <span class="cstat-no" title="statement not covered" ></span>
1769
- <span class="cstat-no" title="statement not covered" > /** Maximum number of connections per layer (default: 16) */</span>
1770
- <span class="cstat-no" title="statement not covered" > M: number;</span>
1771
- <span class="cstat-no" title="statement not covered" ></span>
1772
- <span class="cstat-no" title="statement not covered" > /** Size of the dynamic candidate list during construction (default: 200) */</span>
1773
- <span class="cstat-no" title="statement not covered" > efConstruction: number;</span>
1774
- <span class="cstat-no" title="statement not covered" ></span>
1775
- <span class="cstat-no" title="statement not covered" > /** Maximum elements the index can hold */</span>
1776
- <span class="cstat-no" title="statement not covered" > maxElements: number;</span>
1777
- <span class="cstat-no" title="statement not covered" ></span>
1778
- <span class="cstat-no" title="statement not covered" > /** Distance metric */</span>
1779
- <span class="cstat-no" title="statement not covered" > metric: DistanceMetric;</span>
1780
- <span class="cstat-no" title="statement not covered" ></span>
1781
- <span class="cstat-no" title="statement not covered" > /** Enable quantization for memory efficiency */</span>
1782
- <span class="cstat-no" title="statement not covered" > quantization?: QuantizationConfig;</span>
1783
- <span class="cstat-no" title="statement not covered" >}</span>
1784
- <span class="cstat-no" title="statement not covered" ></span>
1785
- <span class="cstat-no" title="statement not covered" >/**</span>
1786
- <span class="cstat-no" title="statement not covered" > * Quantization configuration for memory reduction</span>
1787
- <span class="cstat-no" title="statement not covered" > */</span>
1788
- <span class="cstat-no" title="statement not covered" >export interface QuantizationConfig {</span>
1789
- <span class="cstat-no" title="statement not covered" > /** Quantization type */</span>
1790
- <span class="cstat-no" title="statement not covered" > type: 'binary' | 'scalar' | 'product';</span>
1791
- <span class="cstat-no" title="statement not covered" ></span>
1792
- <span class="cstat-no" title="statement not covered" > /** Number of bits for scalar quantization */</span>
1793
- <span class="cstat-no" title="statement not covered" > bits?: 4 | 8 | 16;</span>
1794
- <span class="cstat-no" title="statement not covered" ></span>
1795
- <span class="cstat-no" title="statement not covered" > /** Number of subquantizers for product quantization */</span>
1796
- <span class="cstat-no" title="statement not covered" > subquantizers?: number;</span>
1797
- <span class="cstat-no" title="statement not covered" ></span>
1798
- <span class="cstat-no" title="statement not covered" > /** Codebook size for product quantization */</span>
1799
- <span class="cstat-no" title="statement not covered" > codebookSize?: number;</span>
1800
- <span class="cstat-no" title="statement not covered" >}</span>
1801
- <span class="cstat-no" title="statement not covered" ></span>
1802
- <span class="cstat-no" title="statement not covered" >/**</span>
1803
- <span class="cstat-no" title="statement not covered" > * HNSW index statistics</span>
1804
- <span class="cstat-no" title="statement not covered" > */</span>
1805
- <span class="cstat-no" title="statement not covered" >export interface HNSWStats {</span>
1806
- <span class="cstat-no" title="statement not covered" > /** Total number of vectors in the index */</span>
1807
- <span class="cstat-no" title="statement not covered" > vectorCount: number;</span>
1808
- <span class="cstat-no" title="statement not covered" ></span>
1809
- <span class="cstat-no" title="statement not covered" > /** Memory usage in bytes */</span>
1810
- <span class="cstat-no" title="statement not covered" > memoryUsage: number;</span>
1811
- <span class="cstat-no" title="statement not covered" ></span>
1812
- <span class="cstat-no" title="statement not covered" > /** Average search time in milliseconds */</span>
1813
- <span class="cstat-no" title="statement not covered" > avgSearchTime: number;</span>
1814
- <span class="cstat-no" title="statement not covered" ></span>
1815
- <span class="cstat-no" title="statement not covered" > /** Index build time in milliseconds */</span>
1816
- <span class="cstat-no" title="statement not covered" > buildTime: number;</span>
1817
- <span class="cstat-no" title="statement not covered" ></span>
1818
- <span class="cstat-no" title="statement not covered" > /** Compression ratio if quantization is enabled */</span>
1819
- <span class="cstat-no" title="statement not covered" > compressionRatio?: number;</span>
1820
- <span class="cstat-no" title="statement not covered" >}</span>
1821
- <span class="cstat-no" title="statement not covered" ></span>
1822
- <span class="cstat-no" title="statement not covered" >// ===== Backend Interface =====</span>
1823
- <span class="cstat-no" title="statement not covered" ></span>
1824
- <span class="cstat-no" title="statement not covered" >/**</span>
1825
- <span class="cstat-no" title="statement not covered" > * Memory backend interface for storage and retrieval</span>
1826
- <span class="cstat-no" title="statement not covered" > */</span>
1827
- <span class="cstat-no" title="statement not covered" >export interface IMemoryBackend {</span>
1828
- <span class="cstat-no" title="statement not covered" > /** Initialize the backend */</span>
1829
- <span class="cstat-no" title="statement not covered" > initialize(): Promise&lt;void&gt;;</span>
1830
- <span class="cstat-no" title="statement not covered" ></span>
1831
- <span class="cstat-no" title="statement not covered" > /** Shutdown the backend */</span>
1832
- <span class="cstat-no" title="statement not covered" > shutdown(): Promise&lt;void&gt;;</span>
1833
- <span class="cstat-no" title="statement not covered" ></span>
1834
- <span class="cstat-no" title="statement not covered" > /** Store a memory entry */</span>
1835
- <span class="cstat-no" title="statement not covered" > store(entry: MemoryEntry): Promise&lt;void&gt;;</span>
1836
- <span class="cstat-no" title="statement not covered" ></span>
1837
- <span class="cstat-no" title="statement not covered" > /** Retrieve a memory entry by ID */</span>
1838
- <span class="cstat-no" title="statement not covered" > get(id: string): Promise&lt;MemoryEntry | null&gt;;</span>
1839
- <span class="cstat-no" title="statement not covered" ></span>
1840
- <span class="cstat-no" title="statement not covered" > /** Retrieve a memory entry by key within a namespace */</span>
1841
- <span class="cstat-no" title="statement not covered" > getByKey(namespace: string, key: string): Promise&lt;MemoryEntry | null&gt;;</span>
1842
- <span class="cstat-no" title="statement not covered" ></span>
1843
- <span class="cstat-no" title="statement not covered" > /** Update a memory entry */</span>
1844
- <span class="cstat-no" title="statement not covered" > update(id: string, update: MemoryEntryUpdate): Promise&lt;MemoryEntry | null&gt;;</span>
1845
- <span class="cstat-no" title="statement not covered" ></span>
1846
- <span class="cstat-no" title="statement not covered" > /** Delete a memory entry */</span>
1847
- <span class="cstat-no" title="statement not covered" > delete(id: string): Promise&lt;boolean&gt;;</span>
1848
- <span class="cstat-no" title="statement not covered" ></span>
1849
- <span class="cstat-no" title="statement not covered" > /** Query memory entries */</span>
1850
- <span class="cstat-no" title="statement not covered" > query(query: MemoryQuery): Promise&lt;MemoryEntry[]&gt;;</span>
1851
- <span class="cstat-no" title="statement not covered" ></span>
1852
- <span class="cstat-no" title="statement not covered" > /** Semantic vector search */</span>
1853
- <span class="cstat-no" title="statement not covered" > search(embedding: Float32Array, options: SearchOptions): Promise&lt;SearchResult[]&gt;;</span>
1854
- <span class="cstat-no" title="statement not covered" ></span>
1855
- <span class="cstat-no" title="statement not covered" > /** Bulk insert entries */</span>
1856
- <span class="cstat-no" title="statement not covered" > bulkInsert(entries: MemoryEntry[]): Promise&lt;void&gt;;</span>
1857
- <span class="cstat-no" title="statement not covered" ></span>
1858
- <span class="cstat-no" title="statement not covered" > /** Bulk delete entries */</span>
1859
- <span class="cstat-no" title="statement not covered" > bulkDelete(ids: string[]): Promise&lt;number&gt;;</span>
1860
- <span class="cstat-no" title="statement not covered" ></span>
1861
- <span class="cstat-no" title="statement not covered" > /** Get entry count */</span>
1862
- <span class="cstat-no" title="statement not covered" > count(namespace?: string): Promise&lt;number&gt;;</span>
1863
- <span class="cstat-no" title="statement not covered" ></span>
1864
- <span class="cstat-no" title="statement not covered" > /** List all namespaces */</span>
1865
- <span class="cstat-no" title="statement not covered" > listNamespaces(): Promise&lt;string[]&gt;;</span>
1866
- <span class="cstat-no" title="statement not covered" ></span>
1867
- <span class="cstat-no" title="statement not covered" > /** Clear all entries in a namespace */</span>
1868
- <span class="cstat-no" title="statement not covered" > clearNamespace(namespace: string): Promise&lt;number&gt;;</span>
1869
- <span class="cstat-no" title="statement not covered" ></span>
1870
- <span class="cstat-no" title="statement not covered" > /** Get backend statistics */</span>
1871
- <span class="cstat-no" title="statement not covered" > getStats(): Promise&lt;BackendStats&gt;;</span>
1872
- <span class="cstat-no" title="statement not covered" ></span>
1873
- <span class="cstat-no" title="statement not covered" > /** Perform health check */</span>
1874
- <span class="cstat-no" title="statement not covered" > healthCheck(): Promise&lt;HealthCheckResult&gt;;</span>
1875
- <span class="cstat-no" title="statement not covered" >}</span>
1876
- <span class="cstat-no" title="statement not covered" ></span>
1877
- <span class="cstat-no" title="statement not covered" >/**</span>
1878
- <span class="cstat-no" title="statement not covered" > * Backend statistics</span>
1879
- <span class="cstat-no" title="statement not covered" > */</span>
1880
- <span class="cstat-no" title="statement not covered" >export interface BackendStats {</span>
1881
- <span class="cstat-no" title="statement not covered" > /** Total number of entries */</span>
1882
- <span class="cstat-no" title="statement not covered" > totalEntries: number;</span>
1883
- <span class="cstat-no" title="statement not covered" ></span>
1884
- <span class="cstat-no" title="statement not covered" > /** Entries by namespace */</span>
1885
- <span class="cstat-no" title="statement not covered" > entriesByNamespace: Record&lt;string, number&gt;;</span>
1886
- <span class="cstat-no" title="statement not covered" ></span>
1887
- <span class="cstat-no" title="statement not covered" > /** Entries by type */</span>
1888
- <span class="cstat-no" title="statement not covered" > entriesByType: Record&lt;MemoryType, number&gt;;</span>
1889
- <span class="cstat-no" title="statement not covered" ></span>
1890
- <span class="cstat-no" title="statement not covered" > /** Total memory usage in bytes */</span>
1891
- <span class="cstat-no" title="statement not covered" > memoryUsage: number;</span>
1892
- <span class="cstat-no" title="statement not covered" ></span>
1893
- <span class="cstat-no" title="statement not covered" > /** HNSW index statistics */</span>
1894
- <span class="cstat-no" title="statement not covered" > hnswStats?: HNSWStats;</span>
1895
- <span class="cstat-no" title="statement not covered" ></span>
1896
- <span class="cstat-no" title="statement not covered" > /** Cache statistics */</span>
1897
- <span class="cstat-no" title="statement not covered" > cacheStats?: CacheStats;</span>
1898
- <span class="cstat-no" title="statement not covered" ></span>
1899
- <span class="cstat-no" title="statement not covered" > /** Average query time in milliseconds */</span>
1900
- <span class="cstat-no" title="statement not covered" > avgQueryTime: number;</span>
1901
- <span class="cstat-no" title="statement not covered" ></span>
1902
- <span class="cstat-no" title="statement not covered" > /** Average search time in milliseconds */</span>
1903
- <span class="cstat-no" title="statement not covered" > avgSearchTime: number;</span>
1904
- <span class="cstat-no" title="statement not covered" >}</span>
1905
- <span class="cstat-no" title="statement not covered" ></span>
1906
- <span class="cstat-no" title="statement not covered" >/**</span>
1907
- <span class="cstat-no" title="statement not covered" > * Health check result</span>
1908
- <span class="cstat-no" title="statement not covered" > */</span>
1909
- <span class="cstat-no" title="statement not covered" >export interface HealthCheckResult {</span>
1910
- <span class="cstat-no" title="statement not covered" > /** Overall health status */</span>
1911
- <span class="cstat-no" title="statement not covered" > status: 'healthy' | 'degraded' | 'unhealthy';</span>
1912
- <span class="cstat-no" title="statement not covered" ></span>
1913
- <span class="cstat-no" title="statement not covered" > /** Individual component health */</span>
1914
- <span class="cstat-no" title="statement not covered" > components: {</span>
1915
- <span class="cstat-no" title="statement not covered" > storage: ComponentHealth;</span>
1916
- <span class="cstat-no" title="statement not covered" > index: ComponentHealth;</span>
1917
- <span class="cstat-no" title="statement not covered" > cache: ComponentHealth;</span>
1918
- <span class="cstat-no" title="statement not covered" > };</span>
1919
- <span class="cstat-no" title="statement not covered" ></span>
1920
- <span class="cstat-no" title="statement not covered" > /** Health check timestamp */</span>
1921
- <span class="cstat-no" title="statement not covered" > timestamp: number;</span>
1922
- <span class="cstat-no" title="statement not covered" ></span>
1923
- <span class="cstat-no" title="statement not covered" > /** Any issues detected */</span>
1924
- <span class="cstat-no" title="statement not covered" > issues: string[];</span>
1925
- <span class="cstat-no" title="statement not covered" ></span>
1926
- <span class="cstat-no" title="statement not covered" > /** Recommendations for improvement */</span>
1927
- <span class="cstat-no" title="statement not covered" > recommendations: string[];</span>
1928
- <span class="cstat-no" title="statement not covered" >}</span>
1929
- <span class="cstat-no" title="statement not covered" ></span>
1930
- <span class="cstat-no" title="statement not covered" >/**</span>
1931
- <span class="cstat-no" title="statement not covered" > * Individual component health status</span>
1932
- <span class="cstat-no" title="statement not covered" > */</span>
1933
- <span class="cstat-no" title="statement not covered" >export interface ComponentHealth {</span>
1934
- <span class="cstat-no" title="statement not covered" > status: 'healthy' | 'degraded' | 'unhealthy';</span>
1935
- <span class="cstat-no" title="statement not covered" > latency: number;</span>
1936
- <span class="cstat-no" title="statement not covered" > message?: string;</span>
1937
- <span class="cstat-no" title="statement not covered" >}</span>
1938
- <span class="cstat-no" title="statement not covered" ></span>
1939
- <span class="cstat-no" title="statement not covered" >// ===== Cache Types =====</span>
1940
- <span class="cstat-no" title="statement not covered" ></span>
1941
- <span class="cstat-no" title="statement not covered" >/**</span>
1942
- <span class="cstat-no" title="statement not covered" > * Cache configuration</span>
1943
- <span class="cstat-no" title="statement not covered" > */</span>
1944
- <span class="cstat-no" title="statement not covered" >export interface CacheConfig {</span>
1945
- <span class="cstat-no" title="statement not covered" > /** Maximum number of entries in the cache */</span>
1946
- <span class="cstat-no" title="statement not covered" > maxSize: number;</span>
1947
- <span class="cstat-no" title="statement not covered" ></span>
1948
- <span class="cstat-no" title="statement not covered" > /** Default TTL in milliseconds */</span>
1949
- <span class="cstat-no" title="statement not covered" > ttl: number;</span>
1950
- <span class="cstat-no" title="statement not covered" ></span>
1951
- <span class="cstat-no" title="statement not covered" > /** Enable LRU eviction */</span>
1952
- <span class="cstat-no" title="statement not covered" > lruEnabled: boolean;</span>
1953
- <span class="cstat-no" title="statement not covered" ></span>
1954
- <span class="cstat-no" title="statement not covered" > /** Maximum memory usage in bytes */</span>
1955
- <span class="cstat-no" title="statement not covered" > maxMemory?: number;</span>
1956
- <span class="cstat-no" title="statement not covered" ></span>
1957
- <span class="cstat-no" title="statement not covered" > /** Enable write-through caching */</span>
1958
- <span class="cstat-no" title="statement not covered" > writeThrough: boolean;</span>
1959
- <span class="cstat-no" title="statement not covered" >}</span>
1960
- <span class="cstat-no" title="statement not covered" ></span>
1961
- <span class="cstat-no" title="statement not covered" >/**</span>
1962
- <span class="cstat-no" title="statement not covered" > * Cache statistics</span>
1963
- <span class="cstat-no" title="statement not covered" > */</span>
1964
- <span class="cstat-no" title="statement not covered" >export interface CacheStats {</span>
1965
- <span class="cstat-no" title="statement not covered" > /** Number of entries in cache */</span>
1966
- <span class="cstat-no" title="statement not covered" > size: number;</span>
1967
- <span class="cstat-no" title="statement not covered" ></span>
1968
- <span class="cstat-no" title="statement not covered" > /** Cache hit rate (0-1) */</span>
1969
- <span class="cstat-no" title="statement not covered" > hitRate: number;</span>
1970
- <span class="cstat-no" title="statement not covered" ></span>
1971
- <span class="cstat-no" title="statement not covered" > /** Total cache hits */</span>
1972
- <span class="cstat-no" title="statement not covered" > hits: number;</span>
1973
- <span class="cstat-no" title="statement not covered" ></span>
1974
- <span class="cstat-no" title="statement not covered" > /** Total cache misses */</span>
1975
- <span class="cstat-no" title="statement not covered" > misses: number;</span>
1976
- <span class="cstat-no" title="statement not covered" ></span>
1977
- <span class="cstat-no" title="statement not covered" > /** Total evictions */</span>
1978
- <span class="cstat-no" title="statement not covered" > evictions: number;</span>
1979
- <span class="cstat-no" title="statement not covered" ></span>
1980
- <span class="cstat-no" title="statement not covered" > /** Memory usage in bytes */</span>
1981
- <span class="cstat-no" title="statement not covered" > memoryUsage: number;</span>
1982
- <span class="cstat-no" title="statement not covered" >}</span>
1983
- <span class="cstat-no" title="statement not covered" ></span>
1984
- <span class="cstat-no" title="statement not covered" >/**</span>
1985
- <span class="cstat-no" title="statement not covered" > * Cached entry wrapper</span>
1986
- <span class="cstat-no" title="statement not covered" > */</span>
1987
- <span class="cstat-no" title="statement not covered" >export interface CachedEntry&lt;T&gt; {</span>
1988
- <span class="cstat-no" title="statement not covered" > /** The cached data */</span>
1989
- <span class="cstat-no" title="statement not covered" > data: T;</span>
1990
- <span class="cstat-no" title="statement not covered" ></span>
1991
- <span class="cstat-no" title="statement not covered" > /** When the entry was cached */</span>
1992
- <span class="cstat-no" title="statement not covered" > cachedAt: number;</span>
1993
- <span class="cstat-no" title="statement not covered" ></span>
1994
- <span class="cstat-no" title="statement not covered" > /** When the entry expires */</span>
1995
- <span class="cstat-no" title="statement not covered" > expiresAt: number;</span>
1996
- <span class="cstat-no" title="statement not covered" ></span>
1997
- <span class="cstat-no" title="statement not covered" > /** Last access timestamp */</span>
1998
- <span class="cstat-no" title="statement not covered" > lastAccessedAt: number;</span>
1999
- <span class="cstat-no" title="statement not covered" ></span>
2000
- <span class="cstat-no" title="statement not covered" > /** Access count */</span>
2001
- <span class="cstat-no" title="statement not covered" > accessCount: number;</span>
2002
- <span class="cstat-no" title="statement not covered" >}</span>
2003
- <span class="cstat-no" title="statement not covered" ></span>
2004
- <span class="cstat-no" title="statement not covered" >// ===== Migration Types =====</span>
2005
- <span class="cstat-no" title="statement not covered" ></span>
2006
- <span class="cstat-no" title="statement not covered" >/**</span>
2007
- <span class="cstat-no" title="statement not covered" > * Migration source type</span>
2008
- <span class="cstat-no" title="statement not covered" > */</span>
2009
- <span class="cstat-no" title="statement not covered" >export type MigrationSource =</span>
2010
- <span class="cstat-no" title="statement not covered" > | 'sqlite'</span>
2011
- <span class="cstat-no" title="statement not covered" > | 'markdown'</span>
2012
- <span class="cstat-no" title="statement not covered" > | 'json'</span>
2013
- <span class="cstat-no" title="statement not covered" > | 'memory-manager'</span>
2014
- <span class="cstat-no" title="statement not covered" > | 'swarm-memory'</span>
2015
- <span class="cstat-no" title="statement not covered" > | 'distributed-memory';</span>
2016
- <span class="cstat-no" title="statement not covered" ></span>
2017
- <span class="cstat-no" title="statement not covered" >/**</span>
2018
- <span class="cstat-no" title="statement not covered" > * Migration configuration</span>
2019
- <span class="cstat-no" title="statement not covered" > */</span>
2020
- <span class="cstat-no" title="statement not covered" >export interface MigrationConfig {</span>
2021
- <span class="cstat-no" title="statement not covered" > /** Source backend type */</span>
2022
- <span class="cstat-no" title="statement not covered" > source: MigrationSource;</span>
2023
- <span class="cstat-no" title="statement not covered" ></span>
2024
- <span class="cstat-no" title="statement not covered" > /** Source path or connection string */</span>
2025
- <span class="cstat-no" title="statement not covered" > sourcePath: string;</span>
2026
- <span class="cstat-no" title="statement not covered" ></span>
2027
- <span class="cstat-no" title="statement not covered" > /** Batch size for migration */</span>
2028
- <span class="cstat-no" title="statement not covered" > batchSize: number;</span>
2029
- <span class="cstat-no" title="statement not covered" ></span>
2030
- <span class="cstat-no" title="statement not covered" > /** Generate embeddings during migration */</span>
2031
- <span class="cstat-no" title="statement not covered" > generateEmbeddings: boolean;</span>
2032
- <span class="cstat-no" title="statement not covered" ></span>
2033
- <span class="cstat-no" title="statement not covered" > /** Validate data during migration */</span>
2034
- <span class="cstat-no" title="statement not covered" > validateData: boolean;</span>
2035
- <span class="cstat-no" title="statement not covered" ></span>
2036
- <span class="cstat-no" title="statement not covered" > /** Continue on error */</span>
2037
- <span class="cstat-no" title="statement not covered" > continueOnError: boolean;</span>
2038
- <span class="cstat-no" title="statement not covered" ></span>
2039
- <span class="cstat-no" title="statement not covered" > /** Namespace mapping */</span>
2040
- <span class="cstat-no" title="statement not covered" > namespaceMapping?: Record&lt;string, string&gt;;</span>
2041
- <span class="cstat-no" title="statement not covered" ></span>
2042
- <span class="cstat-no" title="statement not covered" > /** Type mapping */</span>
2043
- <span class="cstat-no" title="statement not covered" > typeMapping?: Record&lt;string, MemoryType&gt;;</span>
2044
- <span class="cstat-no" title="statement not covered" >}</span>
2045
- <span class="cstat-no" title="statement not covered" ></span>
2046
- <span class="cstat-no" title="statement not covered" >/**</span>
2047
- <span class="cstat-no" title="statement not covered" > * Migration progress</span>
2048
- <span class="cstat-no" title="statement not covered" > */</span>
2049
- <span class="cstat-no" title="statement not covered" >export interface MigrationProgress {</span>
2050
- <span class="cstat-no" title="statement not covered" > /** Total entries to migrate */</span>
2051
- <span class="cstat-no" title="statement not covered" > total: number;</span>
2052
- <span class="cstat-no" title="statement not covered" ></span>
2053
- <span class="cstat-no" title="statement not covered" > /** Entries migrated so far */</span>
2054
- <span class="cstat-no" title="statement not covered" > migrated: number;</span>
2055
- <span class="cstat-no" title="statement not covered" ></span>
2056
- <span class="cstat-no" title="statement not covered" > /** Entries failed */</span>
2057
- <span class="cstat-no" title="statement not covered" > failed: number;</span>
2058
- <span class="cstat-no" title="statement not covered" ></span>
2059
- <span class="cstat-no" title="statement not covered" > /** Entries skipped */</span>
2060
- <span class="cstat-no" title="statement not covered" > skipped: number;</span>
2061
- <span class="cstat-no" title="statement not covered" ></span>
2062
- <span class="cstat-no" title="statement not covered" > /** Current batch number */</span>
2063
- <span class="cstat-no" title="statement not covered" > currentBatch: number;</span>
2064
- <span class="cstat-no" title="statement not covered" ></span>
2065
- <span class="cstat-no" title="statement not covered" > /** Total batches */</span>
2066
- <span class="cstat-no" title="statement not covered" > totalBatches: number;</span>
2067
- <span class="cstat-no" title="statement not covered" ></span>
2068
- <span class="cstat-no" title="statement not covered" > /** Progress percentage (0-100) */</span>
2069
- <span class="cstat-no" title="statement not covered" > percentage: number;</span>
2070
- <span class="cstat-no" title="statement not covered" ></span>
2071
- <span class="cstat-no" title="statement not covered" > /** Estimated time remaining in milliseconds */</span>
2072
- <span class="cstat-no" title="statement not covered" > estimatedTimeRemaining: number;</span>
2073
- <span class="cstat-no" title="statement not covered" ></span>
2074
- <span class="cstat-no" title="statement not covered" > /** Errors encountered */</span>
2075
- <span class="cstat-no" title="statement not covered" > errors: MigrationError[];</span>
2076
- <span class="cstat-no" title="statement not covered" >}</span>
2077
- <span class="cstat-no" title="statement not covered" ></span>
2078
- <span class="cstat-no" title="statement not covered" >/**</span>
2079
- <span class="cstat-no" title="statement not covered" > * Migration error</span>
2080
- <span class="cstat-no" title="statement not covered" > */</span>
2081
- <span class="cstat-no" title="statement not covered" >export interface MigrationError {</span>
2082
- <span class="cstat-no" title="statement not covered" > /** Entry ID or key that failed */</span>
2083
- <span class="cstat-no" title="statement not covered" > entryId: string;</span>
2084
- <span class="cstat-no" title="statement not covered" ></span>
2085
- <span class="cstat-no" title="statement not covered" > /** Error message */</span>
2086
- <span class="cstat-no" title="statement not covered" > message: string;</span>
2087
- <span class="cstat-no" title="statement not covered" ></span>
2088
- <span class="cstat-no" title="statement not covered" > /** Error code */</span>
2089
- <span class="cstat-no" title="statement not covered" > code: string;</span>
2090
- <span class="cstat-no" title="statement not covered" ></span>
2091
- <span class="cstat-no" title="statement not covered" > /** Whether the error is recoverable */</span>
2092
- <span class="cstat-no" title="statement not covered" > recoverable: boolean;</span>
2093
- <span class="cstat-no" title="statement not covered" >}</span>
2094
- <span class="cstat-no" title="statement not covered" ></span>
2095
- <span class="cstat-no" title="statement not covered" >/**</span>
2096
- <span class="cstat-no" title="statement not covered" > * Migration result</span>
2097
- <span class="cstat-no" title="statement not covered" > */</span>
2098
- <span class="cstat-no" title="statement not covered" >export interface MigrationResult {</span>
2099
- <span class="cstat-no" title="statement not covered" > /** Whether migration completed successfully */</span>
2100
- <span class="cstat-no" title="statement not covered" > success: boolean;</span>
2101
- <span class="cstat-no" title="statement not covered" ></span>
2102
- <span class="cstat-no" title="statement not covered" > /** Final progress state */</span>
2103
- <span class="cstat-no" title="statement not covered" > progress: MigrationProgress;</span>
2104
- <span class="cstat-no" title="statement not covered" ></span>
2105
- <span class="cstat-no" title="statement not covered" > /** Total time taken in milliseconds */</span>
2106
- <span class="cstat-no" title="statement not covered" > duration: number;</span>
2107
- <span class="cstat-no" title="statement not covered" ></span>
2108
- <span class="cstat-no" title="statement not covered" > /** Summary message */</span>
2109
- <span class="cstat-no" title="statement not covered" > summary: string;</span>
2110
- <span class="cstat-no" title="statement not covered" >}</span>
2111
- <span class="cstat-no" title="statement not covered" ></span>
2112
- <span class="cstat-no" title="statement not covered" >// ===== Event Types =====</span>
2113
- <span class="cstat-no" title="statement not covered" ></span>
2114
- <span class="cstat-no" title="statement not covered" >/**</span>
2115
- <span class="cstat-no" title="statement not covered" > * Memory event types</span>
2116
- <span class="cstat-no" title="statement not covered" > */</span>
2117
- <span class="cstat-no" title="statement not covered" >export type MemoryEventType =</span>
2118
- <span class="cstat-no" title="statement not covered" > | 'entry:created'</span>
2119
- <span class="cstat-no" title="statement not covered" > | 'entry:updated'</span>
2120
- <span class="cstat-no" title="statement not covered" > | 'entry:deleted'</span>
2121
- <span class="cstat-no" title="statement not covered" > | 'entry:accessed'</span>
2122
- <span class="cstat-no" title="statement not covered" > | 'entry:expired'</span>
2123
- <span class="cstat-no" title="statement not covered" > | 'cache:hit'</span>
2124
- <span class="cstat-no" title="statement not covered" > | 'cache:miss'</span>
2125
- <span class="cstat-no" title="statement not covered" > | 'cache:eviction'</span>
2126
- <span class="cstat-no" title="statement not covered" > | 'index:rebuilt'</span>
2127
- <span class="cstat-no" title="statement not covered" > | 'migration:started'</span>
2128
- <span class="cstat-no" title="statement not covered" > | 'migration:progress'</span>
2129
- <span class="cstat-no" title="statement not covered" > | 'migration:completed'</span>
2130
- <span class="cstat-no" title="statement not covered" > | 'migration:failed';</span>
2131
- <span class="cstat-no" title="statement not covered" ></span>
2132
- <span class="cstat-no" title="statement not covered" >/**</span>
2133
- <span class="cstat-no" title="statement not covered" > * Memory event payload</span>
2134
- <span class="cstat-no" title="statement not covered" > */</span>
2135
- <span class="cstat-no" title="statement not covered" >export interface MemoryEvent {</span>
2136
- <span class="cstat-no" title="statement not covered" > type: MemoryEventType;</span>
2137
- <span class="cstat-no" title="statement not covered" > timestamp: number;</span>
2138
- <span class="cstat-no" title="statement not covered" > data: Record&lt;string, unknown&gt;;</span>
2139
- <span class="cstat-no" title="statement not covered" >}</span>
2140
- <span class="cstat-no" title="statement not covered" ></span>
2141
- <span class="cstat-no" title="statement not covered" >/**</span>
2142
- <span class="cstat-no" title="statement not covered" > * Memory event handler</span>
2143
- <span class="cstat-no" title="statement not covered" > */</span>
2144
- <span class="cstat-no" title="statement not covered" >export type MemoryEventHandler = (event: MemoryEvent) =&gt; void | Promise&lt;void&gt;;</span>
2145
- <span class="cstat-no" title="statement not covered" ></span>
2146
- <span class="cstat-no" title="statement not covered" >// ===== SONA Integration Types =====</span>
2147
- <span class="cstat-no" title="statement not covered" ></span>
2148
- <span class="cstat-no" title="statement not covered" >/**</span>
2149
- <span class="cstat-no" title="statement not covered" > * SONA learning mode for adaptive memory</span>
2150
- <span class="cstat-no" title="statement not covered" > */</span>
2151
- <span class="cstat-no" title="statement not covered" >export type SONAMode =</span>
2152
- <span class="cstat-no" title="statement not covered" > | 'real-time' // &lt;0.05ms adaptation</span>
2153
- <span class="cstat-no" title="statement not covered" > | 'balanced' // Balance between speed and accuracy</span>
2154
- <span class="cstat-no" title="statement not covered" > | 'research' // Maximum accuracy, slower</span>
2155
- <span class="cstat-no" title="statement not covered" > | 'edge' // Optimized for edge devices</span>
2156
- <span class="cstat-no" title="statement not covered" > | 'batch'; // Batch processing mode</span>
2157
- <span class="cstat-no" title="statement not covered" ></span>
2158
- <span class="cstat-no" title="statement not covered" >/**</span>
2159
- <span class="cstat-no" title="statement not covered" > * Learning pattern from SONA integration</span>
2160
- <span class="cstat-no" title="statement not covered" > */</span>
2161
- <span class="cstat-no" title="statement not covered" >export interface LearningPattern {</span>
2162
- <span class="cstat-no" title="statement not covered" > /** Pattern ID */</span>
2163
- <span class="cstat-no" title="statement not covered" > id: string;</span>
2164
- <span class="cstat-no" title="statement not covered" ></span>
2165
- <span class="cstat-no" title="statement not covered" > /** Pattern data */</span>
2166
- <span class="cstat-no" title="statement not covered" > data: Record&lt;string, unknown&gt;;</span>
2167
- <span class="cstat-no" title="statement not covered" ></span>
2168
- <span class="cstat-no" title="statement not covered" > /** SONA mode used */</span>
2169
- <span class="cstat-no" title="statement not covered" > mode: SONAMode;</span>
2170
- <span class="cstat-no" title="statement not covered" ></span>
2171
- <span class="cstat-no" title="statement not covered" > /** Reward signal */</span>
2172
- <span class="cstat-no" title="statement not covered" > reward: number;</span>
2173
- <span class="cstat-no" title="statement not covered" ></span>
2174
- <span class="cstat-no" title="statement not covered" > /** Trajectory data */</span>
2175
- <span class="cstat-no" title="statement not covered" > trajectory: unknown[];</span>
2176
- <span class="cstat-no" title="statement not covered" ></span>
2177
- <span class="cstat-no" title="statement not covered" > /** Adaptation time in milliseconds */</span>
2178
- <span class="cstat-no" title="statement not covered" > adaptationTime: number;</span>
2179
- <span class="cstat-no" title="statement not covered" ></span>
2180
- <span class="cstat-no" title="statement not covered" > /** Creation timestamp */</span>
2181
- <span class="cstat-no" title="statement not covered" > createdAt: number;</span>
2182
- <span class="cstat-no" title="statement not covered" >}</span>
2183
- <span class="cstat-no" title="statement not covered" ></span>
2184
- <span class="cstat-no" title="statement not covered" >// ===== Utility Types =====</span>
2185
- <span class="cstat-no" title="statement not covered" ></span>
2186
- <span class="cstat-no" title="statement not covered" >/**</span>
2187
- <span class="cstat-no" title="statement not covered" > * Embedding generator function type</span>
2188
- <span class="cstat-no" title="statement not covered" > */</span>
2189
- <span class="cstat-no" title="statement not covered" >export type EmbeddingGenerator = (content: string) =&gt; Promise&lt;Float32Array&gt;;</span>
2190
- <span class="cstat-no" title="statement not covered" ></span>
2191
- <span class="cstat-no" title="statement not covered" >/**</span>
2192
- <span class="cstat-no" title="statement not covered" > * Generates a unique memory ID</span>
2193
- <span class="cstat-no" title="statement not covered" > */</span>
2194
- <span class="cstat-no" title="statement not covered" >export function generateMemoryId(): string {</span>
2195
- <span class="cstat-no" title="statement not covered" > const timestamp = Date.now().toString(36);</span>
2196
- <span class="cstat-no" title="statement not covered" > const random = Math.random().toString(36).substring(2, 10);</span>
2197
- <span class="cstat-no" title="statement not covered" > return `mem_${timestamp}_${random}`;</span>
2198
- <span class="cstat-no" title="statement not covered" >}</span>
2199
- <span class="cstat-no" title="statement not covered" ></span>
2200
- <span class="cstat-no" title="statement not covered" >/**</span>
2201
- <span class="cstat-no" title="statement not covered" > * Creates a default memory entry</span>
2202
- <span class="cstat-no" title="statement not covered" > */</span>
2203
- <span class="cstat-no" title="statement not covered" >export function createDefaultEntry(input: MemoryEntryInput): MemoryEntry {</span>
2204
- <span class="cstat-no" title="statement not covered" > const now = Date.now();</span>
2205
- <span class="cstat-no" title="statement not covered" > return {</span>
2206
- <span class="cstat-no" title="statement not covered" > id: generateMemoryId(),</span>
2207
- <span class="cstat-no" title="statement not covered" > key: input.key,</span>
2208
- <span class="cstat-no" title="statement not covered" > content: input.content,</span>
2209
- <span class="cstat-no" title="statement not covered" > type: input.type || 'semantic',</span>
2210
- <span class="cstat-no" title="statement not covered" > namespace: input.namespace || 'default',</span>
2211
- <span class="cstat-no" title="statement not covered" > tags: input.tags || [],</span>
2212
- <span class="cstat-no" title="statement not covered" > metadata: input.metadata || {},</span>
2213
- <span class="cstat-no" title="statement not covered" > ownerId: input.ownerId,</span>
2214
- <span class="cstat-no" title="statement not covered" > accessLevel: input.accessLevel || 'private',</span>
2215
- <span class="cstat-no" title="statement not covered" > createdAt: now,</span>
2216
- <span class="cstat-no" title="statement not covered" > updatedAt: now,</span>
2217
- <span class="cstat-no" title="statement not covered" > expiresAt: input.expiresAt,</span>
2218
- <span class="cstat-no" title="statement not covered" > version: 1,</span>
2219
- <span class="cstat-no" title="statement not covered" > references: input.references || [],</span>
2220
- <span class="cstat-no" title="statement not covered" > accessCount: 0,</span>
2221
- <span class="cstat-no" title="statement not covered" > lastAccessedAt: now,</span>
2222
- <span class="cstat-no" title="statement not covered" > };</span>
2223
- <span class="cstat-no" title="statement not covered" >}</span>
2224
- <span class="cstat-no" title="statement not covered" ></span>
2225
- <span class="cstat-no" title="statement not covered" >/**</span>
2226
- <span class="cstat-no" title="statement not covered" > * Performance targets for V3 memory system</span>
2227
- <span class="cstat-no" title="statement not covered" > */</span>
2228
- <span class="cstat-no" title="statement not covered" >export const PERFORMANCE_TARGETS = {</span>
2229
- <span class="cstat-no" title="statement not covered" > /** Maximum vector search time for 100k vectors */</span>
2230
- <span class="cstat-no" title="statement not covered" > MAX_SEARCH_TIME_100K: 1, // ms</span>
2231
- <span class="cstat-no" title="statement not covered" ></span>
2232
- <span class="cstat-no" title="statement not covered" > /** Maximum write time per entry */</span>
2233
- <span class="cstat-no" title="statement not covered" > MAX_WRITE_TIME: 5, // ms</span>
2234
- <span class="cstat-no" title="statement not covered" ></span>
2235
- <span class="cstat-no" title="statement not covered" > /** Maximum batch insert time per entry */</span>
2236
- <span class="cstat-no" title="statement not covered" > MAX_BATCH_INSERT_TIME: 1, // ms</span>
2237
- <span class="cstat-no" title="statement not covered" ></span>
2238
- <span class="cstat-no" title="statement not covered" > /** Target memory reduction from legacy systems */</span>
2239
- <span class="cstat-no" title="statement not covered" > MEMORY_REDUCTION_TARGET: 0.5, // 50%</span>
2240
- <span class="cstat-no" title="statement not covered" ></span>
2241
- <span class="cstat-no" title="statement not covered" > /** Minimum search improvement over brute force */</span>
2242
- <span class="cstat-no" title="statement not covered" > MIN_SEARCH_IMPROVEMENT: 150, // 150x</span>
2243
- <span class="cstat-no" title="statement not covered" ></span>
2244
- <span class="cstat-no" title="statement not covered" > /** Maximum search improvement over brute force */</span>
2245
- <span class="cstat-no" title="statement not covered" > MAX_SEARCH_IMPROVEMENT: 12500, // 12,500x</span>
2246
- <span class="cstat-no" title="statement not covered" >} as const;</span>
2247
- &nbsp;</pre></td></tr></table></pre>
2248
-
2249
- <div class='push'></div><!-- for sticky footer -->
2250
- </div><!-- /wrapper -->
2251
- <div class='footer quiet pad2 space-top1 center small'>
2252
- Code coverage generated by
2253
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2254
- at 2026-01-05T21:16:54.160Z
2255
- </div>
2256
- <script src="../prettify.js"></script>
2257
- <script>
2258
- window.onload = function () {
2259
- prettyPrint();
2260
- };
2261
- </script>
2262
- <script src="../sorter.js"></script>
2263
- <script src="../block-navigation.js"></script>
2264
- </body>
2265
- </html>
2266
-