@design.estate/dees-catalog 6.12.1 → 7.0.0
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/.smartconfig.json +5 -1
- package/dist_bundle/bundle.js +24088 -1233
- package/dist_bundle/bundle.js.map +1 -0
- package/dist_bundle/chunks/U6Ua8p1giFoD1s7vrUZUdpbg/.tsbundle-artifacts.json +7 -0
- package/dist_bundle/chunks/U6Ua8p1giFoD1s7vrUZUdpbg/worker-KZQQYSUG.js +58301 -0
- package/dist_bundle/chunks/U6Ua8p1giFoD1s7vrUZUdpbg/worker-KZQQYSUG.js.map +1 -0
- package/dist_bundle/third-party-notices.md +190 -0
- package/dist_ts_web/00_commitinfo_data.js +2 -2
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.d.ts +4 -1
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.js +29 -2
- package/dist_ts_web/elements/00group-harness/dees-harness-session-sidebar/dees-harness-session-sidebar.d.ts +4 -1
- package/dist_ts_web/elements/00group-harness/dees-harness-session-sidebar/dees-harness-session-sidebar.js +65 -8
- package/dist_ts_web/elements/00group-harness/interfaces.d.ts +1 -0
- package/dist_ts_web/elements/00group-media/dees-pdf-shared/CanvasPool.d.ts +1 -0
- package/dist_ts_web/elements/00group-media/dees-pdf-shared/CanvasPool.js +15 -1
- package/dist_ts_web/elements/00group-media/dees-pdf-shared/PdfManager.d.ts +6 -4
- package/dist_ts_web/elements/00group-media/dees-pdf-shared/PdfManager.js +183 -21
- package/dist_ts_web/elements/00group-media/dees-pdf-shared/utils.d.ts +3 -0
- package/dist_ts_web/elements/00group-media/dees-pdf-shared/utils.js +67 -1
- package/dist_ts_web/elements/00group-media/dees-pdf-viewer/component.d.ts +25 -1
- package/dist_ts_web/elements/00group-media/dees-pdf-viewer/component.js +693 -285
- package/dist_ts_web/elements/00group-media/dees-pdf-viewer/demo.js +7 -7
- package/dist_ts_web/elements/00group-media/dees-thumbnail-pdf/component.d.ts +20 -1
- package/dist_ts_web/elements/00group-media/dees-thumbnail-pdf/component.js +379 -116
- package/dist_ts_web/elements/00group-media/dees-thumbnail-pdf/demo.js +2 -2
- package/dist_ts_web/elements/00group-media/dees-thumbnail-shared/DeesThumbnailBase.d.ts +1 -0
- package/dist_ts_web/elements/00group-media/dees-thumbnail-shared/DeesThumbnailBase.js +7 -1
- package/package.json +5 -4
- package/readme.hints.md +26 -19
- package/readme.md +97 -53
- package/third-party-notices.md +190 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.ts +13 -0
- package/ts_web/elements/00group-harness/dees-harness-session-sidebar/dees-harness-session-sidebar.ts +51 -6
- package/ts_web/elements/00group-harness/interfaces.ts +2 -0
- package/ts_web/elements/00group-media/dees-pdf-shared/CanvasPool.ts +15 -1
- package/ts_web/elements/00group-media/dees-pdf-shared/PdfManager.ts +214 -24
- package/ts_web/elements/00group-media/dees-pdf-shared/utils.ts +77 -1
- package/ts_web/elements/00group-media/dees-pdf-viewer/component.ts +774 -327
- package/ts_web/elements/00group-media/dees-pdf-viewer/demo.ts +7 -7
- package/ts_web/elements/00group-media/dees-thumbnail-pdf/component.ts +427 -128
- package/ts_web/elements/00group-media/dees-thumbnail-pdf/demo.ts +1 -1
- package/ts_web/elements/00group-media/dees-thumbnail-shared/DeesThumbnailBase.ts +5 -0
|
@@ -80,6 +80,15 @@ let DeesHarnessSessionSidebar = (() => {
|
|
|
80
80
|
let _intelligenceEnabled_decorators;
|
|
81
81
|
let _intelligenceEnabled_initializers = [];
|
|
82
82
|
let _intelligenceEnabled_extraInitializers = [];
|
|
83
|
+
let _intelligenceAvailabilityStatus_decorators;
|
|
84
|
+
let _intelligenceAvailabilityStatus_initializers = [];
|
|
85
|
+
let _intelligenceAvailabilityStatus_extraInitializers = [];
|
|
86
|
+
let _intelligenceUnavailableReason_decorators;
|
|
87
|
+
let _intelligenceUnavailableReason_initializers = [];
|
|
88
|
+
let _intelligenceUnavailableReason_extraInitializers = [];
|
|
89
|
+
let _intelligenceHeading_decorators;
|
|
90
|
+
let _intelligenceHeading_initializers = [];
|
|
91
|
+
let _intelligenceHeading_extraInitializers = [];
|
|
83
92
|
let _intelligenceExchanges_decorators;
|
|
84
93
|
let _intelligenceExchanges_initializers = [];
|
|
85
94
|
let _intelligenceExchanges_extraInitializers = [];
|
|
@@ -126,6 +135,9 @@ let DeesHarnessSessionSidebar = (() => {
|
|
|
126
135
|
_scratchpadBusy_decorators = [property({ type: Boolean })];
|
|
127
136
|
_scratchpadError_decorators = [property()];
|
|
128
137
|
_intelligenceEnabled_decorators = [property({ type: Boolean })];
|
|
138
|
+
_intelligenceAvailabilityStatus_decorators = [property()];
|
|
139
|
+
_intelligenceUnavailableReason_decorators = [property()];
|
|
140
|
+
_intelligenceHeading_decorators = [property()];
|
|
129
141
|
_intelligenceExchanges_decorators = [property({ attribute: false })];
|
|
130
142
|
_intelligenceBusy_decorators = [property({ type: Boolean })];
|
|
131
143
|
_intelligenceError_decorators = [property()];
|
|
@@ -146,6 +158,9 @@ let DeesHarnessSessionSidebar = (() => {
|
|
|
146
158
|
__esDecorate(this, null, _scratchpadBusy_decorators, { kind: "accessor", name: "scratchpadBusy", static: false, private: false, access: { has: obj => "scratchpadBusy" in obj, get: obj => obj.scratchpadBusy, set: (obj, value) => { obj.scratchpadBusy = value; } }, metadata: _metadata }, _scratchpadBusy_initializers, _scratchpadBusy_extraInitializers);
|
|
147
159
|
__esDecorate(this, null, _scratchpadError_decorators, { kind: "accessor", name: "scratchpadError", static: false, private: false, access: { has: obj => "scratchpadError" in obj, get: obj => obj.scratchpadError, set: (obj, value) => { obj.scratchpadError = value; } }, metadata: _metadata }, _scratchpadError_initializers, _scratchpadError_extraInitializers);
|
|
148
160
|
__esDecorate(this, null, _intelligenceEnabled_decorators, { kind: "accessor", name: "intelligenceEnabled", static: false, private: false, access: { has: obj => "intelligenceEnabled" in obj, get: obj => obj.intelligenceEnabled, set: (obj, value) => { obj.intelligenceEnabled = value; } }, metadata: _metadata }, _intelligenceEnabled_initializers, _intelligenceEnabled_extraInitializers);
|
|
161
|
+
__esDecorate(this, null, _intelligenceAvailabilityStatus_decorators, { kind: "accessor", name: "intelligenceAvailabilityStatus", static: false, private: false, access: { has: obj => "intelligenceAvailabilityStatus" in obj, get: obj => obj.intelligenceAvailabilityStatus, set: (obj, value) => { obj.intelligenceAvailabilityStatus = value; } }, metadata: _metadata }, _intelligenceAvailabilityStatus_initializers, _intelligenceAvailabilityStatus_extraInitializers);
|
|
162
|
+
__esDecorate(this, null, _intelligenceUnavailableReason_decorators, { kind: "accessor", name: "intelligenceUnavailableReason", static: false, private: false, access: { has: obj => "intelligenceUnavailableReason" in obj, get: obj => obj.intelligenceUnavailableReason, set: (obj, value) => { obj.intelligenceUnavailableReason = value; } }, metadata: _metadata }, _intelligenceUnavailableReason_initializers, _intelligenceUnavailableReason_extraInitializers);
|
|
163
|
+
__esDecorate(this, null, _intelligenceHeading_decorators, { kind: "accessor", name: "intelligenceHeading", static: false, private: false, access: { has: obj => "intelligenceHeading" in obj, get: obj => obj.intelligenceHeading, set: (obj, value) => { obj.intelligenceHeading = value; } }, metadata: _metadata }, _intelligenceHeading_initializers, _intelligenceHeading_extraInitializers);
|
|
149
164
|
__esDecorate(this, null, _intelligenceExchanges_decorators, { kind: "accessor", name: "intelligenceExchanges", static: false, private: false, access: { has: obj => "intelligenceExchanges" in obj, get: obj => obj.intelligenceExchanges, set: (obj, value) => { obj.intelligenceExchanges = value; } }, metadata: _metadata }, _intelligenceExchanges_initializers, _intelligenceExchanges_extraInitializers);
|
|
150
165
|
__esDecorate(this, null, _intelligenceBusy_decorators, { kind: "accessor", name: "intelligenceBusy", static: false, private: false, access: { has: obj => "intelligenceBusy" in obj, get: obj => obj.intelligenceBusy, set: (obj, value) => { obj.intelligenceBusy = value; } }, metadata: _metadata }, _intelligenceBusy_initializers, _intelligenceBusy_extraInitializers);
|
|
151
166
|
__esDecorate(this, null, _intelligenceError_decorators, { kind: "accessor", name: "intelligenceError", static: false, private: false, access: { has: obj => "intelligenceError" in obj, get: obj => obj.intelligenceError, set: (obj, value) => { obj.intelligenceError = value; } }, metadata: _metadata }, _intelligenceError_initializers, _intelligenceError_extraInitializers);
|
|
@@ -191,7 +206,16 @@ let DeesHarnessSessionSidebar = (() => {
|
|
|
191
206
|
#intelligenceEnabled_accessor_storage = (__runInitializers(this, _scratchpadError_extraInitializers), __runInitializers(this, _intelligenceEnabled_initializers, false));
|
|
192
207
|
get intelligenceEnabled() { return this.#intelligenceEnabled_accessor_storage; }
|
|
193
208
|
set intelligenceEnabled(value) { this.#intelligenceEnabled_accessor_storage = value; }
|
|
194
|
-
#
|
|
209
|
+
#intelligenceAvailabilityStatus_accessor_storage = (__runInitializers(this, _intelligenceEnabled_extraInitializers), __runInitializers(this, _intelligenceAvailabilityStatus_initializers, 'available'));
|
|
210
|
+
get intelligenceAvailabilityStatus() { return this.#intelligenceAvailabilityStatus_accessor_storage; }
|
|
211
|
+
set intelligenceAvailabilityStatus(value) { this.#intelligenceAvailabilityStatus_accessor_storage = value; }
|
|
212
|
+
#intelligenceUnavailableReason_accessor_storage = (__runInitializers(this, _intelligenceAvailabilityStatus_extraInitializers), __runInitializers(this, _intelligenceUnavailableReason_initializers, ''));
|
|
213
|
+
get intelligenceUnavailableReason() { return this.#intelligenceUnavailableReason_accessor_storage; }
|
|
214
|
+
set intelligenceUnavailableReason(value) { this.#intelligenceUnavailableReason_accessor_storage = value; }
|
|
215
|
+
#intelligenceHeading_accessor_storage = (__runInitializers(this, _intelligenceUnavailableReason_extraInitializers), __runInitializers(this, _intelligenceHeading_initializers, 'Session Intelligence'));
|
|
216
|
+
get intelligenceHeading() { return this.#intelligenceHeading_accessor_storage; }
|
|
217
|
+
set intelligenceHeading(value) { this.#intelligenceHeading_accessor_storage = value; }
|
|
218
|
+
#intelligenceExchanges_accessor_storage = (__runInitializers(this, _intelligenceHeading_extraInitializers), __runInitializers(this, _intelligenceExchanges_initializers, []));
|
|
195
219
|
get intelligenceExchanges() { return this.#intelligenceExchanges_accessor_storage; }
|
|
196
220
|
set intelligenceExchanges(value) { this.#intelligenceExchanges_accessor_storage = value; }
|
|
197
221
|
#intelligenceBusy_accessor_storage = (__runInitializers(this, _intelligenceExchanges_extraInitializers), __runInitializers(this, _intelligenceBusy_initializers, false));
|
|
@@ -443,6 +467,16 @@ let DeesHarnessSessionSidebar = (() => {
|
|
|
443
467
|
min-width: 0;
|
|
444
468
|
}
|
|
445
469
|
|
|
470
|
+
.intelligenceAvailability {
|
|
471
|
+
margin-bottom: var(--dees-spacing-sm);
|
|
472
|
+
padding: var(--dees-spacing-xs) var(--dees-spacing-sm);
|
|
473
|
+
border-radius: var(--dees-radius-md);
|
|
474
|
+
background: var(--dees-color-fill-secondary);
|
|
475
|
+
color: var(--dees-color-text-primary);
|
|
476
|
+
font-size: var(--dees-font-caption1-size, 11px);
|
|
477
|
+
line-height: 1.4;
|
|
478
|
+
}
|
|
479
|
+
|
|
446
480
|
.activityList,
|
|
447
481
|
.activityGroup {
|
|
448
482
|
display: grid;
|
|
@@ -952,7 +986,14 @@ let DeesHarnessSessionSidebar = (() => {
|
|
|
952
986
|
`);
|
|
953
987
|
}
|
|
954
988
|
renderIntelligence() {
|
|
955
|
-
|
|
989
|
+
const heading = this.intelligenceHeading.trim() || 'Session Intelligence';
|
|
990
|
+
const intelligenceAvailable = this.intelligenceAvailabilityStatus === 'available';
|
|
991
|
+
const availabilityMessage = this.intelligenceAvailabilityStatus === 'checking'
|
|
992
|
+
? `Checking ${heading} availability…`
|
|
993
|
+
: this.intelligenceAvailabilityStatus === 'unavailable'
|
|
994
|
+
? this.intelligenceUnavailableReason.trim() || `${heading} is unavailable.`
|
|
995
|
+
: '';
|
|
996
|
+
return this.renderSection('intelligence', heading, 'lucide:Sparkles', html `
|
|
956
997
|
<div class="intelligenceHistory" role="log" aria-live="polite">
|
|
957
998
|
${this.intelligenceExchanges.length ? html `
|
|
958
999
|
<div class="exchangeList">
|
|
@@ -961,14 +1002,22 @@ let DeesHarnessSessionSidebar = (() => {
|
|
|
961
1002
|
` : html `<div class="empty">Ask about this session without interrupting its main work.</div>`}
|
|
962
1003
|
</div>
|
|
963
1004
|
<div class="intelligenceComposer">
|
|
1005
|
+
<div
|
|
1006
|
+
class="intelligenceAvailabilityStatus"
|
|
1007
|
+
role="status"
|
|
1008
|
+
aria-live="polite"
|
|
1009
|
+
aria-atomic="true"
|
|
1010
|
+
>${availabilityMessage
|
|
1011
|
+
? html `<div class="intelligenceAvailability">${availabilityMessage}</div>`
|
|
1012
|
+
: ''}</div>
|
|
964
1013
|
<textarea
|
|
965
1014
|
class="intelligenceInput"
|
|
966
|
-
aria-label
|
|
1015
|
+
aria-label=${`Ask ${heading}`}
|
|
967
1016
|
placeholder="Ask a parallel question…"
|
|
968
1017
|
maxlength="8192"
|
|
969
1018
|
rows="2"
|
|
970
1019
|
.value=${this.intelligenceQuestion}
|
|
971
|
-
?disabled=${this.disabled || this.intelligenceBusy}
|
|
1020
|
+
?disabled=${this.disabled || this.intelligenceBusy || !intelligenceAvailable}
|
|
972
1021
|
@input=${(event) => {
|
|
973
1022
|
this.intelligenceQuestion = event.currentTarget.value;
|
|
974
1023
|
}}
|
|
@@ -986,7 +1035,10 @@ let DeesHarnessSessionSidebar = (() => {
|
|
|
986
1035
|
type="accent"
|
|
987
1036
|
text="Ask"
|
|
988
1037
|
.status=${this.intelligenceBusy ? 'pending' : 'normal'}
|
|
989
|
-
?disabled=${this.disabled
|
|
1038
|
+
?disabled=${this.disabled
|
|
1039
|
+
|| this.intelligenceBusy
|
|
1040
|
+
|| !intelligenceAvailable
|
|
1041
|
+
|| !this.intelligenceQuestion.trim()}
|
|
990
1042
|
@clicked=${this.askIntelligence}
|
|
991
1043
|
></dees-button>
|
|
992
1044
|
</div>
|
|
@@ -995,10 +1047,11 @@ let DeesHarnessSessionSidebar = (() => {
|
|
|
995
1047
|
`);
|
|
996
1048
|
}
|
|
997
1049
|
renderExchange(exchangeArg) {
|
|
1050
|
+
const heading = this.intelligenceHeading.trim() || 'Session Intelligence';
|
|
998
1051
|
const answer = exchangeArg.status === 'running'
|
|
999
1052
|
? 'Thinking in parallel…'
|
|
1000
1053
|
: exchangeArg.status === 'error'
|
|
1001
|
-
? exchangeArg.error ||
|
|
1054
|
+
? exchangeArg.error || `${heading} failed.`
|
|
1002
1055
|
: exchangeArg.answer || '';
|
|
1003
1056
|
return html `
|
|
1004
1057
|
<article class="exchange ${exchangeArg.status}">
|
|
@@ -1046,7 +1099,11 @@ let DeesHarnessSessionSidebar = (() => {
|
|
|
1046
1099
|
};
|
|
1047
1100
|
askIntelligence = () => {
|
|
1048
1101
|
const question = this.intelligenceQuestion.trim();
|
|
1049
|
-
if (!question
|
|
1102
|
+
if (!question
|
|
1103
|
+
|| !this.intelligenceEnabled
|
|
1104
|
+
|| this.intelligenceAvailabilityStatus !== 'available'
|
|
1105
|
+
|| this.disabled
|
|
1106
|
+
|| this.intelligenceBusy)
|
|
1050
1107
|
return;
|
|
1051
1108
|
const detail = { question };
|
|
1052
1109
|
this.dispatchEvent(new CustomEvent('harness-session-intelligence-ask', {
|
|
@@ -1063,4 +1120,4 @@ let DeesHarnessSessionSidebar = (() => {
|
|
|
1063
1120
|
return DeesHarnessSessionSidebar = _classThis;
|
|
1064
1121
|
})();
|
|
1065
1122
|
export { DeesHarnessSessionSidebar };
|
|
1066
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXNlc3Npb24tc2lkZWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWhhcm5lc3MvZGVlcy1oYXJuZXNzLXNlc3Npb24tc2lkZWJhci9kZWVzLWhhcm5lc3Mtc2Vzc2lvbi1zaWRlYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbEUsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsRUFDVixVQUFVLEdBQ1gsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVl0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxpREFBaUQsQ0FBQztBQUN6RCxPQUFPLDhDQUE4QyxDQUFDO0FBRXRELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUM7QUFFOUIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7QUFnQnhGOzs7R0FHRztJQUVVLHlCQUF5Qjs0QkFEckMsYUFBYSxDQUFDLDhCQUE4QixDQUFDOzs7O3NCQUNDLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7eUNBQW5C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
|
|
1123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXNlc3Npb24tc2lkZWJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWhhcm5lc3MvZGVlcy1oYXJuZXNzLXNlc3Npb24tc2lkZWJhci9kZWVzLWhhcm5lc3Mtc2Vzc2lvbi1zaWRlYmFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbEUsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsRUFDVixVQUFVLEdBQ1gsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQWF0RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RCxPQUFPLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxpREFBaUQsQ0FBQztBQUN6RCxPQUFPLDhDQUE4QyxDQUFDO0FBRXRELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUM7QUFFOUIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFFBQWdCLEVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7QUFnQnhGOzs7R0FHRztJQUVVLHlCQUF5Qjs0QkFEckMsYUFBYSxDQUFDLDhCQUE4QixDQUFDOzs7O3NCQUNDLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7eUNBQW5CLFNBQVEsV0FBVzs7OztpQ0FJdkQsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO3FDQUc5QixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7d0NBSTNCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzt3Q0FHOUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO21DQUc5QixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7c0NBRzlCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzswQ0FHOUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDOzJDQUczQixRQUFRLEVBQUU7K0NBR1YsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDOzBEQUczQixRQUFRLEVBQUU7eURBR1YsUUFBUSxFQUFFOytDQUdWLFFBQVEsRUFBRTtpREFHVixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7NENBRzlCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQzs2Q0FHM0IsUUFBUSxFQUFFO3NDQUlWLFFBQVEsRUFBRTtvQ0FHVixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7MkNBRzNCLEtBQUssRUFBRTttREFHUCxLQUFLLEVBQUU7MkNBR1AsS0FBSyxFQUFFOzJDQUdQLEtBQUssRUFBRTtnREFHUCxLQUFLLEVBQUU7MkNBR1AsS0FBSyxFQUFFO1lBbkVSLG9LQUFTLEtBQUssNkJBQUwsS0FBSyxxRkFBMEI7WUFHeEMsZ0xBQVMsU0FBUyw2QkFBVCxTQUFTLDZGQUFpQjtZQUluQyx5TEFBUyxZQUFZLDZCQUFaLFlBQVksbUdBQXlCO1lBRzlDLHlMQUFTLFlBQVksNkJBQVosWUFBWSxtR0FBNEQ7WUFHakYsMEtBQVMsT0FBTyw2QkFBUCxPQUFPLHlGQUE4QjtZQUc5QyxtTEFBUyxVQUFVLDZCQUFWLFVBQVUsK0ZBQTZDO1lBR2hFLCtMQUFTLGNBQWMsNkJBQWQsY0FBYyx1R0FBa0I7WUFHekMsa01BQVMsZUFBZSw2QkFBZixlQUFlLHlHQUFjO1lBR3RDLDhNQUFTLG1CQUFtQiw2QkFBbkIsbUJBQW1CLGlIQUFrQjtZQUc5QywrT0FBUyw4QkFBOEIsNkJBQTlCLDhCQUE4Qix1SUFBdUQ7WUFHOUYsNE9BQVMsNkJBQTZCLDZCQUE3Qiw2QkFBNkIscUlBQWM7WUFHcEQsOE1BQVMsbUJBQW1CLDZCQUFuQixtQkFBbUIsaUhBQWtDO1lBRzlELG9OQUFTLHFCQUFxQiw2QkFBckIscUJBQXFCLHFIQUFzQztZQUdwRSxxTUFBUyxnQkFBZ0IsNkJBQWhCLGdCQUFnQiwyR0FBa0I7WUFHM0Msd01BQVMsaUJBQWlCLDZCQUFqQixpQkFBaUIsNkdBQWM7WUFJeEMsbUxBQVMsVUFBVSw2QkFBVixVQUFVLCtGQUFjO1lBR2pDLDZLQUFTLFFBQVEsNkJBQVIsUUFBUSwyRkFBa0I7WUFHbkMsa01BQWlCLGVBQWUsNkJBQWYsZUFBZSx5R0FBYztZQUc5QywwTkFBaUIsdUJBQXVCLDZCQUF2Qix1QkFBdUIseUhBQWE7WUFHckQsa01BQWlCLGVBQWUsNkJBQWYsZUFBZSx5R0FBa0I7WUFHbEQsa01BQWlCLGVBQWUsNkJBQWYsZUFBZSx5R0FBa0I7WUFHbEQsaU5BQWlCLG9CQUFvQiw2QkFBcEIsb0JBQW9CLG1IQUFjO1lBR25ELGtNQUFpQixlQUFlLDZCQUFmLGVBQWUseUdBQWlEO1lBekVuRiw2S0FrK0JDOzs7O1FBaitCUSxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUN2QixNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFHMUMsdUVBQXFDLEVBQUUsRUFBQztRQUF4QyxJQUFTLEtBQUssMkNBQTBCO1FBQXhDLElBQVMsS0FBSyxpREFBMEI7UUFHeEMsbUlBQThCLElBQUksR0FBQztRQUFuQyxJQUFTLFNBQVMsK0NBQWlCO1FBQW5DLElBQVMsU0FBUyxxREFBaUI7UUFJbkMsNklBQTJDLEVBQUUsR0FBQztRQUY5QyxvRkFBb0Y7UUFFcEYsSUFBUyxZQUFZLGtEQUF5QjtRQUE5QyxJQUFTLFlBQVksd0RBQXlCO1FBRzlDLGdKQUFpRCx1QkFBdUIsQ0FBQyxPQUFPLEdBQUM7UUFBakYsSUFBUyxZQUFZLGtEQUE0RDtRQUFqRixJQUFTLFlBQVksd0RBQTREO1FBR2pGLHNJQUEyQyxFQUFFLEdBQUM7UUFBOUMsSUFBUyxPQUFPLDZDQUE4QjtRQUE5QyxJQUFTLE9BQU8sbURBQThCO1FBRzlDLHVJQUFzRCxTQUFTLEdBQUM7UUFBaEUsSUFBUyxVQUFVLGdEQUE2QztRQUFoRSxJQUFTLFVBQVUsc0RBQTZDO1FBR2hFLGtKQUFtQyxLQUFLLEdBQUM7UUFBekMsSUFBUyxjQUFjLG9EQUFrQjtRQUF6QyxJQUFTLGNBQWMsMERBQWtCO1FBR3pDLHdKQUFtQyxFQUFFLEdBQUM7UUFBdEMsSUFBUyxlQUFlLHFEQUFjO1FBQXRDLElBQVMsZUFBZSwyREFBYztRQUd0QyxpS0FBd0MsS0FBSyxHQUFDO1FBQTlDLElBQVMsbUJBQW1CLHlEQUFrQjtRQUE5QyxJQUFTLG1CQUFtQiwrREFBa0I7UUFHOUMsMkxBQWtGLFdBQVcsR0FBQztRQUE5RixJQUFTLDhCQUE4QixvRUFBdUQ7UUFBOUYsSUFBUyw4QkFBOEIsMEVBQXVEO1FBRzlGLG9NQUFpRCxFQUFFLEdBQUM7UUFBcEQsSUFBUyw2QkFBNkIsbUVBQWM7UUFBcEQsSUFBUyw2QkFBNkIseUVBQWM7UUFHcEQsK0tBQXVDLHNCQUFzQixHQUFDO1FBQTlELElBQVMsbUJBQW1CLHlEQUFrQztRQUE5RCxJQUFTLG1CQUFtQiwrREFBa0M7UUFHOUQseUtBQWlFLEVBQUUsR0FBQztRQUFwRSxJQUFTLHFCQUFxQiwyREFBc0M7UUFBcEUsSUFBUyxxQkFBcUIsaUVBQXNDO1FBR3BFLGlLQUFxQyxLQUFLLEdBQUM7UUFBM0MsSUFBUyxnQkFBZ0Isc0RBQWtCO1FBQTNDLElBQVMsZ0JBQWdCLDREQUFrQjtRQUczQyw4SkFBcUMsRUFBRSxHQUFDO1FBQXhDLElBQVMsaUJBQWlCLHVEQUFjO1FBQXhDLElBQVMsaUJBQWlCLDZEQUFjO1FBSXhDLGlKQUE4QixFQUFFLEdBQUM7UUFGakMsc0VBQXNFO1FBRXRFLElBQVMsVUFBVSxnREFBYztRQUFqQyxJQUFTLFVBQVUsc0RBQWM7UUFHakMsc0lBQTZCLEtBQUssR0FBQztRQUFuQyxJQUFTLFFBQVEsOENBQWtCO1FBQW5DLElBQVMsUUFBUSxvREFBa0I7UUFHbkMsa0pBQTJDLEVBQUUsR0FBQztRQUE5QyxJQUFpQixlQUFlLHFEQUFjO1FBQTlDLElBQWlCLGVBQWUsMkRBQWM7UUFHOUMseUtBQW1ELENBQUMsR0FBQztRQUFyRCxJQUFpQix1QkFBdUIsNkRBQWE7UUFBckQsSUFBaUIsdUJBQXVCLG1FQUFhO1FBR3JELGlLQUE0QyxLQUFLLEdBQUM7UUFBbEQsSUFBaUIsZUFBZSxxREFBa0I7UUFBbEQsSUFBaUIsZUFBZSwyREFBa0I7UUFHbEQseUpBQTRDLEtBQUssR0FBQztRQUFsRCxJQUFpQixlQUFlLHFEQUFrQjtRQUFsRCxJQUFpQixlQUFlLDJEQUFrQjtRQUdsRCxtS0FBZ0QsRUFBRSxHQUFDO1FBQW5ELElBQWlCLG9CQUFvQiwwREFBYztRQUFuRCxJQUFpQixvQkFBb0IsZ0VBQWM7UUFHbkQsOEpBQXVFLFNBQVMsR0FBQztRQUFqRixJQUFpQixlQUFlLHFEQUFpRDtRQUFqRixJQUFpQixlQUFlLDJEQUFpRDtRQUV6RSx1QkFBdUIsaUVBQUcsS0FBSyxFQUFDO1FBRWpDLE1BQU0sQ0FBQyxNQUFNLEdBQUc7WUFDckIsa0JBQWtCO1lBQ2xCLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FtZEY7U0FDRixDQUFDO1FBRVEsVUFBVSxDQUFDLG9CQUErQztZQUNsRSxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixJQUFJLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7Z0JBQ25ELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7WUFDdEMsQ0FBQztpQkFBTSxJQUNMLElBQUksQ0FBQyxlQUFlLEtBQUssU0FBUzttQkFDL0IsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUNwRCxDQUFDO2dCQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1lBQ3JELENBQUM7WUFDRCxJQUFJLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7Z0JBQUUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztZQUMzRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztnQkFBRSxPQUFPO1lBQ3BELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDN0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNWLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQzdCLE9BQU87WUFDVCxDQUFDO1lBQ0QsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBbUMsQ0FBQztZQUMxRixJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzVCLE9BQU87WUFDVCxDQUFDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDNUIsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHVCQUF1QjtnQkFBRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUNoRixDQUFDO1FBRUQsSUFBVyxpQkFBaUI7WUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztZQUNsRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1lBQzlDLElBQUksT0FBTyxLQUFLLFNBQVMsSUFBSSxPQUFPLEtBQUssU0FBUyxJQUFJLE9BQU8sSUFBSSxDQUFDO2dCQUFFLE9BQU8sU0FBUyxDQUFDO1lBQ3JGLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBRU0sTUFBTTtZQUNYLE9BQU8sSUFBSSxDQUFBOztVQUVMLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtVQUN4QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTtVQUNoRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7VUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7VUFDOUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTs7S0FFOUQsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFZLFVBQVU7WUFDcEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsSUFBWSxtQkFBbUI7WUFDN0IsT0FBTyxJQUFJLENBQUMsWUFBWTtpQkFDckIsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUErRCxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDM0csR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQixHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRO2dCQUN0QixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVM7Z0JBQzFELE1BQU0sRUFBRSwwQkFBMEIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO2FBQ3JELENBQUMsQ0FBQztpQkFDRixJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUVELElBQVksaUJBQWlCO1lBQzNCLE9BQU87Z0JBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzdDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNqRSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEQsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ25ELEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDL0QsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFZLHNCQUFzQjtZQUNoQyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFBRSxPQUFPLE9BQU8sQ0FBQztZQUM1RCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNO2dCQUFFLE9BQU8sVUFBVSxDQUFDO1lBQ3ZELElBQUksSUFBSSxDQUFDLFVBQVU7Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDdEMsSUFBSSxJQUFJLENBQUMsVUFBVTtnQkFBRSxPQUFPLFlBQVksQ0FBQztZQUN6QyxJQUFJLElBQUksQ0FBQyxtQkFBbUI7Z0JBQUUsT0FBTyxjQUFjLENBQUM7WUFDcEQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUM5QyxDQUFDO1FBRU8sYUFBYSxDQUNuQixLQUE2QixFQUM3QixRQUFnQixFQUNoQixPQUFlLEVBQ2YsVUFBMEIsRUFDMUIsVUFBVSxHQUFHLEVBQUU7WUFFZixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxLQUFLLEtBQUssQ0FBQztZQUNoRCxNQUFNLFNBQVMsR0FBRywyQkFBMkIsS0FBSyxFQUFFLENBQUM7WUFDckQsT0FBTyxJQUFJLENBQUE7dUJBQ1EsV0FBVyxLQUFLLFdBQVcsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTs7OzswQkFJcEQsTUFBTSxDQUFDLFFBQVEsQ0FBQzswQkFDaEIsU0FBUzttQkFDaEIsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxlQUFlLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUN0RCxDQUFDOzs7bUJBR1EsUUFBUSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMscUJBQXFCOzs7NEJBRzlDLE9BQU87NkNBQ1UsUUFBUTtZQUN6QyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSxnQ0FBZ0MsVUFBVSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7OztlQUd0RSxTQUFTOzs7d0JBR0EsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDO29CQUNyQixDQUFDLFFBQVE7O1lBRWpCLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFOzs7S0FHakMsQ0FBQztRQUNKLENBQUM7UUFFTyxXQUFXO1lBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNsRixPQUFPLElBQUksQ0FBQyxhQUFhLENBQ3ZCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsbUJBQW1CLEVBQ25CLElBQUksQ0FBQSw4QkFBOEIsSUFBSSxDQUFDLEtBQUssa0JBQWtCLEtBQUssd0JBQXdCLEVBQzNGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNqRSxDQUFDO1FBQ0osQ0FBQztRQUVPLGtCQUFrQjtZQUN4QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7WUFDekMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQztZQUNuRyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLFdBQVcsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxDQUFDO1lBQ3BHLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNO2dCQUMzQixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxhQUFhLE9BQU8sQ0FBQyxNQUFNLE9BQU87Z0JBQ3BELENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLE9BQU8sQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQ3ZCLFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLElBQUksQ0FBQTs7WUFFRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQy9ELE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7O09BRXZFLEVBQ0QsT0FBTyxDQUNSLENBQUM7UUFDSixDQUFDO1FBRU8sbUJBQW1CLENBQUMsUUFBZ0IsRUFBRSxVQUFnQztZQUM1RSxPQUFPLElBQUksQ0FBQTtrREFDbUMsUUFBUTswQ0FDaEIsUUFBUTtVQUN4QyxNQUFNLENBQ04sVUFBVSxFQUNWLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUNwQixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUMzQzs7S0FFSixDQUFDO1FBQ0osQ0FBQztRQUVPLG1CQUFtQixDQUFDLFFBQTRCO1lBQ3RELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1RCxNQUFNLEtBQUssR0FBRyxPQUFPLFVBQVUsQ0FBQyxLQUFLLEtBQUssVUFBVTtnQkFDbEQsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDakMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDckIsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDNUQsTUFBTSxZQUFZLEdBQUcseUJBQXlCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ25FLE9BQU8sSUFBSSxDQUFBO3VCQUNRLHVCQUF1QixRQUFRLENBQUMsTUFBTSxFQUFFLHNCQUFzQixRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7OzRCQUV6RSxVQUFVLENBQUMsSUFBSTs7OztzRUFJMkIsS0FBSyxJQUFJLEtBQUs7MkNBQ3pDLFFBQVEsQ0FBQyxNQUFNOztZQUU5QyxRQUFRO2dCQUNSLENBQUMsQ0FBQyxJQUFJLENBQUEsOERBQThELFFBQVEsSUFBSSxRQUFRLCtCQUErQjtnQkFDdkgsQ0FBQyxDQUFDLEVBQUU7WUFDSixZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSw4QkFBOEIsWUFBWSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7OztLQUdsRixDQUFDO1FBQ0osQ0FBQztRQUVPLGFBQWE7WUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUM3QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDMUMsTUFBTSxJQUFJLEdBQXdDO2dCQUNoRCxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsa0JBQWtCLENBQUM7Z0JBQzdDLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUM7Z0JBQ3hDLENBQUMsMEJBQTBCLEVBQUUsT0FBTyxDQUFDLDRCQUE0QixDQUFDO2dCQUNsRSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDNUMsQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUM7YUFDbEQsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixjQUFjLEVBQ2QsSUFBSSxDQUFBOztZQUVFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7O3NCQUVsRCxLQUFLOztrQkFFVCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLEtBQUssaUJBQWlCLElBQUksVUFBVSxLQUFLLFNBQVM7Z0JBQ2pGLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUc7Z0JBQ2pDLENBQUMsQ0FBQyxFQUFFOzs7V0FHWCxDQUFDO1lBQ0EsVUFBVSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7Ozs7Ozs7OEJBT2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDOzt1REFFTCxVQUFVLFVBQVUsR0FBRzs7V0FFbkU7O09BRUosQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUVPLGdCQUFnQjtZQUN0QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVyxDQUFDO1lBQ3BDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FDdkIsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDcEIsSUFBSSxDQUFBOzs7O21CQUlTLElBQUksQ0FBQyxlQUFlO3NCQUNqQixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxjQUFjO21CQUN2QyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBSSxLQUFLLENBQUMsYUFBcUMsQ0FBQyxLQUFLLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ2xFLENBQUM7cUJBQ1UsQ0FBQyxLQUFvQixFQUFFLEVBQUU7Z0JBQ2xDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUM5RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQztZQUNILENBQUM7O1VBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBOzs7Ozs7OzsyQkFRVixJQUFJLENBQUMsc0JBQXNCOzs7Ozs7MkJBTTNCLElBQUksQ0FBQyxxQkFBcUI7Ozs7U0FJNUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtVQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSxtQ0FBbUMsSUFBSSxDQUFDLGVBQWUsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFOzswQ0FFL0QsVUFBVSxDQUFDLFFBQVE7Ozs7O3NCQUt2QyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVE7d0JBQ3hDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWU7dUJBQ3RGLElBQUksQ0FBQyxjQUFjOzs7T0FHbkMsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUVPLGtCQUFrQjtZQUN4QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLElBQUksc0JBQXNCLENBQUM7WUFDMUUsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsOEJBQThCLEtBQUssV0FBVyxDQUFDO1lBQ2xGLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLDhCQUE4QixLQUFLLFVBQVU7Z0JBQzVFLENBQUMsQ0FBQyxZQUFZLE9BQU8sZ0JBQWdCO2dCQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLDhCQUE4QixLQUFLLGFBQWE7b0JBQ3JELENBQUMsQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxFQUFFLElBQUksR0FBRyxPQUFPLGtCQUFrQjtvQkFDM0UsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNULE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FDdkIsY0FBYyxFQUNkLE9BQU8sRUFDUCxpQkFBaUIsRUFDakIsSUFBSSxDQUFBOztZQUVFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTs7Z0JBRXBDLE1BQU0sQ0FDTixJQUFJLENBQUMscUJBQXFCLEVBQzFCLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUN6QixDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FDNUM7O1dBRUosQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLHFGQUFxRjs7Ozs7Ozs7YUFRMUYsbUJBQW1CO2dCQUNwQixDQUFDLENBQUMsSUFBSSxDQUFBLHlDQUF5QyxtQkFBbUIsUUFBUTtnQkFDMUUsQ0FBQyxDQUFDLEVBQUU7Ozt5QkFHUyxPQUFPLE9BQU8sRUFBRTs7OztxQkFJcEIsSUFBSSxDQUFDLG9CQUFvQjt3QkFDdEIsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLElBQUksQ0FBQyxxQkFBcUI7cUJBQ25FLENBQUMsS0FBaUIsRUFBRSxFQUFFO2dCQUM3QixJQUFJLENBQUMsb0JBQW9CLEdBQUksS0FBSyxDQUFDLGFBQXFDLENBQUMsS0FBSyxDQUFDO1lBQ2pGLENBQUM7dUJBQ1UsQ0FBQyxLQUFvQixFQUFFLEVBQUU7Z0JBQ2xDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUM5RCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDekIsQ0FBQztZQUNILENBQUM7Ozs7Ozs7O3dCQVFXLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFROzBCQUMxQyxJQUFJLENBQUMsUUFBUTttQkFDcEIsSUFBSSxDQUFDLGdCQUFnQjttQkFDckIsQ0FBQyxxQkFBcUI7bUJBQ3RCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRTt5QkFDM0IsSUFBSSxDQUFDLGVBQWU7OztZQUdqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSxtQ0FBbUMsSUFBSSxDQUFDLGlCQUFpQixRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7O09BRXhHLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFTyxjQUFjLENBQUMsV0FBeUM7WUFDOUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxJQUFJLHNCQUFzQixDQUFDO1lBQzFFLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxNQUFNLEtBQUssU0FBUztnQkFDN0MsQ0FBQyxDQUFDLHVCQUF1QjtnQkFDekIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEtBQUssT0FBTztvQkFDOUIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksR0FBRyxPQUFPLFVBQVU7b0JBQzNDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztZQUMvQixPQUFPLElBQUksQ0FBQTtpQ0FDa0IsV0FBVyxDQUFDLE1BQU07Z0NBQ25CLFdBQVcsQ0FBQyxRQUFROzhCQUN0QixNQUFNO1VBQzFCLFdBQVcsQ0FBQyxLQUFLO2dCQUNqQixDQUFDLENBQUMsSUFBSSxDQUFBLDZCQUE2QixXQUFXLENBQUMsS0FBSyxRQUFRO2dCQUM1RCxDQUFDLENBQUMsRUFBRTs7S0FFVCxDQUFDO1FBQ0osQ0FBQztRQUVPLGdCQUFnQixDQUFDLGFBQWlDO1lBQ3hELElBQUksQ0FBQyxlQUFlLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQztZQUMxQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQztZQUN0RCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUMvQixDQUFDO1FBRWdCLHNCQUFzQixHQUFHLEdBQVMsRUFBRTtZQUNuRCxJQUFJLElBQUksQ0FBQyxVQUFVO2dCQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUQsQ0FBQyxDQUFDO1FBRWUscUJBQXFCLEdBQUcsR0FBUyxFQUFFO1lBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtnQkFBRSxPQUFPO1lBQzdCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN4RCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztZQUM3QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDdkUsQ0FBQyxDQUFDO1FBRWUsY0FBYyxHQUFHLEdBQVMsRUFBRTtZQUMzQyxJQUNFLENBQUMsSUFBSSxDQUFDLFVBQVU7bUJBQ2IsQ0FBQyxJQUFJLENBQUMsZUFBZTttQkFDckIsSUFBSSxDQUFDLGVBQWU7bUJBQ3BCLElBQUksQ0FBQyxRQUFRO21CQUNiLElBQUksQ0FBQyxjQUFjO2dCQUN0QixPQUFPO1lBQ1QsTUFBTSxNQUFNLEdBQWlDO2dCQUMzQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWU7Z0JBQzFCLGdCQUFnQixFQUFFLElBQUksQ0FBQyx1QkFBdUI7YUFDL0MsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMseUJBQXlCLEVBQUU7Z0JBQzVELE1BQU07Z0JBQ04sT0FBTyxFQUFFLElBQUk7Z0JBQ2IsUUFBUSxFQUFFLElBQUk7YUFDZixDQUFDLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQztRQUVlLGVBQWUsR0FBRyxHQUFTLEVBQUU7WUFDNUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xELElBQ0UsQ0FBQyxRQUFRO21CQUNOLENBQUMsSUFBSSxDQUFDLG1CQUFtQjttQkFDekIsSUFBSSxDQUFDLDhCQUE4QixLQUFLLFdBQVc7bUJBQ25ELElBQUksQ0FBQyxRQUFRO21CQUNiLElBQUksQ0FBQyxnQkFBZ0I7Z0JBQ3hCLE9BQU87WUFDVCxNQUFNLE1BQU0sR0FBeUMsRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUNsRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLGtDQUFrQyxFQUFFO2dCQUNyRSxNQUFNO2dCQUNOLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUFDLENBQUM7WUFDSixJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQ2pDLENBQUMsQ0FBQzs7WUFqK0JTLHVEQUF5Qjs7Ozs7U0FBekIseUJBQXlCIn0=
|
|
@@ -99,6 +99,7 @@ export interface IHarnessScratchpadSaveDetail {
|
|
|
99
99
|
expectedRevision: number;
|
|
100
100
|
}
|
|
101
101
|
export type THarnessIntelligenceStatus = 'running' | 'completed' | 'error';
|
|
102
|
+
export type THarnessIntelligenceAvailabilityStatus = 'checking' | 'available' | 'unavailable';
|
|
102
103
|
export interface IHarnessIntelligenceExchange {
|
|
103
104
|
id: string;
|
|
104
105
|
question: string;
|
|
@@ -11,6 +11,7 @@ export declare class CanvasPool {
|
|
|
11
11
|
private static readonly MAX_CANVAS_SIZE;
|
|
12
12
|
static acquire(width: number, height: number): PooledCanvas;
|
|
13
13
|
static release(pooledCanvas: PooledCanvas): void;
|
|
14
|
+
static discard(pooledCanvas: PooledCanvas): void;
|
|
14
15
|
static releaseAll(): void;
|
|
15
16
|
static destroy(): void;
|
|
16
17
|
static getStats(): {
|
|
@@ -67,6 +67,20 @@ export class CanvasPool {
|
|
|
67
67
|
// Clear canvas to free memory
|
|
68
68
|
pooledCanvas.ctx.clearRect(0, 0, pooledCanvas.canvas.width, pooledCanvas.canvas.height);
|
|
69
69
|
}
|
|
70
|
+
else {
|
|
71
|
+
pooledCanvas.inUse = false;
|
|
72
|
+
pooledCanvas.canvas.width = 0;
|
|
73
|
+
pooledCanvas.canvas.height = 0;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
static discard(pooledCanvas) {
|
|
77
|
+
const index = this.pool.indexOf(pooledCanvas);
|
|
78
|
+
if (index >= 0) {
|
|
79
|
+
this.pool.splice(index, 1);
|
|
80
|
+
}
|
|
81
|
+
pooledCanvas.inUse = false;
|
|
82
|
+
pooledCanvas.canvas.width = 0;
|
|
83
|
+
pooledCanvas.canvas.height = 0;
|
|
70
84
|
}
|
|
71
85
|
static releaseAll() {
|
|
72
86
|
for (const item of this.pool) {
|
|
@@ -106,4 +120,4 @@ export class CanvasPool {
|
|
|
106
120
|
this.maxPoolSize = newSize;
|
|
107
121
|
}
|
|
108
122
|
}
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FudmFzUG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLW1lZGlhL2RlZXMtcGRmLXNoYXJlZC9DYW52YXNQb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBTyxVQUFVO0lBQ2IsTUFBTSxDQUFDLElBQUksR0FBbUIsRUFBRSxDQUFDO0lBQ2pDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLE1BQU0sQ0FBVSxlQUFlLEdBQUcsR0FBRyxDQUFDO0lBQ3RDLE1BQU0sQ0FBVSxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBRXhDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBYSxFQUFFLE1BQWM7UUFDakQsOENBQThDO1FBQzlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUM3QixDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSztZQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxLQUFLO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU07WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksS0FBSyxHQUFHLEdBQUc7WUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksTUFBTSxHQUFHLEdBQUcsQ0FDbkMsQ0FBQztRQUVGLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUN0QixRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUUvQiw2QkFBNkI7WUFDN0IsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQzlCLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNoQyxRQUFRLENB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
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { type PDFDocumentProxy } from 'pdfjs-dist';
|
|
1
2
|
export declare class PdfManager {
|
|
2
|
-
private static
|
|
3
|
-
private static
|
|
3
|
+
private static readonly resourcesByDocument;
|
|
4
|
+
private static readonly releasedDocuments;
|
|
4
5
|
static initialize(): Promise<void>;
|
|
5
|
-
static loadDocument(
|
|
6
|
-
static releaseDocument(
|
|
6
|
+
static loadDocument(urlArg: string, signalArg?: AbortSignal): Promise<PDFDocumentProxy>;
|
|
7
|
+
static releaseDocument(documentArg: PDFDocumentProxy | null | undefined): Promise<void>;
|
|
8
|
+
private static releaseResources;
|
|
7
9
|
}
|
|
@@ -1,27 +1,189 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getDocument, PDFWorker, } from 'pdfjs-dist';
|
|
2
|
+
const normalizeError = (errorArg) => (errorArg instanceof Error ? errorArg : new Error(String(errorArg)));
|
|
3
|
+
const createAbortError = () => {
|
|
4
|
+
const error = new Error('PDF load aborted');
|
|
5
|
+
error.name = 'AbortError';
|
|
6
|
+
return error;
|
|
7
|
+
};
|
|
8
|
+
const workerTerminationGraceMs = 2_000;
|
|
2
9
|
export class PdfManager {
|
|
3
|
-
static
|
|
4
|
-
static
|
|
10
|
+
static resourcesByDocument = new WeakMap();
|
|
11
|
+
static releasedDocuments = new WeakSet();
|
|
5
12
|
static async initialize() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
// PDF.js is loaded statically; retained for existing callers.
|
|
14
|
+
}
|
|
15
|
+
static async loadDocument(urlArg, signalArg) {
|
|
16
|
+
const workerPort = new Worker(new URL('pdfjs-dist/build/pdf.worker.mjs', import.meta.url), { type: 'module' });
|
|
17
|
+
let resolveInterruption;
|
|
18
|
+
const interruptionPromise = new Promise((resolve) => {
|
|
19
|
+
resolveInterruption = resolve;
|
|
20
|
+
});
|
|
21
|
+
let resolveWorkerFailure;
|
|
22
|
+
const workerFailurePromise = new Promise((resolve) => {
|
|
23
|
+
resolveWorkerFailure = resolve;
|
|
24
|
+
});
|
|
25
|
+
const resources = {
|
|
26
|
+
workerPort,
|
|
27
|
+
networkAbortController: new AbortController(),
|
|
28
|
+
workerFailed: false,
|
|
29
|
+
interruptionPromise,
|
|
30
|
+
resolveInterruption,
|
|
31
|
+
workerFailurePromise,
|
|
32
|
+
resolveWorkerFailure,
|
|
33
|
+
};
|
|
34
|
+
const recordInterruption = (errorArg) => {
|
|
35
|
+
if (!resources.firstError) {
|
|
36
|
+
resources.firstError = errorArg;
|
|
37
|
+
resources.resolveInterruption(errorArg);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
resources.workerErrorListener = (eventArg) => {
|
|
41
|
+
if (!resources.workerFailed) {
|
|
42
|
+
resources.workerFailed = true;
|
|
43
|
+
resources.resolveWorkerFailure();
|
|
44
|
+
}
|
|
45
|
+
const message = eventArg instanceof ErrorEvent && eventArg.message
|
|
46
|
+
? eventArg.message
|
|
47
|
+
: 'PDF worker failed';
|
|
48
|
+
recordInterruption(new Error(message));
|
|
49
|
+
void this.releaseResources(resources).catch(() => { });
|
|
50
|
+
};
|
|
51
|
+
workerPort.addEventListener('error', resources.workerErrorListener);
|
|
52
|
+
try {
|
|
53
|
+
if (signalArg) {
|
|
54
|
+
resources.abortSignal = signalArg;
|
|
55
|
+
resources.abortListener = () => {
|
|
56
|
+
recordInterruption(createAbortError());
|
|
57
|
+
void this.releaseResources(resources).catch(() => { });
|
|
58
|
+
};
|
|
59
|
+
signalArg.addEventListener('abort', resources.abortListener, { once: true });
|
|
60
|
+
if (signalArg.aborted) {
|
|
61
|
+
resources.abortListener();
|
|
62
|
+
throw resources.firstError || createAbortError();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
resources.pdfWorker = PDFWorker.fromPort({ port: workerPort });
|
|
66
|
+
const response = await Promise.race([
|
|
67
|
+
fetch(urlArg, {
|
|
68
|
+
signal: resources.networkAbortController.signal,
|
|
69
|
+
}),
|
|
70
|
+
resources.interruptionPromise.then((errorArg) => {
|
|
71
|
+
throw errorArg;
|
|
72
|
+
}),
|
|
73
|
+
]);
|
|
74
|
+
if (!response.ok) {
|
|
75
|
+
throw new Error(`Failed to load PDF (${response.status} ${response.statusText})`);
|
|
76
|
+
}
|
|
77
|
+
const data = new Uint8Array(await Promise.race([
|
|
78
|
+
response.arrayBuffer(),
|
|
79
|
+
resources.interruptionPromise.then((errorArg) => {
|
|
80
|
+
throw errorArg;
|
|
81
|
+
}),
|
|
82
|
+
]));
|
|
83
|
+
resources.loadingTask = getDocument({
|
|
84
|
+
data,
|
|
85
|
+
docBaseUrl: response.url || urlArg,
|
|
86
|
+
worker: resources.pdfWorker,
|
|
87
|
+
});
|
|
88
|
+
const document = await Promise.race([
|
|
89
|
+
resources.loadingTask.promise,
|
|
90
|
+
resources.interruptionPromise.then((errorArg) => {
|
|
91
|
+
throw errorArg;
|
|
92
|
+
}),
|
|
93
|
+
]);
|
|
94
|
+
if (signalArg?.aborted) {
|
|
95
|
+
resources.abortListener?.();
|
|
96
|
+
throw resources.firstError || createAbortError();
|
|
97
|
+
}
|
|
98
|
+
if (resources.abortSignal && resources.abortListener) {
|
|
99
|
+
resources.abortSignal.removeEventListener('abort', resources.abortListener);
|
|
100
|
+
resources.abortSignal = undefined;
|
|
101
|
+
resources.abortListener = undefined;
|
|
102
|
+
}
|
|
103
|
+
resources.document = document;
|
|
104
|
+
this.resourcesByDocument.set(document, resources);
|
|
105
|
+
return document;
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
recordInterruption(normalizeError(error));
|
|
109
|
+
try {
|
|
110
|
+
await this.releaseResources(resources);
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
// Preserve the load, abort, or worker error that initiated cleanup.
|
|
114
|
+
}
|
|
115
|
+
throw resources.firstError;
|
|
116
|
+
}
|
|
12
117
|
}
|
|
13
|
-
static async
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
118
|
+
static async releaseDocument(documentArg) {
|
|
119
|
+
if (!documentArg)
|
|
120
|
+
return;
|
|
121
|
+
if (this.releasedDocuments.has(documentArg))
|
|
122
|
+
return;
|
|
123
|
+
const resources = this.resourcesByDocument.get(documentArg);
|
|
124
|
+
if (!resources) {
|
|
125
|
+
await documentArg.destroy();
|
|
126
|
+
this.releasedDocuments.add(documentArg);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
await this.releaseResources(resources);
|
|
21
130
|
}
|
|
22
|
-
static
|
|
23
|
-
|
|
24
|
-
|
|
131
|
+
static releaseResources(resourcesArg) {
|
|
132
|
+
if (!resourcesArg.releasePromise) {
|
|
133
|
+
let resolveRelease;
|
|
134
|
+
let rejectRelease;
|
|
135
|
+
resourcesArg.releasePromise = new Promise((resolve, reject) => {
|
|
136
|
+
resolveRelease = resolve;
|
|
137
|
+
rejectRelease = reject;
|
|
138
|
+
});
|
|
139
|
+
void (async () => {
|
|
140
|
+
resourcesArg.networkAbortController.abort();
|
|
141
|
+
try {
|
|
142
|
+
if (resourcesArg.loadingTask) {
|
|
143
|
+
const loadingTaskDestroyPromise = resourcesArg.loadingTask.destroy();
|
|
144
|
+
void loadingTaskDestroyPromise.catch(() => { });
|
|
145
|
+
let timeout;
|
|
146
|
+
const timeoutPromise = new Promise((resolve) => {
|
|
147
|
+
timeout = setTimeout(resolve, workerTerminationGraceMs);
|
|
148
|
+
});
|
|
149
|
+
try {
|
|
150
|
+
await Promise.race([
|
|
151
|
+
loadingTaskDestroyPromise,
|
|
152
|
+
resourcesArg.workerFailurePromise,
|
|
153
|
+
timeoutPromise,
|
|
154
|
+
]);
|
|
155
|
+
}
|
|
156
|
+
finally {
|
|
157
|
+
if (timeout) {
|
|
158
|
+
clearTimeout(timeout);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
finally {
|
|
164
|
+
try {
|
|
165
|
+
resourcesArg.pdfWorker?.destroy();
|
|
166
|
+
}
|
|
167
|
+
finally {
|
|
168
|
+
if (resourcesArg.abortSignal && resourcesArg.abortListener) {
|
|
169
|
+
resourcesArg.abortSignal.removeEventListener('abort', resourcesArg.abortListener);
|
|
170
|
+
}
|
|
171
|
+
if (resourcesArg.workerErrorListener) {
|
|
172
|
+
resourcesArg.workerPort.removeEventListener('error', resourcesArg.workerErrorListener);
|
|
173
|
+
}
|
|
174
|
+
resourcesArg.workerPort.terminate();
|
|
175
|
+
if (resourcesArg.document) {
|
|
176
|
+
this.releasedDocuments.add(resourcesArg.document);
|
|
177
|
+
this.resourcesByDocument.delete(resourcesArg.document);
|
|
178
|
+
}
|
|
179
|
+
resourcesArg.document = undefined;
|
|
180
|
+
resourcesArg.loadingTask = undefined;
|
|
181
|
+
resourcesArg.pdfWorker = undefined;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
})().then(resolveRelease, rejectRelease);
|
|
185
|
+
}
|
|
186
|
+
return resourcesArg.releasePromise;
|
|
25
187
|
}
|
|
26
188
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGRmTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLW1lZGlhL2RlZXMtcGRmLXNoYXJlZC9QZGZNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBQ1gsU0FBUyxHQUdWLE1BQU0sWUFBWSxDQUFDO0FBb0JwQixNQUFNLGNBQWMsR0FBRyxDQUFDLFFBQWlCLEVBQVMsRUFBRSxDQUFDLENBQ25ELFFBQVEsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQ25FLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHLEdBQVUsRUFBRTtJQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzVDLEtBQUssQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO0lBQzFCLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsTUFBTSx3QkFBd0IsR0FBRyxLQUFLLENBQUM7QUFFdkMsTUFBTSxPQUFPLFVBQVU7SUFDYixNQUFNLENBQVUsbUJBQW1CLEdBQUcsSUFBSSxPQUFPLEVBR3RELENBQUM7SUFDSSxNQUFNLENBQVUsaUJBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQW9CLENBQUM7SUFFckUsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVO1FBQzVCLDhEQUE4RDtJQUNoRSxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQzlCLE1BQWMsRUFDZCxTQUF1QjtRQUV2QixNQUFNLFVBQVUsR0FBRyxJQUFJLE1BQU0sQ0FDM0IsSUFBSSxHQUFHLENBQUMsaUNBQWlDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDM0QsRUFBRSxJQUFJLEVBQUUsUUFBUSxF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
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export declare function debounce<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void;
|
|
2
2
|
export declare function throttle<T extends (...args: any[]) => any>(func: T, limit: number): (...args: Parameters<T>) => void;
|
|
3
3
|
export declare function formatFileSize(bytes: number): string;
|
|
4
|
+
export declare function settlePromisesWithin(promisesArg: readonly Promise<unknown>[], timeoutMsArg: number): Promise<boolean>;
|
|
5
|
+
export declare function raceWithAbort<T>(promiseArg: Promise<T>, signalArg: AbortSignal): Promise<T>;
|
|
6
|
+
export declare const waitForAnimationFrame: (signalArg?: AbortSignal) => Promise<void>;
|
|
4
7
|
export declare function isInViewport(element: Element, margin?: number): boolean;
|
|
5
8
|
export declare class PerformanceMonitor {
|
|
6
9
|
private static marks;
|