@univerjs/sheets-conditional-formatting 0.2.6 → 0.2.7

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.
package/lib/es/index.js CHANGED
@@ -2,13 +2,13 @@ var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
3
3
  var __name = (target, value) => __defProp(target, "name", { value, configurable: !0 });
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
5
- import { Tools, ObjectMatrix, Range, Inject, Injector, CommandType, ICommandService, Disposable, toDisposable, RefAlias, CellValueType, BooleanNumber, ColorKit, Rectangle, createInterceptorKey, OnLifecycle, LifecycleStages, IUniverInstanceService, IResourceManagerService, InterceptorManager, UniverInstanceType, Plugin } from "@univerjs/core";
5
+ import { Tools, Inject, Injector, CommandType, ObjectMatrix, Range, ICommandService, Disposable, toDisposable, RefAlias, CellValueType, BooleanNumber, ColorKit, Rectangle, createInterceptorKey, OnLifecycle, LifecycleStages, IUniverInstanceService, IResourceManagerService, InterceptorManager, UniverInstanceType, Plugin } from "@univerjs/core";
6
6
  import { SheetInterceptorService, RemoveSheetCommand, ReorderRangeMutation, MoveRangeMutation, MoveColsMutation, MoveRowsMutation, InsertRowMutation, RemoveRowMutation, RemoveColMutation, InsertColMutation, SetRangeValuesMutation } from "@univerjs/sheets";
7
- import { Subject } from "rxjs";
7
+ import { Subject, Observable } from "rxjs";
8
8
  import { bufferTime, filter, map } from "rxjs/operators";
9
9
  import { IActiveDirtyManagerService, SetFormulaCalculationResultMutation, SetOtherFormulaMutation, RemoveOtherFormulaMutation, BooleanValue, LexerTreeBuilder, sequenceNodeType, deserializeRangeWithSheet, serializeRange, generateStringWithSequence, ERROR_TYPE_SET } from "@univerjs/engine-formula";
10
+ import { SpreadsheetExtensionRegistry, SheetExtension, FIX_ONE_PIXEL_BLUR_OFFSET, isObject } from "@univerjs/engine-render";
10
11
  import dayjs from "dayjs";
11
- import { isObject, SpreadsheetExtensionRegistry, SheetExtension, FIX_ONE_PIXEL_BLUR_OFFSET } from "@univerjs/engine-render";
12
12
  const SHEET_CONDITIONAL_FORMATTING_PLUGIN = "SHEET_CONDITIONAL_FORMATTING_PLUGIN";
13
13
  var CFTextOperator = /* @__PURE__ */ ((CFTextOperator2) => (CFTextOperator2.beginsWith = "beginsWith", CFTextOperator2.endsWith = "endsWith", CFTextOperator2.containsText = "containsText", CFTextOperator2.notContainsText = "notContainsText", CFTextOperator2.equal = "equal", CFTextOperator2.notEqual = "notEqual", CFTextOperator2.containsBlanks = "containsBlanks", CFTextOperator2.notContainsBlanks = "notContainsBlanks", CFTextOperator2.containsErrors = "containsErrors", CFTextOperator2.notContainsErrors = "notContainsErrors", CFTextOperator2))(CFTextOperator || {}), CFTimePeriodOperator = /* @__PURE__ */ ((CFTimePeriodOperator2) => (CFTimePeriodOperator2.today = "today", CFTimePeriodOperator2.yesterday = "yesterday", CFTimePeriodOperator2.tomorrow = "tomorrow", CFTimePeriodOperator2.last7Days = "last7Days", CFTimePeriodOperator2.thisMonth = "thisMonth", CFTimePeriodOperator2.lastMonth = "lastMonth", CFTimePeriodOperator2.nextMonth = "nextMonth", CFTimePeriodOperator2.thisWeek = "thisWeek", CFTimePeriodOperator2.lastWeek = "lastWeek", CFTimePeriodOperator2.nextWeek = "nextWeek", CFTimePeriodOperator2))(CFTimePeriodOperator || {}), CFNumberOperator = /* @__PURE__ */ ((CFNumberOperator2) => (CFNumberOperator2.greaterThan = "greaterThan", CFNumberOperator2.greaterThanOrEqual = "greaterThanOrEqual", CFNumberOperator2.lessThan = "lessThan", CFNumberOperator2.lessThanOrEqual = "lessThanOrEqual", CFNumberOperator2.notBetween = "notBetween", CFNumberOperator2.between = "between", CFNumberOperator2.equal = "equal", CFNumberOperator2.notEqual = "notEqual", CFNumberOperator2))(CFNumberOperator || {}), CFRuleType = /* @__PURE__ */ ((CFRuleType2) => (CFRuleType2.highlightCell = "highlightCell", CFRuleType2.dataBar = "dataBar", CFRuleType2.colorScale = "colorScale", CFRuleType2.iconSet = "iconSet", CFRuleType2))(CFRuleType || {}), CFSubRuleType = /* @__PURE__ */ ((CFSubRuleType2) => (CFSubRuleType2.uniqueValues = "uniqueValues", CFSubRuleType2.duplicateValues = "duplicateValues", CFSubRuleType2.rank = "rank", CFSubRuleType2.text = "text", CFSubRuleType2.timePeriod = "timePeriod", CFSubRuleType2.number = "number", CFSubRuleType2.average = "average", CFSubRuleType2.formula = "formula", CFSubRuleType2))(CFSubRuleType || {}), CFValueType = /* @__PURE__ */ ((CFValueType2) => (CFValueType2.num = "num", CFValueType2.min = "min", CFValueType2.max = "max", CFValueType2.percent = "percent", CFValueType2.percentile = "percentile", CFValueType2.formula = "formula", CFValueType2))(CFValueType || {});
