@design.estate/dees-catalog 11.2.1 → 12.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/dist_bundle/bundle.js +1927 -1305
- package/dist_bundle/bundle.js.map +1 -1
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-harness/dees-harness-conversation-picker/dees-harness-conversation-picker.d.ts +62 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-conversation-picker/dees-harness-conversation-picker.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-conversation-picker/dees-harness-conversation-picker.demo.js +38 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-conversation-picker/dees-harness-conversation-picker.js +455 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-conversation-picker/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-conversation-picker/index.js +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.d.ts +39 -10
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.js +81 -27
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js +327 -115
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.d.ts +6 -2
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.js +68 -17
- package/dist_ts_web/elements/00group-harness/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/index.js +2 -1
- package/dist_ts_web/elements/00group-harness/interfaces.d.ts +35 -16
- package/package.json +2 -2
- package/readme.md +56 -24
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-harness/dees-harness-conversation-picker/dees-harness-conversation-picker.demo.ts +46 -0
- package/ts_web/elements/00group-harness/dees-harness-conversation-picker/dees-harness-conversation-picker.ts +420 -0
- package/ts_web/elements/00group-harness/dees-harness-conversation-picker/index.ts +1 -0
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.ts +94 -36
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.ts +357 -120
- package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.ts +67 -16
- package/ts_web/elements/00group-harness/index.ts +1 -0
- package/ts_web/elements/00group-harness/interfaces.ts +41 -16
package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js
CHANGED
|
@@ -41,6 +41,12 @@ import '../../00group-utility/dees-icon/dees-icon.js';
|
|
|
41
41
|
const { repeat } = directives;
|
|
42
42
|
const dragAutoScrollMaxPixelsPerSecond = 900;
|
|
43
43
|
const dragThresholdPixels = 4;
|
|
44
|
+
/**
|
|
45
|
+
* Share of a row's height, centred, that attaches instead of inserting: the centre half of the
|
|
46
|
+
* row attaches and the outer quarters reposition, so reordering a resource past a conversation
|
|
47
|
+
* never turns into an attachment.
|
|
48
|
+
*/
|
|
49
|
+
const attachCentreBandRatio = 0.5;
|
|
44
50
|
const itemKey = (refArg) => `${refArg.kind}:${refArg.id}`;
|
|
45
51
|
const itemRef = (itemArg) => ({
|
|
46
52
|
kind: itemArg.kind,
|
|
@@ -58,10 +64,13 @@ const sameItem = (leftArg, rightArg) => !!leftArg
|
|
|
58
64
|
*
|
|
59
65
|
* Sessions and host resources are peers in ONE ordered list: a resource row
|
|
60
66
|
* can be dragged anywhere a session can, including between sessions and into
|
|
61
|
-
* or out of groups.
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
67
|
+
* or out of groups. A resource can also be attached to several items at once.
|
|
68
|
+
* Attaching happens either through `requestResourceAssociation()` from a host
|
|
69
|
+
* menu, or by releasing a resource drag on the centre half of an eligible row;
|
|
70
|
+
* the outer quarters of that row, and every gap between rows, stay purely
|
|
71
|
+
* positional. Attaching never moves a row, and the association renders only as
|
|
72
|
+
* markers on the resource row. Every change is requested through
|
|
73
|
+
* `harness-resource-associate`; the host owns the controlled set.
|
|
65
74
|
*
|
|
66
75
|
* The component never mutates its inputs: reordering emits `harness-item-move`,
|
|
67
76
|
* the "new group" button emits `harness-group-create-request`, and
|
|
@@ -121,6 +130,9 @@ let DeesHarnessSessionList = (() => {
|
|
|
121
130
|
let _dropSlot_decorators;
|
|
122
131
|
let _dropSlot_initializers = [];
|
|
123
132
|
let _dropSlot_extraInitializers = [];
|
|
133
|
+
let _dropAttachTarget_decorators;
|
|
134
|
+
let _dropAttachTarget_initializers = [];
|
|
135
|
+
let _dropAttachTarget_extraInitializers = [];
|
|
124
136
|
let _draggedItemHeight_decorators;
|
|
125
137
|
let _draggedItemHeight_initializers = [];
|
|
126
138
|
let _draggedItemHeight_extraInitializers = [];
|
|
@@ -160,6 +172,7 @@ let DeesHarnessSessionList = (() => {
|
|
|
160
172
|
_search_decorators = [state()];
|
|
161
173
|
_draggingItem_decorators = [state()];
|
|
162
174
|
_dropSlot_decorators = [state()];
|
|
175
|
+
_dropAttachTarget_decorators = [state()];
|
|
163
176
|
_draggedItemHeight_decorators = [state()];
|
|
164
177
|
_expandedSessionIds_decorators = [state()];
|
|
165
178
|
_collapsedGroupIds_decorators = [state()];
|
|
@@ -181,6 +194,7 @@ let DeesHarnessSessionList = (() => {
|
|
|
181
194
|
__esDecorate(this, null, _search_decorators, { kind: "accessor", name: "search", static: false, private: false, access: { has: obj => "search" in obj, get: obj => obj.search, set: (obj, value) => { obj.search = value; } }, metadata: _metadata }, _search_initializers, _search_extraInitializers);
|
|
182
195
|
__esDecorate(this, null, _draggingItem_decorators, { kind: "accessor", name: "draggingItem", static: false, private: false, access: { has: obj => "draggingItem" in obj, get: obj => obj.draggingItem, set: (obj, value) => { obj.draggingItem = value; } }, metadata: _metadata }, _draggingItem_initializers, _draggingItem_extraInitializers);
|
|
183
196
|
__esDecorate(this, null, _dropSlot_decorators, { kind: "accessor", name: "dropSlot", static: false, private: false, access: { has: obj => "dropSlot" in obj, get: obj => obj.dropSlot, set: (obj, value) => { obj.dropSlot = value; } }, metadata: _metadata }, _dropSlot_initializers, _dropSlot_extraInitializers);
|
|
197
|
+
__esDecorate(this, null, _dropAttachTarget_decorators, { kind: "accessor", name: "dropAttachTarget", static: false, private: false, access: { has: obj => "dropAttachTarget" in obj, get: obj => obj.dropAttachTarget, set: (obj, value) => { obj.dropAttachTarget = value; } }, metadata: _metadata }, _dropAttachTarget_initializers, _dropAttachTarget_extraInitializers);
|
|
184
198
|
__esDecorate(this, null, _draggedItemHeight_decorators, { kind: "accessor", name: "draggedItemHeight", static: false, private: false, access: { has: obj => "draggedItemHeight" in obj, get: obj => obj.draggedItemHeight, set: (obj, value) => { obj.draggedItemHeight = value; } }, metadata: _metadata }, _draggedItemHeight_initializers, _draggedItemHeight_extraInitializers);
|
|
185
199
|
__esDecorate(this, null, _expandedSessionIds_decorators, { kind: "accessor", name: "expandedSessionIds", static: false, private: false, access: { has: obj => "expandedSessionIds" in obj, get: obj => obj.expandedSessionIds, set: (obj, value) => { obj.expandedSessionIds = value; } }, metadata: _metadata }, _expandedSessionIds_initializers, _expandedSessionIds_extraInitializers);
|
|
186
200
|
__esDecorate(this, null, _collapsedGroupIds_decorators, { kind: "accessor", name: "collapsedGroupIds", static: false, private: false, access: { has: obj => "collapsedGroupIds" in obj, get: obj => obj.collapsedGroupIds, set: (obj, value) => { obj.collapsedGroupIds = value; } }, metadata: _metadata }, _collapsedGroupIds_initializers, _collapsedGroupIds_extraInitializers);
|
|
@@ -227,8 +241,10 @@ let DeesHarnessSessionList = (() => {
|
|
|
227
241
|
set selectedResourceId(value) { this.#selectedResourceId_accessor_storage = value; }
|
|
228
242
|
#eligibleTargetsByResourceId_accessor_storage = (__runInitializers(this, _selectedResourceId_extraInitializers), __runInitializers(this, _eligibleTargetsByResourceId_initializers, {}));
|
|
229
243
|
/**
|
|
230
|
-
* Serializable
|
|
231
|
-
*
|
|
244
|
+
* Serializable association targets, honoured by host menus and by the drop
|
|
245
|
+
* affordance alike: an ineligible row offers no attachment and commits
|
|
246
|
+
* nothing. A missing entry leaves the resource unrestricted; an empty array
|
|
247
|
+
* means no eligible target.
|
|
232
248
|
*/
|
|
233
249
|
get eligibleTargetsByResourceId() { return this.#eligibleTargetsByResourceId_accessor_storage; }
|
|
234
250
|
set eligibleTargetsByResourceId(value) { this.#eligibleTargetsByResourceId_accessor_storage = value; }
|
|
@@ -241,7 +257,14 @@ let DeesHarnessSessionList = (() => {
|
|
|
241
257
|
#dropSlot_accessor_storage = (__runInitializers(this, _draggingItem_extraInitializers), __runInitializers(this, _dropSlot_initializers, undefined));
|
|
242
258
|
get dropSlot() { return this.#dropSlot_accessor_storage; }
|
|
243
259
|
set dropSlot(value) { this.#dropSlot_accessor_storage = value; }
|
|
244
|
-
#
|
|
260
|
+
#dropAttachTarget_accessor_storage = (__runInitializers(this, _dropSlot_extraInitializers), __runInitializers(this, _dropAttachTarget_initializers, undefined));
|
|
261
|
+
/**
|
|
262
|
+
* The row a resource drag would attach to. Mutually exclusive with `dropSlot`: a pointer is
|
|
263
|
+
* either inserting between rows or attaching to one, never both.
|
|
264
|
+
*/
|
|
265
|
+
get dropAttachTarget() { return this.#dropAttachTarget_accessor_storage; }
|
|
266
|
+
set dropAttachTarget(value) { this.#dropAttachTarget_accessor_storage = value; }
|
|
267
|
+
#draggedItemHeight_accessor_storage = (__runInitializers(this, _dropAttachTarget_extraInitializers), __runInitializers(this, _draggedItemHeight_initializers, 0));
|
|
245
268
|
get draggedItemHeight() { return this.#draggedItemHeight_accessor_storage; }
|
|
246
269
|
set draggedItemHeight(value) { this.#draggedItemHeight_accessor_storage = value; }
|
|
247
270
|
#expandedSessionIds_accessor_storage = (__runInitializers(this, _draggedItemHeight_extraInitializers), __runInitializers(this, _expandedSessionIds_initializers, new Set()));
|
|
@@ -754,8 +777,8 @@ let DeesHarnessSessionList = (() => {
|
|
|
754
777
|
white-space: nowrap;
|
|
755
778
|
}
|
|
756
779
|
|
|
757
|
-
/* Decorative
|
|
758
|
-
.
|
|
780
|
+
/* Decorative markers for the controlled associations; never interactive. */
|
|
781
|
+
.resourceAttachments {
|
|
759
782
|
display: flex;
|
|
760
783
|
min-width: 0;
|
|
761
784
|
align-items: center;
|
|
@@ -766,10 +789,49 @@ let DeesHarnessSessionList = (() => {
|
|
|
766
789
|
font-weight: 600;
|
|
767
790
|
}
|
|
768
791
|
|
|
769
|
-
.resourceAttachment
|
|
792
|
+
.resourceAttachment {
|
|
793
|
+
display: flex;
|
|
794
|
+
min-width: 0;
|
|
795
|
+
align-items: center;
|
|
796
|
+
gap: 2px;
|
|
797
|
+
}
|
|
798
|
+
|
|
799
|
+
/* Past two names the row keeps one line and the title carries the full list. */
|
|
800
|
+
.resourceAttachmentOverflow {
|
|
801
|
+
flex: 0 0 auto;
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
.resourceAttachments dees-icon {
|
|
770
805
|
flex: 0 0 auto;
|
|
771
806
|
}
|
|
772
807
|
|
|
808
|
+
/*
|
|
809
|
+
* A drop on the centre of a row attaches to it. The ring is the whole affordance: no gap
|
|
810
|
+
* opens, because nothing is being inserted.
|
|
811
|
+
*/
|
|
812
|
+
.item.attachTarget,
|
|
813
|
+
.resourceRow.attachTarget {
|
|
814
|
+
outline: 2px solid var(--dees-color-accent-primary);
|
|
815
|
+
outline-offset: -1px;
|
|
816
|
+
background: var(--dees-color-nav-selected);
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
/* Absolutely positioned so appearing mid-drag cannot reflow the row under the pointer. */
|
|
820
|
+
.attachBadge {
|
|
821
|
+
position: absolute;
|
|
822
|
+
top: 50%;
|
|
823
|
+
right: 10px;
|
|
824
|
+
display: grid;
|
|
825
|
+
place-items: center;
|
|
826
|
+
width: 20px;
|
|
827
|
+
height: 20px;
|
|
828
|
+
transform: translateY(-50%);
|
|
829
|
+
border-radius: var(--dees-radius-full);
|
|
830
|
+
background: var(--dees-color-accent-primary);
|
|
831
|
+
color: var(--dees-color-bg-primary);
|
|
832
|
+
pointer-events: none;
|
|
833
|
+
}
|
|
834
|
+
|
|
773
835
|
.resourceAttachmentName {
|
|
774
836
|
min-width: 0;
|
|
775
837
|
overflow: hidden;
|
|
@@ -1016,16 +1078,25 @@ let DeesHarnessSessionList = (() => {
|
|
|
1016
1078
|
const itemsByKey = this.itemsByKey;
|
|
1017
1079
|
const result = new Map();
|
|
1018
1080
|
for (const association of this.resourceAssociations) {
|
|
1019
|
-
if (!association.
|
|
1020
|
-
|| !resourcesById.has(association.resourceId)
|
|
1021
|
-
|| !itemsByKey.has(itemKey(association.target))
|
|
1022
|
-
|| sameItem(association.target, { kind: 'resource', id: association.resourceId })
|
|
1023
|
-
|| result.has(association.resourceId))
|
|
1081
|
+
if (!association || !resourcesById.has(association.resourceId))
|
|
1024
1082
|
continue;
|
|
1025
|
-
result.
|
|
1083
|
+
const targets = result.get(association.resourceId) ?? [];
|
|
1084
|
+
for (const target of association.targets ?? []) {
|
|
1085
|
+
if (!target
|
|
1086
|
+
|| !itemsByKey.has(itemKey(target))
|
|
1087
|
+
|| sameItem(target, { kind: 'resource', id: association.resourceId })
|
|
1088
|
+
|| targets.some((candidate) => sameItem(candidate, target)))
|
|
1089
|
+
continue;
|
|
1090
|
+
targets.push(itemRef(target));
|
|
1091
|
+
}
|
|
1092
|
+
result.set(association.resourceId, targets);
|
|
1026
1093
|
}
|
|
1027
1094
|
return result;
|
|
1028
1095
|
}
|
|
1096
|
+
/** The controlled attachments of one resource, in declaration order; empty when unattached. */
|
|
1097
|
+
resourceTargets(resourceIdArg) {
|
|
1098
|
+
return this.acceptedResourceAssociations.get(resourceIdArg) ?? [];
|
|
1099
|
+
}
|
|
1029
1100
|
get acceptedResources() {
|
|
1030
1101
|
return [...this.resourcesById.values()];
|
|
1031
1102
|
}
|
|
@@ -1157,53 +1228,84 @@ let DeesHarnessSessionList = (() => {
|
|
|
1157
1228
|
focusSearch() {
|
|
1158
1229
|
this.shadowRoot?.querySelector('.searchRow input')?.focus();
|
|
1159
1230
|
}
|
|
1160
|
-
|
|
1231
|
+
/**
|
|
1232
|
+
* Requests one association change. With no explicit mode the list infers it from the controlled
|
|
1233
|
+
* set: an unattached resource attaches, a singly attached one moves, and a resource with several
|
|
1234
|
+
* attachments is refused — only the host knows which of them the user meant, so it must pass a
|
|
1235
|
+
* mode (and a `fromTarget` for `move` and `detach`).
|
|
1236
|
+
*/
|
|
1237
|
+
requestResourceAssociation(resourceIdArg, toTargetArg, sourceArg = 'action', modeArg, fromTargetArg) {
|
|
1161
1238
|
const resource = this.resourcesById.get(resourceIdArg);
|
|
1162
1239
|
if (!resource)
|
|
1163
1240
|
return false;
|
|
1164
|
-
const
|
|
1165
|
-
|
|
1241
|
+
const currentTargets = this.resourceTargets(resourceIdArg);
|
|
1242
|
+
const toTarget = toTargetArg === null || toTargetArg === undefined ? null : itemRef(toTargetArg);
|
|
1243
|
+
if (toTarget !== null
|
|
1244
|
+
&& (!this.itemsByKey.has(itemKey(toTarget))
|
|
1245
|
+
|| sameItem(toTarget, { kind: 'resource', id: resourceIdArg })
|
|
1246
|
+
|| !this.isResourceTargetEligible(resourceIdArg, toTarget)))
|
|
1166
1247
|
return false;
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1248
|
+
const mode = modeArg ?? (toTarget === null
|
|
1249
|
+
? 'detach'
|
|
1250
|
+
: currentTargets.length === 0
|
|
1251
|
+
? 'attach'
|
|
1252
|
+
: currentTargets.length === 1
|
|
1253
|
+
? 'move'
|
|
1254
|
+
: undefined);
|
|
1255
|
+
// An ambiguous request is refused rather than guessed at.
|
|
1256
|
+
if (!mode)
|
|
1171
1257
|
return false;
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
const
|
|
1176
|
-
?
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1258
|
+
const explicitFrom = fromTargetArg === null || fromTargetArg === undefined
|
|
1259
|
+
? undefined
|
|
1260
|
+
: itemRef(fromTargetArg);
|
|
1261
|
+
const fromTarget = explicitFrom
|
|
1262
|
+
?? (currentTargets.length === 1 ? currentTargets[0] : undefined);
|
|
1263
|
+
if (mode === 'attach' || mode === 'attach-additional') {
|
|
1264
|
+
if (toTarget === null)
|
|
1265
|
+
return false;
|
|
1266
|
+
if (currentTargets.some((candidate) => sameItem(candidate, toTarget)))
|
|
1267
|
+
return false;
|
|
1268
|
+
if (mode === 'attach' && currentTargets.length > 0)
|
|
1269
|
+
return false;
|
|
1270
|
+
if (mode === 'attach-additional' && currentTargets.length === 0)
|
|
1271
|
+
return false;
|
|
1272
|
+
}
|
|
1273
|
+
if (mode === 'move' || mode === 'detach') {
|
|
1274
|
+
if (!fromTarget)
|
|
1275
|
+
return false;
|
|
1276
|
+
if (!currentTargets.some((candidate) => sameItem(candidate, fromTarget)))
|
|
1277
|
+
return false;
|
|
1278
|
+
if (mode === 'move') {
|
|
1279
|
+
if (toTarget === null || sameItem(fromTarget, toTarget))
|
|
1280
|
+
return false;
|
|
1281
|
+
if (currentTargets.some((candidate) => sameItem(candidate, toTarget)))
|
|
1282
|
+
return false;
|
|
1182
1283
|
}
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1284
|
+
if (mode === 'detach' && toTarget !== null)
|
|
1285
|
+
return false;
|
|
1286
|
+
}
|
|
1287
|
+
const detail = {
|
|
1288
|
+
mode,
|
|
1289
|
+
resource,
|
|
1290
|
+
fromTarget: mode === 'attach' || mode === 'attach-additional' ? null : fromTarget,
|
|
1291
|
+
toTarget: mode === 'detach' ? null : toTarget,
|
|
1292
|
+
source: sourceArg,
|
|
1293
|
+
};
|
|
1294
|
+
const expectedTargets = mode === 'attach' || mode === 'attach-additional'
|
|
1295
|
+
? [...currentTargets, toTarget]
|
|
1296
|
+
: mode === 'detach'
|
|
1297
|
+
? currentTargets.filter((candidate) => !sameItem(candidate, fromTarget))
|
|
1298
|
+
: currentTargets.map((candidate) => (sameItem(candidate, fromTarget) ? toTarget : candidate));
|
|
1198
1299
|
this.pendingResourceAssociationRequest = {
|
|
1199
1300
|
resourceId: resource.id,
|
|
1200
1301
|
resourceTitle: resource.title || resource.id,
|
|
1201
|
-
fromTarget,
|
|
1202
|
-
toTarget,
|
|
1203
|
-
|
|
1302
|
+
fromTarget: detail.fromTarget,
|
|
1303
|
+
toTarget: detail.toTarget,
|
|
1304
|
+
mode,
|
|
1305
|
+
expectedTargets,
|
|
1204
1306
|
};
|
|
1205
1307
|
this.moveAnnouncement = this.resourceAssociationAnnouncement(detail, false);
|
|
1206
|
-
this.dispatchEvent(new CustomEvent('harness-resource-
|
|
1308
|
+
this.dispatchEvent(new CustomEvent('harness-resource-associate', {
|
|
1207
1309
|
detail,
|
|
1208
1310
|
bubbles: true,
|
|
1209
1311
|
composed: true,
|
|
@@ -1430,7 +1532,7 @@ let DeesHarnessSessionList = (() => {
|
|
|
1430
1532
|
? this.renderDropPlaceholder(groupIdArg, slot?.index ?? 0)
|
|
1431
1533
|
: entry.item.kind === 'session'
|
|
1432
1534
|
? this.renderSessionItem(entry.item.session, groupIdArg, entry.logicalIndex)
|
|
1433
|
-
: this.renderResourceItem(entry.item.resource, groupIdArg, entry.logicalIndex, associations.get(entry.item.id) ??
|
|
1535
|
+
: this.renderResourceItem(entry.item.resource, groupIdArg, entry.logicalIndex, associations.get(entry.item.id) ?? []))}
|
|
1434
1536
|
${this.draggingItem && sortableArg && !hasPlaceholder && this.sortableItems(itemsArg).length === 0
|
|
1435
1537
|
? html `
|
|
1436
1538
|
<div
|
|
@@ -1492,13 +1594,16 @@ let DeesHarnessSessionList = (() => {
|
|
|
1492
1594
|
const projectLabel = session.projectLabel?.trim() ?? '';
|
|
1493
1595
|
return html `
|
|
1494
1596
|
<article
|
|
1495
|
-
class="item state-${state} ${active ? 'active' : ''} ${expanded ? 'expanded' : ''} ${session.id === this.selectedSessionId ? 'selected' : ''} ${sameItem(this.draggingItem, { kind: 'session', id: session.id }) ? 'dragging' : ''}
|
|
1597
|
+
class="item state-${state} ${active ? 'active' : ''} ${expanded ? 'expanded' : ''} ${session.id === this.selectedSessionId ? 'selected' : ''} ${sameItem(this.draggingItem, { kind: 'session', id: session.id }) ? 'dragging' : ''} ${sameItem(this.dropAttachTarget ?? null, { kind: 'session', id: session.id })
|
|
1598
|
+
? 'attachTarget'
|
|
1599
|
+
: ''}"
|
|
1496
1600
|
data-session-id=${session.id}
|
|
1497
1601
|
data-item-kind="session"
|
|
1498
1602
|
data-item-id=${session.id}
|
|
1499
1603
|
data-drop-group-id=${groupId ?? ''}
|
|
1500
1604
|
data-drop-index=${dropIndex}
|
|
1501
1605
|
data-drop-kind=${index < 0 ? 'slot' : 'card'}
|
|
1606
|
+
data-attach-target=${sameItem(this.dropAttachTarget ?? null, { kind: 'session', id: session.id }) ? 'true' : ''}
|
|
1502
1607
|
@dblclick=${(event) => {
|
|
1503
1608
|
if (this.eventTargetsExpandToggle(event) || this.eventTargetsDragHandle(event)
|
|
1504
1609
|
|| this.eventTargetsSessionActions(event))
|
|
@@ -1519,6 +1624,9 @@ let DeesHarnessSessionList = (() => {
|
|
|
1519
1624
|
this.dispatchEvent(new CustomEvent('harness-session-context', { detail, bubbles: true, composed: true }));
|
|
1520
1625
|
}}
|
|
1521
1626
|
>
|
|
1627
|
+
${sameItem(this.dropAttachTarget ?? null, { kind: 'session', id: session.id })
|
|
1628
|
+
? html `<span class="attachBadge" aria-hidden="true"><dees-icon icon="lucide:Link" iconSize="12"></dees-icon></span>`
|
|
1629
|
+
: ''}
|
|
1522
1630
|
<div class="itemInner">
|
|
1523
1631
|
<div class="itemHeader ${draggable ? 'draggable' : ''}">
|
|
1524
1632
|
${draggable
|
|
@@ -1604,30 +1712,40 @@ let DeesHarnessSessionList = (() => {
|
|
|
1604
1712
|
</article>
|
|
1605
1713
|
`;
|
|
1606
1714
|
}
|
|
1607
|
-
renderResourceItem(resourceArg, groupIdArg, indexArg,
|
|
1715
|
+
renderResourceItem(resourceArg, groupIdArg, indexArg, attachedTargets) {
|
|
1608
1716
|
const selected = resourceArg.id === this.selectedResourceId;
|
|
1609
1717
|
const draggable = indexArg >= 0;
|
|
1610
1718
|
const dragging = sameItem(this.draggingItem, { kind: 'resource', id: resourceArg.id });
|
|
1611
1719
|
const contextOpen = resourceArg.id === this.resourceContextResourceId;
|
|
1612
|
-
const
|
|
1720
|
+
const attachedTitles = attachedTargets.map((target) => this.itemTitleFor(target));
|
|
1721
|
+
// Two names read at a glance; beyond that a count keeps the row one line, with every name
|
|
1722
|
+
// still reachable through the title.
|
|
1723
|
+
const visibleAttachments = attachedTargets.slice(0, 2);
|
|
1724
|
+
const overflowAttachments = attachedTargets.length - visibleAttachments.length;
|
|
1613
1725
|
const title = resourceArg.title || resourceArg.id;
|
|
1614
1726
|
const projectLabel = resourceArg.projectLabel?.trim() ?? '';
|
|
1615
1727
|
const dropIndex = indexArg < 0 ? 0 : indexArg;
|
|
1616
1728
|
return html `
|
|
1617
1729
|
<article
|
|
1618
|
-
class="resourceRow ${selected ? 'selected' : ''} ${draggable ? 'draggable' : ''} ${dragging ? 'dragging' : ''}
|
|
1730
|
+
class="resourceRow ${selected ? 'selected' : ''} ${draggable ? 'draggable' : ''} ${dragging ? 'dragging' : ''} ${sameItem(this.dropAttachTarget ?? null, { kind: 'resource', id: resourceArg.id })
|
|
1731
|
+
? 'attachTarget'
|
|
1732
|
+
: ''}"
|
|
1619
1733
|
data-resource-id=${resourceArg.id}
|
|
1620
1734
|
data-item-kind="resource"
|
|
1621
1735
|
data-item-id=${resourceArg.id}
|
|
1622
|
-
data-resource-target=${
|
|
1736
|
+
data-resource-target=${attachedTargets.map((target) => `${target.kind}:${target.id}`).join(' ')}
|
|
1737
|
+
data-resource-target-count=${attachedTargets.length}
|
|
1623
1738
|
data-drop-group-id=${groupIdArg ?? ''}
|
|
1624
1739
|
data-drop-index=${dropIndex}
|
|
1625
1740
|
data-drop-kind=${indexArg < 0 ? 'slot' : 'card'}
|
|
1741
|
+
data-attach-target=${sameItem(this.dropAttachTarget ?? null, { kind: 'resource', id: resourceArg.id })
|
|
1742
|
+
? 'true'
|
|
1743
|
+
: ''}
|
|
1626
1744
|
@dblclick=${(event) => {
|
|
1627
1745
|
event.stopPropagation();
|
|
1628
1746
|
if (this.eventTargetsResourceControl(event) || this.eventTargetsDragHandle(event))
|
|
1629
1747
|
return;
|
|
1630
|
-
this.emitResource('harness-resource-open', resourceArg,
|
|
1748
|
+
this.emitResource('harness-resource-open', resourceArg, attachedTargets);
|
|
1631
1749
|
}}
|
|
1632
1750
|
@contextmenu=${(event) => {
|
|
1633
1751
|
event.preventDefault();
|
|
@@ -1636,9 +1754,12 @@ let DeesHarnessSessionList = (() => {
|
|
|
1636
1754
|
&& target.matches('button:not(:disabled)')))
|
|
1637
1755
|
?? event.currentTarget.querySelector('.resourcePrimary')
|
|
1638
1756
|
?? event.currentTarget;
|
|
1639
|
-
this.emitResourceContext(event, resourceArg,
|
|
1757
|
+
this.emitResourceContext(event, resourceArg, attachedTargets, 'pointer', focusTarget);
|
|
1640
1758
|
}}
|
|
1641
1759
|
>
|
|
1760
|
+
${sameItem(this.dropAttachTarget ?? null, { kind: 'resource', id: resourceArg.id })
|
|
1761
|
+
? html `<span class="attachBadge" aria-hidden="true"><dees-icon icon="lucide:Link" iconSize="12"></dees-icon></span>`
|
|
1762
|
+
: ''}
|
|
1642
1763
|
${draggable
|
|
1643
1764
|
? this.renderDragHandle({ kind: 'resource', id: resourceArg.id }, title, groupIdArg, indexArg)
|
|
1644
1765
|
: ''}
|
|
@@ -1646,14 +1767,14 @@ let DeesHarnessSessionList = (() => {
|
|
|
1646
1767
|
class="resourcePrimary"
|
|
1647
1768
|
type="button"
|
|
1648
1769
|
aria-current=${selected ? 'true' : 'false'}
|
|
1649
|
-
@click=${() => this.emitResource('harness-resource-select', resourceArg,
|
|
1770
|
+
@click=${() => this.emitResource('harness-resource-select', resourceArg, attachedTargets)}
|
|
1650
1771
|
@keydown=${(event) => {
|
|
1651
1772
|
if (event.key === 'Enter') {
|
|
1652
1773
|
event.preventDefault();
|
|
1653
|
-
this.emitResource('harness-resource-open', resourceArg,
|
|
1774
|
+
this.emitResource('harness-resource-open', resourceArg, attachedTargets);
|
|
1654
1775
|
return;
|
|
1655
1776
|
}
|
|
1656
|
-
this.handleResourceContextKey(event, resourceArg,
|
|
1777
|
+
this.handleResourceContextKey(event, resourceArg, attachedTargets);
|
|
1657
1778
|
}}
|
|
1658
1779
|
>
|
|
1659
1780
|
<dees-icon
|
|
@@ -1669,12 +1790,22 @@ let DeesHarnessSessionList = (() => {
|
|
|
1669
1790
|
? ` · ${harnessFormatRelativeTime(resourceArg.updatedAt ?? resourceArg.createdAt)}`
|
|
1670
1791
|
: ''}
|
|
1671
1792
|
</span>
|
|
1672
|
-
${
|
|
1793
|
+
${attachedTargets.length
|
|
1673
1794
|
? html `
|
|
1674
|
-
<span class="
|
|
1795
|
+
<span class="resourceAttachments" title=${`Attached to ${attachedTitles.join(', ')}`}>
|
|
1675
1796
|
<dees-icon aria-hidden="true" icon="lucide:Link" iconSize="10"></dees-icon>
|
|
1676
1797
|
<span class="visuallyHidden">Attached to </span>
|
|
1677
|
-
|
|
1798
|
+
${repeat(visibleAttachments, (target) => itemKey(target), (target, index) => html `
|
|
1799
|
+
<span class="resourceAttachment">
|
|
1800
|
+
<span class="resourceAttachmentName">${this.itemTitleFor(target)}</span>
|
|
1801
|
+
${index < visibleAttachments.length - 1 || overflowAttachments > 0
|
|
1802
|
+
? html `<span aria-hidden="true">,</span>`
|
|
1803
|
+
: ''}
|
|
1804
|
+
</span>
|
|
1805
|
+
`)}
|
|
1806
|
+
${overflowAttachments > 0
|
|
1807
|
+
? html `<span class="resourceAttachmentOverflow">+${overflowAttachments}</span>`
|
|
1808
|
+
: ''}
|
|
1678
1809
|
</span>
|
|
1679
1810
|
`
|
|
1680
1811
|
: ''}
|
|
@@ -1690,10 +1821,10 @@ let DeesHarnessSessionList = (() => {
|
|
|
1690
1821
|
aria-keyshortcuts="ContextMenu Shift+F10"
|
|
1691
1822
|
@click=${(event) => {
|
|
1692
1823
|
event.stopPropagation();
|
|
1693
|
-
this.emitResourceContext(event, resourceArg,
|
|
1824
|
+
this.emitResourceContext(event, resourceArg, attachedTargets, 'action', event.currentTarget);
|
|
1694
1825
|
}}
|
|
1695
1826
|
@keydown=${(event) => {
|
|
1696
|
-
this.handleResourceContextKey(event, resourceArg,
|
|
1827
|
+
this.handleResourceContextKey(event, resourceArg, attachedTargets);
|
|
1697
1828
|
}}
|
|
1698
1829
|
>
|
|
1699
1830
|
<dees-icon icon="lucide:Ellipsis" iconSize="15"></dees-icon>
|
|
@@ -1886,14 +2017,29 @@ let DeesHarnessSessionList = (() => {
|
|
|
1886
2017
|
}
|
|
1887
2018
|
setDropSlot(groupIdArg, indexArg) {
|
|
1888
2019
|
const current = this.dropSlot;
|
|
1889
|
-
if (current
|
|
2020
|
+
if (current
|
|
2021
|
+
&& current.groupId === groupIdArg
|
|
2022
|
+
&& current.index === indexArg
|
|
2023
|
+
&& !this.dropAttachTarget)
|
|
1890
2024
|
return;
|
|
2025
|
+
this.dropAttachTarget = undefined;
|
|
1891
2026
|
const previousRects = this.captureRowRects();
|
|
1892
2027
|
const generation = ++this.reflowGeneration;
|
|
1893
2028
|
this.dropSlot = { groupId: groupIdArg, index: indexArg };
|
|
1894
2029
|
void this.animateRowReflow(previousRects, generation);
|
|
1895
2030
|
}
|
|
2031
|
+
setDropAttachTarget(targetArg) {
|
|
2032
|
+
if (sameItem(this.dropAttachTarget ?? null, targetArg) && !this.dropSlot)
|
|
2033
|
+
return;
|
|
2034
|
+
const previousRects = this.captureRowRects();
|
|
2035
|
+
const generation = ++this.reflowGeneration;
|
|
2036
|
+
this.dropAttachTarget = itemRef(targetArg);
|
|
2037
|
+
// An attaching pointer closes any open insertion gap, so the list stops offering both.
|
|
2038
|
+
this.dropSlot = undefined;
|
|
2039
|
+
void this.animateRowReflow(previousRects, generation);
|
|
2040
|
+
}
|
|
1896
2041
|
clearDropSlot() {
|
|
2042
|
+
this.dropAttachTarget = undefined;
|
|
1897
2043
|
if (!this.dropSlot)
|
|
1898
2044
|
return;
|
|
1899
2045
|
const previousRects = this.captureRowRects();
|
|
@@ -1988,11 +2134,47 @@ let DeesHarnessSessionList = (() => {
|
|
|
1988
2134
|
const baseIndex = Number(target.dataset.dropIndex);
|
|
1989
2135
|
const groupId = target.dataset.dropGroupId || null;
|
|
1990
2136
|
const rect = target.getBoundingClientRect();
|
|
2137
|
+
const attachTarget = this.attachTargetForDrop(target, pointerY, rect);
|
|
2138
|
+
if (attachTarget) {
|
|
2139
|
+
this.setDropAttachTarget(attachTarget);
|
|
2140
|
+
return;
|
|
2141
|
+
}
|
|
1991
2142
|
const index = target.dataset.dropKind === 'card' && pointerY >= rect.top + rect.height / 2
|
|
1992
2143
|
? baseIndex + 1
|
|
1993
2144
|
: baseIndex;
|
|
1994
2145
|
this.setDropSlot(groupId, index);
|
|
1995
2146
|
}
|
|
2147
|
+
/**
|
|
2148
|
+
* A resource released on the centre of an eligible row attaches to it. Only a row qualifies —
|
|
2149
|
+
* never an insertion slot — and only while a resource is the dragged item. A resource that is
|
|
2150
|
+
* already attached to several items is excluded: a drag cannot name which attachment would
|
|
2151
|
+
* move, so such a row offers no affordance and the drop stays purely positional. Moving one of
|
|
2152
|
+
* several attachments is a menu action.
|
|
2153
|
+
*/
|
|
2154
|
+
attachTargetForDrop(targetArg, pointerYArg, rectArg) {
|
|
2155
|
+
const dragging = this.draggingItem;
|
|
2156
|
+
if (!dragging || dragging.kind !== 'resource')
|
|
2157
|
+
return undefined;
|
|
2158
|
+
if (this.resourceTargets(dragging.id).length > 1)
|
|
2159
|
+
return undefined;
|
|
2160
|
+
if (targetArg.dataset.dropKind !== 'card')
|
|
2161
|
+
return undefined;
|
|
2162
|
+
const kind = targetArg.dataset.itemKind;
|
|
2163
|
+
const id = targetArg.dataset.itemId;
|
|
2164
|
+
if ((kind !== 'session' && kind !== 'resource') || !id)
|
|
2165
|
+
return undefined;
|
|
2166
|
+
const candidate = { kind, id };
|
|
2167
|
+
if (sameItem(candidate, dragging))
|
|
2168
|
+
return undefined;
|
|
2169
|
+
if (!this.isResourceTargetEligible(dragging.id, candidate))
|
|
2170
|
+
return undefined;
|
|
2171
|
+
// The ratio is the whole band, so each side of the centre gets half of it.
|
|
2172
|
+
const halfBand = (rectArg.height * attachCentreBandRatio) / 2;
|
|
2173
|
+
const centre = rectArg.top + rectArg.height / 2;
|
|
2174
|
+
if (Math.abs(pointerYArg - centre) > halfBand)
|
|
2175
|
+
return undefined;
|
|
2176
|
+
return candidate;
|
|
2177
|
+
}
|
|
1996
2178
|
get scrollContainer() {
|
|
1997
2179
|
return this.shadowRoot?.querySelector('.list') ?? undefined;
|
|
1998
2180
|
}
|
|
@@ -2161,6 +2343,60 @@ let DeesHarnessSessionList = (() => {
|
|
|
2161
2343
|
const eligible = this.eligibleTargets(resourceIdArg);
|
|
2162
2344
|
return eligible === undefined || eligible.some((candidate) => sameItem(candidate, targetArg));
|
|
2163
2345
|
}
|
|
2346
|
+
reconcilePendingResourceAssociation() {
|
|
2347
|
+
const pending = this.pendingResourceAssociationRequest;
|
|
2348
|
+
if (!pending)
|
|
2349
|
+
return;
|
|
2350
|
+
if (!this.resourcesById.has(pending.resourceId)) {
|
|
2351
|
+
this.pendingResourceAssociationRequest = undefined;
|
|
2352
|
+
return;
|
|
2353
|
+
}
|
|
2354
|
+
const current = this.resourceTargets(pending.resourceId);
|
|
2355
|
+
const sameSet = (leftArg, rightArg) => leftArg.length === rightArg.length
|
|
2356
|
+
&& leftArg.every((candidate) => rightArg.some((other) => sameItem(candidate, other)));
|
|
2357
|
+
if (!sameSet(current, pending.expectedTargets)) {
|
|
2358
|
+
// Still the pre-request set: the host has not answered yet, so keep waiting.
|
|
2359
|
+
if (sameSet(current, this.pendingRequestPriorTargets(pending)))
|
|
2360
|
+
return;
|
|
2361
|
+
const controlledTitle = current.length
|
|
2362
|
+
? current.map((target) => this.itemTitleFor(target)).join(', ')
|
|
2363
|
+
: 'unattached';
|
|
2364
|
+
this.moveAnnouncement = `Association request for ${pending.resourceTitle} was not applied; controlled attachments are ${controlledTitle}.`;
|
|
2365
|
+
this.pendingResourceAssociationRequest = undefined;
|
|
2366
|
+
return;
|
|
2367
|
+
}
|
|
2368
|
+
const fromTitle = pending.fromTarget ? this.itemTitleFor(pending.fromTarget) : '';
|
|
2369
|
+
const toTitle = pending.toTarget ? this.itemTitleFor(pending.toTarget) : '';
|
|
2370
|
+
this.moveAnnouncement = pending.mode === 'attach' || pending.mode === 'attach-additional'
|
|
2371
|
+
? `${pending.resourceTitle} is now attached to ${toTitle}.`
|
|
2372
|
+
: pending.mode === 'detach'
|
|
2373
|
+
? `${pending.resourceTitle} is now detached from ${fromTitle}.`
|
|
2374
|
+
: `${pending.resourceTitle} is now moved from ${fromTitle} to ${toTitle}.`;
|
|
2375
|
+
this.pendingResourceAssociationRequest = undefined;
|
|
2376
|
+
}
|
|
2377
|
+
/** The set the request started from, reconstructed from the expected set and the request. */
|
|
2378
|
+
pendingRequestPriorTargets(pendingArg) {
|
|
2379
|
+
if (pendingArg.mode === 'attach' || pendingArg.mode === 'attach-additional') {
|
|
2380
|
+
return pendingArg.expectedTargets.filter((candidate) => !sameItem(candidate, pendingArg.toTarget));
|
|
2381
|
+
}
|
|
2382
|
+
if (pendingArg.mode === 'detach') {
|
|
2383
|
+
return [...pendingArg.expectedTargets, pendingArg.fromTarget];
|
|
2384
|
+
}
|
|
2385
|
+
return pendingArg.expectedTargets.map((candidate) => (sameItem(candidate, pendingArg.toTarget) ? pendingArg.fromTarget : candidate));
|
|
2386
|
+
}
|
|
2387
|
+
resourceAssociationAnnouncement(detailArg, completedArg) {
|
|
2388
|
+
const resourceTitle = detailArg.resource.title || detailArg.resource.id;
|
|
2389
|
+
const fromTitle = detailArg.fromTarget ? this.itemTitleFor(detailArg.fromTarget) : '';
|
|
2390
|
+
const toTitle = detailArg.toTarget ? this.itemTitleFor(detailArg.toTarget) : '';
|
|
2391
|
+
const verb = completedArg ? 'completed' : 'requested';
|
|
2392
|
+
return detailArg.mode === 'attach'
|
|
2393
|
+
? `Attach ${verb} for ${resourceTitle} to ${toTitle}.`
|
|
2394
|
+
: detailArg.mode === 'attach-additional'
|
|
2395
|
+
? `Additional attach ${verb} for ${resourceTitle} to ${toTitle}.`
|
|
2396
|
+
: detailArg.mode === 'detach'
|
|
2397
|
+
? `Detach ${verb} for ${resourceTitle} from ${fromTitle}.`
|
|
2398
|
+
: `Move ${verb} for ${resourceTitle} from ${fromTitle} to ${toTitle}.`;
|
|
2399
|
+
}
|
|
2164
2400
|
itemTitleFor(refArg) {
|
|
2165
2401
|
return this.itemsByKey.get(itemKey(refArg))?.title ?? refArg.id;
|
|
2166
2402
|
}
|
|
@@ -2168,21 +2404,21 @@ let DeesHarnessSessionList = (() => {
|
|
|
2168
2404
|
const detail = { session: sessionArg };
|
|
2169
2405
|
this.dispatchEvent(new CustomEvent(nameArg, { detail, bubbles: true, composed: true }));
|
|
2170
2406
|
}
|
|
2171
|
-
emitResource(nameArg, resourceArg,
|
|
2407
|
+
emitResource(nameArg, resourceArg, targetsArg) {
|
|
2172
2408
|
const detail = {
|
|
2173
2409
|
resource: resourceArg,
|
|
2174
|
-
|
|
2410
|
+
targets: targetsArg,
|
|
2175
2411
|
};
|
|
2176
2412
|
this.dispatchEvent(new CustomEvent(nameArg, { detail, bubbles: true, composed: true }));
|
|
2177
2413
|
}
|
|
2178
|
-
handleResourceContextKey(eventArg, resourceArg,
|
|
2414
|
+
handleResourceContextKey(eventArg, resourceArg, targetsArg) {
|
|
2179
2415
|
if (!(eventArg.key === 'ContextMenu' || (eventArg.key === 'F10' && eventArg.shiftKey)))
|
|
2180
2416
|
return;
|
|
2181
2417
|
eventArg.preventDefault();
|
|
2182
2418
|
eventArg.stopPropagation();
|
|
2183
|
-
this.emitResourceContext(eventArg, resourceArg,
|
|
2419
|
+
this.emitResourceContext(eventArg, resourceArg, targetsArg, 'keyboard', eventArg.currentTarget);
|
|
2184
2420
|
}
|
|
2185
|
-
emitResourceContext(eventArg, resourceArg,
|
|
2421
|
+
emitResourceContext(eventArg, resourceArg, targetsArg, sourceArg, focusTargetArg) {
|
|
2186
2422
|
const rect = focusTargetArg.getBoundingClientRect();
|
|
2187
2423
|
const contextGeneration = ++this.resourceContextGeneration;
|
|
2188
2424
|
this.resourceContextResourceId = resourceArg.id;
|
|
@@ -2194,7 +2430,7 @@ let DeesHarnessSessionList = (() => {
|
|
|
2194
2430
|
].find((className) => focusTargetArg.classList.contains(className)) ?? 'resourcePrimary';
|
|
2195
2431
|
const detail = {
|
|
2196
2432
|
resource: resourceArg,
|
|
2197
|
-
|
|
2433
|
+
targets: targetsArg,
|
|
2198
2434
|
clientX: sourceArg === 'pointer' && eventArg instanceof MouseEvent
|
|
2199
2435
|
? eventArg.clientX
|
|
2200
2436
|
: rect.left + rect.width / 2,
|
|
@@ -2203,7 +2439,7 @@ let DeesHarnessSessionList = (() => {
|
|
|
2203
2439
|
: rect.bottom,
|
|
2204
2440
|
source: sourceArg,
|
|
2205
2441
|
originalEvent: eventArg,
|
|
2206
|
-
requestAssociation: (toTargetArg) => this.requestResourceAssociation(resourceArg.id, toTargetArg, sourceArg === 'keyboard' ? 'keyboard' : 'action'),
|
|
2442
|
+
requestAssociation: (toTargetArg, modeArg, fromTargetArg) => this.requestResourceAssociation(resourceArg.id, toTargetArg, sourceArg === 'keyboard' ? 'keyboard' : 'action', modeArg, fromTargetArg),
|
|
2207
2443
|
close: () => this.closeResourceContext(contextGeneration),
|
|
2208
2444
|
};
|
|
2209
2445
|
this.dispatchEvent(new CustomEvent('harness-resource-context', { detail, bubbles: true, composed: true }));
|
|
@@ -2234,43 +2470,6 @@ let DeesHarnessSessionList = (() => {
|
|
|
2234
2470
|
this.resourceContextFocusTarget = undefined;
|
|
2235
2471
|
this.resourceContextFocusClass = '';
|
|
2236
2472
|
}
|
|
2237
|
-
reconcilePendingResourceAssociation() {
|
|
2238
|
-
const pending = this.pendingResourceAssociationRequest;
|
|
2239
|
-
if (!pending)
|
|
2240
|
-
return;
|
|
2241
|
-
if (!this.resourcesById.has(pending.resourceId)) {
|
|
2242
|
-
this.pendingResourceAssociationRequest = undefined;
|
|
2243
|
-
return;
|
|
2244
|
-
}
|
|
2245
|
-
const currentTarget = this.acceptedResourceAssociations.get(pending.resourceId) ?? null;
|
|
2246
|
-
if (!sameItem(currentTarget, pending.toTarget) && !(currentTarget === null && pending.toTarget === null)) {
|
|
2247
|
-
if (!sameItem(currentTarget, pending.fromTarget) && !(currentTarget === null && pending.fromTarget === null)) {
|
|
2248
|
-
const controlledTitle = currentTarget ? this.itemTitleFor(currentTarget) : 'unattached';
|
|
2249
|
-
this.moveAnnouncement = `Association request for ${pending.resourceTitle} was not applied; controlled association is ${controlledTitle}.`;
|
|
2250
|
-
this.pendingResourceAssociationRequest = undefined;
|
|
2251
|
-
}
|
|
2252
|
-
return;
|
|
2253
|
-
}
|
|
2254
|
-
const fromTitle = pending.fromTarget ? this.itemTitleFor(pending.fromTarget) : '';
|
|
2255
|
-
const toTitle = pending.toTarget ? this.itemTitleFor(pending.toTarget) : '';
|
|
2256
|
-
this.moveAnnouncement = pending.intent === 'attach'
|
|
2257
|
-
? `${pending.resourceTitle} is now attached to ${toTitle}.`
|
|
2258
|
-
: pending.intent === 'detach'
|
|
2259
|
-
? `${pending.resourceTitle} is now detached from ${fromTitle}.`
|
|
2260
|
-
: `${pending.resourceTitle} is now reassigned from ${fromTitle} to ${toTitle}.`;
|
|
2261
|
-
this.pendingResourceAssociationRequest = undefined;
|
|
2262
|
-
}
|
|
2263
|
-
resourceAssociationAnnouncement(detailArg, completedArg) {
|
|
2264
|
-
const resourceTitle = detailArg.resource.title || detailArg.resource.id;
|
|
2265
|
-
const fromTitle = detailArg.fromTarget ? this.itemTitleFor(detailArg.fromTarget) : '';
|
|
2266
|
-
const toTitle = detailArg.toTarget ? this.itemTitleFor(detailArg.toTarget) : '';
|
|
2267
|
-
const verb = completedArg ? 'completed' : 'requested';
|
|
2268
|
-
return detailArg.intent === 'attach'
|
|
2269
|
-
? `Attach ${verb} for ${resourceTitle} to ${toTitle}.`
|
|
2270
|
-
: detailArg.intent === 'detach'
|
|
2271
|
-
? `Detach ${verb} for ${resourceTitle} from ${fromTitle}.`
|
|
2272
|
-
: `Reassign ${verb} for ${resourceTitle} from ${fromTitle} to ${toTitle}.`;
|
|
2273
|
-
}
|
|
2274
2473
|
async animateRowReflow(previousRectsArg, generationArg) {
|
|
2275
2474
|
await this.updateComplete;
|
|
2276
2475
|
if (generationArg !== this.reflowGeneration
|
|
@@ -2309,7 +2508,12 @@ let DeesHarnessSessionList = (() => {
|
|
|
2309
2508
|
const gesture = this.pointerDragGesture;
|
|
2310
2509
|
if (!gesture)
|
|
2311
2510
|
return;
|
|
2312
|
-
const
|
|
2511
|
+
const committing = commitArg && gesture.phase === 'active';
|
|
2512
|
+
// A centred release attaches instead of reordering; the two are never both pending.
|
|
2513
|
+
const attachTarget = committing && gesture.item.kind === 'resource'
|
|
2514
|
+
? this.dropAttachTarget
|
|
2515
|
+
: undefined;
|
|
2516
|
+
const moveDetail = (committing && !attachTarget && this.dropSlot)
|
|
2313
2517
|
? this.createMoveDetail(gesture.item, this.dropSlot.groupId, this.dropSlot.index, 'pointer')
|
|
2314
2518
|
: undefined;
|
|
2315
2519
|
this.pointerDragGesture = undefined;
|
|
@@ -2332,6 +2536,7 @@ let DeesHarnessSessionList = (() => {
|
|
|
2332
2536
|
this.draggingItem = undefined;
|
|
2333
2537
|
this.draggedItemHeight = 0;
|
|
2334
2538
|
this.dropSlot = undefined;
|
|
2539
|
+
this.dropAttachTarget = undefined;
|
|
2335
2540
|
try {
|
|
2336
2541
|
if (gesture.handle.hasPointerCapture(gesture.pointerId)) {
|
|
2337
2542
|
gesture.handle.releasePointerCapture(gesture.pointerId);
|
|
@@ -2340,6 +2545,13 @@ let DeesHarnessSessionList = (() => {
|
|
|
2340
2545
|
catch {
|
|
2341
2546
|
// Capture may already be released or the handle may have disconnected.
|
|
2342
2547
|
}
|
|
2548
|
+
if (attachTarget) {
|
|
2549
|
+
// Only an unattached or singly attached resource can reach this point, so the mode follows
|
|
2550
|
+
// from the current set without asking anything further.
|
|
2551
|
+
const current = this.resourceTargets(gesture.item.id);
|
|
2552
|
+
this.requestResourceAssociation(gesture.item.id, attachTarget, 'pointer', current.length === 0 ? 'attach' : 'move', current[0]);
|
|
2553
|
+
return;
|
|
2554
|
+
}
|
|
2343
2555
|
if (moveDetail)
|
|
2344
2556
|
this.emitItemMove(moveDetail);
|
|
2345
2557
|
}
|
|
@@ -2350,4 +2562,4 @@ let DeesHarnessSessionList = (() => {
|
|
|
2350
2562
|
return DeesHarnessSessionList = _classThis;
|
|
2351
2563
|
})();
|
|
2352
2564
|
export { DeesHarnessSessionList };
|
|
2353
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXNlc3Npb24tbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWhhcm5lc3MvZGVlcy1oYXJuZXNzLXNlc3Npb24tbGlzdC9kZWVzLWhhcm5lc3Mtc2Vzc2lvbi1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDL0QsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsRUFDVixVQUFVLEdBQ1gsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQW1CN0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyw4Q0FBOEMsQ0FBQztBQUV0RCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO0FBQzlCLE1BQU0sZ0NBQWdDLEdBQUcsR0FBRyxDQUFDO0FBQzdDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0FBNkI5QixNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQWtDLEVBQVUsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFOUYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxPQUFtQyxFQUE4QixFQUFFLENBQUMsQ0FBQztJQUNwRixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7SUFDbEIsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFO0NBQ2YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxRQUFR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
|
|
2565
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1oYXJuZXNzLXNlc3Npb24tbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWhhcm5lc3MvZGVlcy1oYXJuZXNzLXNlc3Npb24tbGlzdC9kZWVzLWhhcm5lc3Mtc2Vzc2lvbi1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDL0QsT0FBTyxFQUNMLFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxFQUNILGFBQWEsRUFFYixRQUFRLEVBQ1IsS0FBSyxFQUNMLFVBQVUsRUFDVixVQUFVLEdBQ1gsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQW9CN0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyw4Q0FBOEMsQ0FBQztBQUV0RCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDO0FBQzlCLE1BQU0sZ0NBQWdDLEdBQUcsR0FBRyxDQUFDO0FBQzdDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0FBQzlCOzs7O0dBSUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQztBQTZCbEMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFrQyxFQUFVLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBRTlGLE1BQU0sT0FBTyxHQUFHLENBQUMsT0FBbUMsRUFBOEIsRUFBRSxDQUFDLENBQUM7SUFDcEYsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0lBQ2xCLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRTtDQUNmLENBQUMsQ0FBQztBQUVILE1BQU0sUUFBUSxHQUFHLENBQ2YsT0FBc0QsRUFDdEQsUUFBdUQsRUFDOUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPO09BQ2xCLENBQUMsQ0FBQyxRQUFRO09BQ1YsT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsSUFBSTtPQUM5QixPQUFPLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQUM7QUFtQ2hDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0lBRVUsc0JBQXNCOzRCQURsQyxhQUFhLENBQUMsMkJBQTJCLENBQUM7Ozs7c0JBQ0MsV0FBVzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQ0FBbkIsU0FBUSxXQUFXOzs7O29DQUlwRCxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7NkNBRzlCLFFBQVEsRUFBRTttQ0FHVixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7cUNBRzNCLFFBQVEsRUFBRTtrQ0FHVixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7MENBRzlCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQzs0Q0FJM0IsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO3FDQUc5QixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0RBRzlCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQzs4Q0FHOUIsUUFBUSxFQUFFO3VEQVNWLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztrQ0FHOUIsS0FBSyxFQUFFO3dDQUdQLEtBQUssRUFBRTtvQ0FHUCxLQUFLLEVBQUU7NENBT1AsS0FBSyxFQUFFOzZDQUdQLEtBQUssRUFBRTs4Q0FHUCxLQUFLLEVBQUU7NkNBR1AsS0FBSyxFQUFFO2tEQUdQLEtBQUssRUFBRTtxREFHUCxLQUFLLEVBQUU7NENBR1AsS0FBSyxFQUFFO3FEQUdQLEtBQUssRUFBRTtZQXpFUiw2S0FBUyxRQUFRLDZCQUFSLFFBQVEsMkZBQTZCO1lBRzlDLHdNQUFTLGlCQUFpQiw2QkFBakIsaUJBQWlCLDZHQUFjO1lBR3hDLDBLQUFTLE9BQU8sNkJBQVAsT0FBTyx5RkFBa0I7WUFHbEMsZ0xBQVMsU0FBUyw2QkFBVCxTQUFTLDZGQUFtQztZQUdyRCx1S0FBUyxNQUFNLDZCQUFOLE1BQU0sdUZBQThCO1lBRzdDLCtMQUFTLGNBQWMsNkJBQWQsY0FBYyx1R0FBa0I7WUFJekMscU1BQVMsZ0JBQWdCLDZCQUFoQixnQkFBZ0IsMkdBQW9DO1lBRzdELGdMQUFTLFNBQVMsNkJBQVQsU0FBUyw2RkFBOEI7WUFHaEQsaU5BQVMsb0JBQW9CLDZCQUFwQixvQkFBb0IsbUhBQXFDO1lBR2xFLDJNQUFTLGtCQUFrQiw2QkFBbEIsa0JBQWtCLCtHQUFNO1lBU2pDLHNPQUFTLDJCQUEyQiw2QkFBM0IsMkJBQTJCLGlJQUFvRDtZQUd4Rix1S0FBUyxNQUFNLDZCQUFOLE1BQU0sdUZBQWM7WUFHN0IseUxBQVMsWUFBWSw2QkFBWixZQUFZLG1HQUFxRDtZQUcxRSw2S0FBUyxRQUFRLDZCQUFSLFFBQVEsMkZBQW9DO1lBT3JELHFNQUFTLGdCQUFnQiw2QkFBaEIsZ0JBQWdCLDJHQUFxRDtZQUc5RSx3TUFBUyxpQkFBaUIsNkJBQWpCLGlCQUFpQiw2R0FBSztZQUcvQiwyTUFBUyxrQkFBa0IsNkJBQWxCLGtCQUFrQiwrR0FBMEM7WUFHckUsd01BQVMsaUJBQWlCLDZCQUFqQixpQkFBaUIsNkdBQTBDO1lBR3BFLHVOQUFpQixzQkFBc0IsNkJBQXRCLHNCQUFzQix1SEFBUztZQUdoRCxnT0FBaUIseUJBQXlCLDZCQUF6Qix5QkFBeUIsNkhBQVM7WUFHbkQscU1BQWlCLGdCQUFnQiw2QkFBaEIsZ0JBQWdCLDJHQUFNO1lBR3ZDLGdPQUFpQix5QkFBeUIsNkJBQXpCLHlCQUF5Qiw2SEFBTTtZQS9FbEQsNktBK2hGQzs7OztRQTloRlEsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDdkIsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRzFDLDZFQUEyQyxFQUFFLEVBQUM7UUFBOUMsSUFBUyxRQUFRLDhDQUE2QjtRQUE5QyxJQUFTLFFBQVEsb0RBQTZCO1FBRzlDLHNKQUFxQyxFQUFFLEdBQUM7UUFBeEMsSUFBUyxpQkFBaUIsdURBQWM7UUFBeEMsSUFBUyxpQkFBaUIsNkRBQWM7UUFHeEMsMklBQTRCLEtBQUssR0FBQztRQUFsQyxJQUFTLE9BQU8sNkNBQWtCO1FBQWxDLElBQVMsT0FBTyxtREFBa0I7UUFHbEMscUlBQTZCLHVCQUF1QixHQUFDO1FBQXJELElBQVMsU0FBUywrQ0FBbUM7UUFBckQsSUFBUyxTQUFTLHFEQUFtQztRQUdyRCxpSUFBMEMsRUFBRSxHQUFDO1FBQTdDLElBQVMsTUFBTSw0Q0FBOEI7UUFBN0MsSUFBUyxNQUFNLGtEQUE4QjtRQUc3Qyw4SUFBbUMsS0FBSyxHQUFDO1FBQXpDLElBQVMsY0FBYyxvREFBa0I7UUFBekMsSUFBUyxjQUFjLDBEQUFrQjtRQUl6QywwSkFBMEQsRUFBRSxHQUFDO1FBRjdELG1GQUFtRjtRQUVuRixJQUFTLGdCQUFnQixzREFBb0M7UUFBN0QsSUFBUyxnQkFBZ0IsNERBQW9DO1FBRzdELDhJQUE2QyxFQUFFLEdBQUM7UUFBaEQsSUFBUyxTQUFTLCtDQUE4QjtRQUFoRCxJQUFTLFNBQVMscURBQThCO1FBR2hELDZKQUErRCxFQUFFLEdBQUM7UUFBbEUsSUFBUyxvQkFBb0IsMERBQXFDO1FBQWxFLElBQVMsb0JBQW9CLGdFQUFxQztRQUdsRSxvS0FBOEIsRUFBRSxHQUFDO1FBQWpDLElBQVMsa0JBQWtCLHdEQUFNO1FBQWpDLElBQVMsa0JBQWtCLDhEQUFNO1FBU2pDLG9MQUFxRixFQUFFLEdBQUM7UUFQeEY7Ozs7O1dBS0c7UUFFSCxJQUFTLDJCQUEyQixpRUFBb0Q7UUFBeEYsSUFBUywyQkFBMkIsdUVBQW9EO1FBR3hGLG1KQUEwQixFQUFFLEdBQUM7UUFBN0IsSUFBUyxNQUFNLDRDQUFjO1FBQTdCLElBQVMsTUFBTSxrREFBYztRQUc3QiwwSUFBZ0UsU0FBUyxHQUFDO1FBQTFFLElBQVMsWUFBWSxrREFBcUQ7UUFBMUUsSUFBUyxZQUFZLHdEQUFxRDtRQUcxRSx3SUFBMkMsU0FBUyxHQUFDO1FBQXJELElBQVMsUUFBUSw4Q0FBb0M7UUFBckQsSUFBUyxRQUFRLG9EQUFvQztRQU9yRCxvSkFBb0UsU0FBUyxHQUFDO1FBTDlFOzs7V0FHRztRQUVILElBQVMsZ0JBQWdCLHNEQUFxRDtRQUE5RSxJQUFTLGdCQUFnQiw0REFBcUQ7UUFHOUUsOEpBQTZCLENBQUMsR0FBQztRQUEvQixJQUFTLGlCQUFpQix1REFBSztRQUEvQixJQUFTLGlCQUFpQiw2REFBSztRQUcvQixpS0FBbUQsSUFBSSxHQUFHLEVBQVUsR0FBQztRQUFyRSxJQUFTLGtCQUFrQix3REFBMEM7UUFBckUsSUFBUyxrQkFBa0IsOERBQTBDO1FBR3JFLGdLQUFrRCxJQUFJLEdBQUcsRUFBVSxHQUFDO1FBQXBFLElBQVMsaUJBQWlCLHVEQUEwQztRQUFwRSxJQUFTLGlCQUFpQiw2REFBMEM7UUFHcEUseUtBQTBDLEtBQUssR0FBQztRQUFoRCxJQUFpQixzQkFBc0IsNERBQVM7UUFBaEQsSUFBaUIsc0JBQXNCLGtFQUFTO1FBR2hELG9MQUE2QyxLQUFLLEdBQUM7UUFBbkQsSUFBaUIseUJBQXlCLCtEQUFTO1FBQW5ELElBQWlCLHlCQUF5QixxRUFBUztRQUduRCxxS0FBb0MsRUFBRSxHQUFDO1FBQXZDLElBQWlCLGdCQUFnQixzREFBTTtRQUF2QyxJQUFpQixnQkFBZ0IsNERBQU07UUFHdkMsOEtBQTZDLEVBQUUsR0FBQztRQUFoRCxJQUFpQix5QkFBeUIsK0RBQU07UUFBaEQsSUFBaUIseUJBQXlCLHFFQUFNO1FBRXhDLGdCQUFnQiwyRUFBRyxDQUFDLEVBQUM7UUFDWixnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBYSxDQUFDO1FBQ2pELGtCQUFrQixDQUFrQztRQUNwRCxpQ0FBaUMsQ0FBaUQ7UUFDbEYsMEJBQTBCLENBQTBCO1FBQ3BELHlCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQix5QkFBeUIsR0FBRyxDQUFDLENBQUM7UUFDOUIsaUJBQWlCLENBQWlDO1FBQ2xELG9CQUFvQixDQUE2QjtRQUNqRCx1QkFBdUIsQ0FBMEI7UUFDakQscUJBQXFCLENBQTBCO1FBQy9DLG1CQUFtQixDQUFxQjtRQUN4QyxxQkFBcUIsR0FBRyxDQUFDLENBQUM7UUFDMUIscUJBQXFCLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLHNCQUFzQixHQUFHLENBQUMsQ0FBQztRQUMzQix1QkFBdUIsR0FBRyxDQUFDLENBQUM7UUFFN0IsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixrQkFBa0I7WUFDbEIsVUFBVSxDQUFDLGFBQWE7WUFDeEIscUJBQXFCO1lBQ3JCLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBaXZCRjtTQUNGLENBQUM7UUFFRixJQUFZLGFBQWE7WUFDdkIsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQWdDLENBQUM7WUFDdkQsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUFFLFNBQVM7Z0JBQzNGLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUVEOzs7V0FHRztRQUNILElBQVksNEJBQTRCO1lBQ3RDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDekMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBd0MsQ0FBQztZQUMvRCxLQUFLLE1BQU0sV0FBVyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUNwRCxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO29CQUFFLFNBQVM7Z0JBQ3pFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDekQsS0FBSyxNQUFNLE1BQU0sSUFBSSxXQUFXLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDO29CQUMvQyxJQUNFLENBQUMsTUFBTTsyQkFDSixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDOzJCQUNoQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDOzJCQUNsRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO3dCQUMzRCxTQUFTO29CQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLENBQUM7Z0JBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsK0ZBQStGO1FBQ3ZGLGVBQWUsQ0FBQyxhQUFxQjtZQUMzQyxPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BFLENBQUM7UUFFRCxJQUFZLGlCQUFpQjtZQUMzQixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELHlGQUF5RjtRQUN6RixJQUFZLGFBQWE7WUFDdkIsTUFBTSxNQUFNLEdBQWdCLEVBQUUsQ0FBQztZQUMvQixNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1lBQ3pDLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQUUsU0FBUztnQkFDNUQsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQy9CLE1BQU0sQ0FBQyxJQUFJLENBQUM7b0JBQ1YsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsR0FBRyxFQUFFLFdBQVcsT0FBTyxDQUFDLEVBQUUsRUFBRTtvQkFDNUIsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFO29CQUNkLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxFQUFFO29CQUNsQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFNBQVMsS0FBSyxLQUFLO29CQUNyQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUM7b0JBQ3RELE9BQU87aUJBQ1IsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO2dCQUNuRCxNQUFNLENBQUMsSUFBSSxDQUFDO29CQUNWLElBQUksRUFBRSxVQUFVO29CQUNoQixHQUFHLEVBQUUsWUFBWSxRQUFRLENBQUMsRUFBRSxFQUFFO29CQUM5QixFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUU7b0JBQ2YsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLEVBQUU7b0JBQ3BDLFFBQVEsRUFBRSxRQUFRLENBQUMsU0FBUyxLQUFLLEtBQUs7b0JBQ3RDLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxTQUFTLElBQUksQ0FBQztvQkFDeEQsUUFBUTtpQkFDVCxDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUVELElBQVksVUFBVTtZQUNwQixPQUFPLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFFRCwrREFBK0Q7UUFDL0QsSUFBWSxlQUFlO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2hELENBQUM7UUFFRCxJQUFZLGVBQWU7WUFDekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztZQUMvQixLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDekMsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTztvQkFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzFELENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFTyxhQUFhLENBQUMsVUFBeUI7WUFDN0MsSUFBSSxVQUFVLEtBQUssSUFBSTtnQkFBRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDcEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLEtBQUs7Z0JBQUUsT0FBTyxFQUFFLENBQUM7WUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztZQUM5QixNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1lBQy9CLE1BQU0sTUFBTSxHQUFnQixFQUFFLENBQUM7WUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztvQkFBRSxTQUFTO2dCQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNkLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFFRCwwRkFBMEY7UUFDMUYsSUFBWSxjQUFjO1lBQ3hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDckMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM5RSxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxRCxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsQ0FDM0IsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQzFFLENBQUM7WUFDRixNQUFNLE9BQU8sR0FBZ0IsRUFBRSxDQUFDO1lBQ2hDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxJQUFJO29CQUFFLFNBQVM7Z0JBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ25CLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUM5QyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDbEQsQ0FBQztZQUNGLE9BQU8sQ0FBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFTyxxQkFBcUIsQ0FBQyxXQUFpQyxFQUFFLFFBQWdCO1lBQy9FLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsT0FBTztnQkFDOUUsV0FBVyxDQUFDLFlBQVksQ0FBQztpQkFDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQztpQkFDZixJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUNULFdBQVcsRUFBRTtpQkFDYixRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEIsQ0FBQztRQUVPLG9CQUFvQixDQUFDLFVBQStCLEVBQUUsUUFBZ0I7WUFDNUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDakYsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLFlBQVk7Z0JBQ2pELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxRQUFRLENBQUMsQ0FBQztpQkFDekYsTUFBTSxDQUFDLE9BQU8sQ0FBQztpQkFDZixJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUNULFdBQVcsRUFBRTtpQkFDYixRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEIsQ0FBQztRQUVPLGlCQUFpQixDQUFDLE9BQWtCLEVBQUUsUUFBZ0I7WUFDNUQsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFNBQVM7Z0JBQy9CLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUM7Z0JBQ3RELENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM3RCxDQUFDO1FBRUQscUZBQXFGO1FBQ3JGLElBQVksV0FBVztZQUNyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQy9DLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUN6QyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDbEQsQ0FBQztZQUNGLElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU8sTUFBTSxDQUFDO1lBQzFCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFRCxJQUFZLFlBQVk7WUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUVPLGFBQWEsQ0FBQyxRQUFxQixFQUFFLGtCQUFrQixHQUFHLElBQUk7WUFDcEUsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUMvQixJQUFJLENBQUMsUUFBUTttQkFDVixDQUFDLENBQUMsa0JBQWtCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUMvRCxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRU8sY0FBYyxDQUFDLE1BQWtDO1lBQ3ZELE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQzlCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUMxRSxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVPLGFBQWEsQ0FBQyxNQUFrQztZQUN0RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQ2YsSUFBSSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBYyxnQ0FBZ0MsQ0FBQyxJQUFJLEVBQUUsQ0FDdkYsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQ3BCLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLEVBQUUsQ0FDckYsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVNLFdBQVc7WUFDaEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQW1CLGtCQUFrQixDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDaEYsQ0FBQztRQUVEOzs7OztXQUtHO1FBQ0ksMEJBQTBCLENBQy9CLGFBQXFCLEVBQ3JCLFdBQThDLEVBQzlDLFlBQTBELFFBQVEsRUFDbEUsT0FBdUMsRUFDdkMsYUFBaUQ7WUFFakQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFDNUIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMzRCxNQUFNLFFBQVEsR0FBRyxXQUFXLEtBQUssSUFBSSxJQUFJLFdBQVcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pHLElBQ0UsUUFBUSxLQUFLLElBQUk7bUJBQ2QsQ0FDRCxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQzt1QkFDcEMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDO3VCQUMzRCxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQzNEO2dCQUNELE9BQU8sS0FBSyxDQUFDO1lBRWYsTUFBTSxJQUFJLEdBQUcsT0FBTyxJQUFJLENBQ3RCLFFBQVEsS0FBSyxJQUFJO2dCQUNmLENBQUMsQ0FBQyxRQUFRO2dCQUNWLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUM7b0JBQzNCLENBQUMsQ0FBQyxRQUFRO29CQUNWLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUM7d0JBQzNCLENBQUMsQ0FBQyxNQUFNO3dCQUNSLENBQUMsQ0FBQyxTQUFTLENBQ2xCLENBQUM7WUFDRiwwREFBMEQ7WUFDMUQsSUFBSSxDQUFDLElBQUk7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFFeEIsTUFBTSxZQUFZLEdBQUcsYUFBYSxLQUFLLElBQUksSUFBSSxhQUFhLEtBQUssU0FBUztnQkFDeEUsQ0FBQyxDQUFDLFNBQVM7Z0JBQ1gsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMzQixNQUFNLFVBQVUsR0FBRyxZQUFZO21CQUMxQixDQUFDLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRXBFLElBQUksSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssbUJBQW1CLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxRQUFRLEtBQUssSUFBSTtvQkFBRSxPQUFPLEtBQUssQ0FBQztnQkFDcEMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUFFLE9BQU8sS0FBSyxDQUFDO2dCQUNwRixJQUFJLElBQUksS0FBSyxRQUFRLElBQUksY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDO29CQUFFLE9BQU8sS0FBSyxDQUFDO2dCQUNqRSxJQUFJLElBQUksS0FBSyxtQkFBbUIsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUM7b0JBQUUsT0FBTyxLQUFLLENBQUM7WUFDaEYsQ0FBQztZQUNELElBQUksSUFBSSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxVQUFVO29CQUFFLE9BQU8sS0FBSyxDQUFDO2dCQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztvQkFBRSxPQUFPLEtBQUssQ0FBQztnQkFDdkYsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFLENBQUM7b0JBQ3BCLElBQUksUUFBUSxLQUFLLElBQUksSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQzt3QkFBRSxPQUFPLEtBQUssQ0FBQztvQkFDdEUsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO3dCQUFFLE9BQU8sS0FBSyxDQUFDO2dCQUN0RixDQUFDO2dCQUNELElBQUksSUFBSSxLQUFLLFFBQVEsSUFBSSxRQUFRLEtBQUssSUFBSTtvQkFBRSxPQUFPLEtBQUssQ0FBQztZQUMzRCxDQUFDO1lBRUQsTUFBTSxNQUFNLEdBQUc7Z0JBQ2IsSUFBSTtnQkFDSixRQUFRO2dCQUNSLFVBQVUsRUFBRSxJQUFJLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFXO2dCQUNsRixRQUFRLEVBQUUsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFTO2dCQUM5QyxNQUFNLEVBQUUsU0FBUzthQUNpQixDQUFDO1lBRXJDLE1BQU0sZUFBZSxHQUFHLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxLQUFLLG1CQUFtQjtnQkFDdkUsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLEVBQUUsUUFBUyxDQUFDO2dCQUNoQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVE7b0JBQ2pCLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsVUFBVyxDQUFDLENBQUM7b0JBQ3pFLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsVUFBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUVwRyxJQUFJLENBQUMsaUNBQWlDLEdBQUc7Z0JBQ3ZDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRTtnQkFDdkIsYUFBYSxFQUFFLFFBQVEsQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLEVBQUU7Z0JBQzVDLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtnQkFDN0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO2dCQUN6QixJQUFJO2dCQUNKLGVBQWU7YUFDaEIsQ0FBQztZQUNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsK0JBQStCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVFLElBQUksQ0FBQyxhQUFhLENBQ2hCLElBQUksV0FBVyxDQUFDLDRCQUE0QixFQUFFO2dCQUM1QyxNQUFNO2dCQUNOLE9BQU8sRUFBRSxJQUFJO2dCQUNiLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUNILENBQUM7WUFDRixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFTSxPQUFPLENBQUMsaUJBQTRDO1lBQ3pELEtBQUssQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNoQyxJQUNFLElBQUksQ0FBQyxrQkFBa0I7bUJBQ3BCLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQy9GLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLENBQUM7WUFDRCxJQUFJLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JFLE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUMxQixDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQzVFLENBQUM7Z0JBQ0YsSUFDRSxZQUFZLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJO3VCQUMvQyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFDakYsQ0FBQztvQkFDRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsWUFBWSxDQUFDO2dCQUN6QyxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksaUJBQWlCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hGLElBQ0UsSUFBSSxDQUFDLHlCQUF5Qjt1QkFDM0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUM7b0JBQzFELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLG1DQUFtQyxFQUFFLENBQUM7WUFDN0MsQ0FBQztZQUNELElBQ0UsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQzttQkFDOUIsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQzttQkFDbEMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUNsQyxDQUFDO2dCQUNELHFFQUFxRTtnQkFDckUsMkNBQTJDO2dCQUMzQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7Z0JBQ3hDLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2xGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRU0sS0FBSyxDQUFDLGlCQUFpQjtZQUM1QixNQUFNLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7Z0JBQUUsT0FBTztZQUM5QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUMvQixDQUFDO1FBRU0sS0FBSyxDQUFDLG9CQUFvQjtZQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxTQUFTLENBQUM7WUFDdEMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFNBQVMsQ0FBQztZQUN6QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsU0FBUyxDQUFDO1lBQ3ZDLE1BQU0sS0FBSyxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDckMsQ0FBQztRQUVNLE1BQU07WUFDWCxPQUFPLElBQUksQ0FBQTs7Ozs7MEJBS1csSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU07Z0JBQ3pDLENBQUMsQ0FBQyxvQ0FBb0M7Z0JBQ3RDLENBQUMsQ0FBQyxzQkFBc0I7eUJBQ2IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU07Z0JBQ3hDLENBQUMsQ0FBQyxvQ0FBb0M7Z0JBQ3RDLENBQUMsQ0FBQyxzQkFBc0I7cUJBQ2pCLElBQUksQ0FBQyxNQUFNO3FCQUNYLENBQUMsS0FBWSxFQUFFLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUksS0FBSyxDQUFDLGFBQWtDLENBQUMsS0FBSyxDQUFDO1lBQ2hFLENBQUM7OztVQUdILElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTs7Ozs7O3FCQU1mLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLDhCQUE4QixFQUFFO29CQUNqRSxPQUFPLEVBQUUsSUFBSTtvQkFDYixRQUFRLEVBQUUsSUFBSTtpQkFDZixDQUFDLENBQUMsQ0FBQztZQUNOLENBQUM7Ozs7U0FJSixDQUFDLENBQUMsQ0FBQyxFQUFFOzs7dUNBR3lCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFOzt3QkFFM0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUN6QyxJQUFJLENBQUMscUJBQXFCOzs7Y0FHaEMsSUFBSSxDQUFDLE9BQU87Z0JBQ1osQ0FBQyxDQUFDLElBQUksQ0FBQSxxREFBcUQ7Z0JBQzNELENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWTtvQkFDakIsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTs7OzBDQUdBLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFOzt1REFFbEMsSUFBSSxDQUFDLGdCQUFnQjtLQUN2RSxDQUFDO1FBQ0osQ0FBQztRQUVPLGVBQWU7WUFDckIsT0FBTyxJQUFJLENBQUE7UUFDUCxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTTtnQkFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTtvQkFDcEIsQ0FBQyxDQUFDLGtEQUFrRDtvQkFDcEQsQ0FBQyxDQUFDLGlDQUFpQztnQkFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTTtvQkFDcEIsQ0FBQyxDQUFDLHFDQUFxQztvQkFDdkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTO1dBQ2YsQ0FBQztRQUNWLENBQUM7UUFFTyxnQkFBZ0I7WUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07Z0JBQUUsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDakQsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVPLGlCQUFpQjtZQUN2QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqRCxPQUFPLElBQUksQ0FBQSwwQkFBMEIsSUFBSSxDQUFDLFNBQVMsUUFBUSxDQUFDO1lBQzlELENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQTtRQUNQLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDeEQsQ0FBQyxDQUFDLElBQUksQ0FBQTs7Ozs7Ozs7Ozt5Q0FVMkIsU0FBUyxDQUFDLE1BQU07O1dBRTlDO2dCQUNILENBQUMsQ0FBQyxFQUFFO1FBQ0osSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztLQUM1QyxDQUFDO1FBQ0osQ0FBQztRQUVPLFdBQVcsQ0FBQyxRQUE4QjtZQUNoRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNoRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMxRCxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUM5QyxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FDbEcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUNWLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3ZELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxLQUFLLFFBQVEsQ0FBQyxFQUFFO21CQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssS0FBSyxXQUFXO21CQUNuQyxTQUFTLENBQUM7WUFDZixPQUFPLElBQUksQ0FBQTs7NkJBRWMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRTs2QkFDaEUsUUFBUSxDQUFDLEVBQUU7MEJBQ2QsV0FBVzs7O2lCQUdwQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQzt1QkFDdEMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7Z0JBQ25DLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxNQUFNLEdBQStCO29CQUN6QyxLQUFLLEVBQUUsUUFBUTtvQkFDZixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87b0JBQ3RCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztvQkFDdEIsYUFBYSxFQUFFLEtBQUs7aUJBQ3JCLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FDaEIsSUFBSSxXQUFXLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDcEYsQ0FBQztZQUNKLENBQUM7OztnQkFHTyxRQUFRLENBQUMsSUFBSTtVQUNuQixjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSwyQ0FBMkMsR0FBRyxjQUFjLGlCQUFpQjs4RkFDZCxjQUFjO2dCQUM1RixDQUFDLENBQUMsQ0FBQyxFQUFFO21DQUNjLE9BQU8sQ0FBQyxNQUFNOztRQUV6QyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUM7S0FDbEUsQ0FBQztRQUNKLENBQUM7UUFFTyxhQUFhLENBQ25CLFFBQXFCLEVBQ3JCLFVBQXlCLEVBQ3pCLFdBQW9CO1lBRXBCLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3JELE1BQU0sT0FBTyxHQUEwQixFQUFFLENBQUM7WUFDMUMsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLEtBQUssTUFBTSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQzVCLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNyRCxNQUFNLFFBQVEsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDOUMsSUFDRSxJQUFJO3VCQUNELElBQUksQ0FBQyxPQUFPLEtBQUssVUFBVTt1QkFDM0IsSUFBSSxDQUFDLEtBQUssS0FBSyxZQUFZO3VCQUMzQixDQUFDLFVBQVU7dUJBQ1gsUUFBUSxFQUNYLENBQUM7b0JBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLGVBQWUsVUFBVSxJQUFJLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDekYsQ0FBQztnQkFDRCxPQUFPLENBQUMsSUFBSSxDQUFDO29CQUNYLElBQUksRUFBRSxNQUFNO29CQUNaLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztvQkFDYixJQUFJO29CQUNKLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUMzQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxRQUFRLElBQUksQ0FBQyxVQUFVO29CQUFFLFlBQVksSUFBSSxDQUFDLENBQUM7WUFDakQsQ0FBQztZQUNELElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssVUFBVSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssWUFBWSxFQUFFLENBQUM7Z0JBQ3ZFLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxlQUFlLFVBQVUsSUFBSSxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekYsQ0FBQztZQUNELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLENBQUM7WUFDN0UsMEVBQTBFO1lBQzFFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQztZQUN2RCxPQUFPLElBQUksQ0FBQTsyQ0FDNEIsVUFBVSxJQUFJLEVBQUU7VUFDakQsTUFBTSxDQUNOLE9BQU8sRUFDUCxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFDcEIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssYUFBYTtnQkFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7Z0JBQzFELENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTO29CQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDO29CQUM1RSxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUNyQixLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFDbkIsVUFBVSxFQUNWLEtBQUssQ0FBQyxZQUFZLEVBQ2xCLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQ3RDLENBQ1I7VUFDQyxJQUFJLENBQUMsWUFBWSxJQUFJLFdBQVcsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUNoRyxDQUFDLENBQUMsSUFBSSxDQUFBOzs7cUNBR3FCLFVBQVUsSUFBSSxFQUFFOzs7O2FBSXhDO2dCQUNILENBQUMsQ0FBQyxFQUFFOztLQUVULENBQUM7UUFDSixDQUFDO1FBRU8scUJBQXFCLENBQUMsT0FBc0IsRUFBRSxLQUFhO1lBQ2pFLE9BQU8sSUFBSSxDQUFBOzs7NkJBR2MsT0FBTyxJQUFJLEVBQUU7MEJBQ2hCLEtBQUs7O2dCQUVmLFdBQVcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUk7O0tBRTlELENBQUM7UUFDSixDQUFDO1FBRUQscUVBQXFFO1FBQzdELGdCQUFnQixDQUN0QixNQUFrQyxFQUNsQyxRQUFnQixFQUNoQixVQUF5QixFQUN6QixlQUF1QjtZQUV2QixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQztZQUM5QyxPQUFPLElBQUksQ0FBQTs7NEJBRWEsVUFBVSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRTs7O3FCQUc3QyxXQUFXLFFBQVEsRUFBRTs7dUJBRW5CLENBQUMsS0FBbUIsRUFBRSxFQUFFO2dCQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDckUsQ0FBQzt1QkFDYyxJQUFJLENBQUMsaUJBQWlCO3FCQUN4QixJQUFJLENBQUMsZUFBZTt5QkFDaEIsSUFBSSxDQUFDLG1CQUFtQjs4QkFDbkIsSUFBSSxDQUFDLHdCQUF3QjttQkFDeEMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMvRCxDQUFDOzt5REFFZ0QsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUk7O0tBRTVFLENBQUM7UUFDSixDQUFDO1FBRU8saUJBQWlCLENBQ3ZCLE9BQTRCLEVBQzVCLE9BQXNCLEVBQ3RCLEtBQWE7WUFFYixNQUFNLFNBQVMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDO1lBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDO1lBQ3hDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUM7WUFDdkcsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNsRCxNQUFNLFNBQVMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUN4QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDMUMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDeEQsT0FBTyxJQUFJLENBQUE7OzRCQUVhLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQy9FLE9BQU8sQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQ3ZELElBQ0UsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUNsRixJQUNFLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUMxRSxDQUFDLENBQUMsY0FBYztnQkFDaEIsQ0FBQyxDQUFDLEVBQ047MEJBQ2tCLE9BQU8sQ0FBQyxFQUFFOzt1QkFFYixPQUFPLENBQUMsRUFBRTs2QkFDSixPQUFPLElBQUksRUFBRTswQkFDaEIsU0FBUzt5QkFDVixLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU07NkJBRTFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFDMUY7b0JBQ1ksQ0FBQyxLQUFpQixFQUFFLEVBQUU7Z0JBQ2hDLElBQUksSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7dUJBQ3pFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUM7b0JBQUUsT0FBTztnQkFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwRCxDQUFDO3VCQUNjLENBQUMsS0FBaUIsRUFBRSxFQUFFO2dCQUNuQyxJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUM7b0JBQUUsT0FBTztnQkFDakQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sTUFBTSxHQUFpQztvQkFDM0MsT0FBTztvQkFDUCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87b0JBQ3RCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztvQkFDdEIsYUFBYSxFQUFFLEtBQUs7aUJBQ3JCLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FDaEIsSUFBSSxXQUFXLENBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDdEYsQ0FBQztZQUNKLENBQUM7O1VBRUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzVFLENBQUMsQ0FBQyxJQUFJLENBQUEsOEdBQThHO2dCQUNwSCxDQUFDLENBQUMsRUFBRTs7bUNBRXFCLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFO2NBQ2pELFNBQVM7Z0JBQ1QsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQztnQkFDbkYsQ0FBQyxDQUFDLEVBQUU7Ozs7OzZCQUtXLE9BQU8sQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87dUJBQzlELEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDO3lCQUN2RCxDQUFDLEtBQW9CLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDO29CQUFFLE9BQU87Z0JBQ2hELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPO29CQUFFLE9BQU87Z0JBQ2xDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwRCxDQUFDOzs7a0NBR21CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7Ozs7b0JBSTFDLE9BQU8sQ0FBQyxJQUFJO2dCQUNaLENBQUMsQ0FBQyxJQUFJLENBQUEsb0NBQW9DLE9BQU8sQ0FBQyxJQUFJLDZCQUE2QjtnQkFDbkYsQ0FBQyxDQUFDLEVBQUU7NENBQ29CLEtBQUs7O2lEQUVBLFdBQVcsSUFBSSxXQUFXOztvQkFFdkQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO3NCQUNwQixPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLHNDQUFzQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksNkJBQTZCLENBQUMsQ0FBQyxDQUFDLEVBQUU7c0RBQ3ZGLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSTs7bUJBRS9FLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ0osWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7c0RBQ2UsWUFBWSxJQUFJLFlBQVk7O21CQUUvRCxDQUFDLENBQUMsQ0FBQyxFQUFFOzJDQUNtQix5QkFBeUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUM7Ozs7Ozs7OzJCQVFqRixlQUFlLEtBQUssRUFBRTs7O3VCQUcxQixJQUFJLENBQUMsb0JBQW9CO3lCQUN2QixJQUFJLENBQUMsdUJBQXVCOzs7Ozs7OzhCQU92QixRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTzs4QkFDM0IsU0FBUztzQkFDakIsUUFBUSxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsMEJBQTBCO3VCQUNuRSxDQUFDLEtBQWlCLEVBQUUsRUFBRTtnQkFDN0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7Ozs7O1lBS0gsUUFBUTtnQkFDUixDQUFDLENBQUMsSUFBSSxDQUFBOzhDQUM0QixTQUFTO29CQUNuQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsNEJBQTRCLE9BQU8sQ0FBQyxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTs7c0JBRTVFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLFlBQVksY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUU7OztlQUdyRjtnQkFDSCxDQUFDLENBQUMsRUFBRTs7O0tBR1gsQ0FBQztRQUNKLENBQUM7UUFFTyxrQkFBa0IsQ0FDeEIsV0FBaUMsRUFDakMsVUFBeUIsRUFDekIsUUFBZ0IsRUFDaEIsZUFBNkM7WUFFN0MsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDNUQsTUFBTSxTQUFTLEdBQUcsUUFBUSxJQUFJLENBQUMsQ0FBQztZQUNoQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZGLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLHlCQUF5QixDQUFDO1lBQ3RFLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNsRiwwRkFBMEY7WUFDMUYscUNBQXFDO1lBQ3JDLE1BQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDdkQsTUFBTSxtQkFBbUIsR0FBRyxlQUFlLENBQUMsTUFBTSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztZQUMvRSxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxJQUFJLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDNUQsTUFBTSxTQUFTLEdBQUcsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDOUMsT0FBTyxJQUFJLENBQUE7OzZCQUVjLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDN0UsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQzFCLElBQ0UsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQy9FLENBQUMsQ0FBQyxjQUFjO2dCQUNoQixDQUFDLENBQUMsRUFDTjsyQkFDbUIsV0FBVyxDQUFDLEVBQUU7O3VCQUVsQixXQUFXLENBQUMsRUFBRTsrQkFDTixlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztxQ0FDbEUsZUFBZSxDQUFDLE1BQU07NkJBQzlCLFVBQVUsSUFBSSxFQUFFOzBCQUNuQixTQUFTO3lCQUNWLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTTs2QkFFN0MsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQy9FLENBQUMsQ0FBQyxNQUFNO2dCQUNSLENBQUMsQ0FBQyxFQUNOO29CQUNZLENBQUMsS0FBaUIsRUFBRSxFQUFFO2dCQUNoQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksSUFBSSxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7b0JBQUUsT0FBTztnQkFDMUYsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDM0UsQ0FBQzt1QkFDYyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtnQkFDbkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sV0FBVyxHQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQ3pELE1BQU0sWUFBWSxXQUFXO3VCQUMxQixNQUFNLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQzNDLENBQTZCO3VCQUN4QixLQUFLLENBQUMsYUFBNkIsQ0FBQyxhQUFhLENBQWMsa0JBQWtCLENBQUM7dUJBQ25GLEtBQUssQ0FBQyxhQUE0QixDQUFDO2dCQUN4QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ3hGLENBQUM7O1VBRUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ2pGLENBQUMsQ0FBQyxJQUFJLENBQUEsOEdBQThHO2dCQUNwSCxDQUFDLENBQUMsRUFBRTtVQUNKLFNBQVM7Z0JBQ1QsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FDbkIsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQ3hDLEtBQUssRUFDTCxVQUFVLEVBQ1YsUUFBUSxDQUNUO2dCQUNILENBQUMsQ0FBQyxFQUFFOzs7O3lCQUlXLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPO21CQUNqQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUM7cUJBQzlFLENBQUMsS0FBb0IsRUFBRSxFQUFFO2dCQUNsQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUM7b0JBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUM7b0JBQ3pFLE9BQU87Z0JBQ1QsQ0FBQztnQkFDRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztZQUNyRSxDQUFDOzs7O21CQUlRLFdBQVcsQ0FBQyxJQUFJLElBQUksWUFBWTs7OzswQ0FJVCxLQUFLO2NBQ2pDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSxpQ0FBaUMsV0FBVyxDQUFDLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFOztnQkFFMUYsV0FBVyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FDM0QsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQ2xELEdBQ0UsV0FBVyxDQUFDLFNBQVMsSUFBSSxXQUFXLENBQUMsU0FBUztnQkFDNUMsQ0FBQyxDQUFDLE1BQU0seUJBQXlCLENBQUMsV0FBVyxDQUFDLFNBQVMsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ25GLENBQUMsQ0FBQyxFQUNOOztjQUVBLGVBQWUsQ0FBQyxNQUFNO2dCQUN0QixDQUFDLENBQUMsSUFBSSxDQUFBOzREQUN3QyxlQUFlLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7OztzQkFHaEYsTUFBTSxDQUNOLGtCQUFrQixFQUNsQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUMzQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQTs7aUVBRW9CLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDOzRCQUM5RCxLQUFLLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxtQkFBbUIsR0FBRyxDQUFDO29CQUNoRSxDQUFDLENBQUMsSUFBSSxDQUFBLG1DQUFtQztvQkFDekMsQ0FBQyxDQUFDLEVBQUU7O3VCQUVULENBQ0Y7c0JBQ0MsbUJBQW1CLEdBQUcsQ0FBQztvQkFDdkIsQ0FBQyxDQUFDLElBQUksQ0FBQSw2Q0FBNkMsbUJBQW1CLFNBQVM7b0JBQy9FLENBQUMsQ0FBQyxFQUFFOztpQkFFVDtnQkFDSCxDQUFDLENBQUMsRUFBRTs7Ozs7Ozt1QkFPSyxlQUFlLEtBQUssRUFBRTs7MEJBRW5CLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPOzttQkFFckMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7Z0JBQzdCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLG1CQUFtQixDQUN0QixLQUFLLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixRQUFRLEVBQ1IsS0FBSyxDQUFDLGFBQTRCLENBQ25DLENBQUM7WUFDSixDQUFDO3FCQUNVLENBQUMsS0FBb0IsRUFBRSxFQUFFO2dCQUNsQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztZQUNyRSxDQUFDOzs7OztLQUtOLENBQUM7UUFDSixDQUFDO1FBRU8sb0JBQW9CLENBQUMsS0FBaUM7WUFDNUQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsYUFBNEIsQ0FBQztZQUNuRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM3QywyRUFBMkU7WUFDM0UsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxhQUFhLEVBQUU7Z0JBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSTtnQkFDL0MsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNO2FBQzFELENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQztRQUVPLHVCQUF1QixDQUFDLEtBQW9CO1lBQ2xELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxhQUFhLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssS0FBSyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUM7Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFDMUYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVPLDBCQUEwQixDQUFDLEtBQVk7WUFDN0MsT0FBTyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUM5QixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxZQUFZLFdBQVcsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUN6RixDQUFDO1FBQ0osQ0FBQztRQUVPLHdCQUF3QixDQUFDLEtBQVk7WUFDM0MsT0FBTyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUM5QixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxZQUFZLFdBQVcsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FDdkYsQ0FBQztRQUNKLENBQUM7UUFFTyxzQkFBc0IsQ0FBQyxLQUFZO1lBQ3pDLE9BQU8sS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDOUIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sWUFBWSxXQUFXLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQ3JGLENBQUM7UUFDSixDQUFDO1FBRU8sMkJBQTJCLENBQUMsS0FBWTtZQUM5QyxPQUFPLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQzlCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLFlBQVksV0FBVyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQzFGLENBQUM7UUFDSixDQUFDO1FBRU8saUJBQWlCLENBQUMsS0FBZ0Q7WUFDeEUsUUFBUSxLQUFLLEVBQUUsQ0FBQztnQkFDZCxLQUFLLFNBQVMsQ0FBQyxDQUFDLE9BQU8sU0FBUyxDQUFDO2dCQUNqQyxLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sVUFBVSxDQUFDO2dCQUNuQyxLQUFLLFdBQVcsQ0FBQyxDQUFDLE9BQU8saUJBQWlCLENBQUM7Z0JBQzNDLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUM7Z0JBQzdCLE9BQU8sQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDO1lBQ3pCLENBQUM7UUFDSCxDQUFDO1FBRU8sa0JBQWtCLENBQUMsT0FBNEI7WUFDckQsT0FBTyxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxDQUFDO1FBQzFGLENBQUM7UUFFTyxnQkFBZ0IsQ0FBQyxLQUFnRDtZQUN2RSxRQUFRLEtBQUssRUFBRSxDQUFDO2dCQUNkLEtBQUssU0FBUyxDQUFDLENBQUMsT0FBTyxxQkFBcUIsQ0FBQztnQkFDN0MsS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLG9CQUFvQixDQUFDO2dCQUM3QyxLQUFLLFdBQVcsQ0FBQyxDQUFDLE9BQU8sOEJBQThCLENBQUM7Z0JBQ3hELEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQztnQkFDdEMsT0FBTyxDQUFDLENBQUMsT0FBTyxlQUFlLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUM7UUFFTyxxQkFBcUIsQ0FBQyxZQUFvQjtZQUNoRCxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUM5QyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO2dCQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7O2dCQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDakMsQ0FBQztRQUVPLG9CQUFvQixDQUFDLFVBQWtCO1lBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQzdDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzFCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLENBQUM7UUFFTyxpQkFBaUIsQ0FDdkIsUUFBc0IsRUFDdEIsTUFBa0MsRUFDbEMsVUFBeUIsRUFDekIsZUFBdUI7WUFFdkIsSUFDRSxJQUFJLENBQUMsa0JBQWtCO21CQUNwQixRQUFRLENBQUMsTUFBTSxLQUFLLENBQUM7bUJBQ3JCLENBQUMsUUFBUSxDQUFDLFNBQVM7bUJBQ25CLGVBQWUsR0FBRyxDQUFDO2dCQUN0QixPQUFPO1lBQ1QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQTRCLENBQUM7WUFDckQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBYyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFDcEIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHO2dCQUN4QixTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7Z0JBQzdCLE1BQU07Z0JBQ04sTUFBTTtnQkFDTixJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDckIsYUFBYSxFQUFFLFVBQVU7Z0JBQ3pCLGtCQUFrQixFQUFFLGVBQWU7Z0JBQ25DLFlBQVksRUFBRSxRQUFRLENBQUMsT0FBTztnQkFDOUIsWUFBWSxFQUFFLFFBQVEsQ0FBQyxPQUFPO2dCQUM5QixXQUFXLEVBQUUsUUFBUSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsSUFBSTtnQkFDL0MsV0FBVyxFQUFFLFFBQVEsQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLEdBQUc7Z0JBQzlDLEtBQUssRUFBRSxTQUFTO2FBQ2pCLENBQUM7WUFDRixNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQztnQkFDSCxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLENBQUM7UUFDSCxDQUFDO1FBRWdCLGlCQUFpQixHQUFHLENBQUMsUUFBc0IsRUFBUSxFQUFFO1lBQ3BFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUN4QyxJQUFJLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxTQUFTLEtBQUssT0FBTyxDQUFDLFNBQVM7Z0JBQUUsT0FBTztZQUNqRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlCLE9BQU87WUFDVCxDQUFDO1lBQ0QsSUFDRSxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVM7bUJBQ3hCLElBQUksQ0FBQyxLQUFLLENBQ1gsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsWUFBWSxFQUN2QyxRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQ3hDLEdBQUcsbUJBQW1CO2dCQUN2QixPQUFPO1lBQ1QsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDO2dCQUFFLE9BQU87WUFDckYsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQzlDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQzlDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQztRQUVlLGVBQWUsR0FBRyxDQUFDLFFBQXNCLEVBQVEsRUFBRTtZQUNsRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDeEMsSUFBSSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQyxTQUFTO2dCQUFFLE9BQU87WUFDakUsSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMscUJBQXFCLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDOUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNsRSxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUM7UUFFZSxtQkFBbUIsR0FBRyxDQUFDLFFBQXNCLEVBQVEsRUFBRTtZQUN0RSxJQUFJLFFBQVEsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLGtCQUFrQixFQUFFLFNBQVM7Z0JBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9GLENBQUMsQ0FBQztRQUVlLHdCQUF3QixHQUFHLENBQUMsUUFBc0IsRUFBUSxFQUFFO1lBQzNFLElBQUksUUFBUSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsU0FBUztnQkFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0YsQ0FBQyxDQUFDO1FBRWUsaUJBQWlCLEdBQUcsQ0FBQyxRQUF1QixFQUFRLEVBQUU7WUFDckUsSUFBSSxRQUFRLENBQUMsR0FBRyxLQUFLLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0I7Z0JBQUUsT0FBTztZQUNsRSxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDMUIsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUM7UUFFZSxvQkFBb0IsR0FBRyxHQUFTLEVBQUU7WUFDakQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQztRQUVNLGdCQUFnQixDQUFDLFFBQXNCLEVBQUUsVUFBK0I7WUFDOUUsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdELFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1QyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxVQUFVLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUNyRixVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUN2RixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNyRSxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDO2dCQUNILFVBQVUsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEMsQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlCLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUNELFVBQVUsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1lBQzVCLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDM0MsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDL0YsSUFBSSxDQUFDLFFBQVEsR0FBRztnQkFDZCxPQUFPLEVBQUUsVUFBVSxDQUFDLGFBQWE7Z0JBQ2pDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxjQUFjLENBQUM7YUFDL0QsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVPLGVBQWUsQ0FDckIsVUFBa0IsRUFDbEIsVUFBa0IsRUFDbEIsVUFBK0I7WUFFL0IsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUNqQyxrQkFBa0IsRUFDbEIsR0FBRyxVQUFVLEdBQUcsVUFBVSxDQUFDLFdBQVcsSUFBSSxDQUMzQyxDQUFDO1lBQ0YsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUNqQyxrQkFBa0IsRUFDbEIsR0FBRyxVQUFVLEdBQUcsVUFBVSxDQUFDLFdBQVcsSUFBSSxDQUMzQyxDQUFDO1FBQ0osQ0FBQztRQUVPLFdBQVcsQ0FBQyxVQUF5QixFQUFFLFFBQWdCO1lBQzdELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUIsSUFDRSxPQUFPO21CQUNKLE9BQU8sQ0FBQyxPQUFPLEtBQUssVUFBVTttQkFDOUIsT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRO21CQUMxQixDQUFDLElBQUksQ0FBQyxnQkFBZ0I7Z0JBQ3pCLE9BQU87WUFDVCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1lBQ2xDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM3QyxNQUFNLFVBQVUsR0FBRyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDekQsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFFTyxtQkFBbUIsQ0FBQyxTQUFxQztZQUMvRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQUUsT0FBTztZQUNqRixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0MsTUFBTSxVQUFVLEdBQUcsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDM0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzQyx1RkFBdUY7WUFDdkYsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7WUFDMUIsS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFFTyxhQUFhO1lBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7WUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO2dCQUFFLE9BQU87WUFDM0IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzdDLE1BQU0sVUFBVSxHQUFHLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1lBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO1lBQzFCLEtBQUssSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBRU8sNEJBQTRCO1lBQ2xDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBQ3hDLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxFQUFFLEtBQUssS0FBSyxRQUFRO2dCQUFFLE9BQU87WUFDdEQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0MsSUFBSSxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN0RixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDMUIsT0FBTztZQUNULENBQUM7WUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDaEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDdkIsQ0FBQyxFQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsUUFBUSxDQUFDLENBQzNFLENBQUM7WUFDRixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUMxQixDQUFDLEVBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQ2hGLENBQUM7WUFDRixJQUFJLENBQUMsc0JBQXNCLEdBQUcsV0FBVyxHQUFHLENBQUM7Z0JBQzNDLENBQUMsQ0FBQyxnQ0FBZ0MsR0FBRyxXQUFXLEdBQUcsV0FBVztnQkFDOUQsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDO29CQUNaLENBQUMsQ0FBQyxDQUFDLGdDQUFnQyxHQUFHLFFBQVEsR0FBRyxRQUFRO29CQUN6RCxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ1IsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUMxQixPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUMzQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNqRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDM0UsQ0FBQztRQUNILENBQUM7UUFFZ0IsaUJBQWlCLEdBQUcsQ0FBQyxZQUFvQixFQUFRLEVBQUU7WUFDbEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztZQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQ3ZDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUN4QyxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sRUFBRSxLQUFLLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxDQUFDO2dCQUFFLE9BQU87WUFDM0YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsWUFBWSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7WUFDekYsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFlBQVksQ0FBQztZQUM1QyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUM7WUFDOUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0RSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM3QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFDO2dCQUN0RCxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxDQUFDO2dCQUMxQixDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsWUFBWSxJQUFJLFNBQVMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQy9FLElBQUksU0FBUyxDQUFDLFNBQVMsS0FBSyxpQkFBaUIsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNsRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDMUIsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0UsQ0FBQyxDQUFDO1FBRU0seUJBQXlCO1lBQy9CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztZQUM1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDNUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQWMsa0JBQWtCLENBQUMsQ0FBQztZQUNwRixJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixNQUFNLElBQUksR0FBRyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDakQsSUFDRSxRQUFRLElBQUksSUFBSSxDQUFDLElBQUk7dUJBQ2xCLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSzt1QkFDdEIsUUFBUSxJQUFJLElBQUksQ0FBQyxHQUFHO3VCQUNwQixRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sRUFDMUIsQ0FBQztvQkFDRCxJQUFJLENBQUMsV0FBVyxDQUNkLFdBQVcsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLElBQUksRUFDdkMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQ3RDLENBQUM7b0JBQ0YsT0FBTztnQkFDVCxDQUFDO1lBQ0gsQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLHVEQUF1RCxDQUFDO1lBQ3pFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDbkMsSUFBSSxNQUErQixDQUFDO1lBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxDQUFDO2dCQUMvQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7Z0JBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDNUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDOUQsQ0FBQztZQUNOLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLFFBQVEsR0FBRyxNQUFNLENBQUMsQ0FBQztnQkFDM0UsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLE9BQU8sQ0FBYyxRQUFRLENBQUMsQ0FBQztnQkFDdEQsSUFDRSxTQUFTO3VCQUNOLENBQUMsQ0FDRixRQUFROzJCQUNMLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxJQUFJOzJCQUM1QyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsRUFBRSxDQUM1Qzt1QkFDRSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQzNDLENBQUM7b0JBQ0QsTUFBTSxHQUFHLFNBQVMsQ0FBQztvQkFDbkIsTUFBTTtnQkFDUixDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JCLE9BQU87WUFDVCxDQUFDO1lBQ0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDO1lBQ25ELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzVDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RFLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDdkMsT0FBTztZQUNULENBQUM7WUFDRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxNQUFNLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUN4RixDQUFDLENBQUMsU0FBUyxHQUFHLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFRDs7Ozs7O1dBTUc7UUFDSyxtQkFBbUIsQ0FDekIsU0FBc0IsRUFDdEIsV0FBbUIsRUFDbkIsT0FBZ0I7WUFFaEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNuQyxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLEtBQUssVUFBVTtnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUNoRSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUFFLE9BQU8sU0FBUyxDQUFDO1lBQ25FLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssTUFBTTtnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUM1RCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUN4QyxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNwQyxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUFFLE9BQU8sU0FBUyxDQUFDO1lBQ3pFLE1BQU0sU0FBUyxHQUErQixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUMzRCxJQUFJLFFBQVEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDO2dCQUFFLE9BQU8sU0FBUyxDQUFDO1lBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUM7Z0JBQUUsT0FBTyxTQUFTLENBQUM7WUFDN0UsMkVBQTJFO1lBQzNFLE1BQU0sUUFBUSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5RCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2hELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLEdBQUcsUUFBUTtnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUNoRSxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBWSxlQUFlO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQWMsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDO1FBQzNFLENBQUM7UUFFTyxxQkFBcUI7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO2dCQUFFLE9BQU87WUFDOUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUN2QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBYyxjQUFjLENBQUMsSUFBSSxTQUFTLENBQUM7WUFDekYsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTztZQUNuQyxJQUNFLElBQUksQ0FBQyxvQkFBb0I7bUJBQ3RCLElBQUksQ0FBQyx1QkFBdUIsS0FBSyxTQUFTO21CQUMxQyxJQUFJLENBQUMscUJBQXFCLEtBQUssT0FBTztnQkFDekMsT0FBTztZQUNULElBQUksQ0FBQyxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxTQUFTLENBQUM7WUFDekMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE9BQU8sQ0FBQztRQUN2QyxDQUFDO1FBRWdCLHFCQUFxQixHQUFHLEdBQVMsRUFBRTtZQUNsRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxTQUFTO2dCQUFFLE9BQU87WUFDdkIsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDM0MsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQ2hHLElBQUksSUFBSSxDQUFDLHNCQUFzQixLQUFLLFVBQVU7Z0JBQUUsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQztZQUN6RixJQUFJLElBQUksQ0FBQyx5QkFBeUIsS0FBSyxhQUFhO2dCQUFFLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxhQUFhLENBQUM7UUFDdkcsQ0FBQyxDQUFDO1FBRU0sa0JBQWtCO1lBQ3hCLElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLFNBQVM7Z0JBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDM0YsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztZQUNyQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUVPLGdCQUFnQixDQUN0QixNQUFrQyxFQUNsQyxZQUEyQixFQUMzQixRQUFnQixFQUNoQixTQUFpQztZQUVqQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN6RSxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN0RCxPQUFPO2dCQUNMLElBQUksRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUNyQixXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7Z0JBQ3hDLFNBQVMsRUFBRSxZQUFZO2dCQUN2QixVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQ25ELE1BQU0sRUFBRSxTQUFTO2FBQ2xCLENBQUM7UUFDSixDQUFDO1FBRU8sWUFBWSxDQUFDLFNBQWlDO1lBQ3BELElBQUksQ0FBQyxhQUFhLENBQ2hCLElBQUksV0FBVyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUMzRixDQUFDO1FBQ0osQ0FBQztRQUVPLGtCQUFrQixDQUN4QixRQUF1QixFQUN2QixNQUFrQyxFQUNsQyxRQUFnQixFQUNoQixVQUF5QjtZQUV6QixJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFBRSxPQUFPO1lBQzVFLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQixRQUFRLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3hFLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUN0RSxJQUFJLFdBQVcsR0FBRyxDQUFDO2dCQUFFLE9BQU87WUFDNUIsTUFBTSxVQUFVLEdBQXlCLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2xHLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDcEQsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsS0FBSyxTQUFTLElBQUksV0FBVyxLQUFLLENBQUMsSUFBSSxZQUFZLEdBQUcsQ0FBQztnQkFDekYsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO2dCQUM5QixDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxXQUFXO3VCQUN2QixXQUFXLEtBQUssS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO3VCQUNoQyxZQUFZLElBQUksQ0FBQzt1QkFDakIsWUFBWSxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQztvQkFDekMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO29CQUM5QixDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2hCLElBQUksZUFBZSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ25GLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hFLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDNUMsTUFBTSxTQUFTLEdBQUcsZUFBZSxLQUFLLElBQUk7b0JBQ3hDLENBQUMsQ0FBQyxXQUFXO29CQUNiLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxlQUFlLENBQUMsRUFBRSxJQUFJLElBQUksZUFBZSxDQUFDO2dCQUNoRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxRQUFRLE9BQU8sU0FBUyxHQUFHLENBQUM7Z0JBQzdELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDO2dCQUM3RSxJQUFJLENBQUMsWUFBWSxDQUFDO29CQUNoQixJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQztvQkFDckIsV0FBVyxFQUFFLFVBQVU7b0JBQ3ZCLFNBQVMsRUFBRSxlQUFlO29CQUMxQixVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7b0JBQ25ELE1BQU0sRUFBRSxVQUFVO2lCQUNuQixDQUFDLENBQUM7Z0JBQ0gsT0FBTztZQUNULENBQUM7WUFDRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNsRSxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxLQUFLLE1BQU07Z0JBQ3pDLENBQUMsQ0FBQyxDQUFDO2dCQUNILENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLEtBQUs7b0JBQ3RCLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTTtvQkFDbEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssU0FBUzt3QkFDMUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFdBQVcsR0FBRyxDQUFDLENBQUM7d0JBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3BELElBQUksV0FBVyxLQUFLLFdBQVc7Z0JBQUUsT0FBTztZQUN4QyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFVBQVU7Z0JBQ2hDLENBQUMsQ0FBQyxTQUFTLFFBQVEsV0FBVyxVQUFVLENBQUMsS0FBSyxHQUFHO2dCQUNqRCxDQUFDLENBQUMsU0FBUyxRQUFRLGNBQWMsQ0FBQztZQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUNoQixJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDckIsV0FBVyxFQUFFLFVBQVU7Z0JBQ3ZCLFNBQVMsRUFBRSxVQUFVO2dCQUNyQixVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQ25ELE1BQU0sRUFBRSxVQUFVO2FBQ25CLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFTyxNQUFNLENBQUMsTUFBbUI7WUFDaEMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0QsQ0FBQztRQUVPLGVBQWU7WUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQW1CLENBQUM7WUFDMUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3hFLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBYyxnQ0FBZ0MsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUN6RyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM3QixJQUFJLEdBQUcsS0FBSyxXQUFXO29CQUFFLFNBQVM7Z0JBQ2xDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7WUFDL0MsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7UUFFTyx3QkFBd0I7WUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQ3ZDLElBQUksQ0FBQyxPQUFPO2dCQUFFLE9BQU87WUFDckIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxPQUFPLENBQUMsT0FBTztnQkFBRSxPQUFPO1lBQ2xFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLGFBQWEsQ0FBYyxhQUFhLENBQUMsQ0FBQztZQUMzRixJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO2dCQUNuQyxPQUFPO1lBQ1QsQ0FBQztZQUNELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQzVCLElBQUksQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQWMsa0NBQWtDLENBQUMsSUFBSSxFQUFFLENBQ3pGLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNqRixJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxTQUFTLENBQUM7WUFDckMsQ0FBQztRQUNILENBQUM7UUFFRCx3RkFBd0Y7UUFDaEYsZUFBZSxDQUFDLGFBQXFCO1lBQzNDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsUUFBUTtnQkFBRSxPQUFPLFNBQVMsQ0FBQztZQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ25DLE1BQU0sTUFBTSxHQUFpQyxFQUFFLENBQUM7WUFDaEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztZQUMvQixLQUFLLE1BQU0sTUFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUM5QixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN0QyxJQUNFLENBQUMsR0FBRzt1QkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQzt1QkFDYixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO3VCQUNwQixRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUM7b0JBQzVELFNBQVM7Z0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDZCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRU8sd0JBQXdCLENBQzlCLGFBQXFCLEVBQ3JCLFNBQXFDO1lBRXJDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDckQsT0FBTyxRQUFRLEtBQUssU0FBUyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNoRyxDQUFDO1FBRU8sbUNBQW1DO1lBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsT0FBTztnQkFBRSxPQUFPO1lBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDaEQsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLFNBQVMsQ0FBQztnQkFDbkQsT0FBTztZQUNULENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN6RCxNQUFNLE9BQU8sR0FBRyxDQUFDLE9BQXFDLEVBQUUsUUFBc0MsRUFBVyxFQUFFLENBQ3pHLE9BQU8sQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLE1BQU07bUJBQy9CLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hGLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO2dCQUMvQyw2RUFBNkU7Z0JBQzdFLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQUUsT0FBTztnQkFDdkUsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLE1BQU07b0JBQ3BDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDL0QsQ0FBQyxDQUFDLFlBQVksQ0FBQztnQkFDakIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLDJCQUEyQixPQUFPLENBQUMsYUFBYSxnREFBZ0QsZUFBZSxHQUFHLENBQUM7Z0JBQzNJLElBQUksQ0FBQyxpQ0FBaUMsR0FBRyxTQUFTLENBQUM7Z0JBQ25ELE9BQU87WUFDVCxDQUFDO1lBQ0QsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsRixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLG1CQUFtQjtnQkFDdkYsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEsdUJBQXVCLE9BQU8sR0FBRztnQkFDM0QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUTtvQkFDekIsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEseUJBQXlCLFNBQVMsR0FBRztvQkFDL0QsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLGFBQWEsc0JBQXNCLFNBQVMsT0FBTyxPQUFPLEdBQUcsQ0FBQztZQUMvRSxJQUFJLENBQUMsaUNBQWlDLEdBQUcsU0FBUyxDQUFDO1FBQ3JELENBQUM7UUFFRCw2RkFBNkY7UUFDckYsMEJBQTBCLENBQ2hDLFVBQThDO1lBRTlDLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM1RSxPQUFPLFVBQVUsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDckcsQ0FBQztZQUNELElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDakMsT0FBTyxDQUFDLEdBQUcsVUFBVSxDQUFDLGVBQWUsRUFBRSxVQUFVLENBQUMsVUFBVyxDQUFDLENBQUM7WUFDakUsQ0FBQztZQUNELE9BQU8sVUFBVSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQ25DLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FDL0YsQ0FBQztRQUNKLENBQUM7UUFFTywrQkFBK0IsQ0FDckMsU0FBMEMsRUFDMUMsWUFBcUI7WUFFckIsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDeEUsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN0RixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hGLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7WUFDdEQsT0FBTyxTQUFTLENBQUMsSUFBSSxLQUFLLFFBQVE7Z0JBQ2hDLENBQUMsQ0FBQyxVQUFVLElBQUksUUFBUSxhQUFhLE9BQU8sT0FBTyxHQUFHO2dCQUN0RCxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksS0FBSyxtQkFBbUI7b0JBQ3RDLENBQUMsQ0FBQyxxQkFBcUIsSUFBSSxRQUFRLGFBQWEsT0FBTyxPQUFPLEdBQUc7b0JBQ2pFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLFFBQVE7d0JBQzNCLENBQUMsQ0FBQyxVQUFVLElBQUksUUFBUSxhQUFhLFNBQVMsU0FBUyxHQUFHO3dCQUMxRCxDQUFDLENBQUMsUUFBUSxJQUFJLFFBQVEsYUFBYSxTQUFTLFNBQVMsT0FBTyxPQUFPLEdBQUcsQ0FBQztRQUMvRSxDQUFDO1FBRU8sWUFBWSxDQUFDLE1BQWtDO1lBQ3JELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbEUsQ0FBQztRQUVPLFdBQVcsQ0FBQyxPQUFlLEVBQUUsVUFBK0I7WUFDbEUsTUFBTSxNQUFNLEdBQStCLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ25FLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRixDQUFDO1FBRU8sWUFBWSxDQUNsQixPQUFlLEVBQ2YsV0FBaUMsRUFDakMsVUFBd0M7WUFFeEMsTUFBTSxNQUFNLEdBQWdDO2dCQUMxQyxRQUFRLEVBQUUsV0FBVztnQkFDckIsT0FBTyxFQUFFLFVBQVU7YUFDcEIsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMxRixDQUFDO1FBRU8sd0JBQXdCLENBQzlCLFFBQXVCLEVBQ3ZCLFdBQWlDLEVBQ2pDLFVBQXdDO1lBRXhDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssYUFBYSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxLQUFLLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUFFLE9BQU87WUFDL0YsUUFBUSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzFCLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsbUJBQW1CLENBQ3RCLFFBQVEsRUFDUixXQUFXLEVBQ1gsVUFBVSxFQUNWLFVBQVUsRUFDVixRQUFRLENBQUMsYUFBNEIsQ0FDdEMsQ0FBQztRQUNKLENBQUM7UUFFTyxtQkFBbUIsQ0FDekIsUUFBb0MsRUFDcEMsV0FBaUMsRUFDakMsVUFBd0MsRUFDeEMsU0FBd0MsRUFDeEMsY0FBMkI7WUFFM0IsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDcEQsTUFBTSxpQkFBaUIsR0FBRyxFQUFFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztZQUMzRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsY0FBYyxDQUFDO1lBQ2pELElBQUksQ0FBQyx5QkFBeUIsR0FBRztnQkFDL0IsaUJBQWlCO2dCQUNqQixpQkFBaUI7Z0JBQ2pCLG9CQUFvQjthQUNyQixDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQztZQUN6RixNQUFNLE1BQU0sR0FBa0M7Z0JBQzVDLFFBQVEsRUFBRSxXQUFXO2dCQUNyQixPQUFPLEVBQUUsVUFBVTtnQkFDbkIsT0FBTyxFQUFFLFNBQVMsS0FBSyxTQUFTLElBQUksUUFBUSxZQUFZLFVBQVU7b0JBQ2hFLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTztvQkFDbEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDO2dCQUM5QixPQUFPLEVBQUUsU0FBUyxLQUFLLFNBQVMsSUFBSSxRQUFRLFlBQVksVUFBVTtvQkFDaEUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPO29CQUNsQixDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU07Z0JBQ2YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGFBQWEsRUFBRSxRQUFRO2dCQUN2QixrQkFBa0IsRUFBRSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQzFGLFdBQVcsQ0FBQyxFQUFFLEVBQ2QsV0FBVyxFQUNYLFNBQVMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUNoRCxPQUFPLEVBQ1AsYUFBYSxDQUNkO2dCQUNELEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLENBQUM7YUFDMUQsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQ2hCLElBQUksV0FBVyxDQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQ3ZGLENBQUM7UUFDSixDQUFDO1FBRU8sb0JBQW9CLENBQUMsb0JBQTRCO1lBQ3ZELElBQ0UsQ0FBQyxJQUFJLENBQUMsV0FBVzttQkFDZCxvQkFBb0IsS0FBSyxJQUFJLENBQUMseUJBQXlCO2dCQUMxRCxPQUFPO1lBQ1QsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDO1lBQ3BELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztZQUNsRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUM7WUFDbEQsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7WUFDakMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDO1lBQ3ZELEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxlQUFlLEtBQUssSUFBSSxDQUFDLHlCQUF5QjtvQkFBRSxPQUFPO2dCQUNwRixJQUFJLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQztvQkFDN0IsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNwQixPQUFPO2dCQUNULENBQUM7Z0JBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQ3JFLEdBQUcsRUFBRSxhQUFhLENBQWMsSUFBSSxVQUFVLElBQUksaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2xGLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVPLHlCQUF5QjtZQUMvQixJQUFJLENBQUMseUJBQXlCLElBQUksQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLFNBQVMsQ0FBQztZQUM1QyxJQUFJLENBQUMseUJBQXlCLEdBQUcsRUFBRSxDQUFDO1FBQ3RDLENBQUM7UUFFTyxLQUFLLENBQUMsZ0JBQWdCLENBQzVCLGdCQUFzQyxFQUN0QyxhQUFxQjtZQUVyQixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDMUIsSUFDRSxhQUFhLEtBQUssSUFBSSxDQUFDLGdCQUFnQjttQkFDcEMsQ0FBQyxJQUFJLENBQUMsV0FBVzttQkFDakIsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLGtDQUFrQyxDQUFDLENBQUMsT0FBTztnQkFDdEUsT0FBTztZQUNULElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzlCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN4RSxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsZ0JBQWdCLENBQWMsZ0NBQWdDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDekcsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0IsSUFBSSxHQUFHLEtBQUssV0FBVztvQkFBRSxTQUFTO2dCQUNsQyxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxRQUFRO29CQUFFLFNBQVM7Z0JBQ3hCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUM1QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7Z0JBQzFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHO29CQUFFLFNBQVM7Z0JBQ3JDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQzNCO29CQUNFLEVBQUUsU0FBUyxFQUFFLGNBQWMsTUFBTSxLQUFLLEVBQUU7b0JBQ3hDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRTtpQkFDL0IsRUFDRCxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLGdDQUFnQyxFQUFFLENBQzVELENBQUM7Z0JBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDckMsS0FBSyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO29CQUMxRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUMxQyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBRU8sc0JBQXNCO1lBQzVCLEtBQUssTUFBTSxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFnQjtnQkFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hDLENBQUM7UUFFTyxpQkFBaUIsQ0FBQyxTQUFrQjtZQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDeEMsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTztZQUNyQixNQUFNLFVBQVUsR0FBRyxTQUFTLElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUM7WUFDM0Qsb0ZBQW9GO1lBQ3BGLE1BQU0sWUFBWSxHQUFHLFVBQVUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVO2dCQUNqRSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQjtnQkFDdkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNkLE1BQU0sVUFBVSxHQUFHLENBQUMsVUFBVSxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQy9ELENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUM7Z0JBQzVGLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDZCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztnQkFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1QyxLQUFLLE1BQU0sUUFBUSxJQUFJO2dCQUNyQixzQkFBc0I7Z0JBQ3RCLHVCQUF1QjtnQkFDdkIsa0JBQWtCO2dCQUNsQixrQkFBa0I7YUFDbkI7Z0JBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1lBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQztZQUNsQyxJQUFJLENBQUM7Z0JBQ0gsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO29CQUN4RCxPQUFPLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDMUQsQ0FBQztZQUNILENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsdUVBQXVFO1lBQ3pFLENBQUM7WUFDRCxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQiwyRkFBMkY7Z0JBQzNGLHdEQUF3RDtnQkFDeEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsMEJBQTBCLENBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUNmLFlBQVksRUFDWixTQUFTLEVBQ1QsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUN4QyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQ1gsQ0FBQztnQkFDRixPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksVUFBVTtnQkFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7O1lBOWhGVSx1REFBc0I7Ozs7O1NBQXRCLHNCQUFzQiJ9
|