14
14
  const DEFAULT_BG_COLOR = "#fff", DEFAULT_FONT_COLOR = "#000000", createDefaultRule = /* @__PURE__ */ __name(() => ({
@@ -133,96 +133,50 @@ const DEFAULT_BG_COLOR = "#fff", DEFAULT_FONT_COLOR = "#000000", createDefaultRu
133
133
  return [end, { ...start, type: "self" }];
134
134
  }
135
135
  return null;
136
- }, "anchorUndoFactory"), isAnchorEqual = /* @__PURE__ */ __name((anchor1, anchor2) => anchor1.id === anchor2.id && anchor1.type === anchor2.type, "isAnchorEqual"), _ConditionalFormattingViewModel = class _ConditionalFormattingViewModel {
137
- constructor() {
138
- // Map<unitID ,<sheetId ,ObjectMatrix>>
139
- __publicField(this, "_model", /* @__PURE__ */ new Map());
140
- __publicField(this, "_markDirty$", new Subject());
141
- __publicField(this, "markDirty$", this._markDirty$.asObservable());
142
- }
143
- _ensureMatrix(unitId, subUnitId) {
144
- let _matrix = this.getMatrix(unitId, subUnitId);
145
- if (!_matrix) {
146
- _matrix = new ObjectMatrix();
147
- let unitModel = this._model.get(unitId);
148
- unitModel || (unitModel = /* @__PURE__ */ new Map(), this._model.set(unitId, unitModel)), unitModel.set(subUnitId, _matrix);
149
- }
150
- return _matrix;
151
- }
152
- getMatrix(unitId, subUnitId) {
153
- var _a5;
154
- return (_a5 = this._model.get(unitId)) == null ? void 0 : _a5.get(subUnitId);
155
- }
156
- getCellCf(unitId, subUnitId, row, col, matrix) {
157
- const _matrix = matrix != null ? matrix : this.getMatrix(unitId, subUnitId);
158
- return _matrix ? _matrix.getValue(row, col) : null;
159
- }
160
- setCellCfRuleCache(unitId, subUnitId, row, col, cfId, value) {
161
- const cell2 = this._ensureMatrix(unitId, subUnitId).getValue(row, col), item = cell2 == null ? void 0 : cell2.cfList.find((e) => e.cfId === cfId);
162
- item && (item.ruleCache = value, item.isDirty = !1);
163
- }
164
- deleteCellCf(unitId, subUnitId, row, col, cfId, matrix) {
165
- const _matrix = matrix != null ? matrix : this.getMatrix(unitId, subUnitId);
166
- if (_matrix) {
167
- const cellItem = _matrix.getValue(row, col);
168
- if (cellItem) {
169
- const cfList = cellItem.cfList, index = cfList.findIndex((item) => item.cfId === cfId);
170
- index > -1 && cfList.splice(index, 1), cfList.length || _matrix.realDeleteValue(row, col);
171
- }
172
- }
173
- }
174
- pushCellCf(unitId, subUnitId, row, col, cfId) {
175
- const _matrix = this._ensureMatrix(unitId, subUnitId);
176
- let cellValue = _matrix.getValue(row, col);
177
- if (!cellValue)
178
- cellValue = { cfList: [{ cfId, isDirty: !0 }] };
179
- else {
180
- const cfIdList = cellValue.cfList;
181
- if (cfIdList.findIndex((item) => item.cfId === cfId) > -1)
182
- return;
183
- cfIdList.push({ cfId, isDirty: !0 });
184
- }
185
- _matrix.setValue(row, col, cellValue);
186
- }
187
- sortCellCf(unitId, subUnitId, row, col, cfPriorityMap) {
188
- const cell2 = this.getCellCf(unitId, subUnitId, row, col);
189
- if (cell2) {
190
- const sortResult = cell2.cfList.map((cf) => {
191
- const priority = cfPriorityMap.get(cf.cfId);
192
- return priority === void 0 ? null : { ...cf, priority };
193
- }).filter((item) => !!item).sort((a, b) => a.priority - b.priority);
194
- cell2.cfList = sortResult;
195
- }
196
- }
197
- markRuleDirty(unitId, subUnitId, rule, row, col) {
198
- const handleCell = /* @__PURE__ */ __name((row2, col2) => {
199
- const cell2 = this.getCellCf(unitId, subUnitId, row2, col2);
200
- if (cell2) {
201
- const ruleItem = cell2.cfList.find((item) => item.cfId === rule.cfId);
202
- ruleItem && (ruleItem.isDirty = !0);
203
- }
204
- }, "handleCell");
205
- row !== void 0 && col !== void 0 ? (handleCell(row, col), this._markDirty$.next({ rule, unitId, subUnitId })) : (rule.ranges.forEach((range) => {
206
- Range.foreach(range, (row2, col2) => {
207
- handleCell(row2, col2);
208
- });
209
- }), this._markDirty$.next({ rule, unitId, subUnitId }));
210
- }
211
- };
212
- __name(_ConditionalFormattingViewModel, "ConditionalFormattingViewModel");
213
- let ConditionalFormattingViewModel = _ConditionalFormattingViewModel;
136
+ }, "anchorUndoFactory"), isAnchorEqual = /* @__PURE__ */ __name((anchor1, anchor2) => anchor1.id === anchor2.id && anchor1.type === anchor2.type, "isAnchorEqual");
214
137
  var __defProp$3 = Object.defineProperty, __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor, __decorateClass$3 = /* @__PURE__ */ __name((decorators, target, key, kind) => {
215
138
  for (var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target, i = decorators.length - 1, decorator; i >= 0; i--)
216
139
  (decorator = decorators[i]) && (result = (kind ? decorator(target, key, result) : decorator(result)) || result);
217
140
  return kind && result && __defProp$3(target, key, result), result;
218
141
  }, "__decorateClass$3"), __decorateParam$3 = /* @__PURE__ */ __name((index, decorator) => (target, key) => decorator(target, key, index), "__decorateParam$3"), _a;
219
142
  let ConditionalFormattingRuleModel = (_a = class {
220
- constructor(_conditionalFormattingViewModel, _injector) {
143
+ constructor(_injector) {
221
144
  // Map<unitID ,<sheetId ,IConditionFormattingRule[]>>
222
145
  __publicField(this, "_model", /* @__PURE__ */ new Map());
223
146
  __publicField(this, "_ruleChange$", new Subject());
224
- __publicField(this, "$ruleChange", this._ruleChange$.asObservable());
225
- this._conditionalFormattingViewModel = _conditionalFormattingViewModel, this._injector = _injector;
147
+ __publicField(this, "$ruleChange", this._ruleChange$.asObservable().pipe(
148
+ bufferTime(16),
149
+ filter((list) => !!list.length),
150
+ // Operations for aggregated conditional formatting
151
+ // Adding and then deleting the same conditional format for multiple times will not result in any changes being propagated externally
152
+ // When multiple settings are applied to the same conditional format, only the last setting will be propagated externally.
153
+ (source) => new Observable((observer) => {
154
+ source.subscribe({
155
+ next: /* @__PURE__ */ __name((ruleList) => {
156
+ const createKey = /* @__PURE__ */ __name((item) => `${item.unitId}_${item.subUnitId}_${item.rule.cfId}`, "createKey"), handleCreateAndDelete = /* @__PURE__ */ __name((list) => {
157
+ const createIndex = list.findIndex((rule) => rule.type === "add"), deleteIndex = list.findIndex((rule) => rule.type === "delete");
158
+ createIndex !== -1 && deleteIndex !== -1 && deleteIndex > createIndex && list.splice(createIndex, deleteIndex - createIndex + 1);
159
+ }, "handleCreateAndDelete"), result = ruleList.reduce((a, b, index) => {
160
+ const key = createKey(b);
161
+ return a[key] || (a[key] = []), a[key].push({ ...b, _index: index }), a;
162
+ }, {});
163
+ for (const key in result) {
164
+ const list = result[key];
165
+ list.length >= 2 && handleCreateAndDelete(list);
166
+ }
167
+ Object.keys(result).reduce((a, key) => {
168
+ const list = result[key];
169
+ return a.push(...list), a;
170
+ }, []).sort((a, b) => a._index - b._index).map((item) => item).forEach((item) => {
171
+ observer.next(item);
172
+ });
173
+ }, "next"),
174
+ error: /* @__PURE__ */ __name((err) => observer.error(err), "error"),
175
+ complete: /* @__PURE__ */ __name(() => observer.complete(), "complete")
176
+ });
177
+ })
178
+ ));
179
+ this._injector = _injector;
226
180
  }
227
181
  _ensureList(unitId, subUnitId) {
228
182
  let list = this.getSubunitRules(unitId, subUnitId);
@@ -248,51 +202,19 @@ let ConditionalFormattingRuleModel = (_a = class {
248
202
  const list = this.getSubunitRules(unitId, subUnitId);
249
203
  if (list) {
250
204
  const index = list.findIndex((e) => e.cfId === cfId), rule = list[index];
251
- rule && (list.splice(index, 1), rule.ranges.forEach((range) => {
252
- Range.foreach(range, (row, col) => {
253
- this._conditionalFormattingViewModel.deleteCellCf(unitId, subUnitId, row, col, rule.cfId);
254
- });
255
- }), this._ruleChange$.next({ rule, subUnitId, unitId, type: "delete" }));
205
+ rule && (list.splice(index, 1), this._ruleChange$.next({ rule, subUnitId, unitId, type: "delete" }));
256
206
  }
257
207
  }
258
208
  setRule(unitId, subUnitId, rule, oldCfId) {
259
- const list = this._ensureList(unitId, subUnitId), oldRule = list.find((item) => item.cfId === oldCfId);
209
+ const oldRule = this._ensureList(unitId, subUnitId).find((item) => item.cfId === oldCfId);
260
210
  if (oldRule) {
261
- const cfPriorityMap = list.map((item) => item.cfId).reduce((map2, cur, index) => (map2.set(cur, index), map2), /* @__PURE__ */ new Map()), cloneRange = [...oldRule.ranges], conditionalFormattingService = this._injector.get(ConditionalFormattingService);
262
- Object.assign(oldRule, rule);
263
- const dispose = conditionalFormattingService.interceptorManager.intercept(conditionalFormattingService.interceptorManager.getInterceptPoints().beforeUpdateRuleResult, {
264
- handler: /* @__PURE__ */ __name((config, _, next) => {
265
- if (unitId === (config == null ? void 0 : config.unitId) && subUnitId === config.subUnitId && oldRule.cfId === config.cfId) {
266
- cloneRange.forEach((range) => {
267
- Range.foreach(range, (row, col) => {
268
- this._conditionalFormattingViewModel.deleteCellCf(unitId, subUnitId, row, col, oldRule.cfId);
269
- });
270
- }), oldRule.ranges.forEach((range) => {
271
- Range.foreach(range, (row, col) => {
272
- this._conditionalFormattingViewModel.pushCellCf(unitId, subUnitId, row, col, oldRule.cfId), this._conditionalFormattingViewModel.sortCellCf(unitId, subUnitId, row, col, cfPriorityMap);
273
- });
274
- }), dispose();
275
- return;
276
- }
277
- next(config);
278
- }, "handler")
279
- });
280
- oldRule.ranges.forEach((range) => {
281
- Range.foreach(range, (row, col) => {
282
- this._conditionalFormattingViewModel.pushCellCf(unitId, subUnitId, row, col, oldRule.cfId);
283
- });
284
- }), this._conditionalFormattingViewModel.markRuleDirty(unitId, subUnitId, oldRule), this._ruleChange$.next({ rule: oldRule, subUnitId, unitId, type: "set" });
211
+ const cloneRule = Tools.deepClone(oldRule);
212
+ Object.assign(oldRule, rule), this._ruleChange$.next({ rule: oldRule, subUnitId, unitId, type: "set", oldRule: cloneRule });
285
213
  }
286
214
  }
287
215
  addRule(unitId, subUnitId, rule) {
288
216
  const list = this._ensureList(unitId, subUnitId);
289
- list.find((item2) => item2.cfId === rule.cfId) || list.unshift(rule);
290
- const cfPriorityMap = list.map((item2) => item2.cfId).reduce((map2, cur, index) => (map2.set(cur, index), map2), /* @__PURE__ */ new Map());
291
- rule.ranges.forEach((range) => {
292
- Range.foreach(range, (row, col) => {
293
- this._conditionalFormattingViewModel.pushCellCf(unitId, subUnitId, row, col, rule.cfId), this._conditionalFormattingViewModel.sortCellCf(unitId, subUnitId, row, col, cfPriorityMap);
294
- });
295
- }), this._conditionalFormattingViewModel.markRuleDirty(unitId, subUnitId, rule), this._ruleChange$.next({ rule, subUnitId, unitId, type: "add" });
217
+ list.find((item2) => item2.cfId === rule.cfId) || list.unshift(rule), this._ruleChange$.next({ rule, subUnitId, unitId, type: "add" });
296
218
  }
297
219
  /**
298
220
  * example [1,2,3,4,5,6],if you move behind 5 to 2, then cfId=5,targetId=2.
@@ -303,15 +225,7 @@ let ConditionalFormattingRuleModel = (_a = class {
303
225
  if (targetCfIndex === null || curIndex === null || targetCfIndex === curIndex)
304
226
  return;
305
227
  const rule = list[curIndex];
306
- if (rule) {
307
- moveByAnchor(start, end, list, (rule2) => rule2.cfId);
308
- const cfPriorityMap = list.map((item) => item.cfId).reduce((map2, cur, index) => (map2.set(cur, index), map2), /* @__PURE__ */ new Map());
309
- rule.ranges.forEach((range) => {
310
- Range.foreach(range, (row, col) => {
311
- this._conditionalFormattingViewModel.sortCellCf(unitId, subUnitId, row, col, cfPriorityMap);
312
- });
313
- }), this._ruleChange$.next({ rule, subUnitId, unitId, type: "sort" });
314
- }
228
+ rule && (moveByAnchor(start, end, list, (rule2) => rule2.cfId), this._ruleChange$.next({ rule, subUnitId, unitId, type: "sort" }));
315
229
  }
316
230
  createCfId(_unitId, _subUnitId) {
317
231
  return createCfId();
@@ -321,8 +235,7 @@ let ConditionalFormattingRuleModel = (_a = class {
321
235
  }
322
236
  }, __name(_a, "ConditionalFormattingRuleModel"), _a);
323
237
  ConditionalFormattingRuleModel = __decorateClass$3([
324
- __decorateParam$3(0, Inject(ConditionalFormattingViewModel)),
325
- __decorateParam$3(1, Inject(Injector))
238
+ __decorateParam$3(0, Inject(Injector))
326
239
  ], ConditionalFormattingRuleModel);
327
240
  const AddConditionalRuleMutationUndoFactory = /* @__PURE__ */ __name((accessor, param) => ({ id: DeleteConditionalRuleMutation.id, params: { unitId: param.unitId, subUnitId: param.subUnitId, cfId: param.rule.cfId } }), "AddConditionalRuleMutationUndoFactory"), AddConditionalRuleMutation = {
328
241
  type: CommandType.MUTATION,
@@ -387,7 +300,85 @@ const AddConditionalRuleMutationUndoFactory = /* @__PURE__ */ __name((accessor,
387
300
  const { unitId, subUnitId, cfId } = params;
388
301
  return accessor.get(ConditionalFormattingRuleModel).deleteRule(unitId, subUnitId, cfId), !0;
389
302
  }
390
- }, ConditionalFormattingFormulaMarkDirty = {
303
+ }, _ConditionalFormattingViewModel = class _ConditionalFormattingViewModel {
304
+ constructor() {
305
+ // Map<unitID ,<sheetId ,ObjectMatrix>>
306
+ __publicField(this, "_model", /* @__PURE__ */ new Map());
307
+ __publicField(this, "_markDirty$", new Subject());
308
+ __publicField(this, "markDirty$", this._markDirty$.asObservable());
309
+ }
310
+ _ensureMatrix(unitId, subUnitId) {
311
+ let _matrix = this.getMatrix(unitId, subUnitId);
312
+ if (!_matrix) {
313
+ _matrix = new ObjectMatrix();
314
+ let unitModel = this._model.get(unitId);
315
+ unitModel || (unitModel = /* @__PURE__ */ new Map(), this._model.set(unitId, unitModel)), unitModel.set(subUnitId, _matrix);
316
+ }
317
+ return _matrix;
318
+ }
319
+ getMatrix(unitId, subUnitId) {
320
+ var _a5;
321
+ return (_a5 = this._model.get(unitId)) == null ? void 0 : _a5.get(subUnitId);
322
+ }
323
+ getCellCf(unitId, subUnitId, row, col, matrix) {
324
+ const _matrix = matrix != null ? matrix : this.getMatrix(unitId, subUnitId);
325
+ return _matrix ? _matrix.getValue(row, col) : null;
326
+ }
327
+ setCellCfRuleCache(unitId, subUnitId, row, col, cfId, value) {
328
+ const cell2 = this._ensureMatrix(unitId, subUnitId).getValue(row, col), item = cell2 == null ? void 0 : cell2.cfList.find((e) => e.cfId === cfId);
329
+ item && (item.ruleCache = value, item.isDirty = !1);
330
+ }
331
+ deleteCellCf(unitId, subUnitId, row, col, cfId, matrix) {
332
+ const _matrix = matrix != null ? matrix : this.getMatrix(unitId, subUnitId);
333
+ if (_matrix) {
334
+ const cellItem = _matrix.getValue(row, col);
335
+ if (cellItem) {
336
+ const cfList = cellItem.cfList, index = cfList.findIndex((item) => item.cfId === cfId);
337
+ index > -1 && cfList.splice(index, 1), cfList.length || _matrix.realDeleteValue(row, col);
338
+ }
339
+ }
340
+ }
341
+ pushCellCf(unitId, subUnitId, row, col, cfId) {
342
+ const _matrix = this._ensureMatrix(unitId, subUnitId);
343
+ let cellValue = _matrix.getValue(row, col);
344
+ if (!cellValue)
345
+ cellValue = { cfList: [{ cfId, isDirty: !0 }] };
346
+ else {
347
+ const cfIdList = cellValue.cfList;
348
+ if (cfIdList.findIndex((item) => item.cfId === cfId) > -1)
349
+ return;
350
+ cfIdList.push({ cfId, isDirty: !0 });
351
+ }
352
+ _matrix.setValue(row, col, cellValue);
353
+ }
354
+ sortCellCf(unitId, subUnitId, row, col, cfPriorityMap) {
355
+ const cell2 = this.getCellCf(unitId, subUnitId, row, col);
356
+ if (cell2) {
357
+ const sortResult = cell2.cfList.map((cf) => {
358
+ const priority = cfPriorityMap.get(cf.cfId);
359
+ return priority === void 0 ? null : { ...cf, priority };
360
+ }).filter((item) => !!item).sort((a, b) => a.priority - b.priority);
361
+ cell2.cfList = sortResult;
362
+ }
363
+ }
364
+ markRuleDirty(unitId, subUnitId, rule, row, col) {
365
+ const handleCell = /* @__PURE__ */ __name((row2, col2) => {
366
+ const cell2 = this.getCellCf(unitId, subUnitId, row2, col2);
367
+ if (cell2) {
368
+ const ruleItem = cell2.cfList.find((item) => item.cfId === rule.cfId);
369
+ ruleItem && (ruleItem.isDirty = !0);
370
+ }
371
+ }, "handleCell");
372
+ row !== void 0 && col !== void 0 ? (handleCell(row, col), this._markDirty$.next({ rule, unitId, subUnitId })) : (rule.ranges.forEach((range) => {
373
+ Range.foreach(range, (row2, col2) => {
374
+ handleCell(row2, col2);
375
+ });
376
+ }), this._markDirty$.next({ rule, unitId, subUnitId }));
377
+ }
378
+ };
379
+ __name(_ConditionalFormattingViewModel, "ConditionalFormattingViewModel");
380
+ let ConditionalFormattingViewModel = _ConditionalFormattingViewModel;
381
+ const ConditionalFormattingFormulaMarkDirty = {
391
382
  type: CommandType.MUTATION,
392
383
  id: "sheet.mutation.conditional-formatting-formula-mark-dirty",
393
384
  handler() {
@@ -565,6 +556,57 @@ ConditionalFormattingFormulaService = __decorateClass$2([
565
556
  __decorateParam$2(3, Inject(ConditionalFormattingViewModel)),
566
557
  __decorateParam$2(4, Inject(ConditionalFormattingRuleModel))
567
558
  ], ConditionalFormattingFormulaService);
559
+ const dataBarUKey = "sheet-conditional-rule-data-bar", defaultDataBarPositiveColor = "#ffbe38", defaultDataBarNativeColor = "#abd91a", EXTENSION_Z_INDEX$1 = 34, _DataBar = class _DataBar extends SheetExtension {
560
+ constructor() {
561
+ super(...arguments);
562
+ __publicField(this, "_paddingRightAndLeft", 2);
563
+ __publicField(this, "_paddingTopAndBottom", 2);
564
+ __publicField(this, "uKey", dataBarUKey);
565
+ __publicField(this, "Z_INDEX", EXTENSION_Z_INDEX$1);
566
+ __publicField(this, "_radius", 1);
567
+ }
568
+ draw(ctx, parentScale, spreadsheetSkeleton, diffRanges) {
569
+ const { rowHeightAccumulation, columnWidthAccumulation, worksheet, dataMergeCache } = spreadsheetSkeleton;
570
+ if (!worksheet)
571
+ return !1;
572
+ ctx.save(), Range.foreach(spreadsheetSkeleton.rowColumnSegment, (row, col) => {
573
+ const cellData = worksheet.getCell(row, col);
574
+ if (cellData && cellData.dataBar) {
575
+ if (!worksheet.getColVisible(col) || !worksheet.getRowRawVisible(row))
576
+ return;
577
+ const { color, value, startPoint, isGradient } = cellData.dataBar, cellInfo = this.getCellIndex(row, col, rowHeightAccumulation, columnWidthAccumulation, dataMergeCache);
578
+ let { isMerged, isMergedMainCell, mergeInfo, startY, endY, startX, endX } = cellInfo;
579
+ if (isMerged || (isMergedMainCell && (startY = mergeInfo.startY, endY = mergeInfo.endY, startX = mergeInfo.startX, endX = mergeInfo.endX), !this.isRenderDiffRangesByCell(mergeInfo, diffRanges)))
580
+ return;
581
+ const borderWidth = endX - startX, borderHeight = endY + FIX_ONE_PIXEL_BLUR_OFFSET - startY, width = borderWidth - this._paddingRightAndLeft * 2, height = borderHeight - this._paddingTopAndBottom * 2;
582
+ if (value > 0) {
583
+ const dataBarWidth = Math.max(width * (1 - startPoint / 100) * value / 100, 1), x0 = startX + this._paddingRightAndLeft + startPoint / 100 * width, y0 = startY + this._paddingTopAndBottom;
584
+ if (isGradient) {
585
+ const gradient = ctx.createLinearGradient(x0, y0, x0 + dataBarWidth, y0);
586
+ gradient.addColorStop(0, color), gradient.addColorStop(1, "rgb(255 255 255)"), ctx.fillStyle = gradient, ctx.strokeStyle = color, ctx.lineWidth = 1;
587
+ } else
588
+ ctx.fillStyle = color;
589
+ this._drawRectWithRoundedCorner(ctx, x0, y0, dataBarWidth, height, !1, !0, !0, !1), isGradient && ctx.stroke();
590
+ } else {
591
+ const dataBarWidth = Math.max(width * startPoint / 100 * Math.abs(value) / 100, 1), x0 = startX + this._paddingRightAndLeft + startPoint / 100 * width - dataBarWidth, y0 = startY + this._paddingTopAndBottom;
592
+ if (isGradient) {
593
+ const gradient = ctx.createLinearGradient(x0, y0, x0 + dataBarWidth, y0);
594
+ gradient.addColorStop(0, "rgb(255 255 255)"), gradient.addColorStop(1, color), ctx.fillStyle = gradient, ctx.strokeStyle = color, ctx.lineWidth = 1;
595
+ } else
596
+ ctx.fillStyle = color;
597
+ this._drawRectWithRoundedCorner(ctx, x0, y0, dataBarWidth, height, !0, !1, !1, !0), isGradient && ctx.stroke();
598
+ }
599
+ }
600
+ }), ctx.restore();
601
+ }
602
+ _drawRectWithRoundedCorner(ctx, x, y, width, height, topLeftRadius, topRightRadius, bottomRightRadius, bottomLeftRadius) {
603
+ const radius = this._radius;
604
+ !height || !width || (ctx.beginPath(), ctx.moveTo(x + radius, y), ctx.lineTo(x + width - radius, y), topRightRadius ? ctx.arcTo(x + width, y, x + width, y + radius, radius) : ctx.lineTo(x + width, y), ctx.lineTo(x + width, y + height - radius), bottomRightRadius ? ctx.arcTo(x + width, y + height, x + width - radius, y + height, radius) : ctx.lineTo(x + width, y + height), ctx.lineTo(x + radius, y + height), bottomLeftRadius ? ctx.arcTo(x, y + height, x, y + height - radius, radius) : ctx.lineTo(x, y + height), ctx.lineTo(x, y + radius), topLeftRadius ? ctx.arcTo(x, y, x + radius, y, radius) : ctx.lineTo(x, y), ctx.closePath(), ctx.fill());
605
+ }
606
+ };
607
+ __name(_DataBar, "DataBar");
608
+ let DataBar = _DataBar;
609
+ SpreadsheetExtensionRegistry.add(DataBar);
568
610
  function isFloatsEqual(a, b) {
569
611
  return Math.abs(a - b) < Number.EPSILON;
570
612
  }
@@ -784,7 +826,7 @@ const dataBarCellCalculateUnit = {
784
826
  if (value > max)
785
827
  return;
786
828
  const v = getSafeValue((max - value) / length * 100);
787
- computeResult.setValue(row, col, { color: ruleConfig.config.nativeColor, startPoint, value: -v, isGradient, isShowValue });
829
+ computeResult.setValue(row, col, { color: ruleConfig.config.nativeColor || defaultDataBarNativeColor, startPoint, value: -v, isGradient, isShowValue });
788
830
  });
789
831
  } else if (min < 0 && max > 0) {
790
832
  const length = Math.abs(max) + Math.abs(min), startPoint = Math.abs(min) / length * 100;
@@ -795,7 +837,7 @@ const dataBarCellCalculateUnit = {
795
837
  computeResult.setValue(row, col, { color: ruleConfig.config.positiveColor, startPoint, value: v, isGradient, isShowValue });
796
838
  } else {
797
839
  const v = getSafeValue(Math.min(Math.abs(value) / Math.abs(min), 1) * 100);
798
- computeResult.setValue(row, col, { color: ruleConfig.config.nativeColor, startPoint, value: -v, isGradient, isShowValue });
840
+ computeResult.setValue(row, col, { color: ruleConfig.config.nativeColor || defaultDataBarNativeColor, startPoint, value: -v, isGradient, isShowValue });
799
841
  }
800
842
  });
801
843
  } else if (min >= 0 && max > 0) {
@@ -804,7 +846,7 @@ const dataBarCellCalculateUnit = {
804
846
  if (value < min)
805
847
  return;
806
848
  const v = getSafeValue((1 - (max - value) / length) * 100);
807
- computeResult.setValue(row, col, { color: ruleConfig.config.positiveColor, startPoint, value: v, isGradient, isShowValue });
849
+ computeResult.setValue(row, col, { color: ruleConfig.config.positiveColor || defaultDataBarPositiveColor, startPoint, value: v, isGradient, isShowValue });
808
850
  });
809
851
  }
810
852
  }
@@ -1447,57 +1489,6 @@ function removeUndefinedAttr(obj) {
1447
1489
  return result;
1448
1490
  }
1449
1491
  __name(removeUndefinedAttr, "removeUndefinedAttr");
1450
- const dataBarUKey = "sheet-conditional-rule-data-bar", EXTENSION_Z_INDEX$1 = 34, _DataBar = class _DataBar extends SheetExtension {
1451
- constructor() {
1452
- super(...arguments);
1453
- __publicField(this, "_paddingRightAndLeft", 2);
1454
- __publicField(this, "_paddingTopAndBottom", 2);
1455
- __publicField(this, "uKey", dataBarUKey);
1456
- __publicField(this, "Z_INDEX", EXTENSION_Z_INDEX$1);
1457
- __publicField(this, "_radius", 1);
1458
- }
1459
- draw(ctx, parentScale, spreadsheetSkeleton, diffRanges) {
1460
- const { rowHeightAccumulation, columnWidthAccumulation, worksheet, dataMergeCache } = spreadsheetSkeleton;
1461
- if (!worksheet)
1462
- return !1;
1463
- ctx.save(), Range.foreach(spreadsheetSkeleton.rowColumnSegment, (row, col) => {
1464
- const cellData = worksheet.getCell(row, col);
1465
- if (cellData && cellData.dataBar) {
1466
- if (!worksheet.getColVisible(col) || !worksheet.getRowRawVisible(row))
1467
- return;
1468
- const { color, value, startPoint, isGradient } = cellData.dataBar, cellInfo = this.getCellIndex(row, col, rowHeightAccumulation, columnWidthAccumulation, dataMergeCache);
1469
- let { isMerged, isMergedMainCell, mergeInfo, startY, endY, startX, endX } = cellInfo;
1470
- if (isMerged || (isMergedMainCell && (startY = mergeInfo.startY, endY = mergeInfo.endY, startX = mergeInfo.startX, endX = mergeInfo.endX), !this.isRenderDiffRangesByCell(mergeInfo, diffRanges)))
1471
- return;
1472
- const borderWidth = endX - startX, borderHeight = endY + FIX_ONE_PIXEL_BLUR_OFFSET - startY, width = borderWidth - this._paddingRightAndLeft * 2, height = borderHeight - this._paddingTopAndBottom * 2;
1473
- if (value > 0) {
1474
- const dataBarWidth = Math.max(width * (1 - startPoint / 100) * value / 100, 1), x0 = startX + this._paddingRightAndLeft + startPoint / 100 * width, y0 = startY + this._paddingTopAndBottom;
1475
- if (isGradient) {
1476
- const gradient = ctx.createLinearGradient(x0, y0, x0 + dataBarWidth, y0);
1477
- gradient.addColorStop(0, color), gradient.addColorStop(1, "rgb(255 255 255)"), ctx.fillStyle = gradient, ctx.strokeStyle = color, ctx.lineWidth = 1;
1478
- } else
1479
- ctx.fillStyle = color;
1480
- this._drawRectWithRoundedCorner(ctx, x0, y0, dataBarWidth, height, !1, !0, !0, !1), isGradient && ctx.stroke();
1481
- } else {
1482
- const dataBarWidth = Math.max(width * startPoint / 100 * Math.abs(value) / 100, 1), x0 = startX + this._paddingRightAndLeft + startPoint / 100 * width - dataBarWidth, y0 = startY + this._paddingTopAndBottom;
1483
- if (isGradient) {
1484
- const gradient = ctx.createLinearGradient(x0, y0, x0 + dataBarWidth, y0);
1485
- gradient.addColorStop(0, "rgb(255 255 255)"), gradient.addColorStop(1, color), ctx.fillStyle = gradient, ctx.strokeStyle = color, ctx.lineWidth = 1;
1486
- } else
1487
- ctx.fillStyle = color;
1488
- this._drawRectWithRoundedCorner(ctx, x0, y0, dataBarWidth, height, !0, !1, !1, !0), isGradient && ctx.stroke();
1489
- }
1490
- }
1491
- }), ctx.restore();
1492
- }
1493
- _drawRectWithRoundedCorner(ctx, x, y, width, height, topLeftRadius, topRightRadius, bottomRightRadius, bottomLeftRadius) {
1494
- const radius = this._radius;
1495
- !height || !width || (ctx.beginPath(), ctx.moveTo(x + radius, y), ctx.lineTo(x + width - radius, y), topRightRadius ? ctx.arcTo(x + width, y, x + width, y + radius, radius) : ctx.lineTo(x + width, y), ctx.lineTo(x + width, y + height - radius), bottomRightRadius ? ctx.arcTo(x + width, y + height, x + width - radius, y + height, radius) : ctx.lineTo(x + width, y + height), ctx.lineTo(x + radius, y + height), bottomLeftRadius ? ctx.arcTo(x, y + height, x, y + height - radius, radius) : ctx.lineTo(x, y + height), ctx.lineTo(x, y + radius), topLeftRadius ? ctx.arcTo(x, y, x + radius, y, radius) : ctx.lineTo(x, y), ctx.closePath(), ctx.fill());
1496
- }
1497
- };
1498
- __name(_DataBar, "DataBar");
1499
- let DataBar = _DataBar;
1500
- SpreadsheetExtensionRegistry.add(DataBar);
1501
1492
  const feedback = {
1502
1493
  mistake: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAAEi6oPRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgAElEQVR4AQGHUXiuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ktL//5LS//+S0v//ktL/wAAAAAAAAAAAAAAAAAAAAAA/ktL//5fX//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAP5LS//+S0v////////////+S0v//ktL/wAAAAAAAAAAAAAAAAD+S0v//ktL/////////////ktL//5LS/8AAAAAAAAAAAAAAAAA/ktL//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9S0vq/ktL//5LS//+S0v//0xMPAAAAAAAAAAAAAAAAAAAAAAA/ktL//5YWP/+S0v//7+///5LS/8AAAAAAAAAAAAAAAAA/ktL//5LS//+WFj//9zc//5LS//+S0v//ktL/wAAAAAAAAAAAP5LS//+S0v//9ra//5WVv/+WFj//ktL//1LS+YAAAAAAAAAAAAAAAAA/ktL//5LS//+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAP9FRRb+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ktL//5LS//+S0v//ktL//1KStcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP1LS+f+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///Tk4aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL//5XV////////lhY//5LS///3Nz///////5LS//+S0v//ktL//9LSy8AAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL///a2v///////lhY//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAA/UpK1/5LS//+S0v//7+////////+S0v//ktL//5YWP///////ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/TEw8/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0pKMP5LS//+S0v//UtL5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9LS3r+S0v//ktL//5LS//+S0v//0xMFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL///u7v/+S0v//ktL//5LS//+S0v//8rK//5LS//+S0v//UpKjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS/////////////5LS//+S0v////////c3P/+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAAAAAAD/T08Q/ktL//5LS//+S0v//ktL///////////////////c3P/+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAA/0pKT/5LS//+S0v//ktL//5LS//+S0v////////////+S0v//ktL//5LS//+S0v//ktL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v////////d3f////////////5LS//+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ktL//5LS//+S0v////////c3P/+S0v//ktL/////////////ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP1LS+7+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0xMFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//UpK9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//UtLvgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9Skq1/ktL//5LS///S0tzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9LSxH/S0tE/0pKT/9KSjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0tLXv5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1KSu//VVUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9S0v7/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///S0tOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9KSm3+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9LS3r+S0v//ktL//5LS//+S0v//ktL///u7v////////////5YWP/+S0v//ktL//5LS//+S0v//ktL///c3P////////////5LS//+S0v//ktL//5LS//+S0v//ktL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//lZW//////////////////5YWP/+S0v//9ra/////////////93d//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9Skq1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/SUlC/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//lZW////////////////////////3d3//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0tLM/5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL///a2v////////////////////////////5YWP/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//9ra/////////////93d//5LS//+S0v//lZW//////////////////5YWP/+S0v//ktL//5LS//+S0v//ktL//5LS///S0tzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1BQE/5LS//+S0v//ktL//5LS//+S0v//8rK////////3Nz//ktL//5LS//+S0v//ktL//5LS//+S0v//lhY/////////////ktL//5LS//+S0v//ktL//5LS//9S0v0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/VVUD/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0u7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/TExN/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1KSvUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/UpKjP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9Skrz/0xMFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9KSjD/SkpP/0tLRP9PTxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9ISBX9S0vY/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///S0t6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/39/Av1KSuz+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///S0tvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0xMP/5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS+kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0xMUP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//UtL+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0pKGP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0vpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//9MTGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP1KSpD+S0v//ktL//5LS//+S0v//ktL///Ly///v7///ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5XV///7u7//l5e//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL//5LS//////////////c3P/+S0v//ktL//5LS//+S0v//ktL//5YWP/////////////t7f/+S0v//ktL//5LS//+S0v//ktL//9KSngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/TEwy/ktL//5LS//+S0v//ktL//5LS//+S0v//9zc/////////////9zc//5LS//+S0v//ktL//5YWP/////////////////+V1f//ktL//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/UpKuP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///2tr/////////////3d3//ktL//5WVv/////////////////+WFj//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL///c3P/////////////c3P/////////////////+WFj//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///T08QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//9ra///////////////////////+WFj//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0tLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv//////////////////3d3//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//9LS04AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv/////////////////////////////d3f/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///SEgxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9S0vp/ktL//5LS//+S0v//n9OAxEAACAASURBVEtL//5LS//+S0v//ktL//5WVv/////////////////+WFj//9ra/////////////93d//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0tLd/5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv/////////////////+WFj//ktL//5LS///2tr/////////////3d3//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+S0v//ktL//5LS//+S0v//ktL//5LS//////////////////+WFj//ktL//5LS//+S0v//ktL///c3P////////////+/v//+S0v//ktL//5LS//+S0v//ktL//1LS9UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/UpK8/5LS//+S0v//ktL//5LS//+S0v////////////+WFj//ktL//5LS//+S0v//ktL//5LS//+S0v//9zc////////ycn//ktL//5LS//+S0v//ktL//5LS///SEgVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9FRRb+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9SkrsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/UtLvv5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//39/AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9Skr2/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0xMOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP1KSvX+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0lJTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/UpKuf5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0dHGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/SEgV/UtL9P5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0uLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0pKdP1LS+f+S0v//ktL//5LS//+S0v//UtLtP9LSy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9LSzP/S0t3/UtLt/1LS+n+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS+n9S0u2/0tLdv9MTDIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/01NF/1KSpD9Skr1/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0v0/UtLjv9FRRYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9NTRf9S0u7/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1KSsD/Tk4aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0tLTv1KSvb+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS/j/SUlTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/TEw//UtL9/5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1KSvb/SUk7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9VVQP9S0vB/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS77/f38CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9NTRf9Skrv/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//UtL7v9ISBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9QUBP9Skrz/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL///Ly///////////////////3Nz//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5YWP//3Nz//////////////////8rK//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0v0/0hIFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9SkrX/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///vr7/////////////////////////////3Nz//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//lhY///c3P////////////////////////////++vv/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS9YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/S0t3/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv//2tr/////////////////////////////3d3//lhY//5LS//+S0v//ktL//5LS//+Vlb//9ra/////////////////////////////93d//5YWP/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0pKdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/UtL6v5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv//2tr/////////////////////////////3d3//lhY//5WVv//2tr/////////////////////////////3d3//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS+cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0tLM/5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv//2tr////////////////////////////////////////////////////////d3f/+WFj//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0hIMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9KSk/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv//2tr//////////////////////////////////93d//5YWP/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//9LS04AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/SUlC/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5WVv//2tr/////////////////////////////////////////////3d3//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///S0tAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/09PEP5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//lhY///c3P/////////////////////////////c3P//3Nz/////////////////////////////3Nz//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//0REDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD9S0u3/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+Vlb//9ra////////////////////////7Y/JkwAAEZJJREFU/////93d//5YWP/+S0v//ktL//5WVv//2tr/////////////////////////////3d3//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//UpKtQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0hIMf5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5YWP//3Nz/////////////////////////////3Nz//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5YWP//3Nz/////////////////////////////3Nz//lhY//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//9LSy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/S0t6/ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS///7u7////////////////////////c3P/+WFj//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5YWP//3Nz////////////////////////t7f/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//9LS3cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP1KSo/+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//l5e///Kyv//7e3//729//5XV//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5XV///vr7//+3t///Jyf/+Xl7//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS4oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0pKav5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//9LS2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/TU0X/UtL5/5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//UpK6P9HRxkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/S0tO/UtL+/5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0v7/0lJTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/SUk7/UpK6P5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//1LS+b/TEw5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAB/0tLXv1KSuv+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0vu/0tLb/9VVQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP9MTBT/Skp4/UtL1f5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//+S0v//ktL//5LS//9S0vV/0tLd/9QUBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/0RED/9LSy//SUlC/0tLTv9LS07/SUlC/0tLL/9ERA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGKRZfDz6XWsAAAAASUVORK5CYII=",
1503
1494
  warn: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAAEi6oPRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgAElEQVR4AQGHUXiuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703//+9N///vTf//703/wAAAAAAAAAAAAAAAAAAAAAA/703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703/wAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N/8AAAAAAAAAAAAAAAAA/703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDbq/703//+9N///vTf//7s3PAAAAAAAAAAAAAAAAAAAAAAA/703//+9N////////703//+9N/8AAAAAAAAAAAAAAAAA/703//+9N///vTf///////+9N///vTf//703/wAAAAAAAAAAAP+9N///vTf//703////////vTf//703//+8N+YAAAAAAAAAAAAAAAAA/703//+9N////////703//+9N/8AAAAAAAAAAAAAAAAAAAAAAP+5ORb/vTf//703//+9N/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703//+9N///vTf//703//+8NtcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+8N+f/vTf//703//+9N///vTf//788//+9N///vTf//703//+9N///ujoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703////////vTf//703//+9N///vTf//703//+9Ni8AAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N////////703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w21/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/uzc8/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/781MP+9N///vTf//7w35wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+8Nnr/vTf//703//+9N///vTf//78zFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf////////+/P//vTf//703//+9N///vTf//702jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703////////9uT//703//+9N///vTf//703//+9N/8AAAAAAAAAAAAAAAAAAAAAAAAAAAD/vy8Q/703//+9N///vTf//703//+9N////////+/O//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAA/742T/+9N///vTf//703//+9N///vTf////////ntv//vTf//703//+9N///vTf//703/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703////////2o7//703//+9N///vTf//703//+9N/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+8Nu7/vTf//703//+9N///vTf////////Yif//vTf//703//+9N///vTf//78zFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7039QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N///vTf//703vgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDa1/703//+9N///vDdzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/DPBH/uzhE/742T/+/NTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/702Xv+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8N+//qlUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDb7/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTdOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9OG3/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N//////////////ouv//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+8Nnr/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/////////////+vD//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//////////////LZ//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDa1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTZC/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N//////////////rwv//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/743M/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/////////////46r//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///CR///2o7//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDdzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7s1E/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///0nj///HV//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/qlUD/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//9uT///78v//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTa7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDhN/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N/UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/702jP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDbz/78zFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+/NTD/vjZP/7s4RP+/LxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/CPBX/vDfY/703//+9N///vTf//703//+9N///vTf//703//+9N///vDZ6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/38AAv+9N+z/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDdvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/744P/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9NukAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w2UP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7w2+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/781GP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+/PP//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTbpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///pvP////////////+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8NWgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9NpD/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N////vz/////////////vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf///rx/////////////703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDgy/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///25f////////////+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w3uP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///89n/////////////vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//+/O/////////////703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vy8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///rw/////////////+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7s3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///57f/////////////vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N04AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//+Or/////////////703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///uzkxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTbp/703//+9N///vTf//+NbBUAAACAASURBVL03//+9N///vTf//703//+9N///vTf//703///aj/////////////+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w3d/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//9qO///CR///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N9UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w28/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///8dX//9J3//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///wjwVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+5ORb/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///2In/////////////vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTfsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703vv+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///78v//25L//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//38AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDb2/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7s1OQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N/X/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7s1TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w3uf+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//8EzGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wjwV/7039P+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDeLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/702dP+8N+f/vTf//703//+9N///vTf//7w3tP+9Ni8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP++NzP/vDd3/702t/+9Nun/vTf//703//+9N///vTf//703//+9N///vTf//703//+9Nun/vTa2/7w2dv+8ODIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w3F/+9NpD/vTf1/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf0/7w3jv+5ORYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+8Nxf/vTa7/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8NsD/ujoaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/703Tv+8Nvb/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9Nvj/vjdTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vjg//7w29/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8Nvb/vjg7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+qVQP/vDfB/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///wkf//+rA///9+v///fr//+q////CRv//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N77/fwACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+8Nxf/vDfv/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf///z2/////////////////////////Pb//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7w27v/CPBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+7NRP/vDbz/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///89v////////////////////////z2//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf0/8I8FQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDbX/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///+Ov////////////////////////46v//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9NtYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDd3/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf///Xg////////////////////////9N///703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//702dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7w26v+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///x1P////////////////////////HT//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8N+cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/743M/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///7cj////////////////////////tx///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7s5MQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP++Nk//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//+m8////////////////////////6bz//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N04AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTZC/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///lsf///////////////////////+Wx//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///uzdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/78vEP+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///4ab////////////////////////hpf//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7szDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTa3/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N////YRJVQAAEZJJREFUvTf//8JH///46v/////////////46f//wkf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7w2tQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7s5Mf+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9Ni8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDZ6/703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8N3cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+9N4//vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//8la///+/P/////////////+/P//yFr//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8N4oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/743av+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703///MZf///////////////////////8xk//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N2UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vDcX/7w35/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9OP//vTj//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//7026P/BMxkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vTdO/7w2+/+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDb7/7s1TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/vjg7/7026P+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+8N+b/uzU5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//wAB/702Xv+8N+v/vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vDbu/7w3b/+qVQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+/MxT/vTd4/7031f+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTf//703//+9N///vTfV/7w3d/+7NRMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7szD/+9Ni//vTZC/703Tv+9N07/vTZC/702L/+7Mw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxqRy32EZB6AAAAAASUVORK5CYII=",
@@ -1759,6 +1750,8 @@ export {
1759
1750
  createDefaultValue,
1760
1751
  createDefaultValueByValueType,
1761
1752
  dataBarUKey,
1753
+ defaultDataBarNativeColor,
1754
+ defaultDataBarPositiveColor,
1762
1755
  filterRange,
1763
1756
  findIndexByAnchor,
1764
1757
  getCacheStyleMatrix,