diff --git a/English.lproj/VLDocument.nib/classes.nib b/English.lproj/VLDocument.nib/classes.nib
deleted file mode 100644
index 805ad91..0000000
--- a/English.lproj/VLDocument.nib/classes.nib
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- IBClasses = (
- {
- ACTIONS = {
- endRepeatSheet = id;
- engrave = id;
- showLog = id;
- showOutput = id;
- zoomIn = id;
- zoomOut = id;
- };
- CLASS = FirstResponder;
- LANGUAGE = ObjC;
- SUPERCLASS = NSObject;
- },
- {CLASS = VLDocument; LANGUAGE = ObjC; SUPERCLASS = NSDocument; },
- {CLASS = VLEditable; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
- {
- CLASS = VLPDFWindow;
- LANGUAGE = ObjC;
- OUTLETS = {
- nextPageItem = id;
- pdfView = id;
- prevPageItem = id;
- zoomInItem = id;
- zoomOutItem = id;
- };
- SUPERCLASS = NSWindowController;
- },
- {
- ACTIONS = {
- endRepeatSheet = id;
- hideFieldEditor = id;
- selectGroove = id;
- setDivisions = id;
- setKey = id;
- setTime = id;
- };
- CLASS = VLSheetView;
- LANGUAGE = ObjC;
- OUTLETS = {
- fEndingMsg = id;
- fEndingSheet = id;
- fFieldEditor = id;
- fGrooveMenu = id;
- fRepeatMsg = id;
- fRepeatSheet = id;
- };
- SUPERCLASS = NSView;
- },
- {
- CLASS = VLSheetWindow;
- LANGUAGE = ObjC;
- OUTLETS = {
- logToolItem = id;
- outputToolItem = id;
- playToolItem = id;
- progressToolItem = id;
- stopToolItem = id;
- zoomInToolItem = id;
- zoomOutToolItem = id;
- };
- SUPERCLASS = NSWindowController;
- }
- );
- IBVersion = 1;
-}
\ No newline at end of file
diff --git a/English.lproj/VLDocument.nib/designable.nib b/English.lproj/VLDocument.nib/designable.nib
new file mode 100644
index 0000000..400eb11
--- /dev/null
+++ b/English.lproj/VLDocument.nib/designable.nib
@@ -0,0 +1,6457 @@
+
+
+
+ 1040
+ 9A412
+ 599
+ 902
+ 304.00
+
+
+
+
+
+ YES
+
+
+ delegate
+
+
+
+ 17
+
+
+
+ setTime:
+
+
+
+ 69
+
+
+
+ setKey:
+
+
+
+ 70
+
+
+
+ setDivisions:
+
+
+
+ 85
+
+
+
+ hideFieldEditor:
+
+
+
+ 110
+
+
+
+ hideFieldEditor:
+
+
+
+ 111
+
+
+
+ selectText:
+
+
+
+ 112
+
+
+
+ fFieldEditor
+
+
+
+ 134
+
+
+
+ value: editTarget.stringValue
+
+
+
+
+
+ value: editTarget.stringValue
+ value
+ editTarget.stringValue
+ 2
+
+
+ 135
+
+
+
+ delegate
+
+
+
+ 136
+
+
+
+ hidden: editTarget
+
+
+
+
+
+ hidden: editTarget
+ hidden
+ editTarget
+
+ NSValueTransformerName
+ NSIsNil
+
+ 2
+
+
+ 141
+
+
+
+ showLog:
+
+
+
+ 151
+
+
+
+ showOutput:
+
+
+
+ 153
+
+
+
+ outputToolItem
+
+
+
+ 155
+
+
+
+ logToolItem
+
+
+
+ 156
+
+
+
+ window
+
+
+
+ 158
+
+
+
+ selectedTag: document.songKey
+
+
+
+
+
+ selectedTag: document.songKey
+ selectedTag
+ document.songKey
+
+ NSRaisesForNotApplicableKeys
+
+
+ 2
+
+
+ 159
+
+
+
+ selectedTag: document.songTime
+
+
+
+
+
+ selectedTag: document.songTime
+ selectedTag
+ document.songTime
+
+ NSRaisesForNotApplicableKeys
+
+
+ 2
+
+
+ 160
+
+
+
+ selectedTag: document.songDivisions
+
+
+
+
+
+ selectedTag: document.songDivisions
+ selectedTag
+ document.songDivisions
+
+ NSRaisesForNotApplicableKeys
+
+
+ 2
+
+
+ 161
+
+
+
+ value: document.songTitle
+
+
+
+
+
+ value: document.songTitle
+ value
+ document.songTitle
+ 2
+
+
+ 168
+
+
+
+ value: document.songComposer
+
+
+
+
+
+ value: document.songComposer
+ value
+ document.songComposer
+ 2
+
+
+ 169
+
+
+
+ value: document.songLyricist
+
+
+
+
+
+ value: document.songLyricist
+ value
+ document.songLyricist
+ 2
+
+
+ 170
+
+
+
+ play:
+
+
+
+ 174
+
+
+
+ playToolItem
+
+
+
+ 175
+
+
+
+ value: document.songTempo
+
+
+
+
+
+ value: document.songTempo
+ value
+ document.songTempo
+ 2
+
+
+ 179
+
+
+
+ value: document.songTempo
+
+
+
+
+
+ value: document.songTempo
+ value
+ document.songTempo
+ 2
+
+
+ 180
+
+
+
+ zoomInToolItem
+
+
+
+ 192
+
+
+
+ zoomOutToolItem
+
+
+
+ 193
+
+
+
+ zoomIn:
+
+
+
+ 194
+
+
+
+ zoomOut:
+
+
+
+ 195
+
+
+
+ value: document.repeatVolta
+
+
+
+
+
+ value: document.repeatVolta
+ value
+ document.repeatVolta
+ 2
+
+
+ 203
+
+
+
+ value: document.repeatVolta
+
+
+
+
+
+ value: document.repeatVolta
+ value
+ document.repeatVolta
+ 2
+
+
+ 204
+
+
+
+ fRepeatSheet
+
+
+
+ 208
+
+
+
+ fRepeatMsg
+
+
+
+ 212
+
+
+
+ fEndingSheet
+
+
+
+ 240
+
+
+
+ fEndingMsg
+
+
+
+ 241
+
+
+
+ dataSource
+
+
+
+ 247
+
+
+
+ delegate
+
+
+
+ 248
+
+
+
+ stop:
+
+
+
+ 252
+
+
+
+ stopToolItem
+
+
+
+ 253
+
+
+
+ selectGroove:
+
+
+
+ 260
+
+
+
+ fGrooveMenu
+
+
+
+ 262
+
+
+
+ progressToolItem
+
+
+
+ 264
+
+
+
+ selectGroove:
+
+
+
+ 265
+
+
+
+ selectedIndex: editNumTopLedgers
+
+
+
+
+
+ selectedIndex: editNumTopLedgers
+ selectedIndex
+ editNumTopLedgers
+ 2
+
+
+ 325
+
+
+
+ selectedIndex: editNumBotLedgers
+
+
+
+
+
+ selectedIndex: editNumBotLedgers
+ selectedIndex
+ editNumBotLedgers
+ 2
+
+
+ 326
+
+
+
+ selectedIndex: editNumStanzas
+
+
+
+
+
+ selectedIndex: editNumStanzas
+ selectedIndex
+ editNumStanzas
+ 2
+
+
+ 327
+
+
+
+ fDisplaySheet
+
+
+
+ 328
+
+
+
+ endSheetWithButton:
+
+
+
+ 331
+
+
+
+ endSheetWithButton:
+
+
+
+ 332
+
+
+
+ endSheetWithButton:
+
+
+
+ 333
+
+
+
+ endSheetWithButton:
+
+
+
+ 334
+
+
+
+ endSheetWithButton:
+
+
+
+ 335
+
+
+
+ endSheetWithButton:
+
+
+
+ 336
+
+
+
+ endSheetWithButton:
+
+
+
+ 337
+
+
+
+ endSheetWithButton:
+
+
+
+ 338
+
+
+
+ displayToolItem
+
+
+
+ 100346
+
+
+
+ editDisplayOptions:
+
+
+
+ 100347
+
+
+
+
+ YES
+
+ 0
+
+ YES
+
+
+
+
+
+ -2
+
+
+ RmlsZSdzIE93bmVyA
+
+
+ -1
+
+
+ First Responder
+
+
+ 5
+
+
+ YES
+
+
+
+ Sheet Music Window
+
+
+ 6
+
+
+ YES
+
+
+
+
+
+
+
+ 102
+
+
+ YES
+
+
+
+
+
+
+
+ 114
+
+
+ YES
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 130
+
+
+ YES
+
+
+
+
+
+
+
+ 22
+
+
+
+
+ 144
+
+
+ YES
+
+
+
+ Toolbar Items
+
+
+ 145
+
+
+ YES
+
+
+
+
+
+
+
+
+
+
+
+
+ 146
+
+
+ YES
+
+
+
+
+
+ 147
+
+
+ YES
+
+
+
+
+
+ 171
+
+
+ YES
+
+
+
+
+
+ 188
+
+
+ YES
+
+
+
+
+
+ 189
+
+
+ YES
+
+
+
+
+
+ 249
+
+
+ YES
+
+
+
+
+
+ 263
+
+
+
+
+ 339
+
+
+ YES
+
+
+
+
+
+ 196
+
+
+ YES
+
+
+
+ Repeat
+
+
+ 197
+
+
+ YES
+
+
+
+
+
+
+
+
+
+
+
+ 198
+
+
+ YES
+
+
+
+
+
+ 199
+
+
+ YES
+
+
+
+
+
+ 201
+
+
+ YES
+
+
+
+
+
+ 202
+
+
+ YES
+
+
+
+
+
+ 205
+
+
+ YES
+
+
+
+
+
+ 206
+
+
+ YES
+
+
+
+
+
+ 207
+
+
+ YES
+
+
+
+
+
+ 216
+
+
+ YES
+
+
+
+ Endings
+
+
+ 217
+
+
+ YES
+
+
+
+
+
+
+
+
+
+ 218
+
+
+ YES
+
+
+
+
+
+ 219
+
+
+ YES
+
+
+
+
+
+ 220
+
+
+ YES
+
+
+
+
+
+ 221
+
+
+ YES
+
+
+
+
+
+ 222
+
+
+ YES
+
+
+
+
+
+
+
+
+ 223
+
+
+ YES
+
+
+
+
+
+
+
+
+
+
+
+
+ 224
+
+
+ YES
+
+
+
+
+
+ 225
+
+
+ YES
+
+
+
+
+
+ 233
+
+
+
+
+ 226
+
+
+ YES
+
+
+
+
+
+ 234
+
+
+
+
+ 227
+
+
+ YES
+
+
+
+
+
+ 235
+
+
+
+
+ 228
+
+
+ YES
+
+
+
+
+
+ 236
+
+
+
+
+ 229
+
+
+ YES
+
+
+
+
+
+ 237
+
+
+
+
+ 230
+
+
+ YES
+
+
+
+
+
+ 238
+
+
+
+
+ 231
+
+
+ YES
+
+
+
+
+
+ 239
+
+
+
+
+ 266
+
+
+ YES
+
+
+
+ Display
+
+
+ 267
+
+
+ YES
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 268
+
+
+ YES
+
+
+
+
+
+ 269
+
+
+ YES
+
+
+
+
+
+ 270
+
+
+ YES
+
+
+
+
+
+ 290
+
+
+ YES
+
+
+
+
+
+ 296
+
+
+ YES
+
+
+
+
+
+ 305
+
+
+ YES
+
+
+
+
+
+ 306
+
+
+ YES
+
+
+
+
+
+ 313
+
+
+ YES
+
+
+
+
+
+ 314
+
+
+ YES
+
+
+
+
+
+ 100146
+
+
+
+
+ 100147
+
+
+
+
+ 100171
+
+
+
+
+ 100188
+
+
+
+
+ 100189
+
+
+
+
+ 100249
+
+
+
+
+ 100339
+
+
+
+
+ 100198
+
+
+
+
+ 100199
+
+
+ YES
+
+
+
+
+
+ 100201
+
+
+
+
+ 100202
+
+
+
+
+ 100205
+
+
+
+
+ 100206
+
+
+
+
+ 100207
+
+
+
+
+ 100218
+
+
+
+
+ 100219
+
+
+
+
+ 100220
+
+
+
+
+ 100221
+
+
+
+
+ 100268
+
+
+
+
+ 100269
+
+
+
+
+ 100270
+
+
+
+
+ 100290
+
+
+ YES
+
+
+
+
+
+ 100296
+
+
+
+
+ 100305
+
+
+
+
+ 100306
+
+
+ YES
+
+
+
+
+
+ 100313
+
+
+
+
+ 100314
+
+
+ YES
+
+
+
+
+
+ 100224
+
+
+
+
+ 200
+
+
+
+
+ 291
+
+
+ YES
+
+
+
+
+
+
+
+
+
+ 303
+
+
+
+
+ 295
+
+
+
+
+ 294
+
+
+
+
+ 293
+
+
+
+
+ 292
+
+
+
+
+ 307
+
+
+ YES
+
+
+
+
+
+
+
+
+
+ 312
+
+
+
+
+ 311
+
+
+
+
+ 310
+
+
+
+
+ 309
+
+
+
+
+ 308
+
+
+
+
+ 315
+
+
+ YES
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 324
+
+
+
+
+ 323
+
+
+
+
+ 322
+
+
+
+
+ 321
+
+
+
+
+ 320
+
+
+
+
+ 319
+
+
+
+
+ 318
+
+
+
+
+ 317
+
+
+
+
+ 316
+
+
+
+
+ 100340
+
+
+
+
+ 100341
+
+
+
+
+ 100342
+
+
+
+
+ 100343
+
+
+
+
+ 100344
+
+
+
+
+ -3
+
+
+ Application
+
+
+ 97
+
+
+ YES
+
+
+
+
+
+ 100097
+
+
+
+
+ 100
+
+
+ YES
+
+
+
+
+
+ 100100
+
+
+
+
+ 101
+
+
+ YES
+
+
+
+
+
+ 100101
+
+
+
+
+ 23
+
+
+ YES
+
+
+
+
+
+ 100023
+
+
+ YES
+
+
+
+
+
+ 24
+
+
+ YES
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 25
+
+
+
+
+ 26
+
+
+
+
+ 27
+
+
+
+
+ 29
+
+
+
+
+ 30
+
+
+
+
+ 31
+
+
+
+
+ 32
+
+
+
+
+ 33
+
+
+
+
+ 34
+
+
+
+
+ 35
+
+
+
+
+ 36
+
+
+
+
+ 37
+
+
+
+
+ 38
+
+
+
+
+ 39
+
+
+
+
+ 40
+
+
+
+
+ 43
+
+
+
+
+ 44
+
+
+
+
+ 45
+
+
+
+
+ 46
+
+
+
+
+ 47
+
+
+
+
+ 48
+
+
+
+
+ 61
+
+
+ YES
+
+
+
+
+
+ 100061
+
+
+ YES
+
+
+
+
+
+ 62
+
+
+ YES
+
+
+
+
+
+
+
+
+
+ 63
+
+
+
+
+ 64
+
+
+
+
+ 65
+
+
+
+
+ 66
+
+
+
+
+ 67
+
+
+
+
+ 73
+
+
+ YES
+
+
+
+
+
+ 100073
+
+
+ YES
+
+
+
+
+
+ 74
+
+
+ YES
+
+
+
+
+
+
+
+
+
+
+ 75
+
+
+
+
+ 76
+
+
+
+
+ 77
+
+
+
+
+ 78
+
+
+
+
+ 79
+
+
+
+
+ 80
+
+
+
+
+ 162
+
+
+ YES
+
+
+
+
+
+ 100162
+
+
+
+
+ 163
+
+
+ YES
+
+
+
+
+
+ 100163
+
+
+
+
+ 164
+
+
+ YES
+
+
+
+
+
+ 100164
+
+
+
+
+ 165
+
+
+ YES
+
+
+
+
+
+ 100165
+
+
+
+
+ 166
+
+
+ YES
+
+
+
+
+
+ 100166
+
+
+
+
+ 167
+
+
+ YES
+
+
+
+
+
+ 100167
+
+
+
+
+ 176
+
+
+ YES
+
+
+
+
+
+ 100176
+
+
+
+
+ 177
+
+
+ YES
+
+
+
+
+
+ 100177
+
+
+
+
+ 178
+
+
+ YES
+
+
+
+
+
+ 100178
+
+
+
+
+ 181
+
+
+ YES
+
+
+
+
+
+ 100181
+
+
+
+
+ 254
+
+
+ YES
+
+
+
+
+
+ 100254
+
+
+ YES
+
+
+
+
+
+ 255
+
+
+ YES
+
+
+
+
+
+
+
+
+ 256
+
+
+
+
+ 257
+
+
+
+
+ 258
+
+
+
+
+ 259
+
+
+
+
+
+
+ YES
+
+ YES
+ -1.IBPluginDependency
+ -2.IBPluginDependency
+ 100.IBPluginDependency
+ 100.ImportedFromIB2
+ 100224.IBShouldRemoveOnLegacySave
+ 101.IBPluginDependency
+ 101.ImportedFromIB2
+ 102.IBPluginDependency
+ 102.ImportedFromIB2
+ 114.IBPluginDependency
+ 114.ImportedFromIB2
+ 130.IBPluginDependency
+ 130.ImportedFromIB2
+ 144.IBPluginDependency
+ 144.IBWindowTemplateEditedContentRect
+ 144.ImportedFromIB2
+ 144.editorWindowContentRectSynchronizationRect
+ 145.IBPluginDependency
+ 145.ImportedFromIB2
+ 146.IBAttributePlaceholdersKey
+ 146.IBPluginDependency
+ 146.ImportedFromIB2
+ 147.IBAttributePlaceholdersKey
+ 147.IBPluginDependency
+ 147.ImportedFromIB2
+ 162.IBPluginDependency
+ 162.ImportedFromIB2
+ 163.IBPluginDependency
+ 163.ImportedFromIB2
+ 164.IBPluginDependency
+ 164.ImportedFromIB2
+ 165.IBPluginDependency
+ 165.ImportedFromIB2
+ 166.IBPluginDependency
+ 166.ImportedFromIB2
+ 167.IBPluginDependency
+ 167.ImportedFromIB2
+ 171.IBAttributePlaceholdersKey
+ 171.IBPluginDependency
+ 171.ImportedFromIB2
+ 176.IBPluginDependency
+ 176.ImportedFromIB2
+ 177.IBPluginDependency
+ 177.ImportedFromIB2
+ 178.IBPluginDependency
+ 178.ImportedFromIB2
+ 181.IBPluginDependency
+ 181.ImportedFromIB2
+ 188.IBAttributePlaceholdersKey
+ 188.IBPluginDependency
+ 188.ImportedFromIB2
+ 189.IBAttributePlaceholdersKey
+ 189.IBPluginDependency
+ 189.ImportedFromIB2
+ 196.IBPluginDependency
+ 196.ImportedFromIB2
+ 197.IBPluginDependency
+ 197.ImportedFromIB2
+ 198.IBPluginDependency
+ 198.ImportedFromIB2
+ 199.IBPluginDependency
+ 199.ImportedFromIB2
+ 200.IBPluginDependency
+ 200.ImportedFromIB2
+ 201.IBPluginDependency
+ 201.ImportedFromIB2
+ 202.IBPluginDependency
+ 202.ImportedFromIB2
+ 205.IBPluginDependency
+ 205.ImportedFromIB2
+ 206.IBPluginDependency
+ 206.ImportedFromIB2
+ 207.IBPluginDependency
+ 207.ImportedFromIB2
+ 216.IBPluginDependency
+ 216.ImportedFromIB2
+ 217.IBPluginDependency
+ 217.ImportedFromIB2
+ 218.IBPluginDependency
+ 218.ImportedFromIB2
+ 219.IBPluginDependency
+ 219.ImportedFromIB2
+ 22.IBPluginDependency
+ 22.ImportedFromIB2
+ 220.IBPluginDependency
+ 220.ImportedFromIB2
+ 221.IBPluginDependency
+ 221.ImportedFromIB2
+ 222.IBPluginDependency
+ 222.ImportedFromIB2
+ 223.IBPluginDependency
+ 223.ImportedFromIB2
+ 224.IBPluginDependency
+ 224.ImportedFromIB2
+ 225.IBPluginDependency
+ 225.ImportedFromIB2
+ 226.IBPluginDependency
+ 226.ImportedFromIB2
+ 227.IBPluginDependency
+ 227.ImportedFromIB2
+ 228.IBPluginDependency
+ 228.ImportedFromIB2
+ 229.IBPluginDependency
+ 229.ImportedFromIB2
+ 23.IBPluginDependency
+ 23.ImportedFromIB2
+ 230.IBPluginDependency
+ 230.ImportedFromIB2
+ 231.IBPluginDependency
+ 231.ImportedFromIB2
+ 233.IBPluginDependency
+ 233.ImportedFromIB2
+ 234.IBPluginDependency
+ 234.ImportedFromIB2
+ 235.IBPluginDependency
+ 235.ImportedFromIB2
+ 236.IBPluginDependency
+ 236.ImportedFromIB2
+ 237.IBPluginDependency
+ 237.ImportedFromIB2
+ 238.IBPluginDependency
+ 238.ImportedFromIB2
+ 239.IBPluginDependency
+ 239.ImportedFromIB2
+ 24.IBPluginDependency
+ 24.ImportedFromIB2
+ 249.IBAttributePlaceholdersKey
+ 249.IBPluginDependency
+ 249.ImportedFromIB2
+ 25.IBPluginDependency
+ 25.ImportedFromIB2
+ 254.IBPluginDependency
+ 254.ImportedFromIB2
+ 255.IBPluginDependency
+ 255.ImportedFromIB2
+ 256.IBPluginDependency
+ 256.ImportedFromIB2
+ 257.IBPluginDependency
+ 257.ImportedFromIB2
+ 258.IBPluginDependency
+ 258.ImportedFromIB2
+ 259.IBPluginDependency
+ 259.ImportedFromIB2
+ 26.IBPluginDependency
+ 26.ImportedFromIB2
+ 263.IBPluginDependency
+ 263.ImportedFromIB2
+ 266.IBPluginDependency
+ 266.ImportedFromIB2
+ 266.editorWindowContentRectSynchronizationRect
+ 267.IBPluginDependency
+ 267.ImportedFromIB2
+ 268.IBPluginDependency
+ 268.ImportedFromIB2
+ 269.IBPluginDependency
+ 269.ImportedFromIB2
+ 27.IBPluginDependency
+ 27.ImportedFromIB2
+ 270.IBPluginDependency
+ 270.ImportedFromIB2
+ 29.IBPluginDependency
+ 29.ImportedFromIB2
+ 290.IBPluginDependency
+ 290.ImportedFromIB2
+ 291.IBPluginDependency
+ 291.ImportedFromIB2
+ 292.IBPluginDependency
+ 292.ImportedFromIB2
+ 293.IBPluginDependency
+ 293.ImportedFromIB2
+ 294.IBPluginDependency
+ 294.ImportedFromIB2
+ 295.IBPluginDependency
+ 295.ImportedFromIB2
+ 296.IBPluginDependency
+ 296.ImportedFromIB2
+ 30.IBPluginDependency
+ 30.ImportedFromIB2
+ 303.IBPluginDependency
+ 303.ImportedFromIB2
+ 305.IBPluginDependency
+ 305.ImportedFromIB2
+ 306.IBPluginDependency
+ 306.ImportedFromIB2
+ 307.IBPluginDependency
+ 307.ImportedFromIB2
+ 308.IBPluginDependency
+ 308.ImportedFromIB2
+ 309.IBPluginDependency
+ 309.ImportedFromIB2
+ 31.IBPluginDependency
+ 31.ImportedFromIB2
+ 310.IBPluginDependency
+ 310.ImportedFromIB2
+ 311.IBPluginDependency
+ 311.ImportedFromIB2
+ 312.IBPluginDependency
+ 312.ImportedFromIB2
+ 313.IBPluginDependency
+ 313.ImportedFromIB2
+ 314.IBPluginDependency
+ 314.ImportedFromIB2
+ 315.IBPluginDependency
+ 315.ImportedFromIB2
+ 316.IBPluginDependency
+ 316.ImportedFromIB2
+ 317.IBPluginDependency
+ 317.ImportedFromIB2
+ 318.IBPluginDependency
+ 318.ImportedFromIB2
+ 319.IBPluginDependency
+ 319.ImportedFromIB2
+ 32.IBPluginDependency
+ 32.ImportedFromIB2
+ 320.IBPluginDependency
+ 320.ImportedFromIB2
+ 321.IBPluginDependency
+ 321.ImportedFromIB2
+ 322.IBPluginDependency
+ 322.ImportedFromIB2
+ 323.IBPluginDependency
+ 323.ImportedFromIB2
+ 324.IBPluginDependency
+ 324.ImportedFromIB2
+ 33.IBPluginDependency
+ 33.ImportedFromIB2
+ 339.IBAttributePlaceholdersKey
+ 339.IBPluginDependency
+ 339.ImportedFromIB2
+ 34.IBPluginDependency
+ 34.ImportedFromIB2
+ 35.IBPluginDependency
+ 35.ImportedFromIB2
+ 36.IBPluginDependency
+ 36.ImportedFromIB2
+ 37.IBPluginDependency
+ 37.ImportedFromIB2
+ 38.IBPluginDependency
+ 38.ImportedFromIB2
+ 39.IBPluginDependency
+ 39.ImportedFromIB2
+ 40.IBPluginDependency
+ 40.ImportedFromIB2
+ 43.IBPluginDependency
+ 43.ImportedFromIB2
+ 44.IBPluginDependency
+ 44.ImportedFromIB2
+ 45.IBPluginDependency
+ 45.ImportedFromIB2
+ 46.IBPluginDependency
+ 46.ImportedFromIB2
+ 47.IBPluginDependency
+ 47.ImportedFromIB2
+ 48.IBPluginDependency
+ 48.ImportedFromIB2
+ 5.IBPluginDependency
+ 5.ImportedFromIB2
+ 5.editorWindowContentRectSynchronizationRect
+ 6.IBPluginDependency
+ 6.ImportedFromIB2
+ 61.IBPluginDependency
+ 61.ImportedFromIB2
+ 62.IBPluginDependency
+ 62.ImportedFromIB2
+ 63.IBPluginDependency
+ 63.ImportedFromIB2
+ 64.IBPluginDependency
+ 64.ImportedFromIB2
+ 65.IBPluginDependency
+ 65.ImportedFromIB2
+ 66.IBPluginDependency
+ 66.ImportedFromIB2
+ 67.IBPluginDependency
+ 67.ImportedFromIB2
+ 73.IBPluginDependency
+ 73.ImportedFromIB2
+ 74.IBPluginDependency
+ 74.ImportedFromIB2
+ 75.IBPluginDependency
+ 75.ImportedFromIB2
+ 76.IBPluginDependency
+ 76.ImportedFromIB2
+ 77.IBPluginDependency
+ 77.ImportedFromIB2
+ 78.IBPluginDependency
+ 78.ImportedFromIB2
+ 79.IBPluginDependency
+ 79.ImportedFromIB2
+ 80.IBPluginDependency
+ 80.ImportedFromIB2
+ 97.IBPluginDependency
+ 97.ImportedFromIB2
+
+
+ YES
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+ {{329, 62}, {480, 360}}
+
+ {{329, 62}, {480, 360}}
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+
+ ToolTip
+
+ ToolTip
+
+ Show Lead Sheet
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+
+ ToolTip
+
+ ToolTip
+
+ Show Console Log
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+
+ ToolTip
+
+ ToolTip
+
+ Play the Song
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+
+ ToolTip
+
+ ToolTip
+
+ Zoom In
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+
+ ToolTip
+
+ ToolTip
+
+ Zoom Out
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+
+ ToolTip
+
+ ToolTip
+
+ Stop Playback
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ {{417, 238}, {248, 155}}
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+
+ ToolTip
+
+ ToolTip
+
+ Stop Playback
+
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ {{25, 304}, {971, 397}}
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+ com.apple.InterfaceBuilder.CocoaPlugin
+
+
+
+
+ YES
+
+ YES
+
+
+ YES
+
+
+
+
+ YES
+
+ YES
+
+
+ YES
+
+
+
+ 100347
+
+
+
+ YES
+
+ YES
+ FirstResponder
+ VLDocument
+ VLEditable
+ VLPDFWindow
+ VLSheetView
+ VLSheetWindow
+
+
+ YES
+
+ FirstResponder
+ NSObject
+
+ YES
+
+ YES
+ alignCenter:
+ alignJustified:
+ alignLeft:
+ alignRight:
+ arrangeInFront:
+ centerSelectionInVisibleArea:
+ changeFont:
+ checkSpelling:
+ clear:
+ clearRecentDocuments:
+ complete:
+ copy:
+ copyFont:
+ copyRuler:
+ cut:
+ delete:
+ deminiaturize:
+ editDisplayOptions:
+ endRepeatSheet:
+ engrave:
+ fax:
+ hide:
+ hideOtherApplications:
+ loosenKerning:
+ lowerBaseline:
+ makeKeyAndOrderFront:
+ miniaturize:
+ newDocument:
+ openDocument:
+ orderBack:
+ orderFront:
+ orderFrontColorPanel:
+ orderFrontHelpPanel:
+ orderOut:
+ outline:
+ paste:
+ pasteAsPlainText:
+ pasteAsRichText:
+ pasteFont:
+ pasteRuler:
+ pause:
+ performClose:
+ performFindPanelAction:
+ performMiniaturize:
+ performZoom:
+ play:
+ print:
+ printDocument:
+ raiseBaseline:
+ record:
+ redo:
+ resume:
+ revertDocumentToSaved:
+ run:
+ runPageLayout:
+ runToolbarCustomizationPalette:
+ saveAllDocuments:
+ saveDocument:
+ saveDocumentAs:
+ saveDocumentTo:
+ selectAll:
+ selectText:
+ showGuessPanel:
+ showHelp:
+ showLog:
+ showOutput:
+ start:
+ startSpeaking:
+ stop:
+ stopSpeaking:
+ subscript:
+ superscript:
+ terminate:
+ tightenKerning:
+ toggleContinuousSpellChecking:
+ toggleRuler:
+ toggleToolbarShown:
+ turnOffKerning:
+ turnOffLigatures:
+ underline:
+ undo:
+ unhideAllApplications:
+ unscript:
+ useAllLigatures:
+ useStandardKerning:
+ useStandardLigatures:
+ zoomIn:
+ zoomOut:
+
+
+ YES
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+
+
+
+
+
+ VLDocument
+ NSDocument
+
+ YES
+
+ YES
+ showLog:
+ showOutput:
+
+
+ YES
+ id
+ id
+
+
+
+
+
+ VLEditable
+ NSObject
+
+
+
+
+ VLPDFWindow
+ NSWindowController
+
+
+ YES
+
+ YES
+ nextPageItem
+ pdfView
+ prevPageItem
+ zoomInItem
+ zoomOutItem
+
+
+ YES
+ id
+ id
+ id
+ id
+ id
+
+
+
+
+ VLSheetView
+ NSView
+
+ YES
+
+ YES
+ editDisplayOptions:
+ endSheetWithButton:
+ hideFieldEditor:
+ selectGroove:
+ setDivisions:
+ setKey:
+ setTime:
+
+
+ YES
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+
+
+
+ YES
+
+ YES
+ fDisplaySheet
+ fEndingMsg
+ fEndingSheet
+ fFieldEditor
+ fGrooveMenu
+ fRepeatMsg
+ fRepeatSheet
+
+
+ YES
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+
+
+
+
+ VLSheetWindow
+ NSWindowController
+
+
+ YES
+
+ YES
+ displayToolItem
+ logToolItem
+ outputToolItem
+ playToolItem
+ progressToolItem
+ stopToolItem
+ zoomInToolItem
+ zoomOutToolItem
+
+
+ YES
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+ id
+
+
+
+
+
+
+ 0
+
+ YnBsaXN0MDDUAAEAAgADAAQABQAGAAkAClgkdmVyc2lvblQkdG9wWSRhcmNoaXZlclgkb2JqZWN0cxIA
+AYag0QAHAAhdSUIub2JqZWN0ZGF0YYABXxAPTlNLZXllZEFyY2hpdmVyrxEEhwALAAwAMQA1ADYAPAA9
+AEEARQCJAJEAoQCqAAsAqwDFAMYAzgDPANIA1wDYANkA3ADdAOEA5wDoAOwA9gD+AQQBBQESARcBIQEi
+ASMBKAEqAS8BMAEzATYBOQE6ATsBPAE/AUQBTAFSAVMBawFuAXEBdQGLAZABkQGVAZYBmgGbAZwBngGh
+AakBswG0Ab4BvwHJAcoB1AHVAdkB2wHfAeIB6wH3AfgA5QH5AfwB/QIAAgUCBgIPAiICJwIrAjECOQI6
+AkQCRQJJAkoCUQJSAloCWwJcAl4CXwJgAmYCZwJsAm8CcgJzAnQCdQJ8An0CfgKBAogCjwKUApUCogKl
+AqgCqQKqArICswK0ArUCuwIbAr0CwgLZAtoAlwLbAtwC4gLtAvEDAgMJAwoDGAMaAyQDKAMpAysDQwNM
+A00DWgNkA2UDbwNwA3oDewOFA4YDkAORA5wDpQOmA7ADsQO7A7wDxwPRA9ID3QPnA+gD8gPzA/0D/gQJ
+BBMEFAQeBB8EJgQnBDQENgRABEQERQRHBFAEWQRaBGMEZARtBG4EdwR4BIIEgwSKBIsElASVBJwEnQSl
+BKYEqwSsBK8EtAS1BLwEvQTEBMUEzATNBNUE1gTdBN4E5QTmBO0E7gT2BP0E/gUFBQYFDQUOBRYFFwUe
+BR8FJwUuBS8FNgU3BT4FPwVLBU0FVgVaBVsFXQVkBW8FeAV5BYIFgwWEBYUFiwWMBY4FmwWhBaUFpgWp
+BbEFsgWzBbYFwAXBBcIFxQXGBccFyAXJBcwFzQXSBdoF2wXjBeQF6AXpBeoF7wX4Bf8ACwYABgwGDQYO
+Bg8GFAYcBh0GJQYmBioGKwYsBjMGOwY8BkgGSgZTBlcGWQZlBm4GbwZ4BnkGggaDBowGjQaWBpcGoAah
+BqoGswa0BrUGtga3Br4GvwbABsUGzQbOBtYG1wbbBtwG3QbkBuUG5gbrBvYG9wb5Bv4HBgcNBw4HFQcW
+Bx4HHwcnBygHKQcxBzIHOgc7BzwHQwdEB0wHTQdcB2QHbgdyB40HjgeVB54HnweiB6cHqAerB7YHxAfL
+B84H0wfUB9cH3wfjB+sH7AfwAh4H9Qf5B/oH/ggACAMIBQgJCAoIDQgQCBcIHQglCAkIKQgwCDYIOwg8
+CEQISwhRCFkIYAhhCGcIbwh2CHcIfQiFCIwIjQiTCJsIpAilCKsIswi4CLkIvAi+CL8IxAjFCM0IzgjW
+CNcI2wjcCN0FxgjeCN8I4AjlCO0I7gj2CPcI+wj8CP0JAgkDCQgJDwkQCRgJGQkdCSUJJgkuCS8JMwk0
+CTUJOglBCUIJQwlICU8JUAlYCV0JXgliCWMJaAlpCW4Jbwl0CXkJegl/CYAJhQmMCZQJlQmhCaMJrAmw
+CbIJugnDCcwJ1QneCd8J4AnoCekJ6gnwCfUJ9gn6CfsJ/woACgUKCgoLChIKGgobCicKKQoyCjYKOApA
+CkkKUgpbCmQKZQpmCmsKdQp2CngKegqECosKjAqTCpQKmwqcCqcKyQrlCuYK5wroCukK6grrCuwK7Qru
+Cu8K8ArxCvIK/QsACwULCQX3AJ4LDQsSCxMLFAsVCxgA3AsbCx8LIAshCyQLKwssCzMLNAs7CzwLRAtF
+BcYLRgtHC0wLUQtSC1kLWgtbC2ALZQtqC2sLbwtwC3ULfQt+C4YLhwuLC4wLjQuSC5oLmwujC6sLrAut
+C7MLtwu4C78LxAvOC88L0QvdC+UL5gvtC+4L9gv3C/4L/wwHDAgMDwwQDBgMGQwgDCEACwXGDCIMIwwq
+DC8MNAxADEIMRQxGDEkMSgxPDFAMVQxWDF0MXgxfDGIMZwxoDG0MbgxzDHgMfQx+DIMNRA1ODU8NUQ1T
+DVUNYAALBcYNYQ1kDWUOJg7oD6oPqw+sD60Prg+vD7APsQ+yD7MPtA+1D7YPtw+4D7kPug+7D7wPvQ++
+D78PwA/BD8IPww/ED8UPxg/HD8gPyQ/KD8sPzA/ND84Pzw/QD9EP0g/TD9QP1Q/WD9cP2A/ZD9oP2w/c
+D90P3g/fD+AP4Q/iD+MP5A/lD+YP5w/oD+kP6g/rD+wP7Q/uD+8P8A/xD/IP8w/0D/UP9g/3D/gP+Q/6
+D/sP/A/9D/4P/xAAEAEQAhADEAQQBRAGEAcQCBAJEAoQCxAMEA0QDhAPEBAQERASEBMQFBAVEBYQFxAY
+EBkQGhAbEBwQHRAeEB8QIBAhECIQIxAkECUQJhAnECgQKRAqECsQLBAtEC4QLxAwEDEQMhAzEDQQNRA2
+EDcQOBA5EDoQOxA8ED0QPhA/EEAQQRBCEEMQRBBFEEYQRxBIEEkQShBLEEwQTRBOEE8QUBBREFIQUxBU
+EFUQVhBXEFgQWRBaEFsQXBBdEF4QXxBgEGEQYhBjEGQQZRBmEGcQahBtEXAScxJ0EnUSdhJ3EngSeRJ6
+EnsSfBJ9En4GBBJ/EoASgRKCEoMShBKFEoYShxKIEokSihKLEowSjRKOEo8SkBKREpISkxKUEpUSlhKX
+EpgSmRKaEpsSnBKdEp4SnxKgEqED0BKiEqMSpBKlBZYSphKnEqgSqRKqEqsSrBKtEq4SrxKwErESshKz
+ErQStRK2AR4StwC8ErgSuRK6ErsSvBK9Er4SvxLAEsESwhLDEsQSxRLGEscSyBLJEsoSyxLMEs0SzhLP
+EtAS0RLSEtMS1BLVEtYS1xLYEtkS2hLbEtwS3RLeEt8S4BLhEuIEMxLjEuQS5RLmEucS6BLpEuoS6xLs
+Eu0S7hLvEvAS8RLyAj0S8xL0EvUS9hL3EvgS+QLpEvoS+xL8Ev0S/gCdEv8TABMBEwITAxMEEwUTBhMH
+EwgTCRMKEwsTDBMNEw4TDxMQExETEhMTExQTFQFeExYTFxMYExkTGhMbExwTHRMeEx8TIBMhEyIGChMj
+EyQTJQFJEyYTJxMoEykTKhMrEywTLRMuEy8A+wI2EzATMRMyEzMTNBM1EzYTNxM4EzkTOhM7EzwTPRM+
+Ez8TQBNBE0ITQxNEE0UTRhNHE0gTSRNKE0sTTBNNE04TTxNQE1ETUhNTE1QTVRNWE1cTWBNZE1oTWxNc
+E10TXhNfE2ATYRNiE2MTZBNlE2gTaxNuVSRudWxs3xASAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkA
+GgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwVk5TUm9vdFYkY2xhc3Nd
+TlNPYmplY3RzS2V5c18QD05TQ2xhc3Nlc1ZhbHVlc18QGU5TQWNjZXNzaWJpbGl0eU9pZHNWYWx1ZXNd
+TlNDb25uZWN0aW9uc1tOU05hbWVzS2V5c1tOU0ZyYW1ld29ya11OU0NsYXNzZXNLZXlzWk5TT2lkc0tl
+eXNdTlNOYW1lc1ZhbHVlc18QGU5TQWNjZXNzaWJpbGl0eUNvbm5lY3RvcnNdTlNGb250TWFuYWdlcl8Q
+EE5TVmlzaWJsZVdpbmRvd3NfEA9OU09iamVjdHNWYWx1ZXNfEBdOU0FjY2Vzc2liaWxpdHlPaWRzS2V5
+c1lOU05leHRPaWRcTlNPaWRzVmFsdWVzgAKBBIaBArOBA4CBBIWACIECwIAFgQN/gQOBgQLBgQSDgACA
+BoECv4EEhBIAAYf8gQOC0gAOADIAMwA0W05TQ2xhc3NOYW1lgASAA11WTFNoZWV0V2luZG930gA3ADgA
+OQA6WCRjbGFzc2VzWiRjbGFzc25hbWWiADoAO15OU0N1c3RvbU9iamVjdFhOU09iamVjdF8QEElCQ29j
+b2FGcmFtZXdvcmvSAA4APgA/AEBaTlMub2JqZWN0c4AHoNIANwA4AEIAQ6MAQwBEADtcTlNNdXRhYmxl
+U2V0VU5TU2V00gAOAD4ARgBHgEuvEEEASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkA
+WgBbAFwAXQBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAG4AbwBwAHEAcgBzAHQAdQB2AHcA
+eAB5AHoAewB8AH0AfgB/AIAAgQCCAIMAhACFAIYAhwCIgAmAHIAwgFeAWYB4gIGAiIEBIoEBKoEBM4EB
+O4EBVoEBWYEBYYEBZIEB0IEB2IEB2oEB34EB54EB6IEB64EB74EB8YEB84EB9YEB94EB+IEB+oEB/IEB
+/YECDIECEIECEoECFIECFoECF4ECGYECKIECYYECYoECZIECZ4ECaIECaYECa4ECbYECdYECeYECfYEC
+f4ECgIECmYECmoECm4ECooECpIECpoECqoECrIECroECr4ECsIECstQADgCKAIsAjACNAI4AHwCQXU5T
+RGVzdGluYXRpb25YTlNTb3VyY2VXTlNMYWJlbIAbgAqAAoAa2ACSAA4AkwCUAJUAlgCXAJgAmQCaAJsA
+nACdAJ4AnwCZXxAPTlNOZXh0UmVzcG9uZGVyV05TRnJhbWVWTlNDZWxsWE5TdkZsYWdzWU5TRW5hYmxl
+ZFhOU1dpbmRvd1tOU1N1cGVydmlld4ALgBmADIAOEQEACYANgAvXAJIADgCiAJUAowCXAJgAnwClAKYA
+nQCnAJ8AqVpOU1N1YnZpZXdzW05TRnJhbWVTaXplgA2AaYECuYECuoANgQK7XxAWe3sxMTAsIDI3Nn0s
+IHs1OCwgNTZ9fd0ArAAOAK0ArgCvALAAsQCyALMAtAC1ALYAtwC4ALkAugC7ALwAvQC+ALoAwACOAMIA
+wwDEW05TQ2VsbEZsYWdzXxATTlNBbHRlcm5hdGVDb250ZW50c11OU05vcm1hbEltYWdlXxASTlNQZXJp
+b2RpY0ludGVydmFsXk5TQnV0dG9uRmxhZ3MyXxAPTlNLZXlFcXVpdmFsZW50Wk5TQ29udGVudHNZTlNT
+dXBwb3J0XU5TQ29udHJvbFZpZXdfEA9OU1BlcmlvZGljRGVsYXlcTlNDZWxsRmxhZ3MyXU5TQnV0dG9u
+RmxhZ3MSBAH+AIAYgA+AExBLEAKAF4APgBCAChEBkBIIAAAAE/////+GjED/WFNob3cgTG9n1AAOAMcA
+yADJAMoAywDMAM1WTlNTaXplVk5TTmFtZVhOU2ZGbGFnc4ASI0AkAAAAAAAAgBEQEFxMdWNpZGFHcmFu
+ZGXSADcAOADQANGiANEAO1ZOU0ZvbnTTAA4AMgDTANQA1QDWXk5TUmVzb3VyY2VOYW1lgBaAFIAVV05T
+SW1hZ2VXY29uc29sZdIANwA4ANoA26IA2wA7XxAQTlNDdXN0b21SZXNvdXJjZVDSADcAOADeAN+kAN8A
+4ACUADtcTlNCdXR0b25DZWxsXE5TQWN0aW9uQ2VsbNIANwA4AOIA46UA4wDkAOUA5gA7WE5TQnV0dG9u
+WU5TQ29udHJvbFZOU1ZpZXdbTlNSZXNwb25kZXJbbG9nVG9vbEl0ZW3SADcAOADpAOqjAOoA6wA7XxAU
+TlNOaWJPdXRsZXRDb25uZWN0b3JeTlNOaWJDb25uZWN0b3LXAA4AigDtAO4AiwCMAO8A8AAfAPIA8wD0
+APUAvVlOU0tleVBhdGhZTlNCaW5kaW5nXxAcTlNOaWJCaW5kaW5nQ29ubmVjdG9yVmVyc2lvboAvgAKA
+LoAtgB2ALNcAkgAOAJMAlACVAJYAmAD3APgA+QD6APsAngD3gB6AK4AfgCARAQIJgB7WAJIADgCiAJUA
+owCYAP8ApQEBAJ0BAgD/gFqAaYBdgGiAWl8QFHt7MTAsIDZ9LCB7MjcxLCAyMn192QCsAA4BBgCyALMA
+tAC2AQcBCAEJAQoBCwC+AQ0A9AEPAJ4BEV8QEU5TQmFja2dyb3VuZENvbG9yXxARTlNEcmF3c0JhY2tn
+cm91bmRbTlNUZXh0Q29sb3IT/////5Rx/kGAKoAigBeAIYAdEghABAAJgCfUAA4AxwDIAMkAygEUAMwB
+FoASI0AqAAAAAAAAgBERBBTVAA4BGAEZARoBGwEcAR0BHgEfASBXTlNDb2xvclxOU0NvbG9yU3BhY2Vb
+TlNDb2xvck5hbWVdTlNDYXRhbG9nTmFtZYAmgCUQBoAkgCNWU3lzdGVtXxATdGV4dEJhY2tncm91bmRD
+b2xvctMADgEZASQBHAEmASdXTlNXaGl0ZYAmEANCMQDSADcAOAEpARiiARgAO9UADgEYARkBGgEbARwB
+LAEeAS0BIIAmgCmAKIAjWXRleHRDb2xvctMADgEZASQBHAEmATKAJkIwANIANwA4ATQBNaQBNQDgAJQA
+O18QD05TVGV4dEZpZWxkQ2VsbNIANwA4ATcBOKUBOADkAOUA5gA7W05TVGV4dEZpZWxkXxAddmFsdWU6
+IGVkaXRUYXJnZXQuc3RyaW5nVmFsdWVVdmFsdWVfEBZlZGl0VGFyZ2V0LnN0cmluZ1ZhbHVl0gA3ADgB
+PQE+owE+AOsAO18QFU5TTmliQmluZGluZ0Nvbm5lY3RvctQADgCKAIsAjAFAAUEBQgFDgFaAT4AxgFXX
+AJIADgCTAJQAlQCWAJgBRQFGAUcBSAFJAJ4BRYAygE6AM4A0EQEJCYAy1gCSAA4AogCVAKMAmAFNAKUB
+TwCdAVABTYCPgGmAkYEBCoCPXxAVe3s3NDAsIDQyfSwgezkxLCAyNn193xATAKwBVAFVAK0ArwAOALAB
+VgCxALMBVwC0AVgBWQFaALUAtgFbALcBXACeAV4AvgC8AWABXgFhAWIBDQFkAUIBJgCeAJ4AwgFoAWkB
+al8QGk5TTWVudUl0ZW1SZXNwZWN0QWxpZ25tZW50XxAPTlNBcnJvd1Bvc2l0aW9uXxAQTlNBbHRlcm5h
+dGVJbWFnZVpOU01lbnVJdGVtXxAPTlNQcmVmZXJyZWRFZGdlXxASTlNVc2VzSXRlbUZyb21NZW51XU5T
+QWx0ZXJzU3RhdGVWTlNNZW51E/////+EQf5ACRABgBeATYA1gDaAIYA4gDEJCREIAIA5EgaCQP/UAA4A
+xwDIAMkAygEUAMwAzYASgBHSAA4BbwFwANxZTlMuc3RyaW5ngDfSADcAOAFyAXOjAXMBdAA7XxAPTlNN
+dXRhYmxlU3RyaW5nWE5TU3RyaW5n3AF2AA4BdwF4AXkBegF7AXwBWwF9AX4BfwFIAYEBggGDAL4BhQGG
+AYcBaQGJAYoBXlhOU1RhcmdldFdOU1RpdGxlXxARTlNLZXlFcXVpdk1vZE1hc2taTlNLZXlFcXVpdl1O
+U01uZW1vbmljTG9jWU5TT25JbWFnZVxOU01peGVkSW1hZ2VYTlNBY3Rpb25VTlNUYWdXTlNTdGF0ZYA0
+gECAOhIAEAAAgBcSf////4A7gD2AOYA/EQQE0wAOAXcBjAGNAY4Bj1tOU01lbnVJdGVtc4BMgEGAQlM0
+LzTTAA4AMgDTANQA1QGUgBaAFIA8XxAPTlNNZW51Q2hlY2ttYXJr0wAOADIA0wDUANUBmYAWgBSAPl8Q
+EE5TTWVudU1peGVkU3RhdGVfEBFfcG9wVXBJdGVtQWN0aW9uOtIANwA4AZ0BV6IBVwA70gAOAW8BcAGg
+gDdaT3RoZXJWaWV3c9IADgA+AEYBo4BLpQFkAaUBpgGnAaiAOIBDgEWAR4BJ2wF2AA4BdwF4AXkBegF7
+AXwBWwF9AX4BSAGBAawBgwC+AYUBhgGHAWkBiQGygDSAQIBEgBeAO4A9gDmAPxEGCFM2LzjbAXYADgF3
+AXgBeQF6AXsBfAFbAX0BfgFIAYEBtwGDAL4BhQGGAYcBaQGJAb2ANIBAgEaAF4A7gD2AOYA/EQMEUzMv
+NNsBdgAOAXcBeAF5AXoBewF8AVsBfQF+AUgBgQHCAYMAvgGFAYYBhwFpAYkByIA0gECASIAXgDuAPYA5
+gD8RDAhUMTIvONsBdgAOAXcBeAF5AXoBewF8AVsBfQF+AUgBgQHNAYMAvgGFAYYBhwFpAYkB04A0gECA
+SoAXgDuAPYA5gD8RBQRTNS800gA3ADgB1gHXowHXAdgAO15OU011dGFibGVBcnJheVdOU0FycmF50gA3
+ADgB2gFbogFbADvSADcAOAHcAd2mAd0B3gDfAOAAlAA7XxARTlNQb3BVcEJ1dHRvbkNlbGxeTlNNZW51
+SXRlbUNlbGzSADcAOAHgAeGmAeEA4wDkAOUA5gA7XU5TUG9wVXBCdXR0b27XAJIADgCVAKMAMgHjAJgB
+5AHlAeYB5wHoAekB5FtOU0V4dGVuc2lvboBQgFQRARKAUYBSgFOAUNkAkgAOAJMB7ACiAJUB7QHuAJgB
+7wHwAfEB8gHzAWgBQQH1Ae9ZTlNjdkZsYWdzWU5TRG9jVmlld1lOU0JHQ29sb3KBAQ+BAROBARIQBIEB
+EYBPgNmBAQ9aezk4OCwgMzI4fVtWTFNoZWV0Vmlld9IANwA4AfoB+6QB+wDlAOYAO1xOU0N1c3RvbVZp
+ZXdYc2V0VGltZTrSADcAOAH+Af+jAf8A6wA7XxAVTlNOaWJDb250cm9sQ29ubmVjdG9y1AAOAIoAiwCM
+AUABQQD0AgSAVoBPgB2AWF8QEGhpZGVGaWVsZEVkaXRvcjrYAA4AigDtAO4AiwCMAgcA7wDwAB8CCgIL
+AP8CDQIOAL1ZTlNPcHRpb25zgC+AAoBzgHKAWoBxgHTdAJICEAAOAhEAkwISAKIAlQITAhQCFQCYAhYC
+FwEmAhgCGQIaAhsCHAIdAh4CHwIeAhcA91lOU0JveFR5cGVbTlNUaXRsZUNlbGxdTlNUcmFuc3BhcmVu
+dFxOU0JvcmRlclR5cGVZTlNPZmZzZXRzXxAPTlNUaXRsZVBvc2l0aW9uXU5TQ29udGVudFZpZXeAW4Bw
+gGyAagiAXBP/////gAABChAAgGuAW4Ae1QCSAA4AogCVAKMAKwClAiUAnQImgACAaYCOgQEc0gAOAD4A
+RgIpgEuhAPeAHtIADgA+AEYCLYBLowD0Ai8CMIAdgF6AZNcAkgAOAJMAlACVAJYAmAD3AJoCNAI1AjYA
+ngD3gB6AGYBfgGARAQEJgB5fEBR7ezI4OSwgNH0sIHsxOSwgMjN9fd0ArAAOAK0ArwCwAVYAsQCyALMA
+tAC1ALYAtwC4ALkAvgC8Aj0BYQC+AkACQQIvAMIAwwJDgBiAFxAggDWAF4BhgGKAXhP/////hoZA/2Ei
+GtQADgDHAMgAyQDKARQCRwJIgBKAYxEIGF8QEUx1Y2lkYUdyYW5kZS1Cb2xk1wCSAA4AkwCUAJUAlgCY
+APcAmgJNAk4CNgCeAPeAHoAZgGWAZgmAHl8QFHt7MzExLCA0fSwgezE5LCAyM3193QCsAA4ArQCvALAB
+VgCxALIAswC0ALUAtgC3ALgAuQC+ALwCPQFhAL4CVwJBAjAAwgDDAkOAGIAXgDWAF4BngGKAZFFYWXsz
+MzYsIDM3fdIANwA4Al0A5aMA5QDmADtfEBd7ezYyNywgMzMwfSwgezMzNiwgMzd9fVZ7MCwgMH3XAKwA
+DgEGALIAswC2AQgAuAEKAQsCYwJkAh4CZYAqgCKAbYBugG9cRmllbGQgRWRpdG9y1AAOAMcAyADJAMoC
+aQDMAmuAEiNAJgAAAAAAAIAREQwc0wAOARkBJAEcASYCboAmTTAgMC44MDAwMDAwMQDSADcAOAJwAnGk
+AnEA5QDmADtVTlNCb3hfEBJoaWRkZW46IGVkaXRUYXJnZXRWaGlkZGVuWmVkaXRUYXJnZXTTAA4CdgA+
+AncCeAJ6V05TLmtleXOAd6ECeYB1oQJ7gHZfEBZOU1ZhbHVlVHJhbnNmb3JtZXJOYW1lV05TSXNOaWzS
+ADcAOAJ/AoCiAoAAO1xOU0RpY3Rpb25hcnnXAA4AigDtAO4AiwCMAO8A8AAfAoQA8wKGAocAvYAvgAKA
+gIAtgHmAf9cAkgAOAJMAlACVAJYAmAKJAooCiwKMAJ0AngKJgHqAfoB7gHwJgHrVAJIADgCTAKIAlQAr
+AKUCkgKTAJ2AAIBpgQJegQItXxAUe3s1MiwgNTd9LCB7MTksIDI3fX3ZApYArAAOApcCmAKZALQAtgKa
+ApsCnAKdAp4CnwKbAoYCHgCeV05TVmFsdWVbTlNJbmNyZW1lbnRaTlNNYXhWYWx1ZVpOU01pblZhbHVl
+XE5TQXV0b3JlcGVhdCNAAAAAAAAAABIADf4ggH0jP/AAAAAAAAAjQDAAAAAAAACAeQnSADcAOAKjAqSk
+AqQA4ACUADtdTlNTdGVwcGVyQ2VsbNIANwA4AqYCp6UCpwDkAOUA5gA7WU5TU3RlcHBlcl8QG3ZhbHVl
+OiBkb2N1bWVudC5yZXBlYXRWb2x0YV8QFGRvY3VtZW50LnJlcGVhdFZvbHRh2AAOAIoA7QDuAIsAjAIH
+AO8A8AAfAq0CrgFCArACsQC9gC+AAoCEgIOAMYCCgIVfEB5zZWxlY3RlZFRhZzogZG9jdW1lbnQuc29u
+Z1RpbWVbc2VsZWN0ZWRUYWdfEBFkb2N1bWVudC5zb25nVGltZdMADgJ2AD4CdwK3ArmAd6ECuICGoQK6
+gIdfEBxOU1JhaXNlc0Zvck5vdEFwcGxpY2FibGVLZXlzCNQADgCKAIsAjACNAr8AHwLBgBuAiYACgQEh
+3ALDAA4CxALFAsYCxwLIAskCygLLAswCzQIXAs8C0ALRAtIC0wLUAtUAvQLWAtcC2FxOU1dpbmRvd1Zp
+ZXdcTlNTY3JlZW5SZWN0XU5TV2luZG93VGl0bGVZTlNXVEZsYWdzXU5TV2luZG93Q2xhc3NcTlNXaW5k
+b3dSZWN0WU5TTWF4U2l6ZV8QD05TV2luZG93QmFja2luZ18QEU5TV2luZG93U3R5bGVNYXNrWU5TTWlu
+U2l6ZVtOU1ZpZXdDbGFzc4BbgQEggQEdgIsScHgAAICMgIqBAR8QDoEBHoCNXxAXe3syNSwgMzA0fSwg
+ezk3MSwgMzk3fX1WV2luZG93VFZpZXfSAA4APgBGAt6AS6MBTQHvAP+Aj4EBD4Ba3QCSAhAADgIRAJMC
+EgCiAJUCEwIUAhUAmAIWAhcBJgIYAuUC5gIbAugC6QIeAh8CHgIXAUWAW4BwgQEMgQELCICQEQEKgGuA
+W4Ay0gAOAD4ARgLvgEuhAUWAMtIADgA+AEYC84BLrgL0AUIC9gL3AvgC+QL6AvsC/AL9Av4C/wMAAwGA
+koAxgL6A0YDVgN6A4oDmgOqA7YDxgPWA+ID81wCSAA4AkwCUAJUAlgCYAUUBRgMFAwYBSQCeAUWAMoBO
+gJOAlAmAMl8QFXt7NjU2LCA0Mn0sIHs4MiwgMjZ9fd8QFACsAVQBVQCtAK8ADgCwAVYAsQCzAVcAtAFY
+AVkBWgC1ALYBWwC3AwsBXACeAV4AvgC8AWABXgFhAxABDQMSAvQBJgCeAJ4AwgFoAxYBagMXXxAPTlNT
+ZWxlY3RlZEluZGV4CYAXgE2ANYCVgCGAloCSCQmAlxAP0gAOAW8BcADcgDfcAXYADgF3AXgBeQF6AXsB
+fAFbAX0BfgF/AwYBgQMdAYMAvgGFAYYBhwMWAYkDIwFegJSAQICYgBeAO4A9gJeAPxP////////+/9MA
+DgF3AYwBjQMmAyeATICZgJpSR23SAA4BbwFwAaCAN9IADgA+AEYDLYBLrxAVAy4DLwMwAzEDMgMzAzQD
+NQM2AzcDOAM5AzoDOwM8AxIDPgM/A0ADQQNCgJuAnYCegKCAooCkgKaAqICpgKuArYCvgLCAsoCzgJaA
+tYC3gLmAuoC82wF2AA4BdwF4AXkBegF7AXwBWwF9AX4DBgGBA0YBgwC+AYUBhgGHAxYBiQFegJSAQICc
+gBeAO4A9gJeAP1FD3AF2AA4BdwF4A04BeQNPAXoBewF8AVsBfQMGAYEAvgGDAJ4AvgCeAYUBhgGHAxYB
+iV1OU0lzU2VwYXJhdG9yXE5TSXNEaXNhYmxlZICUgECAFwmAFwmAO4A9gJeAP9sBdgAOAXcBeAF5AXoB
+ewF8AVsBfQF+AwYBgQNdAYMAvgGFAYYBhwMWAYkDY4CUgECAn4AXgDuAPYCXgD8T/////////wFRRtsB
+dgAOAXcBeAF5AXoBewF8AVsBfQF+AwYBgQNoAYMAvgGFAYYBhwMWAYkDboCUgECAoYAXgDuAPYCXgD8T
+/////////gFiAEImbdsBdgAOAXcBeAF5AXoBewF8AVsBfQF+AwYBgQNzAYMAvgGFAYYBhwMWAYkDeYCU
+gECAo4AXgDuAPYCXgD8T/////////QFiAEUmbdsBdgAOAXcBeAF5AXoBewF8AVsBfQF+AwYBgQN+AYMA
+vgGFAYYBhwMWAYkDhICUgECApYAXgDuAPYCXgD8T/////////AFiAEEmbdsBdgAOAXcBeAF5AXoBewF8
+AVsBfQF+AwYBgQOJAYMAvgGFAYYBhwMWAYkDj4CUgECAp4AXgDuAPYCXgD8T////////+wFiAEQmbdwB
+dgAOAXcBeANOAXkDTwF6AXsBfAFbAX0DBgGBAL4BgwCeAL4AngGFAYYBhwMWAYmAlIBAgBcJgBcJgDuA
+PYCXgD/bAXYADgF3AXgBeQF6AXsBfAFbAX0BfgMGAYEDnwGDAL4BhQGGAYcDFgGJAjaAlIBAgKqAF4A7
+gD2Al4A/UUfbAXYADgF3AXgBeQF6AXsBfAFbAX0BfgMGAYEDqQGDAL4BhQGGAYcDFgGJA6+AlIBAgKyA
+F4A7gD2Al4A/EQIBUUTbAXYADgF3AXgBeQF6AXsBfAFbAX0BfgMGAYEDtAGDAL4BhQGGAYcDFgGJA7qA
+lIBAgK6AF4A7gD2Al4A/EQMBUUHcAXYADgF3AXgDTgF5A08BegF7AXwBWwF9AwYBgQC+AYMAngC+AJ4B
+hQGGAYcDFgGJgJSAQIAXCYAXCYA7gD2Al4A/2wF2AA4BdwF4AXkBegF7AXwBWwF9AX4DBgGBA8oBgwC+
+AYUBhgGHAxYBiQPQgJSAQICxgBeAO4A9gJeAPxD/UkFt3AF2AA4BdwF4A04BeQNPAXoBewF8AVsBfQMG
+AYEAvgGDAJ4AvgCeAYUBhgGHAxYBiYCUgECAFwmAFwmAO4A9gJeAP9sBdgAOAXcBeAF5AXoBewF8AVsB
+fQF+AwYBgQPgAYMAvgGFAYYBhwMWAYkD5oCUgECAtIAXgDuAPYCXgD8T//////////9SRG3bAXYADgF3
+AXgBeQF6AXsBfAFbAX0BfgMGAYED6wGDAL4BhQGGAYcDFgGJA/GAlIBAgLaAF4A7gD2Al4A/E///////
+//3/UkNt2wF2AA4BdwF4AXkBegF7AXwBWwF9AX4DBgGBA/YBgwC+AYUBhgGHAxYBiQP8gJSAQIC4gBeA
+O4A9gJeAPxP////////8/1JGbdwBdgAOAXcBeANOAXkDTwF6AXsBfAFbAX0DBgGBAL4BgwCeAL4AngGF
+AYYBhwMWAYmAlIBAgBcJgBcJgDuAPYCXgD/bAXYADgF3AXgBeQF6AXsBfAFbAX0BfgMGAYEEDAGDAL4B
+hQGGAYcDFgGJBBKAlIBAgLuAF4A7gD2Al4A/EQH/UkVt2wF2AA4BdwF4AXkBegF7AXwBWwF9AX4DBgGB
+BBcBgwC+AYUBhgGHAxYBiQQdgJSAQIC9gBeAO4A9gJeAPxEC/1JCbdcAkgAOAJMAlACVAJYAmAFFAUYE
+IgQjAUkAngFFgDKAToC/gMAJgDJfEBZ7ezgzMywgNDJ9LCB7MTMwLCAyNn193xAUAKwBVAFVAK0ArwAO
+ALABVgCxALMBVwC0AVgBWQFaALUAtgFbALcDCwFcAJ4BXgC+ALwBYAFeAWEELAENBC4C9gEmAJ4AngDC
+AWgEMgFqBDMJgBeATYA1gMGAIYDCgL4JCYDDEAXSAA4BbwFwANyAN9wBdgAOAXcBeAF5AXoBewF8AVsB
+fQF+AX8EIwGBBDkBgwC+AYUBhgGHBDIBiQQ/AV6AwIBAgMSAF4A7gD2Aw4A/EAzTAA4BdwGMAY0EQgRD
+gEyAxYDGUjEy0gAOAW8BcAGggDfSAA4APgBGBEmAS6YESgRLBEwETQROBC6Ax4DJgMuAzYDPgMLbAXYA
+DgF3AXgBeQF6AXsBfAFbAX0BfgQjAYEEUwGDAL4BhQGGAYcEMgGJAL2AwIBAgMiAF4A7gD2Aw4A/XDIg
+KFN0cmFpZ2h0KdsBdgAOAXcBeAF5AXoBewF8AVsBfQF+BCMBgQRdAYMAvgGFAYYBhwQyAYkBJoDAgECA
+yoAXgDuAPYDDgD9ZMyAoU3dpbmcp2wF2AA4BdwF4AXkBegF7AXwBWwF9AX4EIwGBBGcBgwC+AYUBhgGH
+BDIBiQHygMCAQIDMgBeAO4A9gMOAP140IChTaXh0ZWVudGhzKdsBdgAOAXcBeAF5AXoBewF8AVsBfQF+
+BCMBgQRxAYMAvgGFAYYBhwQyAYkBHoDAgECAzoAXgDuAPYDDgD9RNtsBdgAOAXcBeAF5AXoBewF8AVsB
+fQF+BCMBgQR7AYMAvgGFAYYBhwQyAYkEgYDAgECA0IAXgDuAPYDDgD8QCFE41wCSAA4AkwCUAJUAlgCY
+AUUA+ASGBIcAnQCeAUWAMoArgNKA0wmAMl8QFXt7OTIsIDQ1fSwgezM1MCwgMjJ9fdkArAAOAQYAsgCz
+ALQAtgEHAQgBCQEKAQsEjgENAvcEkQCeARGAKoAigNSAIYDREhBABAAJgCdfEB9Tb2Z0bHksIEFzIElu
+IEEgTW9ybmluZyBTdW5yaXNl1wCSAA4AkwCUAJUAlgCYAUUA+ASYBJkAnQCeAUWAMoArgNaA1wmAMl8Q
+FHt7MTMsIDQ3fSwgezU0LCAxN3192ACsAA4BBgCyALMAtAC2AQgAuAEKAfUEoAENAvgEowSkgCqA2YDY
+gCGA1RIQQAAAgNxXVGl0bGU6CtUADgEYARkBGgEbARwEqAEeBKkBIIAmgNuA2oAjXGNvbnRyb2xDb2xv
+ctMADgEZASQBHAEmBK6AJkswLjY2NjY2NjY5ANUADgEYARkBGgEbARwBLAEeBLIBIIAmgCmA3YAjXxAQ
+Y29udHJvbFRleHRDb2xvctcAkgAOAJMAlACVAJYAmAFFAPgEuAS5AJ0AngFFgDKAK4DfgOAJgDJfEBV7
+ezEzLCAyMn0sIHsxMTQsIDE3fX3YAKwADgEGALIAswC0ALYBCAC4AQoB9QTAAQ0C+QSjBKSAKoDZgOGA
+IYDegNxaQ29tcG9zZXI6CtcAkgAOAJMAlACVAJYAmAFFAPgEyATJAJ0AngFFgDKAK4DjgOQJgDJfEBV7
+ezkyLCAyMH0sIHsxNDIsIDIyfX3ZAKwADgEGALIAswC0ALYBBwEIAQkBCgELBNABDQL6BJEAngERgCqA
+IoDlgCGA4gmAJ18QD0Rpenp5IEdpbGxlc3BpZdcAkgAOAJMAlACVAJYAmAFFAPgE2QTaAJ0AngFFgDKA
+K4DngOgJgDJfEBV7ezI0NiwgMjJ9LCB7NTcsIDE3fX3YAKwADgEGALIAswC0ALYBCAC4AQoB9QThAQ0C
++wSjBKSAKoDZgOmAIYDmgNxZTHlyaWNpc3Q61wCSAA4AkwCUAJUAlgCYAUUA+ATpBOoAnQCeAUWAMoAr
+gOuA7AmAMl8QFnt7MzAwLCAyMH0sIHsxNDIsIDIyfX3ZAKwADgEGALIAswC0ALYBBwEIAQkBCgELBNAB
+DQL8BJEAngERgCqAIoDlgCGA6gmAJ9cAkgAOAJMAlACVAJYAmAFFAPgE+QT6AJ0AngFFgDKAK4DugO8J
+gDJfEBV7ezQ0NywgNDd9LCB7NTcsIDE3fX3YAKwADgEGALIAswC0ALYBCAC4AQoB9QUBAQ0C/QSjBKSA
+KoDZgPCAIYDtgNxWVGVtcG861wCSAA4AkwCUAJUAlgCYAUUA+AUJBQoAnQCeAUWAMoArgPKA8wmAMl8Q
+FXt7NTAxLCA0NX0sIHszMywgMjJ9fdkArAAOAQYAsgCzALQAtgEHAQgBCQEKAQsFEQENAv4EkQCeARGA
+KoAigPSAIYDxCYAnUzI3NtcAkgAOAJMAlACVAJYAmAFFAooFGgUbAJ0AngFFgDKAfoD2gPcJgDJfEBV7
+ezUzOSwgNDJ9LCB7MTksIDI3fX3aApYArAAOApcFIAKYApkAtAC2ApoFIQKcAp0CngCeBSQFIQL/Ah4A
+nlxOU1ZhbHVlV3JhcHMjQDQAAAAAAACAfQkjQHLAAAAAAACA9QnXAJIADgCTAJQAlQCWAJgBRQD4BSoF
+KwCdAJ4BRYAygCuA+YD6CYAyXxAVe3s0NDcsIDIyfSwgezU3LCAxN3192ACsAA4BBgCyALMAtAC2AQgA
+uAEKAfUFMgENAwAEowSkgCqA2YD7gCGA+IDcWEdyb292ZToK1wCSAA4AkwCUAJUAlgCYAUUBRgU6BTsA
+nQCeAUWAMoBOgP2A/gmAMl8QFnt7NDk4LCAxOH0sIHsxMzAsIDI2fX3fEBMArAFUAVUArQCvAA4AsAFW
+ALEAswFXALQBWAFZAVoAtQC2AVsAtwFcAJ4BXgC+ALwBYAFeAWEFRAENBUYDAQEmAJ4AngDCAWgFSgFq
+CYAXgE2ANYD/gCGBAQCA/AkJgQEB0gAOAW8BcADcgDfcAXYADgF3AXgBeQF6AXsBfAFbAX0BfgF/BTsB
+gQVQAYMAvgGFAYYBhwVKAYkBXgFegP6AQIEBAoAXgDuAPYEBAYA/0wAOAXcBjAGNBVgFWYBMgQEDgQEE
+WVNlbGVjdC4uLtIADgFvAXABoIA30gAOAD4ARgVfgEukBUYFYQViBWOBAQCBAQWBAQaBAQjcAXYADgF3
+AXgDTgF5A08BegF7AXwBWwF9BTsBgQC+AYMAngC+AJ4BhQGGAYcFSgGJgP6AQIAXCYAXCYA7gD2BAQGA
+P9oBdgAOAXcBeAF5AXoBewF8AVsBfQU7AYEFcgGDAL4BhQGGAYcFSgGJgP6AQIEBB4AXgDuAPYEBAYA/
+VVN3aW5n2gF2AA4BdwF4AXkBegF7AXwBWwF9BTsBgQV8AYMAvgGFAYYBhwVKAYmA/oBAgQEJgBeAO4A9
+gQEBgD9ZQm9zc2FOb3ZhWXs5ODksIDgwfV8QFnt7LTMsIDMxOX0sIHs5ODksIDgwfX3XAKwADgEGALIA
+swC2AQgAuAEKAQsFiAJkAh4FioAqgCKBAQ2AboEBDlVUaXRsZdMADgEZASQBHAEmAm6AJtoAkgWPAA4A
+kwWQAKIAlQCYBZECFgIXBZMFlAWVBZYFlwHmAhcFmQHkW05TSFNjcm9sbGVyWE5Tc0ZsYWdzW05TVlNj
+cm9sbGVygFuBARiBARuBARoQsoEBEIBbgQEUgFDSAA4APgBGBZ2AS6MB5AWZBZOAUIEBFIEBGNIADgA+
+AEYFo4BLoQFBgE9fEBR7ezEsIDF9LCB7OTU0LCAzMjh9fdIANwA4BacFqKQFqADlAOYAO1pOU0NsaXBW
+aWV32ACSAXYADgCTAJUBfQCYBaoB7wHvBa0FrgCdBa8B7wKeWk5TQ3VyVmFsdWWBAQ+BAQ+BAReBARWB
+ARaBAQ9fEBV7ezk1NSwgMX0sIHsxNSwgMzEyfX1cX2RvU2Nyb2xsZXI60gA3ADgFtAW1pQW1AOQA5QDm
+ADtaTlNTY3JvbGxlctoAkgF2AA4AkwWQAJUAlgF9AJgFtwHvAe8FrQW7AV4AnQCeBa8B7wW/WU5TUGVy
+Y2VudIEBD4EBD4EBF4EBGQmBARaBAQ8jP+7mFsAAAABfEBV7ezEsIDMyOX0sIHs5NTQsIDE1fX1fEBZ7
+ezAsIC0xN30sIHs5NzEsIDM0NX190gA3ADgFwwXEpAXEAOUA5gA7XE5TU2Nyb2xsVmlld1p7OTcxLCAz
+OTd9XxAVe3swLCAwfSwgezEyODAsIDc3OH19Wns4OTAsIDM3Mn1fEBp7My40MDI4MmUrMzgsIDMuNDAy
+ODJlKzM4fdIANwA4BcoFy6IFywA7XxAQTlNXaW5kb3dUZW1wbGF0ZVZ3aW5kb3fUAA4AigCLAIwAjQXP
+AB8F0YAbgQEjgAKBASnYAJIADgCTAJQAlQCWAJcAmACZAJoF1QXWAJ0AngCfAJmAC4AZgQEkgQElCYAN
+gAtfEBZ7ezMxOCwgMTkxfSwgezU4LCA1Nn193QCsAA4ArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQXd
+Bd4AvAC9AL4F3QDABc8AwgDDAMSAGIEBJoEBJ4AXgQEmgBCBASNUU3RvcNMADgAyANMA1ADVBeeAFoAU
+gQEoVHN0b3Bcc3RvcFRvb2xJdGVt1AAOAIoAiwCMAUABQQXtBe6AVoBPgQErgQEy2QCSAA4AkwCUAJUA
+lgCXAJgBfgXwAJoF8gXzAJ0AngX1BfAF94EBLIAZgQEtgQEvCYEBLoEBLBED6NcAkgAOAKIAlQCjAJcA
+mAX1AKUF+wCdBfwF9QX+gQEugGmBAoSBApWBAS6BApZfEBZ7ezEyMSwgMTB9LCB7MTEzLCAzMn193gCs
+AA4ArQCvALABVgCxALIAswC0ALUAtgC3AX4GAQC5AL4GBAFeAQ0GBgYHAQ0F7QYKAMMGCwX3E/////+E
+Af4AgBiAFxAZgCGBATGBATCAIYEBKxDIE/////+GgkD/Uk9LUQ1fEBNlbmRTaGVldFdpdGhCdXR0b246
+1AAOAIoAiwCMAUABQQYSBhOAVoBPgQE0gQE62ACSAA4AkwCUAJUAlgCXAJgAmQCaBhcGGACdAJ4AnwCZ
+gAuAGYEBNYEBNgmADYALXxAVe3sxOCwgMTIyfSwgezU4LCA2NX193QCsAA4ArQCuAK8AsACxALIAswC0
+ALUAtgC3ALgAuQYfBiAAvAC9AL4GHwDABhIAwgDDAMSAGIEBN4EBOIAXgQE3gBCBATRXRGlzcGxhedMA
+DgAyANMA1ADVBimAFoAUgQE5V2Rpc3BsYXlfEBNlZGl0RGlzcGxheU9wdGlvbnM61wAOAIoA7QDuAIsA
+jADvAPAAHwYvBjAGMQYyAL2AL4ACgQFVgQFUgQE8gQFT2ACSAA4AkwCUAJUAlgCXAJgF8AFGBjYGNwCd
+AJ4F9QXwgQEsgE6BAT2BAT4JgQEugQEsXxAVe3sxNjYsIDU0fSwgezY1LCAyNn193xAUAKwBVAFVAK0A
+rwAOALABVgCxALMBVwC0AVgBWQFaALUAtgFbALcDCwFcAJ4BXgC+ALwBYAFeAWEGQQENBkMGMQEmAJ4A
+ngDCAWgGRwFqBIEJgBeATYA1gQE/gCGBAUCBATwJCYEBQdIADgFvAXAA3IA32wF2AA4BdwF4AXkBegF7
+AXwBWwF9AX8GNwGBBHsBgwC+AYUBhgGHBkcBiQFegQE+gECA0IAXgDuAPYEBQYA/0wAOAXcBjAGNBlUG
+VoBMgQFCgQFD0gAOAW8BcAGggDfSAA4APgBGBluAS6kGXAZdBl4GXwZgBmEGYgZjBkOBAUSBAUaBAUiB
+AUqBAUyBAU6BAVCBAVGBAUDaAXYADgF3AXgBeQF6AXsBfAFbAX0GNwGBBmgBgwC+AYUBhgGHBkcBiYEB
+PoBAgQFFgBeAO4A9gQFBgD9RMNoBdgAOAXcBeAF5AXoBewF8AVsBfQY3AYEGcgGDAL4BhQGGAYcGRwGJ
+gQE+gECBAUeAF4A7gD2BAUGAP1Ex2gF2AA4BdwF4AXkBegF7AXwBWwF9BjcBgQZ8AYMAvgGFAYYBhwZH
+AYmBAT6AQIEBSYAXgDuAPYEBQYA/UTLaAXYADgF3AXgBeQF6AXsBfAFbAX0GNwGBBoYBgwC+AYUBhgGH
+BkcBiYEBPoBAgQFLgBeAO4A9gQFBgD9RM9oBdgAOAXcBeAF5AXoBewF8AVsBfQY3AYEGkAGDAL4BhQGG
+AYcGRwGJgQE+gECBAU2AF4A7gD2BAUGAP1E02gF2AA4BdwF4AXkBegF7AXwBWwF9BjcBgQaaAYMAvgGF
+AYYBhwZHAYmBAT6AQIEBT4AXgDuAPYEBQYA/UTXaAXYADgF3AXgBeQF6AXsBfAFbAX0GNwGBBHEBgwC+
+AYUBhgGHBkcBiYEBPoBAgM6AF4A7gD2BAUGAP9oBdgAOAXcBeAF5AXoBewF8AVsBfQY3AYEGrQGDAL4B
+hQGGAYcGRwGJgQE+gECBAVKAF4A7gD2BAUGAP1E3XxAdc2VsZWN0ZWRJbmRleDogZWRpdE51bVN0YW56
+YXNdc2VsZWN0ZWRJbmRleF5lZGl0TnVtU3Rhbnphc9cADgCKAO0A7gCLAIwA7wDwAB8GugDzAvwGvQC9
+gC+AAoEBWIAtgOqBAVdfEBx2YWx1ZTogZG9jdW1lbnQuc29uZ0x5cmljaXN0XxAVZG9jdW1lbnQuc29u
+Z0x5cmljaXN01AAOAIoAiwCMAI0GwgAfBsSAG4EBWoACgQFg2ACSAA4AkwCUAJUAlgCXAJgAmQCaBsgG
+yQCdAJ4AnwCZgAuAGYEBW4EBXAmADYALXxAWe3syNjcsIDI3MX0sIHs1OCwgNTZ9fd0ArAAOAK0ArgCv
+ALAAsQCyALMAtAC1ALYAtwC4ALkG0AbRALwAvQC+BtAAwAbCAMIAwwDEgBiBAV2BAV6AF4EBXYAQgQFa
+VFBsYXnTAA4AMgDTANQA1QbagBaAFIEBX1NydW5ccGxheVRvb2xJdGVt1wAOAIoA7QDuAIsAjADvAPAA
+HwbgAPMC+gbjAL2AL4ACgQFjgC2A4oEBYl8QHHZhbHVlOiBkb2N1bWVudC5zb25nQ29tcG9zZXJfEBVk
+b2N1bWVudC5zb25nQ29tcG9zZXLUAA4AigCLAIwAjQboAUEG6oAbgQFlgE+BAc/cAsMADgLEAsUCxgLH
+AsgCyQLKAssCzALNBuwCzwbuAtEC0gLTBvEC1QC9BvMG9Ab1gQFogQEggQHNgIuAjIEBZoEBHxAHgQHO
+gQFnXxAYe3s1MDMsIDEzNX0sIHszNzIsIDE0Mn190gAOAW8BcALbgDfVAJIADgCTAKIAlQArAKUG/Ab9
+AJ2AAIBpgQHMgQFp0gAOAD4ARgcAgEulBwEHAgcDBwQHBYEBaoEBboEBc4EBeIEBfNcAkgAOAJMAlACV
+AJYAmAbsAPgHCQcKAJ0AngbsgQFogCuBAWuBAWwJgQFoXxAWe3sxNywgMTA1fSwgezM1NCwgMTd9fdgA
+rAAOAQYAsgCzALQAtgEIALgBCgH1BxEBDQcBBKMEpIAqgNmBAW2AIYEBaoDcXxA0RW5kaW5nIGluIG1l
+YXN1cmVzIDEgdGhyb3VnaCAxMCBhcHBsaWVzIHRvIHJlcGVhdHM6CtgAkgAOAJMAlACVAJYAmAF+BuwA
+mgcZBxoAnQCeBuwHHYEBaIAZgQFvgQFwCYEBaBED6l8QFXt7MTQsIDEyfSwgezEyOCwgMzJ9fd4ArAAO
+AK0ArwCwAVYAsQCyALMAtAC1ALYAtwF+ALgAuQC+BgQBXgENByMHJAENBwIGCgDDBgsHHYAYgBeAIYEB
+coEBcYAhgQFuXURlbGV0ZSBFbmRpbmdRf9gAkgAOAJMAlACVAJYAmAF+BuwAmgcsBy0AnQCeBuwHMIEB
+aIAZgQF0gQF1CYEBaBED6V8QFXt7MTYzLCAxMn0sIHs4MiwgMzJ9fd4ArAAOAK0ArwCwAVYAsQCyALMA
+tAC1ALYAtwF+ALgAuQC+BgQBXgENBzYHNwENBwMGCgDDBgsHMIAYgBeAIYEBd4EBdoAhgQFzVkNhbmNl
+bFEb2ACSAA4AkwCUAJUAlgCYAX4G7ACaBz8HQACdAJ4G7AX3gQFogBmBAXmBAXoJgQFoXxAWe3syNDUs
+IDEyfSwgezExMywgMzJ9fd4ArAAOAK0ArwCwAVYAsQCyALMAtAC1ALYAtwF+BgEAuQC+BgQBXgENBgYH
+SQENBwQGCgDDBgsF94AYgBeAIYEBMYEBe4AhgQF4WkFkZCBFbmRpbmfdAJIFjwAOAJMFkAdOAKIHTwCV
+AJgFkQdQAhYG7AdSBZQHVAC9B1UHVgdXAJ0G7AdZB1oHWl8QEE5TSGVhZGVyQ2xpcFZpZXdcTlNTY3Jv
+bGxBbXRzXU5TTmV4dEtleVZpZXeBAWiBAceBARuBAcuBAYOBAX1PEBBBIAAAQSAAAEGYAABBmAAAgQFo
+gQHFgQF+gQF+0gAOAD4ARgdegEulB1oHWQdSB1UHY4EBfoEBxYEBx4EBg4EBhtoAkgAOAJMB7ACiAJUB
+7QHuAJgHUAcFAfAHZwHyB2gHaQdqB2sHBQdqgQF8gQETgQHCgQF/EQkAgQGAgQHDgQF8gQGA0gAOAD4A
+RgdwgEuhB2qBAYDfEBMAkgdzAA4HdAd1AQYHdgd3B3gHeQd6AJUAowCWB3sHfACYB30HfgdaAh4HgAeB
+B4IBHQCeB2MHhgHyApsAnQeHAJ4HiQPmB1oHiweMXxAfTlNEcmFnZ2luZ1NvdXJjZU1hc2tGb3JOb25M
+b2NhbFlOU1R2RmxhZ3NcTlNIZWFkZXJWaWV3XxASTlNBbGxvd3NUeXBlU2VsZWN0XE5TQ29ybmVyVmll
+d18QF05TSW50ZXJjZWxsU3BhY2luZ1dpZHRoXxAZTlNDb2x1bW5BdXRvcmVzaXppbmdTdHlsZV8QGE5T
+SW50ZXJjZWxsU3BhY2luZ0hlaWdodFtOU0dyaWRDb2xvcl8QHE5TRHJhZ2dpbmdTb3VyY2VNYXNrRm9y
+TG9jYWxeTlNUYWJsZUNvbHVtbnNbTlNSb3dIZWlnaHSBAX6BAcESEkAAAIEBgoAlCYEBhiNACAAAAAAA
+AIEBgQmBAb6BAX6BAYkjQDEAAAAAAABZezE4NCwgMTl91gCSAA4AlQCjAJgHjwdVB5EAnQeSB1UHaltO
+U1RhYmxlVmlld4EBg4EBhYEBhIEBg4EBgNoAkgAOAJMB7ACiAJUB7QHuAJgHUAcFAfAHmAHyB5kHaQeC
+B2sHBQeCgQF8gQETgQHKgQHJgQGCgQHDgQF8gQGCWXsxODQsIDE3fdIANwA4B6AHoaQHoQDlAOYAO18Q
+EU5TVGFibGVIZWFkZXJWaWV31QCSAA4AkwCVAJgHBQekB6UAnQcFgQF8gQGIgQGHgQF8XxAUe3stMjYs
+IDB9LCB7MTYsIDE3fX3SADcAOAepB6qkB6oA5QDmADtdX05TQ29ybmVyVmlld9IADgA+AEYHrYBLqAeu
+B68HsAexB7IHswe0B7WBAYqBAaGBAaaBAauBAa6BAbKBAbaBAbrZAA4Htwe4B7kHuge7B7wHvQePB74H
+vwZyBSEHwQUhBSEAngdqXE5TSGVhZGVyQ2VsbFxOU0lkZW50aWZpZXJXTlNXaWR0aFpOU0RhdGFDZWxs
+Wk5TTWluV2lkdGhaTlNNYXhXaWR0aFxOU0lzRWRpdGFibGWBAaCBAYuBAUeBAZAJgQGA1wCsAA4BBgCy
+ALMAtgEIB8UHxgfHBnICZADDB8oSBIH+AIEBj4EBjIEBR4BugQGN0wAOARkBJAEcASYHzYAmSzAuMzMz
+MzMyOTkA1QAOARgBGQEaARsBHAEsAR4H0QEggCaAKYEBjoAjXxAPaGVhZGVyVGV4dENvbG9y0gA3ADgH
+1QfWpQfWATUA4ACUADtfEBFOU1RhYmxlSGVhZGVyQ2VsbNwArAAOAK4ArwCwAVYAsgCzALQAtQC2ALcA
+uAC5B9kAvAC9B9oAvgfcB2oAwgIeB96AGIEBkoEBnYAXgQGRgQGAEkg8Uf/UAA4AxwDIAMkAygfhAMwA
+zYASI0AoAAAAAAAAgBHVAA4AxwfkB+UBGAfmB+cH6AfpB+pcTlNJbWFnZUZsYWdzVk5TUmVwc4EBnIEB
+kxIgwAAAgQGUgQGbWHsxOCwgMTh90gAOAD4ARgfugEuhB++BAZXSAA4APgfxB/KBAZqiB/MH9IEBloEB
+l9IADgf2B/cH+F8QFE5TVElGRlJlcHJlc2VudGF0aW9ugQGZgQGYTxEVjk1NACoAAAUYAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAQAAAAEA
+AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARNTU1uGZmZv9vb2//c3Nz/3Nzc/9ycnL/cnJy/3Jycv9y
+cnL/b29v/2VlZf8lJSWfAAAAIgAAAAAAAAAAAAAAAAAAAAJDQ0OVt7e3//n5+f/8/Pz//Pz8//z8/P/8
+/Pz//Pz8//z8/P/8/Pz//Pz8//n5+f/AwMD/VFRUuwAAAAIAAAAAAAAAAQAAAAiRkZH/3Nzc//Pz8//0
+9PT/9fX1//X19f/09PT/9PT0//T09P/09PT/9PT0//Pz8//e3t7/iYmJ/wAAAAgAAAABAAAAAQAAABCB
+gYH/39/f/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7u7u/+7u7v/f39//kpKS/wAAABAA
+AAABAAAAAQAAABWRkZH/3d3d/+zs7P/s7Oz/7e3t/+3t7f/t7e3/7e3t/+zs7P/u7u7/7e3t/+zs7P/f
+39//kJCQ/wAAABQAAAABAAAAAQAAABienp7/29vb/+np6f/p6en/6urq/+vr6//q6ur/6urq/+rq6v/q
+6ur/6urq/+jo6P/Y2Nj/m5ub/wAAABgAAAABAAAAAQAAABugoKD/09PT/9ra2v/a2tr/29vb/9vb2//b
+29v/2dnZ/9vb2//Z2dn/2tra/9ra2v/R0dH/oqKi/wAAABsAAAABAAAAAQAAAByrq6v/2tra/9/f3//f
+39//4ODg/+Dg4P/g4OD/4eHh/9/f3//f39//39/f/+Dg4P/X19f/pqam/wAAABwAAAABAAAAAgAAAB60
+tLT/4+Pj/+bm5v/l5eX/5ubm/+fn5//n5+f/5+fn/+np6f/n5+f/5+fn/+jo6P/d3d3/ra2t/wAAAB4A
+AAACAAAAAgAAACC4uLj/6enp/+3t7f/w8PD/8PDw//Dw8P/t7e3/7e3t//Hx8f/s7Oz/7+/v/+3t7f/m
+5ub/tLS0/wAAACAAAAACAAAAAQAAACC7u7v/7+/v//f39//29vb/+Pj4//b29v/29vb/9vb2//f39//3
+9/f/9/f3//f39//w8PD/u7u7/wAAACAAAAABAAAAAQAAAB2NjY3o+Pj4////////////////////////
+//////////////////////////7+/v/5+fn/k5OT6AAAAB0AAAABAAAAAQAAABI6OjqtvLy89///////
+//////////////////////////////////////////////+7u7v3Pz8/qwAAABIAAAABAAAAAAAAAAgA
+AABBAAAAmQAAAMYAAADTAAAA1QAAANYAAADUAAAA1gAAANgAAADYAAAA0wAAAMUAAACZAAAAQQAAAAgA
+AAAAAAAAAAAAAAIAAAANAAAAJQAAADYAAABBAAAAQwAAAEMAAABDAAAARAAAAEMAAABEAAAAQQAAADYA
+AAAlAAAADQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYA
+AAAGAAAABgAAAAMAAAADAAAAAAAAAAAAAAAAAA4BAAADAAAAAQASAAABAQADAAAAAQASAAABAgADAAAA
+BAAABcYBAwADAAAAAQABAAABBgADAAAAAQACAAABEQAEAAAAAQAAAAgBEgADAAAAAQABAAABFQADAAAA
+AQAEAAABFgADAAAAAQccAAABFwAEAAAAAQAABRABHAADAAAAAQABAAABUgADAAAAAQABAAABUwADAAAA
+BAAABc6HcwAHAAAPuAAABdYAAAAAAAgACAAIAAgAAQABAAEAAQAAD7hhcHBsAgAAAG1udHJSR0IgWFla
+IAfWAAwABwARABUAG2Fjc3BBUFBMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAAANMtYXBw
+bCTSyctd+DJ8ee9hgz1IOoMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADnJYWVoAAAEsAAAA
+FGdYWVoAAAFAAAAAFGJYWVoAAAFUAAAAFHd0cHQAAAFoAAAAFGNoYWQAAAF8AAAALHJUUkMAAAGoAAAA
+DmdUUkMAAAG4AAAADmJUUkMAAAHIAAAADnZjZ3QAAAHYAAAGEm5kaW4AAAfsAAAGPmRlc2MAAA4sAAAA
+ZGRzY20AAA6QAAAA0G1tb2QAAA9gAAAAKGNwcnQAAA+IAAAALVhZWiAAAAAAAABbfAAANMcAAAazWFla
+IAAAAAAAAHPFAACzRAAAHvRYWVogAAAAAAAAJ5QAABgQAACtflhZWiAAAAAAAADzUgABAAAAARbPc2Yz
+MgAAAAAAAQxCAAAF3v//8yYAAAeSAAD9kf//+6L///2jAAAD3AAAwGxjdXJ2AAAAAAAAAAEBzQAAY3Vy
+dgAAAAAAAAABAc0AAGN1cnYAAAAAAAAAAQHNAAB2Y2d0AAAAAAAAAAAAAwEAAAIAAAGFAxoEpgYxB7kJ
+RgrRDFwN7A9vEPgSgxQTFZoXJBirGjQbtx08HsMgRyHGI0gkxCZGJ78pOSqwLCgtmi8NMHox5TNPNLM2
+GTd3ONQ6LzuFPNo+LD94QMFCCkNQRJBFzkcLSENJe0qvS+JNEU4/T2tQlVG+UuVUC1UwVlNXdViWWbZa
+1lvzXRFeL19LYGhhg2KeY7lk0mXsZwVoHmk2ak1rZWx7bZFupW+5cMxx3nLvc/91DXYbdyd4Mnk7ekN7
+SnxPfVF+U39TgFGBTYJHg0CEN4UthiCHEogDiPKJ34rLi7aMn42Hjm6PU5A3kRqR/JLek76UnZV7llmX
+NZgRmOyZx5qhm3qcU50qngKe2Z+voIWhWqIuowKj1qSppXymTqcgp/Kow6mUqmOrM6wDrNKtoa5vrz2w
+C7DYsaayc7NAtAy02LWktnC3O7gHuNK5nbpnuzK7/LzHvZG+Wr8jv+3AtsF+wkfDD8PXxJ/FZ8YuxvXH
+vMiCyUjKDsrTy5jMXc0hzeXOqc9s0C/Q8tG10nfTONP61LvVfNY81v3XvNh82TvZ+9q623jcN9z23bTe
+c98y3/HgseFx4jLi8+O15HjlPeYC5snnkuhc6Sfp9erF65fsbO1D7hzu9+/W8Lfxm/KC82v0V/VF9jX3
+KPgc+RP6DPsG/AD8+/36/vr//wAAAVsC8wRsBe0HaQjjClcL1Q1LDsgQPhG3Ey0UqRYbF5MZCBp/G/Md
+ZR7VIEkhtSMkJI8l+CdgKMYqKyuKLOkuRi+dMPMyRjOXNOM2Ljd0OLc59TsyPGw9oT7TQARBMEJaQ39E
+o0XFRuNH/0kaSjJLR0xbTWxOfE+MUJlRplKxU71UxlXOVtdX31jmWe5a9Fv6XQFeBl8MYBJhGGIdYyJk
+J2UsZjJnNmg6aT9qQ2tGbEltS25Ob09wUHFQck9zTnRMdUh2RHc/eDl5MXooex98FH0Ifft+7X/egM6B
+vYKrg5eEg4VthlaHP4gmiQyJ8orXi7qMno2AjmGPQpAhkQCR3pK8k5mUdZVRliyXBpfgmLmZkppqm0Kc
+GZzwnceenZ9zoEmhHqH0osmjnqRypUemHKbwp8WomaluqkKrFqvrrMCtlK5orz2wErDmsbuykLNltDq1
+ELXltrq3kLhmuT26E7rqu8C8l71vvke/H7/4wNLBrMKGw2HEPcUZxfbG1MeyyJLJcspTyzXMGMz8zeHO
+x8+u0JbRf9Jp01TUQNUu1hzXC9f72OzZ39rS28bcut2w3qbfnOCT4YrigeN45G/lZuZc51HoRuk66izr
+HuwO7Pzt6O7S77rwn/GD8mTzQvQf9Pn1z/ak93b4RvkU+eD6qftw/Df8/f3B/oP/Q///AAABAwIsAz8E
+VQVtBooHoQi5Cc8K5wwCDRcOLQ9AEFgRbRKBE5MUqBW7Fs0X3hjvGf8bDRwbHSgeMh85IEEhSSJLI04k
+UCVOJkonRSg9KTQqJysYLAks9C3fLscvrTCRMXMyUzMwNAo04zW7NpA3ZDg4OQc51jqkO3E8Pj0HPdA+
+mT9hQClA70G1QntDQUQFRMpFj0ZTRxdH3EigSWRKKUruS7JMd009TgFOxk+MUFNRGFHeUqVTbFQzVPpV
+wVaJV1FYGVjhWapacls7XARczV2WXmBfKl/0YL5hiWJTYx5j6mS2ZYJmTmcaZ+dotGmBak9rHGvqbLht
+hm5UbyJv8XC/cY5yW3Mpc/d0xXWTdmB3LXf5eMV5kXpdeyd78Xy7fYV+TX8Vf92ApIFqgjCC9YO6hH6F
+QoYFhseHiohLiQ2JzoqPi0+MD4zOjY6OTo8Nj82QjJFMkguSy5OKlEqVCpXLloyXTZgOmNCZk5pWmxmb
+3ZyhnWeeLZ70n7ugg6FMohai4aOspHmlR6YWpuant6iKqV6qNKsLq+Ssv62crnyvX7BDsSuyFrMFs/i0
+77Xrtuy387kBuhW7MLxTvX6+sr/xwTrCjcPsxVjGzshVyebLiM05zvfQxNKi1I/Wi9iX2rPc298V4V3j
+seYS6IHq+O178Afyn/Uz99L6e/0y//8AAG5kaW4AAAAAAAAGNgAAl5EAAFi4AABVQQAAjBUAAChXAAAW
+qAAAUA0AAFQ5AALwowACtcIAAaj1AAMBAAACAAAAAQAFAAoAEQAZACMALwA7AEkAWQBpAHsAjgCiALgA
+zwDnAQABGgE1AVIBbwGOAa4BzwHxAhUCOQJfAoUCrQLWAwADLANYA4YDtQPkBBYESAR8BLEE5wUeBVcF
+kQXMBgkGSAaHBsgHCwdPB5QH3AgkCG8IuwkJCVgJqQn8ClEKqAsBC1sLtwwWDHYM2Q09DaQODA53DuMP
+Ug/DEDYQqxEiEZsSFhKTExITkxQWFJsVIhWrFjUWwhdRF+EYcxkHGZwaNBrNG2gcBRykHUQd5h6KHzAf
+2CCBIS0h2iKKIzsj7ySlJV0mFybUJ5MoVCkZKd8qqSt1LEQtFi3sLsQvnzB+MWAyRjMvNBw1DDYANvg3
+8zjyOfU6+zwGPRQ+Jj87QFVBckKSQ7dE30YKRzlIbEmiStxMGU1ZTp1P5VEvUn1Tz1UkVnxX2Fk3Wplb
+/11oXtVgRGG4Yy5kp2YkZ6VpKGqvbDhtxW9VcOlyf3QYdbV3VHj3ep18Rn3xf6CBUoMIhMCGfIg7if2L
+wo2Lj1eRJ5L6lNGWrJiKmmucUZ46oCeiF6QMpgSoAKoArASuC7AXsia0OLZOuGi6hLyjvsTA58MLxTDH
+Vsl7y5/Nwc/h0f3UF9Yt2D7aStxR3lTgUuJK5D7mLegX6f7r4O2/75vxdfNM9SD28vjI+pv8a/45//8A
+AAACAAUACwASABwAJgAyAEAATwBgAHIAhQCaALAAxwDgAPoBFQEyAU8BbgGPAbAB0wH3AhwCQgJqApMC
+vQLpAxUDQwNzA6MD1QQIBD0EcwSqBOMFHQVZBZYF1QYVBlcGmwbgBycHbwe6CAYIVAikCPYJSgmhCfkK
+UwqwCw8LcAvTDDkMoQ0MDXkN6A5aDs8PRg+/EDsQuhE7Eb8SRRLNE1gT5RR1FQYVmhYxFskXZBgAGJ8Z
+PxniGocbLRvWHIAdLB3aHoofPB/wIKUhXCIWItEjjiRNJQ8l0iaYJ18oKSj1KcQqlStoLD4tFy3yLtAv
+sTCVMXwyZTNSNEI1NTYrNyQ4IDkgOiM7KTwzPUA+UD9kQHtBlUKzQ9RE+EYgR0tIekmsSuFMGk1WTpVP
+2FEeUmdTtFUEVldXrVkGWmJbwV0jXodf72FZYsZkNWWnZxtokmoLa4dtBG6EcAdxi3MSdJt2JnezeUJ6
+03xmffx/k4ErgsaEYoYAh6CJQIrijIaOKo/PkXWTHJTDlmuYFJm9m2adD564oGGiCqOzpVynBaitqlar
+/q2lr02w9LKbtEK16bePuTa63byEviy/1MF9wyfE0sZ/yC7J3suRzUfO/9C70nvUP9YH19XZqNuC3WLf
+SuE54zDlL+c36UrrZe2K77nx8fQz9n74zfsl/Yj//wAAAAMACQATACAAMABCAFcAbwCJAKYAxQDmAQoB
+MAFZAYMBsAHfAhECRQJ6ArMC7QMqA2kDqgPuBDQEfATHBRUFZQW3Bg0GZQa/Bx0HfgfiCEkIswkhCZIK
+Bgp/CvsLewv/DIcNEw2kDjkO0g9wEBIQuBFkEhMSxxN/FDwU/RXCFosXWBgpGP0Z1hqxG5Eccx1ZHkIf
+LSAcIQ4iAiL6I/Qk8CXwJvIn9ij9KgcrFCwjLTQuSC9fMHgxlDKyM9M09TYbN0M4bTmZOsc7+D0rPmA/
+l0DQQgxDSkSKRc1HEkhZSaNK70w/TZFO5lA+UZlS+FRaVb9XKFiVWgVbelzyXm9f72F0Yv1kimYbZ7Fp
+S2robIpuMG/ZcYdzOHTsdqR4Xnoce9x9n39lgSyC9oTBho6IXIosi/2Nz4+ikXWTSJUdlvGYxZqanG6e
+QaAUoeajt6WHp1WpIarrrLOud7A3sfSzrbVhtw+4uLpbu/e9jb8bwKLCIcOYxQjGcMfRySrKesvCzQTO
+QM900KDRx9Lp1ALVF9Yn1zDYNdk12jDbKNwa3Qrd9N7c37/goeF+4lnjMOQG5NflqOZ150LoCejS6Zbq
+Wusc69zsnO1Y7hXuz++I8EHw+PGv8mTzGPPM9H71MfXg9pD3Qffz+KX5VPoE+rP7YPwO/Lr9ZP4O/rX/
+Wv//AABkZXNjAAAAAAAAAApDb2xvciBMQ0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAAAAAAAAAFAAAA
+DGVuVVMAAAASAAAATGZyRlIAAABCAAAAXmRlREUAAAAQAAAAoGphSlAAAAAOAAAAsGVzRVMAAAASAAAA
+vgBDAG8AbABvAHIAIABMAEMARADJAGMAcgBhAG4AIADgACAAYwByAGkAcwB0AGEAdQB4ACAAbABpAHEA
+dQBpAGQAZQBzACAAYwBvAHUAbABlAHUAcgBGAGEAcgBiAC0ATABDAEQwqzDpMPwAIABMAEMARABMAEMA
+RAAgAGMAbwBsAG8Acm1tb2QAAAAAAAAGEAAAnF8AAAAAwB1lgAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAA
+AENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAADSADcAOAf7B/yjB/wH/QA7XxAQ
+TlNCaXRtYXBJbWFnZVJlcFpOU0ltYWdlUmVw0gA3ADgH/wHYogHYADvTAA4BGQEkARwBJggCgCZEMCAw
+ANIANwA4CAQA16IA1wA70gAOCAYIBwgIW05TSW1hZ2VOYW1lgQGfgQGeWE5TU3dpdGNo0gA3ADgICwgM
+oggMADtfEBNOU0J1dHRvbkltYWdlU291cmNl0gA3ADgIDggPoggPADtdTlNUYWJsZUNvbHVtbtkADge3
+B7gHuQe6B7sHvAe9B48HvggSBnwFIQgUBSEFIQCeB2qBAaCBAaKBAUmBAaMJgQGA1wCsAA4BBgCyALMA
+tgEIB8UHxgfHBnwCZADDB8qBAY+BAYyBAUmAboEBjd0ArAAOAK4ArwCwAVYAsQCyALMAtAC1ALYAtwC4
+ALkIHwC8AL0H2gC+AL4H3AdqAMICHgfegBiBAaSBAZ2AF4AXgQGRgQGA0wAOADIA0wDUANUIKIAWgBSB
+AaXZAA4Htwe4B7kHuge7B7wHvQePB74IKwaQBSEILQUhBSEAngdqgQGggQGngQFNgQGqCYEBgNcArAAO
+AQYAsgCzALYBCAC4B8YIMgaGAmQAwwfKgQGPgQGogQFLgG6BAY3VAA4BGAEZARoBGwEcAR0BHgg5ASCA
+JoAlgQGpgCNbaGVhZGVyQ29sb3LdAKwADgCuAK8AsAFWALEAsgCzALQAtQC2ALcAuAC5CB8AvAC9B9oA
+vgC+B9wHagDCAh4H3oAYgQGkgQGdgBeAF4EBkYEBgNkADge3B7gHuQe6B7sHvAe9B48HvghGBHsFIQhI
+BSEFIQCeB2qBAaCBAayA0IEBrQmBAYDXAKwADgEGALIAswC2AQgAuAfGCDIGkAJkAMMHyoEBj4EBqIEB
+TYBugQGN3QCsAA4ArgCvALABVgCxALIAswC0ALUAtgC3ALgAuQgfALwAvQfaAL4AvgfcB2oAwgIeB96A
+GIEBpIEBnYAXgBeBAZGBAYDZAA4Htwe4B7kHuge7B7wHvQePB74IWwhcBSEIXQUhBSEAngdqgQGggQGw
+gQGvgQGxCYEBgFIxNtcArAAOAQYAsgCzALYBCAC4B8YIMgaaAmQAwwfKgQGPgQGogQFPgG6BAY3dAKwA
+DgCuAK8AsAFWALEAsgCzALQAtQC2ALcAuAC5CB8AvAC9B9oAvgC+B9wHagDCAh4H3oAYgQGkgQGdgBeA
+F4EBkYEBgNkADge3B7gHuQe6B7sHvAe9B48HvghxCHIFIQhzBSEFIQCeB2qBAaCBAbSBAbOBAbUJgQGA
+UjMy1wCsAA4BBgCyALMAtgEIALgHxggyBHECZADDB8qBAY+BAaiAzoBugQGN3QCsAA4ArgCvALABVgCx
+ALIAswC0ALUAtgC3ALgAuQgfALwAvQfaAL4AvgfcB2oAwgIeB96AGIEBpIEBnYAXgBeBAZGBAYDZAA4H
+twe4B7kHuge7B7wHvQePB74IhwiIBSEIiQUhBSEAngdqgQGggQG4gQG3gQG5CYEBgFI2NNcArAAOAQYA
+sgCzALYBCAC4B8YIMgatAmQAwwfKgQGPgQGogQFSgG6BAY3dAKwADgCuAK8AsAFWALEAsgCzALQAtQC2
+ALcAuAC5CB8AvAC9B9oAvgC+B9wHagDCAh4H3oAYgQGkgQGdgBeAF4EBkYEBgNkADge3B7gHuQe6B7sH
+vAe9B48HvgidCJ4InwigCKEFIQCeB2qBAaCBAbyBAbsjQDP0oAAAAACBAb0jQC3pQAAAAAAJgQGAUzEy
+ONcArAAOAQYAsgCzALYBCAC4B8YIMgR7AmQAwwfKgQGPgQGogNCAboEBjd0ArAAOAK4ArwCwAVYAsQCy
+ALMAtAC1ALYAtwC4ALkIHwC8AL0H2gC+AL4H3AdqAMICHgfegBiBAaSBAZ2AF4AXgQGRgQGA1QAOARgB
+GQEaARsBHAi1AR4ItgEggCaBAcCBAb+AI1lncmlkQ29sb3LTAA4BGQEkARwBJgi7gCZEMC41ANIANwA4
+CL0Hj6UHjwDkAOUA5gA7XxAUe3sxLCAxN30sIHsxODQsIDE5fX3VAA4BGAEZARoBGwEcBKgBHgjCASCA
+JoDbgQHEgCNfEBZjb250cm9sQmFja2dyb3VuZENvbG9y2ACSAXYADgCTAJUBfQCYBbcHBQcFBa0IyQCd
+Ba8HBQjMgQF8gQF8gQEXgQHGgQEWgQF8Iz/I7SMAAAAAXxAYe3stMTAwLCAtMTAwfSwgezE1LCAzN319
+2QCSAXYADgCTBZAAlQF9AJgFtwcFBwUFrQjSAV4AnQWvBwUI1YEBfIEBfIEBF4EByIEBFoEBfCM/77H7
+IAAAAF8QGXt7LTEwMCwgLTEwMH0sIHsxNDMsIDE1fX3SAA4APgBGCNmAS6EHgoEBgl8QE3t7MSwgMH0s
+IHsxODQsIDE3fX1fEBV7ezk1LCA2MH0sIHsxODYsIDM3fX1fEBR7ezEsIDl9LCB7MzcyLCAxNDJ9fVp7
+MjEzLCAxMjl9XGZFbmRpbmdTaGVldNQADgCKAIsAjACNCOIAHwjkgBuBAdGAAoEB19gAkgAOAJMAlACV
+AJYAlwCYAJkAmgjoCOkAnQCeAJ8AmYALgBmBAdKBAdMJgA2AC18QFXt7MjUsIDI1NH0sIHs3NSwgNzh9
+fd0ArAAOAK0ArgCvALAAsQCyALMAtAC1ALYAtwC4ALkI8AjxALwAvQC+CPAAwAjiAMIAwwDEgBiBAdSB
+AdWAF4EB1IAQgQHRV1ByZXZpZXfTAA4AMgDTANQA1Qj6gBaAFIEB1lVtdXNpY15vdXRwdXRUb29sSXRl
+bdQADgCKAIsAjACNAUEHagkBgBuAT4EBgIEB2VpkYXRhU291cmNl1AAOAIoAiwCMAUABQQkGBe6AVoBP
+gQHbgQEy2ACSAA4AkwCUAJUAlgCYAX4CiQCaCQsJDACdAJ4CiQcdgHqAGYEB3IEB3QmAel8QFXt7MTQs
+IDEyfSwgezEyMSwgMzJ9fd4ArAAOAK0ArwCwAVYAsQCyALMAtAC1ALYAtwF+ALgAuQC+BgQBXgENByMJ
+FQENCQYGCgDDBgsHHYAYgBeAIYEBcoEB3oAhgQHbXERvbid0IFJlcGVhdNMADgCLAIwBQAkbCRyAVoEB
+4IEB5tgAkgAOAJMAlACVAJYAlwCYAJkAmgkgCSEAnQCeAJ8AmYALgBmBAeGBAeIJgA2AC18QFnt7MjE4
+LCAxOTd9LCB7NTgsIDU2fX3dAKwADgCtAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5CSgJKQC8AL0Avgko
+AMAJGwDCAMMAxIAYgQHjgQHkgBeBAeOAEIEB4Fhab29tIE91dNMADgAyANMA1ADVCTKAFoAUgQHlV3pv
+b21vdXRYem9vbU91dDrUAA4AigCLAIwBQAFBBwIF7oBWgE+BAW6BATLXAA4AigDtAO4AiwCMAO8A8AAf
+CT0A8wL3CUAAvYAvgAKBAeqALYDRgQHpXxAZdmFsdWU6IGRvY3VtZW50LnNvbmdUaXRsZV8QEmRvY3Vt
+ZW50LnNvbmdUaXRsZdQADgCKAIsAjAFAAUEJRgXugFaAT4EB7IEBMtgAkgAOAJMAlACVAJYAmAF+AokA
+mglLCUwAnQCeAokHMIB6gBmBAe2BAe4JgHpfEBV7ezE1OSwgMTJ9LCB7ODIsIDMyfX3eAKwADgCtAK8A
+sAFWALEAsgCzALQAtQC2ALcBfgC4ALkAvgYEAV4BDQc2BzcBDQlGBgoAwwYLBzCAGIAXgCGBAXeBAXaA
+IYEB7NQADgCKAIsAjAFAAPQCLwlcgFaAHYBegQHwW3NlbGVjdFRleHQ60wAOAIsAjAFAAI4JYYBWgAqB
+AfJYc2hvd0xvZzrUAA4AigCLAIwAjQFBB2oJZ4AbgE+BAYCBAfRYZGVsZWdhdGXUAA4AigCLAIwAjQMB
+AUEJbYAbgPyAT4EB9ltmR3Jvb3ZlTWVuddQADgCKAIsAjAFAAUECMAIEgFaAT4BkgFjUAA4AigCLAIwA
+jQcBAUEJeIAbgQFqgE+BAflaZkVuZGluZ01zZ9QADgCKAIsAjAFAAUEDAQl+gFaAT4D8gQH7XXNlbGVj
+dEdyb292ZTrUAA4AigCLAIwBQAFBBwQF7oBWgE+BAXiBATLXAA4AigDtAO4AiwCMAO8A8AAfCYgGMAmK
+CYsAvYAvgAKBAguBAVSBAf6BAgrYAJIADgCTAJQAlQCWAJcAmAXwAUYJjwmQAJ0AngX1BfCBASyAToEB
+/4ECAAmBAS6BASxfEBZ7ezE2NiwgMTEyfSwgezY1LCAyNn193xATAKwBVAFVAK0ArwAOALABVgCxALMB
+VwC0AVgBWQFaALUAtgFbALcBXACeAV4AvgC8AWABXgFhCZoBDQmcCYoBJgCeAJ4AwgFoCaABagmAF4BN
+gDWBAgGAIYECAoEB/gkJgQID0gAOAW8BcADcgDfbAXYADgF3AXgBeQF6AXsBfAFbAX0BfwmQAYEGaAGD
+AL4BhQGGAYcJoAGJAV6BAgCAQIEBRYAXgDuAPYECA4A/0wAOAXcBjAGNCa4Jr4BMgQIEgQIF0gAOAW8B
+cAGggDfSAA4APgBGCbSAS6UJnAm2CbcJuAm5gQICgQIGgQIHgQIIgQIJ2gF2AA4BdwF4AXkBegF7AXwB
+WwF9CZABgQZyAYMAvgGFAYYBhwmgAYmBAgCAQIEBR4AXgDuAPYECA4A/2gF2AA4BdwF4AXkBegF7AXwB
+WwF9CZABgQZ8AYMAvgGFAYYBhwmgAYmBAgCAQIEBSYAXgDuAPYECA4A/2gF2AA4BdwF4AXkBegF7AXwB
+WwF9CZABgQaGAYMAvgGFAYYBhwmgAYmBAgCAQIEBS4AXgDuAPYECA4A/2gF2AA4BdwF4AXkBegF7AXwB
+WwF9CZABgQaQAYMAvgGFAYYBhwmgAYmBAgCAQIEBTYAXgDuAPYECA4A/XxAgc2VsZWN0ZWRJbmRleDog
+ZWRpdE51bVRvcExlZGdlcnNfEBFlZGl0TnVtVG9wTGVkZ2Vyc9gADgCKAO0A7gCLAIwCBwDvAPAAHwnj
+Aq4C9AnmCecAvYAvgAKBAg6Ag4CSgQINgQIPXxAdc2VsZWN0ZWRUYWc6IGRvY3VtZW50LnNvbmdLZXlf
+EBBkb2N1bWVudC5zb25nS2V50wAOAnYAPgJ3CewJ7oB3oQK4gIahArqAh9QADgCKAIsAjAFAAUEC9gn0
+gFaAT4C+gQIRXXNldERpdmlzaW9uczrTAA4AiwCMAUAI4gn5gFaBAdGBAhNbc2hvd091dHB1dDrTAA4A
+iwCMAUAFzwn+gFaBASOBAhVVc3RvcDrUAA4AigCLAIwBQAFBBwMF7oBWgE+BAXOBATLUAA4AigCLAIwA
+jQD0AUEKCYAbgB2AT4ECGFxmRmllbGRFZGl0b3LXAA4AigDtAO4AiwCMAO8A8AAfCg4GMAoQChEAvYAv
+gAKBAieBAVSBAhqBAibYAJIADgCTAJQAlQCWAJcAmAXwAUYKFQoWAJ0AngX1BfCBASyAToECG4ECHAmB
+AS6BASxfEBV7ezE2NiwgODZ9LCB7NjUsIDI2fX3fEBMArAFUAVUArQCvAA4AsAFWALEAswFXALQBWAFZ
+AVoAtQC2AVsAtwFcAJ4BXgC+ALwBYAFeAWEKIAENCiIKEAEmAJ4AngDCAWgKJgFqCYAXgE2ANYECHYAh
+gQIegQIaCQmBAh/SAA4BbwFwANyAN9sBdgAOAXcBeAF5AXoBewF8AVsBfQF/ChYBgQZoAYMAvgGFAYYB
+hwomAYkBXoECHIBAgQFFgBeAO4A9gQIfgD/TAA4BdwGMAY0KNAo1gEyBAiCBAiHSAA4BbwFwAaCAN9IA
+DgA+AEYKOoBLpQoiCjwKPQo+Cj+BAh6BAiKBAiOBAiSBAiXaAXYADgF3AXgBeQF6AXsBfAFbAX0KFgGB
+BnIBgwC+AYUBhgGHCiYBiYECHIBAgQFHgBeAO4A9gQIfgD/aAXYADgF3AXgBeQF6AXsBfAFbAX0KFgGB
+BnwBgwC+AYUBhgGHCiYBiYECHIBAgQFJgBeAO4A9gQIfgD/aAXYADgF3AXgBeQF6AXsBfAFbAX0KFgGB
+BoYBgwC+AYUBhgGHCiYBiYECHIBAgQFLgBeAO4A9gQIfgD/aAXYADgF3AXgBeQF6AXsBfAFbAX0KFgGB
+BpABgwC+AYUBhgGHCiYBiYECHIBAgQFNgBeAO4A9gQIfgD9fECBzZWxlY3RlZEluZGV4OiBlZGl0TnVt
+Qm90TGVkZ2Vyc18QEWVkaXROdW1Cb3RMZWRnZXJz1AAOAIoAiwCMAI0KaAFBCmqAG4ECKYBPgQJg3ALD
+AA4CxALFAsYCxwLIAskCygLLAswCzQKJAs8KbgLRAtIKcApxAtUAvQbzBvQKdIB6gQEggQJfgIuBAiuB
+AiqBAR+BAc6BAixfEBh7ezUxNSwgMTk1fSwgezMzOCwgMTI3fX3SAA4BbwFwAJeAN9IADgFvAXAC24A3
+0gAOAD4ARgp8gEunCn0KfgKGCoAJBglGCoOBAi6BAjKAeYECVoEB24EB7IECWtcAkgAOAJMAlACVAJYA
+mAKJAPgKhwqIAJ0AngKJgHqAK4ECL4ECMAmAel8QFXt7MTcsIDkwfSwgezIwOCwgMTd9fdgArAAOAQYA
+sgCzALQAtgEIALgBCgH1Co8BDQp9BKMEpIAqgNmBAjGAIYECLoDcXxAcUmVwZWF0IG1lYXN1cmVzIDEg
+dGhvdWdoIDE0CtcAkgAOAJMAlACVAJYAmAKJAPgKlwqYAJ0AngKJgHqAK4ECM4ECNAmAel8QFHt7MjAs
+IDYwfSwgezI3LCAyMn192gCsAA4BBgCyALMAtAqdALYBBwEIAQkBCgELBnwBDQp+CqMKpACeARFbTlNG
+b3JtYXR0ZXKAKoAigQFJgCGBAjKBAjUT/////5BABAAJgCffEBEADgqoCqkKqgqrCqwKrQquCq8KsAqx
+CrIKswq0CrUKtgq3CrgKuQq6CrsAKwq9ACsKvwrABmgAngrDACsKxQrGAhsCG1ZOUy5uaWxaTlMuZGVj
+aW1hbFZOUy5uYW5bTlMucm91bmRpbmdXTlMuemVyb18QEE5TLm5lZ2F0aXZlYXR0cnNWTlMubWF4XU5T
+LmF0dHJpYnV0ZXNfEBFOUy5wb3NpdGl2ZWZvcm1hdF8QD05TLmFsbG93c2Zsb2F0c18QEU5TLm5lZ2F0
+aXZlZm9ybWF0XxAQTlMucG9zaXRpdmVhdHRyc1tOUy50aG91c2FuZFZOUy5taW5cTlMubG9jYWxpemVk
+XxAPTlMuaGFzdGhvdXNhbmRzgQJVgQJQgQJUgQJSgACBAkaAAIECS4ECNoEBRQmBAk2AAIECToECRAgI
+0wAOAnYAPgrKCssK2IECT6wKzArNCs4KzwrQCtEK0grTCtQK1QrWCteBAjeBAjiBAjmBAjqBAjuBAjyB
+Aj2BAj6BAj+BAkCBAkGBAkKsCtkAvgrGAroGaAq9Ct8K4Aq/CuIKwwrFgQJDgBeBAkSAh4EBRYECRoEC
+SYECSoECS4ECTIECTYECTl8QFm5lZ2F0aXZlSW5maW5pdHlTeW1ib2xZbmlsU3ltYm9sV21pbmltdW1f
+EBV1c2VzR3JvdXBpbmdTZXBhcmF0b3JecG9zaXRpdmVGb3JtYXRfEBdhdHRyaWJ1dGVkU3RyaW5nRm9y
+WmVyb18QEWZvcm1hdHRlckJlaGF2aW9yXGFsbG93c0Zsb2F0c1dtYXhpbXVtXxAWcG9zaXRpdmVJbmZp
+bml0eVN5bWJvbF5uZWdhdGl2ZUZvcm1hdF8QEWdyb3VwaW5nU2VwYXJhdG9yYgAtIh7XAA4K8wr0CvUK
+9gr3CvgK+QCeAh4BXgFeCvsCG1pOUy5jb21wYWN0W05TLmV4cG9uZW50Xk5TLm1hbnRpc3NhLmJvWU5T
+Lmxlbmd0aFtOUy5tYW50aXNzYVtOUy5uZWdhdGl2ZYECRQlPEBACAAIAEAAAADauzpRCKl2TCNIANwA4
+Cv4K/6IK/wA7XxAaTlNEZWNpbWFsTnVtYmVyUGxhY2Vob2xkZXLTAA4LAQF0CwILAwZoXE5TQXR0cmli
+dXRlc4ECSIECR4EBRdMADgJ2AD4CdwsHCwiAd6Cg0gA3ADgLCgsLogsLADtfEBJOU0F0dHJpYnV0ZWRT
+dHJpbmcJ1wAOCvMK9Ar1CvYK9wr4CvkAngIeAV4BXgsQAhuBAkUJTxAQEAACABAAAAA2rs6UQipdkwhi
+ACsiHlItMFEs0gA3ADgLFgsXowsXAoAAO18QE05TTXV0YWJsZURpY3Rpb25hcnnSAA4BdAsCCxqBAkiB
+AlHTAA4LAQF0CwILAwsegQJIgQJHgQJTU05hTlEu0gA3ADgLIgsjowsjCp0AO18QEU5TTnVtYmVyRm9y
+bWF0dGVy1wCSAA4AkwCUAJUAlgCYAokA+AsnCygAnQCeAomAeoArgQJXgQJYCYB6XxAVe3s3MywgNjV9
+LCB7MTE0LCAxN3192ACsAA4BBgCyALMAtAC2AQgAuAEKAfULLwENCoAEowSkgCqA2YECWYAhgQJWgNxW
+dGltZXMu2ACSAA4AkwCUAJUAlgCYAX4CiQCaCzcLOACdAJ4CiQX3gHqAGYECW4ECXAmAel8QFXt7MjQx
+LCAxMn0sIHs4MywgMzJ9fd4ArAAOAK0ArwCwAVYAsQCyALMAtAC1ALYAtwF+BgEAuQC+BgQBXgENBgYL
+QQENCoMGCgDDBgsF94AYgBeAIYEBMYECXYAhgQJaVlJlcGVhdF8QFHt7MSwgOX0sIHszMzgsIDEyN319
+XGZSZXBlYXRTaGVldNQADgCKAIsAjACNAB8CvwlngBuAAoCJgQH01AAOAIoAiwCMAUABQQL0C1CAVoBP
+gJKBAmNXc2V0S2V5OtcADgCKAO0A7gCLAIwA7wDwAB8LVQDzAv8LWAC9gC+AAoECZoAtgPWBAmVfEBl2
+YWx1ZTogZG9jdW1lbnQuc29uZ1RlbXBvXxASZG9jdW1lbnQuc29uZ1RlbXBv1AAOAIoAiwCMAUABQQqD
+Be6AVoBPgQJagQEy1AAOAIoAiwCMAI0BQQD0CWeAG4BPgB2BAfTUAA4AigCLAIwAjQp9AUELaYAbgQIu
+gE+BAmpaZlJlcGVhdE1zZ9MADgCLAIwBQAbCC26AVoEBWoECbFVwbGF5OtQADgCKAIsAjACNC3IAHwt0
+gBuBAm6AAoECdNgAkgAOAJMAlACVAJYAlwCYAJkAmgt4C3kAnQCeAJ8AmYALgBmBAm+BAnAJgA2AC18Q
+Fnt7MTQ5LCAxOTd9LCB7NTgsIDU2fX3dAKwADgCtAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5C4ALgQC8
+AL0AvguAAMALcgDCAMMAxIAYgQJxgQJygBeBAnGAEIECbldab29tIElu0wAOADIA0wDUANULioAWgBSB
+AnNWem9vbWluXnpvb21JblRvb2xJdGVt1AAOAIoAiwCMAUABQQuQBe6AVoBPgQJ2gQEy2QCSAA4AkwCU
+AJUAlgCXAJgBfgXwAJoLlQuWAJ0AngX1BfAHMIEBLIAZgQJ3gQJ4CYEBLoEBLF8QFHt7MTQsIDEyfSwg
+ezgyLCAzMn193gCsAA4ArQCvALABVgCxALIAswC0ALUAtgC3AX4AuAC5AL4GBAFeAQ0HNgc3AQ0LkAYK
+AMMGCwcwgBiAF4AhgQF3gQF2gCGBAnbYAA4AigDtAO4AiwCMAgcA7wDwAB8LpgKuAvYLqQuqAL2AL4AC
+gQJ7gIOAvoECeoECfF8QI3NlbGVjdGVkVGFnOiBkb2N1bWVudC5zb25nRGl2aXNpb25zXxAWZG9jdW1l
+bnQuc29uZ0RpdmlzaW9uc9MADgJ2AD4CdwuvC7GAd6ECuICGoQK6gIfTAA4AiwCMAUALcgu2gFaBAm6B
+An5Xem9vbUluOtcADgCKAO0A7gCLAIwA7wDwAB8LVQDzAv4LWAC9gC+AAoECZoAtgPGBAmXUAA4AigCL
+AIwAjQvBAUELw4AbgQKBgE+BApjcAsMADgLEAsUCxgLHAsgCyQLKAssCzALNBfACzwvHAtEC0gLTC8oC
+1QC9BvMG9AvNgQEsgQEggQKXgIuAjIECgoEBH4EBzoECg18QGHt7NDE3LCAyMzh9LCB7MjQ4LCAxNTV9
+fdIADgFvAXAC24A30gAOAD4ARgvTgEupC9QLkAXtCYoL2AvZChAL2wYxgQKFgQJ2gQErgQH+gQKJgQKN
+gQIagQKRgQE82ACSAA4AkwCUAJUAlgCXAJgF8AD4C+AL4QCdAJ4F9QXwgQEsgCuBAoaBAocJgQEugQEs
+XxAVe3sxNywgMTE4fSwgezkyLCAxN3192ACsAA4BBgCyALMAtAC2AQgAuAEKAfUL6QENC9QEowSkgCqA
+2YECiIAhgQKFgNxcTGVkZ2VyIExpbmVz2ACSAA4AkwCUAJUAlgCXAJgF8AD4C/EL8gCdAJ4F9QXwgQEs
+gCuBAoqBAosJgQEugQEsXxAVe3sxMTEsIDkyfSwgezYyLCAxN3192ACsAA4BBgCyALMAtAC2AQgAuAEK
+AfUL+gENC9gEowSkgCqA2YECjIAhgQKJgNxfEBZCb3R0b206CiAKTGVkZ2VyIExpbmVz2ACSAA4AkwCU
+AJUAlgCXAJgF8AD4DAIMAwCdAJ4F9QXwgQEsgCuBAo6BAo8JgQEugQEsXxAWe3sxMTEsIDExOH0sIHs2
+OSwgMTd9fdgArAAOAQYAsgCzALQAtgEIALgBCgH1DAsBDQvZBKMEpIAqgNmBApCAIYECjYDcVFRvcDrY
+AJIADgCTAJQAlQCWAJcAmAXwAPgMEwwUAJ0AngX1BfCBASyAK4ECkoECkwmBAS6BASxfEBV7ezE3LCA2
+MH0sIHsxMTQsIDE3fX3YAKwADgEGALIAswC0ALYBCAC4AQoB9QwcAQ0L2wSjBKSAKoDZgQKUgCGBApGA
+3F8QD0x5cmljcyBTdGFuemFzOlp7MjQ4LCAxNTV9XWZEaXNwbGF5U2hlZXTXAA4AigDtAO4AiwCMAO8A
+8AAfAoQA8wp+AocAvYAvgAKAgIAtgQIygH/UAA4AigCLAIwBQAFBBUYJfoBWgE+BAQCBAfvUAA4AigCL
+AIwAjQwxAB8MM4AbgQKcgAKBAqHZAJIADgCTApgAlQCXDDUAmAw2AJkMOAw5DDoMOwCfDD0AmQw/WU5T
+cGlGbGFnc1xOU0RyYXdNYXRyaXiAC4ECoIECnyNAWQAAAAAAABEFAIANEXEKgAuBAp3RAA4MQYECntIA
+NwA4DEMMRKIMRAA7Wk5TUFNNYXRyaXhfEBZ7ezM2OSwgMjkyfSwgezE2LCAxNn190gA3ADgMRwxIpAxI
+AOUA5gA7XxATTlNQcm9ncmVzc0luZGljYXRvcl8QEHByb2dyZXNzVG9vbEl0ZW3UAA4AigCLAIwAjQkb
+AB8MToAbgQHggAKBAqNfEA96b29tT3V0VG9vbEl0ZW3UAA4AigCLAIwAjQYSAB8MVIAbgQE0gAKBAqVf
+EA9kaXNwbGF5VG9vbEl0ZW3UAA4AigxXDFgMWQjiDFsMXFhOU01hcmtlclZOU0ZpbGWBAqmBAdGBAqiB
+AqdfEBBOU1Rvb2xUaXBIZWxwS2V5XxAPU2hvdyBMZWFkIFNoZWV00gA3ADgMYAxhogxhADtfEBFOU0lC
+SGVscENvbm5lY3RvctQADgCKDFcMWAxZAI4MZQxcgQKpgAqBAquBAqdfEBBTaG93IENvbnNvbGUgTG9n
+1AAOAIoMVwxYDFkGwgxrDFyBAqmBAVqBAq2BAqddUGxheSB0aGUgU29uZ9QADgCKDFcMWAxZC3ILgAxc
+gQKpgQJugQJxgQKn1AAOAIoMVwxYDFkJGwkoDFyBAqmBAeCBAeOBAqfUAA4AigxXDFgMWQXPDHsMXIEC
+qYEBI4ECsYECp11TdG9wIFBsYXliYWNr1AAOAIoMVwxYDFkGEgx7DFyBAqmBATSBArGBAqfSAA4APgfx
+DIWBAZqvEL4GYwZiAi8L2AMSBkcHsAM0BfADOAQuBc8HQAeyBskBqAwUBl8LkAe1Ay4BpgezC8EDOQom
+AxYBTQNABRsIoAo+BWIKPAIwAaUHGgMGAPoHAgL9C9QMAwMyBugE+geCCoAGXQgtBIcJuQL3AzwC9gY3
+B7EC9AMwA0EFCgzDBNoETgbCCn0KiAbsAvoChghdCbYGMQM1BlwKaAqjCj0IcwSZBUoIiQmcAwAJDAYY
+CoMC/wevB64L4QRMAI4HCgVjBUYJigvyBmEFmQuWAjUDOwCZB1kBaQdqCRsMMQvZCiILcgU7CUYGQwkG
+AhcESgRLAv4HwQlMAacF7Qm4ChAGXgFIAPQC+QM+C9sNCgWTCzgI4gL8CbcDNwMzCygJoActAowKFgXz
+BmAEuQo/Ak4JIQt5CBQDAQUrB7QBQgMxBwUBQQM2Ae8EIwdSBWEISAL7CpgA/wFkBE0CvwjpBMkHAQM6
+Az8DQgMvBOoGEgKJAJwHBAL4CZAKfgQyBwMF1oEBUYEBUIBegQKJgJaBAUGBAaaApoEBLICtgMKBASOB
+AXqBAa6BAVyASYECk4EBSoECdoEBuoCbgEWBAbKBAoGAr4ECH4CXgI+AuYD3gQG9gQIkgQEGgQIigGSA
+Q4EBcICUgCCBAW6A7YEChYECj4CigQFlgO+BAYKBAlaBAUaBAaqA04ECCYDRgLOAvoEBPoEBq4CSgJ6A
+uoDzgQK0gOiAz4EBWoECLoECMIEBaIDigHmBAbGBAgaBATyAqIEBRIECKYECNYECI4EBtYDXgQEBgQG5
+gQICgPiBAd2BATaBAlqA9YEBoYEBioECh4DLgAqBAWyBAQiBAQCBAf6BAouBAU6BARSBAniAYICygAuB
+AcWAOYEBgIEB4IECnIECjYECHoECboD+gQHsgQFAgQHbgFuAx4DJgPGBAZCBAe6AR4EBK4ECCIECGoEB
+SIA0gB2A3oC1gQKRgQK9gQEYgQJcgQHRgOqBAgeAq4CkgQJYgQIDgQF1gHyBAhyBAS+BAUyA4IECJYBm
+gQHigQJwgQGjgPyA+oEBtoAxgKCBAXyAT4CpgQEPgMCBAceBAQWBAa2A5oECNIBagDiAzYCJgQHTgOSB
+AWqAsIC3gLyAnYDsgQE0gHqADoEBeIDVgQIAgQIygMOBAXOBASXcAsMADgLEAsUCxgLHAsgCyQLKAssC
+zALNAJkCzw1HDUgC0g1JDUoC1QC9AtYG9A1NgAuBASCBAryBAraBAreBArWBAR+BAc6BArhfEBh7ezMw
+OCwgMTQ5fSwgezQ4MCwgMzYwfX3SAA4BbwFwAtqAN9IADgFvAXAAl4A30gAOAW8BcALbgDfSAA4APgBG
+DVeAS6gI4gCOBsILcgkbBc8MMQYSgQHRgAqBAVqBAm6BAeCBASOBApyBATRaezQ4MCwgMzYwfdIADgAy
+ADMNY4AEgQK+XU5TQXBwbGljYXRpb27SAA4APgfxDWeBAZqvEL4GRwZHAP8F8AMWBjcHagMWC8EDFgQy
+AJkHBAdqBsIBaQvbBkcF8AdqAxYBaQdqAB8DFgoWAwYCFwMWAv8HtQomBUoKJgD/AWkHAgL0APQG7AFN
+BfAL2QMWAB8C/QcFAokGRwewAvcJoAFNAxYBTQYxB2oBTQMWAxYC/gAfAvsEMgCZAokKfQboAU0CiQey
+CaAF8AMWBkcAHwqYCiYHswL4BTsHtAmgAU0JBgYSAokBTQdqB2oL1AQyAJkHAQVKBUoF8AvYBkcB7wuQ
+Ai8DFgzDBwUBSAcFAJkAmQXwCiYAmQMBAokGRwKJAr8EMgQyAU0HrglGAWkF8AmgBfAGRwFCAP8BTQMW
+BfAAHwHvCoMAmQFNCaADFgMWCoAJkAcDAoYKEAXtBkcC+QomAjAJGwtyB68BTQMAB2oBTQMWBuwB7wMW
+AhcC9gcFBUoHsQFNCn4CFwFpBDIAHwjiAvoG7AMWAxYDFgMWAvwAmQpoAI4G7AFNCYoCiQQjBuwFz4EB
+QYEBQYBagQEsgJeBAT6BAYCAl4ECgYCXgMOAC4EBeIEBgIEBWoA5gQKRgQFBgQEsgQGAgJeAOYEBgIAC
+gJeBAhyAlIBbgJeA9YEBuoECH4EBAYECH4BagDmBAW6AkoAdgQFogI+BASyBAo2Al4ACgO2BAXyAeoEB
+QYEBpoDRgQIDgI+Al4CPgQE8gQGAgI+Al4CXgPGAAoDmgMOAC4B6gQIugQFlgI+AeoEBroECA4EBLICX
+gQFBgAKBAjSBAh+BAbKA1YD+gQG2gQIDgI+BAduBATSAeoCPgQGAgQGAgQKFgMOAC4EBaoEBAYEBAYEB
+LIECiYEBQYEBD4ECdoBegJeBArSBAXyANIEBfIALgAuBASyBAh+AC4D8gHqBAUGAeoCJgMOAw4CPgQGK
+gQHsgDmBASyBAgOBASyBAUGAMYBagI+Al4EBLIACgQEPgQJagAuAj4ECA4CXgJeBAlaBAgCBAXOAeYEC
+GoEBK4EBQYDegQIfgGSBAeCBAm6BAaGAj4D4gQGAgI+Al4EBaIEBD4CXgFuAvoEBfIEBAYEBq4CPgQIy
+gFuAOYDDgAKBAdGA4oEBaICXgJeAl4CXgOqAC4ECKYAKgQFogI+BAf6AeoDAgQFogQEj0gAOAD4H8Q4o
+gQGarxC/BmMGYgIvC9gGRwMSB7AF8AM0AzgHQAXPB7IELgbJDBQGXwGoC5AHtQMuB7MLwQo+CiYDOQMW
+AU0FGwZdCKADQAViCjwCMAcaAaYDBgcCAPoL1AL9DAMG6AeCBPoDMgqAAaUILQSHCbkC9wM8AvYGNwex
+AvQMwwp9BQoGwgAfBNoG7AYxCogGXAL6AoYIXQm2BE4DMANBCmgDNQqjCj0IcwSZBUoIiQmcAwAJDAYY
+CoMC/wevB64L4QRMAI4HCgVjC/IJigVGBmEFmQuWAjUAmQM7B1kL2QdqCRsMMQFpCiILcgU7CUYGQwkG
+AhcESgRLAv4HwQlMCbgF7QGnChAGXgFIAvkA9AvbAz4NCgWTCzgI4gL8CbcDNwsoCaAKFgctAowDMwXz
+BmAEuQo/CSECTgt5CBQDAQUrB7QHBQFCAzEBQQHvB1IEIwM2BWEISAL7CpgA/wRNAWQCvwjpBwEJkATJ
+AzoGEgM/BwQE6gKJAJwDQgL4Ay8KfgcDBDIF1oEBUYEBUIBegQKJgQFBgJaBAaaBASyApoCtgQF6gQEj
+gQGugMKBAVyBApOBAUqASYECdoEBuoCbgQGygQKBgQIkgQIfgK+Al4CPgPeBAUaBAb2AuYEBBoECIoBk
+gQFwgEWAlIEBboAggQKFgO2BAo+BAWWBAYKA74CigQJWgEOBAaqA04ECCYDRgLOAvoEBPoEBq4CSgQK0
+gQIugPOBAVqAAoDogQFogQE8gQIwgQFEgOKAeYEBsYECBoDPgJ6AuoECKYCogQI1gQIjgQG1gNeBAQGB
+AbmBAgKA+IEB3YEBNoECWoD1gQGhgQGKgQKHgMuACoEBbIEBCIECi4EB/oEBAIEBToEBFIECeIBggAuA
+soEBxYECjYEBgIEB4IECnIA5gQIegQJugP6BAeyBAUCBAduAW4DHgMmA8YEBkIEB7oECCIEBK4BHgQIa
+gQFIgDSA3oAdgQKRgLWBAr2BARiBAlyBAdGA6oECB4CrgQJYgQIDgQIcgQF1gHyApIEBL4EBTIDggQIl
+gQHigGaBAnCBAaOA/ID6gQG2gQF8gDGAoIBPgQEPgQHHgMCAqYEBBYEBrYDmgQI0gFqAzYA4gImBAdOB
+AWqBAgCA5ICwgQE0gLeBAXiA7IB6gA6AvIDVgJ2BAjKBAXOAw4EBJdIADgA+B/EO6oEBmq8Qvw7rDuwO
+7Q7uDu8O8A7xDvIO8w70DvUO9g73DvgO+Q76DvsO/A79Dv4O/w8ABh8PAg8DDwQPBQ8GDwcPCA8JDwoP
+Cw8MDw0PDg8PDxAPEQ8SDxMPFA8VDxYPFw8YDxkPGg8bDxwPHQ8eDx8PIA8hDyIPIw8kDyUPJg8nDygP
+KQ8qDysPLA8tDy4PLw8wDzEPMg8zDzQPNQtBDzcPOA85DzoPOw88Dz0PPg8/D0APQQ9CD0MPRA9FD0YP
+Rw9ID0kPSg9LD0wPTQ9OD08PUA9RD1IPUw9UD1UPVg9XD1gPWQ9aD1sPXA9dD14PXw9gD2EPYg9jD2QP
+ZQ9mD2cPaA9pD2oPaw9sD20Pbg9vD3APcQ9yD3MPdA91D3YPdw94D3kPeg97D3wPfQ9+D38PgA+BD4IP
+gw+ED4UPhg+HD4gPiQ+KD4sPjA+ND44Pjw+QD5EPkg+TD5QPlQ+WD5cPmA+ZD5oPmw+cD50Png+fD6AP
+oQ+iD6MPpA+lD6YPpw+oD6mBAsKBAsOBAsSBAsWBAsaBAseBAsiBAsmBAsqBAsuBAsyBAs2BAs6BAs+B
+AtCBAtGBAtKBAtOBAtSBAtWBAtaBAteBATeBAtiBAtmBAtqBAtuBAtyBAt2BAt6BAt+BAuCBAuGBAuKB
+AuOBAuSBAuWBAuaBAueBAuiBAumBAuqBAuuBAuyBAu2BAu6BAu+BAvCBAvGBAvKBAvOBAvSBAvWBAvaB
+AveBAviBAvmBAvqBAvuBAvyBAv2BAv6BAv+BAwCBAwGBAwKBAwOBAwSBAwWBAwaBAweBAwiBAwmBAwqB
+AwuBAl2BAwyBAw2BAw6BAw+BAxCBAxGBAxKBAxOBAxSBAxWBAxaBAxeBAxiBAxmBAxqBAxuBAxyBAx2B
+Ax6BAx+BAyCBAyGBAyKBAyOBAySBAyWBAyaBAyeBAyiBAymBAyqBAyuBAyyBAy2BAy6BAy+BAzCBAzGB
+AzKBAzOBAzSBAzWBAzaBAzeBAziBAzmBAzqBAzuBAzyBAz2BAz6BAz+BA0CBA0GBA0KBA0OBA0SBA0WB
+A0aBA0eBA0iBA0mBA0qBA0uBA0yBA02BA06BA0+BA1CBA1GBA1KBA1OBA1SBA1WBA1aBA1eBA1iBA1mB
+A1qBA1uBA1yBA12BA16BA1+BA2CBA2GBA2KBA2OBA2SBA2WBA2aBA2eBA2iBA2mBA2qBA2uBA2yBA22B
+A26BA2+BA3CBA3GBA3KBA3OBA3SBA3WBA3aBA3eBA3iBA3mBA3qBA3uBA3yBA32BA35dTWVudSBJdGVt
+ICg3KV1NZW51IEl0ZW0gKDYpbxAaAFMAcQB1AGEAcgBlACAAVABlAHgAdAB1AHIAZQBkACAAQgB1AHQA
+dABvAG4AIAAoIhoAKV8QJFN0YXRpYyBUZXh0IChCb3R0b206CiAKTGVkZ2VyIExpbmVzKV8QEU1lbnUg
+KE90aGVyVmlld3MpXk1lbnUgSXRlbSAoR20pXxAQVGFibGUgQ29sdW1uICg0KV5Db250ZW50IFZpZXct
+NG4ATQBlAG4AdQAgAEkAdABlAG0AIAAoAEQmbQApXU1lbnUgSXRlbSAoQSlfEBhCdXR0b24gQ2VsbCAo
+QWRkIEVuZGluZylfEBNCZXZlbCBCdXR0b24gKFN0b3ApXxARVGFibGUgQ29sdW1uICgxNileTWVudSBJ
+dGVtICgxMilfEBJCdXR0b24gQ2VsbCAoUGxheSlfECFUZXh0IEZpZWxkIENlbGwgKEx5cmljcyBTdGFu
+emFzOildTWVudSBJdGVtICgzKV8QD01lbnUgSXRlbSAoNS80KV8QFlB1c2ggQnV0dG9uIChDYW5jZWwp
+LTJfEBJUYWJsZSBDb2x1bW4gKDEyOCldTWVudSBJdGVtIChDKV8QEVRhYmxlIENvbHVtbiAoMzIpXxAP
+TWVudSBJdGVtICgzKS0yXxATTWVudSAoT3RoZXJWaWV3cyktMllTZXBhcmF0b3JfEBNNZW51IChPdGhl
+clZpZXdzKS00W0JveCAoVGl0bGUpXlN0ZXBwZXIgQ2VsbC0xXU1lbnUgSXRlbSAoMSldQnV0dG9uIENl
+bGwtMltTZXBhcmF0b3ItMV8QEU1lbnUgSXRlbSAoU3dpbmcpXxAPTWVudSBJdGVtICgxKS0yXxAaU3F1
+YXJlIFRleHR1cmVkIEJ1dHRvbiAoWClfEBtCdXR0b24gQ2VsbCAoRGVsZXRlIEVuZGluZylfEA9NZW51
+IEl0ZW0gKDMvNClfEBdQb3AgVXAgQnV0dG9uIENlbGwgKEdtKV8QG1B1c2ggQnV0dG9uIChEZWxldGUg
+RW5kaW5nKV8QD1RleHQgRmllbGQgQ2VsbF8QGlN0YXRpYyBUZXh0IChMZWRnZXIgTGluZXMpXxAUU3Rh
+dGljIFRleHQgKFRlbXBvOilfEBZUZXh0IEZpZWxkIENlbGwgKFRvcDopV0VuZGluZ3NfEBFUYWJsZSBI
+ZWFkZXIgVmlld18QGFRleHQgRmllbGQgQ2VsbCAoVGVtcG86KW4ATQBlAG4AdQAgAEkAdABlAG0AIAAo
+AEUmbQApXxAUU3RhdGljIFRleHQgKHRpbWVzLilfEA9NZW51IEl0ZW0gKDYvOClbQnV0dG9uIENlbGxf
+EDFUZXh0IEZpZWxkIENlbGwgKFNvZnRseSwgQXMgSW4gQSBNb3JuaW5nIFN1bnJpc2UpXxAPTWVudSBJ
+dGVtICg0KS0xXxAsVGV4dCBGaWVsZCAoU29mdGx5LCBBcyBJbiBBIE1vcm5pbmcgU3VucmlzZSleTWVu
+dSBJdGVtIChEbSlfEBFQb3B1cCBCdXR0b24gKDEyKV8QFlBvcCBVcCBCdXR0b24gQ2VsbCAoOClfEBBU
+YWJsZSBDb2x1bW4gKDgpXxARUG9wdXAgQnV0dG9uIChHbSldVG9vbGJhciBJdGVtc18QKlN0YXRpYyBU
+ZXh0IChSZXBlYXQgbWVhc3VyZXMgMSB0aG91Z2ggMTQKKV8QFVRleHQgRmllbGQgQ2VsbCAoMjc2KV8Q
+E0JldmVsIEJ1dHRvbiAoUGxheSlcRmlsZSdzIE93bmVyXxAbVGV4dCBGaWVsZCBDZWxsIChMeXJpY2lz
+dDopXkNvbnRlbnQgVmlldy0zXxAQUG9wdXAgQnV0dG9uICg4KV8QLlRleHQgRmllbGQgQ2VsbCAoUmVw
+ZWF0IG1lYXN1cmVzIDEgdGhvdWdoIDE0CildTWVudSBJdGVtICgwKV8QHFRleHQgRmllbGQgKERpenp5
+IEdpbGxlc3BpZSlXU3RlcHBlcl1CdXR0b24gQ2VsbC0xXxAPTWVudSBJdGVtICgxKS0xXxAPTWVudSBJ
+dGVtICg4KS0xXU1lbnUgSXRlbSAoRileTWVudSBJdGVtIChFbSlbU2VwYXJhdG9yLTJfEBBOdW1iZXIg
+Rm9ybWF0dGVyXxAPTWVudSBJdGVtICgyKS0yXUJ1dHRvbiBDZWxsLTNfEBlUZXh0IEZpZWxkIENlbGwg
+KFRpdGxlOgopXxATTWVudSAoT3RoZXJWaWV3cyktNV1CdXR0b24gQ2VsbC03XxAPTWVudSBJdGVtICgw
+KS0xXxAWU3RhdGljIFRleHQgKEdyb292ZToKKV8QGkJ1dHRvbiBDZWxsIChEb24ndCBSZXBlYXQpXxAV
+QnV0dG9uIENlbGwgKERpc3BsYXkpXxAUUHVzaCBCdXR0b24gKFJlcGVhdClZU3RlcHBlci0xXxAQVGFi
+bGUgQ29sdW1uICgyKV8QEFRhYmxlIENvbHVtbiAoMSlfEB5UZXh0IEZpZWxkIENlbGwgKExlZGdlciBM
+aW5lcylfEBpNZW51IEl0ZW0gKDQgKFNpeHRlZW50aHMpKV8QF0JldmVsIEJ1dHRvbiAoU2hvdyBMb2cp
+XxBGVGV4dCBGaWVsZCBDZWxsIChFbmRpbmcgaW4gbWVhc3VyZXMgMSB0aHJvdWdoIDEwIGFwcGxpZXMg
+dG8gcmVwZWF0czoKKV8QFU1lbnUgSXRlbSAoQm9zc2FOb3ZhKV8QKFRleHQgRmllbGQgQ2VsbCAoQm90
+dG9tOgogCkxlZGdlciBMaW5lcylfEBBQb3B1cCBCdXR0b24gKDApXxAVTWVudSBJdGVtIChTZWxlY3Qu
+Li4pXU1lbnUgSXRlbSAoNSlYU2Nyb2xsZXJfEBZCdXR0b24gQ2VsbCAoQ2FuY2VsKS0ybxAPAEIAdQB0
+AHQAbwBuACAAQwBlAGwAbAAgACgiGgApXkNvbnRlbnQgVmlldy0xW1NlcGFyYXRvci0zWlNjcm9sbGVy
+LTJfEBJTdGF0aWMgVGV4dCAoVG9wOilfECNUYWJsZSBWaWV3ICgxLCAyLCAzLCA0LCA1LCA2LCA3LCA4
+KV8QF0JldmVsIEJ1dHRvbiAoWm9vbSBPdXQpXEFzeW5jIEFycm93c18QE01lbnUgKE90aGVyVmlld3Mp
+LTZfEA9NZW51IEl0ZW0gKDApLTJfEBZCZXZlbCBCdXR0b24gKFpvb20gSW4pXxAeUG9wIFVwIEJ1dHRv
+biBDZWxsIChTZWxlY3QuLi4pXxAUUHVzaCBCdXR0b24gKENhbmNlbCldTWVudSBJdGVtICg4KV8QGlB1
+c2ggQnV0dG9uIChEb24ndCBSZXBlYXQpXENvbnRlbnQgVmlld18QGE1lbnUgSXRlbSAoMiAoU3RyYWln
+aHQpKV8QFU1lbnUgSXRlbSAoMyAoU3dpbmcpKV8QEFRleHQgRmllbGQgKDI3NildQnV0dG9uIENlbGwt
+Nl8QFEJ1dHRvbiBDZWxsIChDYW5jZWwpXxAPTWVudSBJdGVtICgzKS0xXxAQUHVzaCBCdXR0b24gKE9L
+KV8QEE1lbnUgSXRlbSAoMTIvOClfEBJQb3B1cCBCdXR0b24gKDApLTFdTWVudSBJdGVtICgyKV8QGFBv
+cCBVcCBCdXR0b24gQ2VsbCAoNC80KV8QGFN0YXRpYyBUZXh0IChDb21wb3NlcjoKKVpUZXh0IEZpZWxk
+XxAdU3RhdGljIFRleHQgKEx5cmljcyBTdGFuemFzOileTWVudSBJdGVtIChDbSlbQXBwbGljYXRpb25a
+U2Nyb2xsZXItMV8QFEJ1dHRvbiBDZWxsIChSZXBlYXQpXxAWQmV2ZWwgQnV0dG9uIChQcmV2aWV3KV8Q
+HlRleHQgRmllbGQgKERpenp5IEdpbGxlc3BpZSktMV8QD01lbnUgSXRlbSAoMiktMV1NZW51IEl0ZW0g
+KEQpXxAYVGV4dCBGaWVsZCBDZWxsICh0aW1lcy4pXxATTWVudSAoT3RoZXJWaWV3cyktMV8QGFBvcCBV
+cCBCdXR0b24gQ2VsbCAoMCktMV8QFkJ1dHRvbiBDZWxsIChDYW5jZWwpLTFcU3RlcHBlciBDZWxsbgBN
+AGUAbgB1ACAASQB0AGUAbQAgACgAQSZtAClfEBBCdXR0b24gQ2VsbCAoT0spXU1lbnUgSXRlbSAoNClf
+EBxUZXh0IEZpZWxkIENlbGwgKENvbXBvc2VyOgopXxAPTWVudSBJdGVtICg0KS0yXxAWQnV0dG9uIENl
+bGwgKFpvb20gT3V0KV8QD0J1dHRvbiBDZWxsIChYKV8QFUJ1dHRvbiBDZWxsIChab29tIEluKV1CdXR0
+b24gQ2VsbC01XxAYUG9wdXAgQnV0dG9uIChTZWxlY3QuLi4pXxAaVGV4dCBGaWVsZCBDZWxsIChHcm9v
+dmU6CilfEBFUYWJsZSBDb2x1bW4gKDY0KV1TY3JvbGwgVmlldy0xXxASUG9wdXAgQnV0dG9uICg0LzQp
+bgBNAGUAbgB1ACAASQB0AGUAbQAgACgAQiZtAClaU2hlZXQgVmlld1tTY3JvbGwgVmlld1pTY3JvbGxl
+ci0zXxAXUG9wIFVwIEJ1dHRvbiBDZWxsICgxMildTWVudSBJdGVtIChHKVtTZXBhcmF0b3ItNV1CdXR0
+b24gQ2VsbC00XxAXU3RhdGljIFRleHQgKEx5cmljaXN0OilfEBNUZXh0IEZpZWxkIENlbGwgKDIpXxAS
+Qm94IChGaWVsZCBFZGl0b3IpXxAPTWVudSBJdGVtICg2KS0xXxAPTWVudSBJdGVtICg0LzQpXxASU2hl
+ZXQgTXVzaWMgV2luZG93XxAVQnV0dG9uIENlbGwgKFByZXZpZXcpXxBCU3RhdGljIFRleHQgKEVuZGlu
+ZyBpbiBtZWFzdXJlcyAxIHRocm91Z2ggMTAgYXBwbGllcyB0byByZXBlYXRzOgopXxAWUG9wIFVwIEJ1
+dHRvbiBDZWxsICgwKV8QIVRleHQgRmllbGQgQ2VsbCAoRGl6enkgR2lsbGVzcGllKV5NZW51IEl0ZW0g
+KEFtKV8QFkJldmVsIEJ1dHRvbiAoRGlzcGxheSleTWVudSBJdGVtIChGbSlfEBhQdXNoIEJ1dHRvbiAo
+QWRkIEVuZGluZylfECNUZXh0IEZpZWxkIENlbGwgKERpenp5IEdpbGxlc3BpZSktMV5Db250ZW50IFZp
+ZXctMl8QFkJ1dHRvbiBDZWxsIChTaG93IExvZyleTWVudSBJdGVtIChCbSlfEBVTdGF0aWMgVGV4dCAo
+VGl0bGU6CilbU2VwYXJhdG9yLTReVGV4dCBGaWVsZCAoMilfEBZQdXNoIEJ1dHRvbiAoQ2FuY2VsKS0x
+XxATTWVudSAoT3RoZXJWaWV3cyktM18QEkJ1dHRvbiBDZWxsIChTdG9wKdIADgA+B/EQaYEBmqDSAA4A
+PgfxEGyBAZqg0gAOAD4H8RBvgQGarxEBAAZiAi8GRwMSB7AF8AM4BC4FzweyAagGXwMuAaYAUQM5CiYD
+QAZdCKAKPAIwBxoAawMGAIUDMgeCAHsILQSHCbkAeAL2AHQFCgp9AGoAXgYxCogAbQL6CF0AiABNAIAE
+mQVKCZwDAAYYAE4C/wBKB64L4QcKBmEFmQI1AJkAdwCEAWkHagkbAIILcgZDAGcCFwRKBEsHwQlMAacF
+7QBLAFsA9AL5Az4ATAs4AvwJtwBaAGEDMwsoCaAKFgKMBfMAcQZgBLkJIQBlAG8IFAB5AwEFKwcFAUEB
+7wQjBWEISAL7CpgA/wFkBE0AXQK/CZAEyQM6Az8DQgYSBOoHBABuAFcAcwp+BDIHAwXWC9gDNAdAAFIG
+yQwUC5AHtQezC8EKPgBYAxYBTQUbBWIBpQD6BwIC/QvUDAMG6ABcBPoAaQqAAHoAfAL3AzwAgwY3B7EC
+9AMwA0EMwwbCAB8ETgTaBuwJtgZcAIcChgBUAzUAVQpoAGwAhgqjCj0IcwiJAH4AfQBkCQwKgwevAEgA
+cgBWBEwAjgVjBUYJigvyAFALlgBgAzsHWQBjC9kMMQoiAGYFOwB2CUYJBgBwAv4JuACBChAGXgFIAF8A
+aAvbDQoFkwjiAzcAfwctAE8KPwJOC3kHtABZAUIDMQBJAFMAYgM2B1IAdQjpBwEDLwKJAJwC+AZjgQFQ
+gF6BAUGAloEBpoEBLICtgMKBASOBAa6ASYEBSoCbgEWBASqAr4ECH4C5gQFGgQG9gQIigGSBAXCBAhSA
+lIECroCigQGCgQJ/gQGqgNOBAgmBAnWAvoECaIDzgQIugQISgQHrgQE8gQIwgQIXgOKBAbGBArKAeIEC
+ooDXgQEBgQICgPiBATaAgYD1gDCBAYqBAoeBAWyBAU6BARSAYIALgQJtgQKsgDmBAYCBAeCBAqaBAm6B
+AUCBAf2AW4DHgMmBAZCBAe6AR4EBK4BXgQHfgB2A3oC1gFmBAlyA6oECB4EB2oEB84CkgQJYgQIDgQIc
+gHyBAS+BAmKBAUyA4IEB4oEB+oECKIEBo4ECeYD8gPqBAXyAT4EBD4DAgQEFgQGtgOaBAjSAWoA4gM2B
+AeiAiYECAIDkgLCAt4C8gQE0gOyBAXiBAhmBAWSBAmeBAjKAw4EBc4EBJYECiYCmgQF6gQEzgQFcgQKT
+gQJ2gQG6gQGygQKBgQIkgQHQgJeAj4D3gQEGgEOAIIEBboDtgQKFgQKPgQFlgQHngO+BAhCBAlaBAn2B
+AoCA0YCzgQKqgQE+gQGrgJKAnoC6gQK0gQFagAKAz4DogQFogQIGgQFEgQKwgHmBAVaAqIEBWYECKYEC
+FoECr4ECNYECI4EBtYEBuYECmoECmYEB+IEB3YECWoEBoYAJgQJkgQFhgMuACoEBCIEBAIEB/oECi4EB
+IoECeIEB8YCygQHFgQH3gQKNgQKcgQIegQH8gP6BAmuBAeyBAduBAmGA8YECCIECpIECGoEBSIA0gQHv
+gQIMgQKRgQK9gQEYgQHRgKuBApuBAXWAiIECJYBmgQJwgQG2gQHYgDGAoIAcgQE7gQH1gKmBAceBAmmB
+AdOBAWqAnYB6gA6A1YEBUdIADgA+B/ERcoEBmq8RAQARcxF0EXURdhF3EXgReRF6EXsRfBF9EX4RfxGA
+EYERghGDEYQRhRGGEYcRiBGJEYoRixGMEY0RjhGPEZARkRGSEZMRlBGVEZYRlxGYEZkRmhGbEZwRnRGe
+EZ8RoBGhEaIRoxGkEaURphGnEagRqRGqEasRrBGtEa4RrxGwEbERshGzEbQRtRG2EbcRuBG5EboRuxG8
+Eb0RvhG/EcARwRHCEcMRxBHFEcYRxxHIEckRyhHLEcwRzRHOEc8R0BHREdIR0xHUEdUR1hHXEdgR2RHa
+EdsR3BHdEd4R3xHgEeER4hHjEeQR5RHmEecR6BHpEeoR6xHsEe0R7hHvEfAR8RHyEfMR9BH1EfYR9xH4
+EfkR+hH7EfwR/RH+Ef8SABIBEgISAxIEEgUSBhIHEggSCRIKEgsSDBINEg4SDxIQEhESEhITEhQSFRIW
+EhcSGBIZEhoSGxIcEh0SHhIfEiASIRIiEiMSJBIlEiYSJxIoEikSKhIrEiwSLRIuEi8SMBIxEjISMxI0
+EjUSNhI3EjgSORI6EjsSPBI9Ej4SPxJAEkESQhJDEkQSRRJGEkcSSBJJEkoSSxJMEk0SThJPElASURJS
+ElMSVBJVElYSVxJYElkSWhJbElwSXRJeEl8SYBJhEmISYxJkEmUSZhJnEmgSaRJqEmsSbBJtEm4SbxJw
+EnEScoEDg4EDhIEDhYEDhoEDh4EDiIEDiYEDioEDi4EDjIEDjYEDjoEDj4EDkIEDkYEDkoEDk4EDlIED
+lYEDloEDl4EDmIEDmYEDmoEDm4EDnIEDnYEDnoEDn4EDoIEDoYEDooEDo4EDpIEDpYEDpoEDp4EDqIED
+qYEDqoEDq4EDrIEDrYEDroEDr4EDsIEDsYEDsoEDs4EDtIEDtYEDtoEDt4EDuIEDuYEDuoEDu4EDvIED
+vYEDvoEDv4EDwIEDwYEDwoEDw4EDxIEDxYEDxoEDx4EDyIEDyYEDyoEDy4EDzIEDzYEDzoEDz4ED0IED
+0YED0oED04ED1IED1YED1oED14ED2IED2YED2oED24ED3IED3YED3oED34ED4IED4YED4oED44ED5IED
+5YED5oED54ED6IED6YED6oED64ED7IED7YED7oED74ED8IED8YED8oED84ED9IED9YED9oED94ED+IED
++YED+oED+4ED/IED/YED/oED/4EEAIEEAYEEAoEEA4EEBIEEBYEEBoEEB4EECIEECYEECoEEC4EEDIEE
+DYEEDoEED4EEEIEEEYEEEoEEE4EEFIEEFYEEFoEEF4EEGIEEGYEEGoEEG4EEHIEEHYEEHoEEH4EEIIEE
+IYEEIoEEI4EEJIEEJYEEJoEEJ4EEKIEEKYEEKoEEK4EELIEELYEELoEEL4EEMIEEMYEEMoEEM4EENIEE
+NYEENoEEN4EEOIEEOYEEOoEEO4EEPIEEPYEEPoEEP4EEQIEEQYEEQoEEQ4EERIEERYEERoEER4EESIEE
+SYEESoEES4EETIEETYEEToEET4EEUIEEUYEEUoEEU4EEVIEEVYEEVoEEV4EEWIEEWYEEWoEEW4EEXIEE
+XYEEXoEEX4EEYIEEYYEEYoEEY4EEZIEEZYEEZoEEZ4EEaIEEaYEEaoEEa4EEbIEEbYEEboEEb4EEcIEE
+cYEEcoEEc4EEdIEEdYEEdoEEd4EEeIEEeYEEeoEEe4EEfIEEfYEEfoEEf4EEgIEEgYEEghEBQhBkEQE7
+ECwQ4hEBCxAkEFAQ+RDkEEIRATwQQBEBSxAlEQEzEDARAUAQ7xEBNRBlEgABh3sQ/BIAAYa3EL8QHhIA
+AYf4ELQQ6hIAAYdCEQEnEQFMEEkQiBIAAYdREMYQmREBThEBOhIAAYdmEIYQpRDsEQFVEMwQwRIAAYdD
+EQEvELUSAAGH8xCgEEUQ4BIAAYetEgABh3oRAUESAAGH9BIAAYcEEJEQwBCtED4Q3xC9EJUQvBEBRBEB
+RRBOEgABh4ASAAGHbhBDEQEOEG4QwxBhEKQQLhCNEgABh28QpxEBJhEBTRD4EB8SAAGHahEBIxIAAYfS
+EgABh2kSAAGHrhBGEQE9EgABh0QSAAGHXREBBBDQEOkQoRD+EgABh1UQ3hAWEIISAAGG6REBAxDrEKYS
+AAGHZxBmED8QTBCoEgABh8ISAAGHRRAmECsQLREBUxIAAYdHEN0RAUYQ8BEBTxDHEEoQ3BIAAYeZEQEo
+EgABh30SAAGH+xIAAYdLEgABh9kRAQwQ5xDlEQE2EJsQGBByEgABh1IQQRIAAYcBENsQsBEBDRIAAYfR
+ENgRAVASAAGHUBBVEMoQwhEBSBCiECcQlhIAAYfaEOMQFxAbEC8QkBCrEE8SAAGHRhDZEQEkEQE+EPoQ
+yRCqECEQrxDEEQFREL4RATcQ7RDuEMsQ8RIAAYdtEM8Q4RCcELMQqRBNEJMRASISAAGHyBD9EgABh6wQ
+lxAoEgABh/YQbxEBMREBBxEBOBEBUhIAAYeeEK4QzhDNEBEQsREBJRIAAYf6EQEyEQE/EgABht0QcBCf
+EQE5E//////////9EgABh/UQkhAjEQEIEgABh3wQnhEBNBIAAYcFEgABh1wQ5hD3ED0QGhCHEQFHEQEG
+ECISAAGH9xDUEgABhzIQ2hAdEMUSAAGHMxCjEQFD0gAOAD4ARhNngEug0gAOAD4H8RNqgQGaoNIADgA+
+B/ETbYEBmqDSADcAOBNvE3CiE3AAO15OU0lCT2JqZWN0RGF0YQAIABkAIgAnADEAOgA/AEQAUgBUAGYJ
+eAl+CckJ0AnXCeUJ9woTCiEKLQo5CkcKUgpgCnwKigqdCq8KyQrTCuAK4grlCugK6wruCvAK8wr1CvgK
++wr+CwELAwsFCwgLCwsQCxMLHAsoCyoLLAs6C0MLTAtXC1wLawt0C4cLkAubC50LngunC64LuwvBC8oL
+zAxRDFMMVQxXDFkMWwxdDF8MYQxkDGcMagxtDHAMcwx2DHkMfAx/DIIMhQyIDIsMjgyRDJQMlwyaDJ0M
+oAyjDKYMqQysDK8Msgy1DLgMuwy+DMEMxAzHDMoMzQzQDNMM1gzZDNwM3wziDOUM6AzrDO4M8Qz0DPcM
++gz9DQANAw0GDQkNDA0dDSsNNA08DT4NQA1CDUQNZQ13DX8Nhg2PDZkNog2uDbANsg20DbYNuQ26DbwN
+vg3bDeYN8g30DfYN+Q38Df4OAQ4aDk8OWw5xDn8OlA6jDrUOwA7KDtgO6g73DwUPCg8MDw4PEA8SDxQP
+Fg8YDxoPHA8fDyQPLQ82D0cPTg9VD14PYA9pD2sPbQ96D4MPiA+PD5wPqw+tD68PsQ+5D8EPyg/PD+IP
+4w/sD/UQAhAPEBgQIxAsEDYQPRBJEFUQXhBlEHwQixCoELIQvBDbEN0Q3xDhEOMQ5RDnEQQRBhEIEQoR
+DBEPERAREhErES0RLxExETMRNRFMEXERhRGZEaURrhGwEbIRtBG2EbgRvRG+EcAR0RHTEdwR3hHhEfYR
+/hILEhcSJRInEikSKxItEi8SNhJMElkSYRJjEmUSaBJxEnYSixKNEo8SkRKTEp0SqhKsEq8SuBLBEtMS
+3BLnEvMTExMZEzITOxNCE1oTaxNtE28TcRNzE5ATkhOUE5YTmBObE5wTnhO3E7kTuxO9E8ATwhPaFCkU
+RhRYFGsUdhSIFJ0UqxSyFLsUvBS+FMAUwhTEFMYUyBTKFMwUzRTOFNEU0xTYFOkU6xTtFPYVABUCFQsV
+EhUkFS0VXhVnFW8VgxWOFZwVphWzFbwVwhXKFcwVzhXQFdUV1xXcFd4V4BXiFeQV5xX0FgAWAhYEFgYW
+ChYXFhkWGxYdFi8WPBY+FkAWQhZVFmkWchZ3FoAWghaNFpYWmBajFqUWpxapFqsWrRbaFtwW3hbgFuIW
+5BbmFugW6hbtFvEXHhcgFyIXJBcmFygXKhcsFy4XMRc1F2IXZBdmF2gXahdsF24XcBdyF3UXehenF6kX
+qxetF68XsRezF7UXtxe6F74XxxfOF90X5RfuF/MX/BgJGB0YLBg1GEIYUBhtGHkYexh9GIAYghiEGIYY
+iBitGLcYwRjLGM4Y0RjUGNYY2RjbGN0Y4BjrGPcZABkJGRYZHxkoGS8ZRxlYGVoZXBleGWAZcxmUGZ4Z
+oBmiGaQZphmoGaoZrBnhGesZ9xoFGhIaHBouGjwaPhpAGkIaRBpFGkcaUBpSGlQaVhpYGm0abxpxGnMa
+dhp/GoEahBqGGo8akRqYGpoanBqeGrsavRq/GsEawxrGGscayRrgGxUbFxsZGxsbHRsfGyEbIxslGy4b
+MRtCG0QbRhtJG10beht8G34bgBuCG4MbhRucG9Eb0xvVG9cb2RvbG90b3xvhG+sb9Bv7HBUcHBw5HDsc
+PRw/HEEcQxxQHGEcYxxsHG4ccRx+HIAcjhyXHKAcphy7HMIczRzaHOIc5BznHOkc7BzuHQcdDx0YHR0d
+Kh1HHUkdSx1NHU8dUR1THXAdch10HXYdeB15HXsdkB2SHZQdlx2aHbEd1h3eHeod9R4AHg0eFh4bHh0e
+Jh4vHjEeMh47HkQeUh5bHmYecB6OHqUexh7IHsoezB7OHtAe0h7UHvUfAR8VHyIfJB8nHykfLB8uH00f
+Th9fH2EfYx9lH2gfmR+mH7MfwR/LH9kf5h/wIAIgFiAgICwgLiAxIDQgNiA7ID0gPyBCIEQgRyBJIGMg
+aiBvIHggeiCBIIMghiCIIL0gvyDBIMQgxyDIIMogzSDPINEg0yDcIN4g4SDjIOwg7iELIQ0hDyERIRMh
+FSEXIRkhGyEdIR8hISEjISUhJyFEIUYhSCFKIUwhTSFPIWchuiHMIc0hzyHRIdMh1SHXIdkh2yHcId0h
+3yHhIeoh7CIdIh8iISIjIiUiJyIpIisiLSI2IkMiRSJHIkkiTCJVIlciYCJiIo8ikSKTIpUilyKZIpsi
+nSKfIqEioyKlIqciqSKrIq0iryKxIrMitSK3Irki5iLoIuoi7CLuIvAi8iL0IvYi+CMpIzcjRCNGI0gj
+SiNLI00jTiNQI1IjVCNWI4MjhSOHI4kjiyONI48jkSOTI5wjniPLI80jzyPRI9Mj1SPXI9kj2yPkI+kk
+FiQYJBokHCQeJCAkIiQkJCYkLyQ0JGEkYyRlJGckaSRrJG0kbyRxJHokfySsJK4ksCSyJLQktiS4JLok
+vCTFJMok+yT9JP8lASUCJQQlBSUHJQklCyUNJTolPCU+JUAlQiVEJUYlSCVKJUwleSV7JX0lfyWBJYMl
+hSWHJYkljCWOJbslvSW/JcElwyXFJcclySXLJc4l0CYBJgMmBSYHJggmCiYLJg0mDyYRJhMmQCZCJkQm
+RiZIJkomTCZOJlAmUiZVJoYmiCaKJowmjSaPJpAmkiaUJpYmmCbFJscmySbLJs0mzybRJtMm1SbeJuEn
+DicQJxInFCcWJxgnGiccJx4nJycqJ1cnWSdbJ10nXydhJ2MnZSdnJ3AncyekJ6YnqCeqJ6snrSeuJ7An
+sie0J7Yn4yflJ+cn6SfrJ+0n7yfxJ/Mn9if5KCYoKCgqKCwoLigwKDIoNCg2KDkoPChZKFsoXShfKGEo
+YihkKH0o0CjRKNMo1SjXKNko2yjdKN8o4CjhKOMo5SjuKPApISkjKSUpJykpKSspLSkvKTEpMylAKUIp
+RClGKUkpUilUKV0pXylsKW4pcClyKXQpdil4KaUppympKasprSmvKbEpsym1KcIp7ynxKfMp9Sn3Kfkp
++yn9Kf8qCSo2KjgqOio8Kj4qQCpCKkQqRipVKoIqhCqGKogqiiqMKo4qkCqSKpQqwSrDKsUqxyrJKssq
+zSrPKtEq0yrVKvIq9Cr2Kvgq+ir7Kv0rFSs6KzwrPitAK0IrRCtJK0orTCtuK4srjSuPK5ErkyuUK5Yr
+rSvOK9Ar0ivUK9Yr2CvdK98r5yv8K/4sACwCLAQsESweLCAsLCxBLEMsRSxHLEksXCx5LHssfSx/LIEs
+giyELJwsvSy/LMEswyzFLMcsySzULPEs8yz1LPcs+Sz6LPwtFC05LTstPS0/LUEtQy1ELUYtWC11LXct
+eS17LX0tfi2ALZgtuS27Lb0tvy3BLcMtxS3PLewt7i3wLfIt9C31LfcuEC41LjcuOS47Lj0uPy5ALkIu
+Xy5hLmMuZS5nLmguai6CLqMupS6nLqkuqy6tLq8uti7TLtUu1y7ZLtsu3C7eLvYvGy8dLx8vIS8jLyUv
+Ji8oLywvSS9LL00vTy9RL1IvVC9sL5Uvoi+rL60vri+3L7kvui/XL9kv2y/dL98v4C/iL/owGzAdMB8w
+ITAjMCUwJzAwME0wTzBRMFMwVTBWMFgwcTDAMMEwwzDFMMcwyTDLMM4w0DDRMNIw1TDeMOAxETETMRUx
+GDEaMRwxHjEhMSMxMDEyMTUxODFCMUsxTTFWMVgxYTFkMWcxajFtMZ4xoDGiMaQxpTGnMagxqjGsMa8x
+sTHaMdwx3jHhMeMx5THnMeox7DHyMhsyHTIfMiIyJDImMigyKzItMjcyQTJaMncyeTJ7Mn4ygDKDMoky
+ljKYMsEyzTLWMuIy5DLnMuoy7TLvMvIy9DL3MvkzAjMEMwszDTMQMxMzHDMeMyEzIzM6M0MzTDNXM3gz
+gzOGM4kzjDOPM5IzlTOtM7ozwzPOM9k0AjQMNA80EjQVNBg0GTQcNB80KDRANFk0YjRrNHg0gzSbNKY0
+wzTMNNE05DTrNPw0/jUBNQM1BjUnNSk1KzUuNTE1MjU0NTY1TzWENYY1iTWMNY41kTWTNZY1mzWoNao1
+rDWvNbQ1wTXSNdQ11jXZNdw2ATYENgY2CTYMNg02EDYTNhY2MzY2Njg2OzY+NkE2RDZdNpY2nzahNqM2
+pTanNqo2rTavNrI2tDa9NsA2wjbYNuk26zbtNvA28zcUNxY3GDcbNx43HzchNyM3OzdwN3I3dTd4N3o3
+fTd/N4I3ijeXN5k3mzeeN6Y3vDfZN9s33TfgN+M35jfpOAo4DTgPOBI4FTgWOBk4HDg0OIc4iDiKOIw4
+jjiROJM4ljiZOJo4mzieOKc4qTjWONk42zjdON844TjjOOY46Dj1OPc4+jj9OQY5CDkRORM5JjkpOSw5
+LzkyOTU5ODk7OT45QTlqOW05bzlyOXQ5djl4OXs5fTl/Oag5qzmtObA5sjm0ObY5uTm7Ob055jnpOes5
+7jnwOfI59Dn3Ofk5+zokOic6KTosOi46MDoyOjU6Nzo5OmI6ZTpnOmo6bDpuOnA6czp1Onc6oDqjOqU6
+qDqqOqw6rjqxOrM6tTreOuE64zrlOuc66TrrOu468DsZOxw7HjshOyM7JTsnOyo7LDsuO047XDtrO4g7
+ijuMO487kTuTO5Y7tTvNO9474DvjO+U76DwJPAs8DTwQPBM8FDwWPBg8MTxmPGg8azxuPHA8czx1PHg8
+fTyKPIw8jjyRPJU8ojy/PME8wzzGPMg8yjzNPOw9BD0VPRc9Gj0cPR89UD1TPVY9WT1bPV09YD1jPWU9
+aD1rPYY9jz2RPaY9qD2qPa09sD25Pbs9xj3JPcw9zz3SPdU98j31Pfc9+j39Pf4+AT4aPjs+PT4/PkI+
+RD5HPkk+gD6hPqQ+pj6pPqw+rT6wPrM+yz8EPwY/CD8KPw0/ED8SPxU/Iz8lP0Y/ST9LP04/UT9SP1U/
+WD9wP6k/qz+tP68/sj+1P7c/uj/BP8M/5D/nP+k/7D/vP/A/80AMQEVAR0BJQEtATkBRQFNAVkBhQJZA
+qUC2QMRAx0DKQM1A0EDTQNZA6UDsQO9A8kD1QP5BAEELQQ5BEUEUQRdBGkFDQUZBSUFMQU9BUkFVQVhB
+W0FeQWdBaUFsQW9BvkHgQepB90IMQhlCM0JPQmpCdkKVQqRCsEKzQrZCu0K+QsBCwULEQs1C0ELRQtRC
+10LaQuNC7UMGQxJDFUMYQxtDHkMhQ0pDTUNQQ1NDVkNZQ1xDX0NiQ2xDdUN+Q5JDp0OqQ61DsEOzQ8pD
+00PcQ+pD80P1RAZECUQMRA9EEkQVRBhEG0QeRENEUERdRGVEcER7RIZEk0SWRJlEnESfRKBEo0TARMVE
+yETLRM5E0ETTROBE4kTuRQNFBUUHRQpFDEUeRSdFMkVGRXdFeUV8RX9FgUWERYdFjEWdRZ9FqEWqRb9F
+zEXTRdZF2UXeReFF5EXtRfZF+EX7Rf5GB0YKRg9GEkYVRh5GNUY4RjtbzVvWW91b8Fv7XARcCVwWXBhc
+HVwmXCtcNFxAXENcRlxPXFhcXVxzXHxcgVyPXLRct1y6XL1cwFzBXMRc4VzkXOdc6lzsXO9dJF0mXSld
+LF0uXTBdM102XUNdRV1HXUpdb11yXXVdeF17XXxdf12cXZ9dol2lXaddql2/XcFdw13GXchd1F4JXgte
+Dl4RXhNeFV4YXhteQF5DXkZeSF5LXkxeT15sXm9ecl51Xndeel6vXrFetF63Xrleu16+XsFe5l7pXuxe
+717yXvNe9l75XxZfGV8cXx9fIV8kX1lfW19eX2FfY19lX2hfa1+QX5Nfll+ZX5xfnV+gX6NfwF/DX8Zf
+yF/KX81gAmAEYAdgCmAMYA5gEWAUYDlgPGA/YEJgRWBGYElgTGBpYGxgb2ByYHRgd2CsYK5gsWC0YLZg
+uGC7YL5g42DmYOlg7GD1YPhhAWECYQVhCWEmYSlhLGEuYTBhM2FoYWphbWFwYXJhdGF3YXphj2GRYZRh
+l2GZYaNhsGGyYbdhwGHLYeJh92H5Yfth/mIAYhliOmI9YkBiQ2JGYkliTGJVYnBilWKYYptinmKhYqRi
+p2KwYsxi1WLXYtpi3WLzYwtjImMtYzpjS2NNY1BjUmNVY3ZjeGN6Y31jgGOBY4NjhWOdY9Jj1GPXY9pj
+3GPfY+Fj5GPsY/lj+2P9ZABkBmQVZCZkKGQqZC1kMGQ7ZExkTmRQZFNkVmR3ZHlke2R+ZIFkgmSEZJxk
+1WTXZNlk22TeZOFk42TmZPNlAGUCZQVlCGUpZStlLWUwZTNlNGU2ZThlUWWGZYhli2WOZZBlk2WVZZhl
+oWWuZbBlsmW1Zb1lxmXXZdll22XeZeFl/mYAZgJmBWYHZglmDGYoZj1mTmZQZlJmVWZYZnlme2Z9ZoBm
+g2aEZoZmnmbXZtlm22bdZuBm42blZuhm+Wb7Zv1m/2cCZw5nG2cdZx9nImcrZzxnPmdAZ0NnRmdPZ2Bn
+YmdkZ2ZnaWd1Z4ZniGeKZ4xnjmefZ6FnpGemZ6lntGfFZ8dnyWfLZ85n3GftZ+9n8Wf0Z/doFGgWaBho
+G2geaCFoJGhFaEhoSmhNaFBoUWhUaFdocGi/aMBowmjEaMZoyWjLaM5o0WjSaNNo1mjfaOFpDmkRaRNp
+FmkYaRppHGkfaSFpLmkwaTNpNmk/aUFpSmlMaVdpWmldaWBpY2lmaY9pkmmUaZdpmWmbaZ1poGmiactp
+zmnQadNp1WnXadlp3GneagdqCmoMag9qEWoTahVqGGoaakNqRmpIaktqTWpPalFqVGpWanlqjWquarBq
+smq1ardquWq8ar9q32ryav9rAWsEawZrCWsLaxxrHmsgayJrJWsza0BrQmtFa0hrVGtha2NrZmtpa29r
+gGuCa4Rrh2uKa5trnWufa6FrpGuxa85r0GvSa9Vr2Gvba95r/2wCbARsB2wKbAtsDmwRbClseGx5bHts
+fWx/bIJshGyHbIpsi2yMbI9smGyabMdsymzMbM9s0WzTbNVs2GzabOds6WzsbO9s+Gz6bQNtBW0QbRNt
+Fm0ZbRxtH21IbUttTW1QbVJtVG1WbVltW22EbYdtiW2MbY5tkG2SbZVtl23AbcNtxW3IbcptzG3ObdFt
+0238bf9uAW4EbgZuCG4Kbg1uD24ybkZuV25ZblxuXm5hbpJulG6XbppunG6fbqJupW6obqtuxm7PbtFu
+2m7cbuVu5272bvlu/G7+bwFvBG8HbwpvJ28pbytvLm8xbzJvNG9Mb21vb29xb3Rvdm95b3tvmm+3b7lv
+u2++b8Fvwm/Eb9twBHAQcBJwFHAXcBlwHHAfcChwKXArcHJweXCEcItwl3CfcLJwuXDHcNtw7XEBcRRx
+IHEncTRxRnFJcUxxT3FScVRxV3FZcVxxX3FicWNxZnFocWtxbnFvcXBxfXGAcZlxnHGfcaJxpXGocatx
+rnGxcbRxt3G6cb1x1nHZcdtx3nHgceNx5nHpcexx73HycfVx+HIRchtyI3I7ckpyZHJ4coVyjXKmcrVy
+yXLOcuty9nMCcxFzG3MnczNzNnM3c0pzS3NUc1lzdnODc5Bzk3OWc5lzpnOoc6lzqnOzc7hzzXPOc+tz
+7nPvdAJ0A3QIdAt0DXQWdB10M3Q8dD90QnRPdFJ0VXRYdFx0XnRndG50gnSfdKF0o3SmdKl0qnSsdMR0
+5XTndOl07HTudPF083T6dRt1HXUfdSJ1JXUmdSh1QHV5dXt1fXV/dYJ1hXWHdYp1kXWodbV1xnXIdcp1
+zHXPdeB14nXkdeZ16XXxdg52EHYSdhV2F3YZdhx2OHZNdl52YHZidmV2aHZ5dnt2fXZ/doJ2k3aVdph2
+mnaddqh2tXa3drp2vXbDdtR21nbZdtt23nb/dwF3A3cGdwl3CncMdw53J3dcd153YXdkd2Z3aXdrd253
+dneDd4V3h3eKd5F3oHexd7N3tXe4d7t34Hfjd+V36Hfrd+x373fyeAl4QnhEeEZ4SHhLeE54UHhTeHR4
+dnh4eHt4fXh/eIJ4hXireMR40XjTeNZ42HjbeN146njseO948nj6eRd5GXkbeR55IHkieSV5Nnk4eTt5
+PXlAeXF5dHl3eXp5fHl+eYF5hHmHeYp5pXmuebB5uXm7ec550XnUedd52nndeeB543nmeel6CnoNeg96
+EnoVehZ6GXocejR6VXpXell6XHpeemF6Y3pwepF6lHqWepl6nHqdeqB6o3q7etx63nrgeuN65Xroeup7
+A3skeyd7KXssey97MHszezZ7T3twe3J7dHt3e3l7fHt+e4N7pHune6l7rHuve7B7s3u2e85773vxe/N7
+9nv4e/t7/XwPfBp8KHxFfEd8SXxLfE18UHxSfGN8ZXxnfGp8bXx+fIB8g3yFfIh8rXy3fMR8xnzJfMx8
+1XzYfNp83XzffOJ853zqfPN8+H0DfRx9JX0ufUR9V31ofWp9bX1vfXJ9hH2VfZd9mn2cfZ99sX3Cfct9
+0n3Vfdh9233effF+A34MfhF+JX42fjl+O34+fkF+VH5lfmh+a35ufnF+f36QfpN+ln6Zfpx+rX6wfrN+
+tn65fsp+zX7QftN+1n7kfvV++H77fv5/AX8Kfw2AjICPgJKAlICXgJmAnICfgKGApICmgKiAq4CugLGA
+tIC2gLmAvIC/gMKAxIDGgMmAzIDOgNGA04DVgNeA2YDcgN+A4oDlgOeA6YDsgO6A8IDzgPWA+ID7gP2B
+AIECgQWBCIELgQ6BEIETgRWBF4EZgRyBH4EhgSOBJYEngSqBLIEugTGBNIE3gTqBPIE+gUGBRIFHgUmB
+TIFPgVKBVYFYgVqBXYFggWOBZYFogWuBboFwgXOBdoF5gXuBfYGAgYOBhoGJgYyBj4GSgZWBl4GZgZuB
+noGggaOBpoGpgayBr4GygbSBt4G6gb2Bv4HBgcOBxYHIgcuBzYHQgdOB1oHZgduB3YHfgeGB5IHngeqB
+7YHwgfKB9YH3gfmB/IH/ggKCBIIHggqCDYIPghKCFIIXghqCHYIfgiGCJIImgiiCK4Itgi+CMoI0gjeC
+OoI9gj+CQoJEgkaCSIJKgk2CT4JSglSCVoJYglqCXIJfgmGCY4JmgmiCa4JugnCCc4J2gqeCqYKsgq+C
+soK1griCu4K+gsGC3ILlgueC8ILygvuC/YMGgwiDGYMcgx6DIYMkgyeDKoMtgzCDO4NEg0aDSYNXg2CD
+Y4TihOWE6ITqhO2E74TyhPWE94T6hPyE/oUAhQOFBoUJhQuFDoURhRSFF4UZhRuFHoUghSKFJYUnhSmF
+K4UthTCFM4U2hTmFO4U9hUCFQoVEhUeFSYVMhU+FUYVThVWFWIVahV2FYIVihWWFZ4VphWuFboVxhXOF
+dYV3hXmFe4V9hX+FgYWDhYaFiYWLhY2FkIWThZaFmIWbhZ2FoIWjhaaFqIWqha2FsIWyhbWFuIW6hbyF
+v4XChcWFx4XJhcyFz4XShdWF2IXbhd6F4YXjheWF6IXrhe2F8IXyhfSF94X6hfyF/oYAhgOGBYYHhgmG
+C4YNhhCGE4YVhhiGG4YehiGGI4YlhieGKYYshi6GMYY0hjaGOIY7hj2GP4ZChkWGSIZKhk2GUIZThlWG
+WIZahl2GYIZjhmWGZ4ZqhmyGboZxhnSGdoZ4hnqGfYaAhoOGhYaIhoqGjIaOhpCGk4aVhpiGmoachp6G
+oIaihqSGp4aphqyGroaxhrOGtYa4hruGxIbHiEiIS4hOiFCIU4hWiFiIW4heiGCIYohliGiIa4htiHCI
+c4h2iHiIe4h+iICIg4iGiImIjIiOiJCIkoiUiJeImoiciJ+IooikiKeIqYiriK6IsIiziLWIuIi7iL6I
+wIjCiMWIx4jKiMyIz4jRiNOI1YjYiNuI3YjgiOOI5YjoiOqI7IjviPKI9Yj4iPqI/Ij/iQKJBIkGiQiJ
+C4kNiRCJE4kWiRiJG4keiSGJI4kmiSmJLIkuiTGJNIk3iTmJO4k+iUGJRIlHiUqJTYlQiVOJVYlXiVmJ
+XIlfiWKJZYloiWqJbYlwiXKJdYl4iXuJfYl/iYGJg4mGiYmJjImPiZGJlImXiZmJm4mdiaCJoomliaiJ
+q4muibCJs4m1ibiJu4m+icGJw4nFiciJy4nNidCJ04nVidiJ24ndid+J4onlieeJ6Ynrie6J8YnzifWJ
++In7if2KAIoCigSKBooIiguKDooRihOKFYoYihqKHYofiiGKI4oliieKKYosii+KMYo0ij2KQIvBi8SL
+x4vKi82L0IvTi9aL2Yvci9+L4ovli+iL64vui/GL9Iv3i/qL/YwAjAOMBowJjAyMD4wSjBWMGIwbjB6M
+IYwkjCeMKowtjDCMM4w2jDmMPIw/jEKMRYxIjEuMToxRjFSMV4xajF2MYIxjjGaMaYxsjG+Mcox1jHiM
+e4x+jIGMhIyHjIqMjYyQjJOMloyZjJyMn4yijKWMqIyrjK6MsYy0jLeMuoy9jMCMw4zGjMmMzIzPjNKM
+1YzYjNuM3ozhjOSM54zqjO2M8IzzjPaM+Yz8jP+NAo0FjQiNC40OjRGNFI0XjRqNHY0gjSONJo0pjSyN
+L40yjTWNOI07jT6NQY1EjUeNSo1NjVCNU41WjVmNXI1fjWKNZY1ojWuNbo1xjXSNd416jX2NgI2DjYaN
+iY2MjY+Nko2VjZiNm42ejaGNpI2njaqNrY2wjbONto25jbyNv43CjcWNyI3Ljc6N0Y3UjdeN2o3djeCN
+443mjemN7I3vjfKN9Y34jfuN/o4MjhqOUY54joyOm46ujr2O2o7ojwOPGY8tjzyPUY91j4OPlY+uj8OP
+0Y/lj/eQDZAXkC2QOZBIkFaQZJBwkISQlpCzkNGQ45D9kRuRLZFKkWGRepGCkZaRsZHOkeWR95IDkjeS
+SZJ4koeSm5K0kseS25LpkxaTLpNEk1GTb5N+k5GTwpPQk++T95QFlBeUKZQ3lEaUUpRllHeUhZShlLeU
+xZTXlPCVDZUllTyVRpVZlWyVjZWqlcSWDZYlllCWY5Z7lomWkparlsyW25bnlvKXB5ctl0eXVJdql3yX
+lZe2l82X25f4mAWYIJg4mEuYWZhwmIKYlZiomL2Yy5jmmQGZDJksmTuZR5lSmWmZgpmjmbWZw5nemfSa
+D5oomjWaUpplmnOakpqkmr2az5rnmvWbEJstm0GbT5tkm4GbjJuYm6ObvZvLm9eb5Zv/nBWcKpw8nE6c
+Y5x7nMCc2Zz9nQydJZ00nU+ddZ2EnZ2drJ3EndCd3534ng6eI54sni+eMJ45njyePZ5GnkmgTaBQoFKg
+VaBXoFqgXaBfoGGgZKBnoGmgbKBuoHCgc6B1oHigeqB9oICgg6CFoIigi6CNoJCgkqCVoJigm6CdoKCg
+o6CloKigqqCtoLCgs6C2oLmgvKC+oMGgxKDGoMmgy6DOoNGg06DWoNig2qDcoN+g4qDloOig66DtoO+g
+8qD1oPeg+qD9oQChA6EGoQmhC6ENoQ+hEqEVoRehGqEcoR+hIaEjoSWhJ6EqoSyhL6EyoTWhN6E6oT2h
+QKFCoUWhSKFLoU2hUKFToVahWaFcoV6hYKFjoWWhaKFqoW2hcKFyoXWhd6F5oXuhfqGAoYOhhaGHoYmh
+i6GOoZChk6GWoZmhnKGfoaGhpKGnoaqhrKGvobKhtaG4obuhvqHBocShx6HKocyhzqHQodOh1aHXodqh
+3KHfoeKh5aHooeqh7aHwofOh9qH4ofqh/aIAogOiBaIHogmiDKIPohGiE6IVohiiG6IeoiGiI6Imoiii
+K6IuojGiNKI3ojqiPaJAokOiRqJJokyiT6JSolSiV6JaolyiXqJhomSiZ6Jqom2icKJzonWieKJ7on6i
+gaKEooeiiaKMoo+ikqKVopeimqKdoqCio6Kloqiiq6KuorGitKK3ormivKK/osGixKLGosmizKLPotGi
+06LVotii26LdouCi46Lmoumi66Ltou+i8aL0ov2jAKUEpQelCqUNpRClE6UWpRmlHKUfpSKlJaUopSul
+LqUxpTSlN6U6pT2lQKVDpUalSaVMpU+lUqVVpVilW6VepWGlZKVnpWqlbaVwpXOldqV5pXylf6WCpYWl
+iKWLpY6lkaWUpZelmqWdpaClo6WmpamlrKWvpbKltaW4pbulvqXBpcSlx6XKpc2l0KXTpdal2aXcpd+l
+4qXlpeil66XupfGl9KX3pfql/aYApgOmBqYJpgymD6YSphWmGKYbph6mIaYkpiemKqYtpjCmM6Y2pjmm
+PKY/pkKmRaZIpkumTqZRplSmV6Zapl2mYKZjpmamaaZspm+mcqZ1pnime6Z+poGmhKaHpoqmjaaQppOm
+lqaZppymn6aipqWmqKarpq6msaa0premuqa9psCmw6bGpsmmzKbPptKm1abYptum3qbhpuSm56bqpu2m
+8Kbzpvam+ab8pv+nAqcFpwinC6cOpxGnFKcXpxqnHacgpyOnJqcppyynL6cypzWnOKc7pz6nQadEp0en
+SqdNp1CnU6dWp1mnXKdfp2KnZadop2unbqdxp3Snd6d6p32ngKeDp4aniaeMp4+nkqeVp5inm6eep6Gn
+pKenp6qnraewp7Ontqe5p7ynv6fCp8WnyKfLp86n0afUp9en2qfdp+Cn46fmp+mn7Kfvp/Kn9af4p/un
+/qgBqASoB6gJqAyoDqgQqBOoFagXqBmoG6gdqCCoIqglqCeoKqgsqC+oMag0qDaoO6g9qEKoRKhGqEuo
+TahPqFSoV6haqFyoXqhjqGWoZ6hqqG2ocqh0qHaoeKh7qH2of6iEqIeoiaiOqJCokqiUqJmonqihqKao
+q6itqK+osaizqLWot6i5qLuovqjBqMOoyKjNqM+o0qjUqNao2KjaqNyo3qjjqOWo6KjrqO2o76j0qPeo
+/KkBqQapCKkLqRCpFakYqRqpHKkeqSCpJaknqSmpK6kwqTOpNak3qTypPqlAqUKpRKlJqU6pUKlSqVSp
+V6lcqV6pYaljqWapaKlqqWypcal0qXmpfqmDqYipi6mNqY+pkqmUqZapmKmdqZ+ppKmmqaipq6mwqbKp
+tam6qbypvqnAqcOpxanHqcmpzqnQqdKp1KnWqdip2qncqeGp46nmqemp66ntqe+p8anzqfWp+Kn6qf2p
+/6oBqgOqBaoKqgyqDqoQqhKqFKoWqhiqG6ogqiKqJ6opqiuqMKoyqjWqOKo7qj6qQ6pFqkeqSapLqk2q
+UKpVqliqW6pgqmKqZKpnqnCqdap3qnmqfKqBqoOqhqqLqpCqkqqUqpaqmKqaqp2qoKqiqqeqqaquqrCq
+sqq0qrmqu6q+qseqyarKqtOq1qrXquCq46rkqu2q8gAAAAAAAAICAAAAAAAAE3EAAAAAAAAAAAAAAAAA
+AKsBA
+
+
+
diff --git a/English.lproj/VLDocument.nib/info.nib b/English.lproj/VLDocument.nib/info.nib
deleted file mode 100644
index 08fb859..0000000
--- a/English.lproj/VLDocument.nib/info.nib
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- IBDocumentLocation
- 427 29 356 240 0 0 1280 778
- IBFramework Version
- 460.0
- IBOpenObjects
-
- 216
- 144
- 5
- 196
-
- IBSystem Version
- 9A412
-
-
diff --git a/English.lproj/VLDocument.nib/keyedobjects.nib b/English.lproj/VLDocument.nib/keyedobjects.nib
index a9f33b1..b8c7313 100644
Binary files a/English.lproj/VLDocument.nib/keyedobjects.nib and b/English.lproj/VLDocument.nib/keyedobjects.nib differ
diff --git a/Resources/display.tiff b/Resources/display.tiff
new file mode 100644
index 0000000..c0dfd22
Binary files /dev/null and b/Resources/display.tiff differ
diff --git a/Sources/VLModel.cpp b/Sources/VLModel.cpp
index d0768ed..1ae520f 100644
--- a/Sources/VLModel.cpp
+++ b/Sources/VLModel.cpp
@@ -1089,6 +1089,55 @@ size_t VLSong::CountStanzas() const
return stanzas;
}
+size_t VLSong::CountTopLedgers() const
+{
+ int8_t maxPitch = VLNote::kMiddleC;
+
+ for (size_t measure=0; measurefPitch != VLNote::kNoPitch)
+ maxPitch = std::max(maxPitch, i->fPitch);
+ }
+
+ if (maxPitch > 89) // F''
+ return 4;
+ else if (maxPitch > 86) // D''
+ return 3;
+ else if (maxPitch > 83) // B'
+ return 2;
+ else if (maxPitch > 79) // G'
+ return 1;
+ else
+ return 0;
+}
+
+size_t VLSong::CountBotLedgers() const
+{
+ int8_t minPitch = VLNote::kMiddleC+VLNote::kOctave;
+
+ for (size_t measure=0; measurefPitch != VLNote::kNoPitch)
+ minPitch = std::min(minPitch, i->fPitch);
+ }
+
+ if (minPitch < 52) // E,
+ return 4;
+ else if (minPitch < 55) // G,
+ return 3;
+ else if (minPitch < 59) // B,
+ return 2;
+ else if (minPitch < 62) // D
+ return 1;
+ else
+ return 0;
+}
void VLSong::LilypondNotes(std::string & notes) const
{
diff --git a/Sources/VLModel.h b/Sources/VLModel.h
index 7cf626c..cc2b18a 100644
--- a/Sources/VLModel.h
+++ b/Sources/VLModel.h
@@ -348,6 +348,8 @@ struct VLSong {
size_t CountMeasures() const { return fMeasures.size(); }
size_t CountStanzas() const;
+ size_t CountTopLedgers() const;
+ size_t CountBotLedgers() const;
void LilypondNotes(std::string & notes) const;
void LilypondChords(std::string & chords) const;
void LilypondStanza(std::string & lyrics, size_t stanza) const;
diff --git a/Sources/VLSheetView.h b/Sources/VLSheetView.h
index d1f9564..878f131 100644
--- a/Sources/VLSheetView.h
+++ b/Sources/VLSheetView.h
@@ -79,12 +79,16 @@ enum VLRecalc {
size_t fCursorStanza;
int fSelStart;
int fSelEnd;
+ int fNumTopLedgers;
+ int fNumBotLedgers;
+ int fNumStanzas;
size_t fVolta;
size_t fVoltaOK;
IBOutlet id fFieldEditor;
IBOutlet id fRepeatSheet;
IBOutlet id fEndingSheet;
+ IBOutlet id fDisplaySheet;
IBOutlet id fRepeatMsg;
IBOutlet id fEndingMsg;
IBOutlet id fGrooveMenu;
@@ -94,8 +98,9 @@ enum VLRecalc {
- (IBAction) setTime:(id)sender;
- (IBAction) setDivisions:(id)sender;
- (IBAction) hideFieldEditor:(id)sender;
-- (IBAction) endRepeatSheet:(id)sender;
+- (IBAction) endSheetWithButton:(id)sender;
- (IBAction) selectGroove:(id)sender;
+- (IBAction) editDisplayOptions:(id)sender;
- (VLDocument *) document;
- (VLSong *) song;
diff --git a/Sources/VLSheetView.mm b/Sources/VLSheetView.mm
index 9f8696f..2694ce1 100644
--- a/Sources/VLSheetView.mm
+++ b/Sources/VLSheetView.mm
@@ -90,6 +90,9 @@ static float sFlatPos[] = {
fCursorPitch = VLNote::kNoPitch;
fSelStart = 0;
fSelEnd = -1;
+ fNumTopLedgers = 0;
+ fNumBotLedgers = 2;
+ fNumStanzas = 2;
}
return self;
}
@@ -128,7 +131,7 @@ static float sFlatPos[] = {
{
NSRect b = [self bounds];
- return kSystemY+b.origin.y+b.size.height-(system+1)*kSystemH;
+ return kSystemBaseline+b.origin.y+b.size.height-(system+1)*kSystemH;
}
int8_t sSemi2Pitch[2][12] = {{
@@ -206,7 +209,7 @@ VLMusicElement sSemi2Accidental[12][12] = {
- (void) scrollMeasureToVisible:(int)measure
{
NSRect r = NSMakeRect(fClefKeyW+(measure%fMeasPerSystem)*fMeasureW,
- [self systemY:measure/fMeasPerSystem]-kSystemY,
+ [self systemY:measure/fMeasPerSystem]-kSystemBaseline,
fMeasureW, kSystemH);
[self scrollRectToVisible:r];
}
@@ -423,8 +426,8 @@ VLMusicElement sSemi2Accidental[12][12] = {
[[NSColor colorWithDeviceWhite:0.8f alpha:1.0f] set];
for (int measure = 0; measureCountStanzas();
const float kLineW = fClefKeyW + fMeasPerSystem*fMeasureW;
for (int system = 0; system kSystemY && loc.y < kSystemY+4.0f*kLineH
+ if (loc.y > kSystemBaseline && loc.y < kSystemBaseline+4.0f*kLineH
&& fmodf(loc.x+kMeasTol, fMeasureW) < 2*kMeasTol
) {
int measure = static_cast((loc.x+kMeasTol)/fMeasureW);
@@ -724,20 +753,20 @@ static int8_t sSharpAcc[] = {
if (fCursorMeasure > [self song]->fMeasures.size())
return fCursorRegion = kRegionNowhere;
- if (loc.y >= kSystemY+kChordY) {
+ if (loc.y >= kSystemBaseline+kChordY) {
//
// Chord, round to quarters
//
int scale = fCursorAt.fDenom / 4;
fCursorAt = VLFraction(fCursorAt.fNum / scale, 4);
return fCursorRegion = kRegionChord;
- } else if (loc.y < kSystemY+kLyricsY) {
- fCursorStanza = static_cast((kSystemY+kLyricsY-loc.y) / kLyricsH)
+ } else if (loc.y < kSystemBaseline+kLyricsY) {
+ fCursorStanza = static_cast((kSystemBaseline+kLyricsY-loc.y) / kLyricsH)
+ 1;
return fCursorRegion = kRegionLyrics;
}
- loc.y -= kSystemY+kSemiFloor;
+ loc.y -= kSystemBaseline+kSemiFloor;
int semi = static_cast(roundf(loc.y / (0.5f*kLineH)));
fCursorPitch = sSemiToPitch[semi];
@@ -891,11 +920,18 @@ static int8_t sSharpAcc[] = {
- (void)awakeFromNib
{
- [[self document] addObserver:self];
- [[self document] addObserver:self forKeyPath:@"song" options:0 context:nil];
- [[self document] addObserver:self forKeyPath:@"songKey" options:0 context:nil];
- [[self document] addObserver:self forKeyPath:@"songGroove" options:0 context:nil];
- [self setGrooveMenu:[[self document] valueForKey:@"songGroove"]];
+ VLDocument * doc = [self document];
+
+ [doc addObserver:self];
+ [doc addObserver:self forKeyPath:@"song" options:0 context:nil];
+ [doc addObserver:self forKeyPath:@"songKey" options:0 context:nil];
+ [doc addObserver:self forKeyPath:@"songGroove" options:0 context:nil];
+ [self setGrooveMenu:[doc valueForKey:@"songGroove"]];
+
+ VLSong * song = [self song];
+ fNumTopLedgers = std::max(song->CountTopLedgers(), 1);
+ fNumBotLedgers = std::max(song->CountBotLedgers(), 1);
+ fNumStanzas = std::max(song->CountStanzas(), 2);
}
- (void)removeObservers:(id)target
@@ -917,7 +953,7 @@ static int8_t sSharpAcc[] = {
}
}
-- (IBAction)endRepeatSheet:(id)sender
+- (IBAction)endSheetWithButton:(id)sender
{
[NSApp endSheet:[sender window] returnCode:[sender tag]];
}
@@ -950,4 +986,38 @@ static int8_t sSharpAcc[] = {
[[NSUserDefaults standardUserDefaults] setObject:grooves forKey:@"VLGrooves"];
}
+- (IBAction)editDisplayOptions:(id)sender
+{
+ VLSheetWindow * wc = [[self window] windowController];
+ [wc setValue:[NSNumber numberWithInt:fNumTopLedgers]
+ forKey:@"editNumTopLedgers"];
+ [wc setValue:[NSNumber numberWithInt:fNumBotLedgers]
+ forKey:@"editNumBotLedgers"];
+ [wc setValue:[NSNumber numberWithInt:fNumStanzas]
+ forKey:@"editNumStanzas"];
+
+ [NSApp beginSheet:fDisplaySheet modalForWindow:[self window]
+ modalDelegate:self
+ didEndSelector:@selector(didEndDisplaySheet:returnCode:contextInfo:)
+ contextInfo:nil];
+}
+
+- (void)didEndDisplaySheet:(NSWindow *)sheet returnCode:(int)returnCode
+ contextInfo:(void *)ctx
+{
+ switch (returnCode) {
+ case NSAlertFirstButtonReturn: {
+ VLSheetWindow * wc = [[self window] windowController];
+ fNumTopLedgers = [[wc valueForKey:@"editNumTopLedgers"] intValue];
+ fNumBotLedgers = [[wc valueForKey:@"editNumBotLedgers"] intValue];
+ fNumStanzas = [[wc valueForKey:@"editNumStanzas"] intValue];
+ fNeedsRecalc = kRecalc;
+ [self setNeedsDisplay:YES];
+ } break;
+ default:
+ break;
+ }
+ [sheet orderOut:self];
+}
+
@end
diff --git a/Sources/VLSheetViewInternal.h b/Sources/VLSheetViewInternal.h
index 4a51d29..cab767e 100644
--- a/Sources/VLSheetViewInternal.h
+++ b/Sources/VLSheetViewInternal.h
@@ -8,8 +8,9 @@
const float kLineX = 5.0;
const float kLineH = 10.0;
-const float kSystemH = 15.0f*kLineH;
-const float kSystemY = 5.0f*kLineH;
+#define kSystemBaseline ((fNumBotLedgers+1)*kLineH+fNumStanzas*kLyricsH)
+#define kSystemAscent ((fNumTopLedgers+7)*kLineH+kChordH)
+#define kSystemH (kSystemBaseline+kSystemAscent)
const float kClefX = 20.5f;
const float kClefY =-15.0f;
const float kClefW = 30.0f;
@@ -26,10 +27,10 @@ const float kSharpW =-11.0f;
const float kFlatW = -9.0f;
const float kNaturalW = -7.0f;
const float kImgScale = 0.04f;
-const float kChordY = 7.0f*kLineH;
+#define kChordY ((fNumTopLedgers+6)*kLineH)
const float kChordW = 40.0f;
const float kChordH = 25.0f;
-const float kLyricsY = -3.0*kLineH;
+#define kLyricsY (-(fNumBotLedgers+1)*kLineH)
const float kLyricsH = 1.5*kLineH;
const float kNoteX = 7.0f;
const float kNoteY = 5.0f;
diff --git a/Sources/VLSheetWindow.h b/Sources/VLSheetWindow.h
index 1c22201..e94357e 100644
--- a/Sources/VLSheetWindow.h
+++ b/Sources/VLSheetWindow.h
@@ -31,6 +31,11 @@
IBOutlet id zoomInToolItem;
IBOutlet id zoomOutToolItem;
IBOutlet id progressToolItem;
+ IBOutlet id displayToolItem;
+
+ int editNumTopLedgers;
+ int editNumBotLedgers;
+ int editNumStanzas;
}
- (VLEditable *) editTarget;
diff --git a/Sources/VLSheetWindow.mm b/Sources/VLSheetWindow.mm
index 69fb2c3..181e89a 100644
--- a/Sources/VLSheetWindow.mm
+++ b/Sources/VLSheetWindow.mm
@@ -50,6 +50,7 @@ static NSString* sStopToolbarItemIdentifier = @"Stop Toolbar Item Identifier";
static NSString* sZoomInToolbarItemIdentifier = @"Zoom In Toolbar Item Identifier";
static NSString* sZoomOutToolbarItemIdentifier = @"Zoom Out Toolbar Item Identifier";
static NSString* sProgressToolbarItemIdentifier = @"Progress Toolbar Item Identifier";
+static NSString* sDisplayToolbarItemIdentifier = @"Display Toolbar Item Identifier";
- (id)initWithWindow:(NSWindow *)window
{
@@ -97,6 +98,8 @@ static NSString* sProgressToolbarItemIdentifier = @"Progress Toolbar Item Identi
prototype = zoomInToolItem;
else if ([itemIdent isEqual: sZoomOutToolbarItemIdentifier])
prototype = zoomOutToolItem;
+ else if ([itemIdent isEqual: sDisplayToolbarItemIdentifier])
+ prototype = displayToolItem;
if (prototype) {
toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: itemIdent] autorelease];
@@ -127,6 +130,7 @@ static NSString* sProgressToolbarItemIdentifier = @"Progress Toolbar Item Identi
sZoomInToolbarItemIdentifier,
sZoomOutToolbarItemIdentifier,
NSToolbarFlexibleSpaceItemIdentifier,
+ sDisplayToolbarItemIdentifier,
sLogToolbarItemIdentifier,
sProgressToolbarItemIdentifier,
nil];
@@ -140,6 +144,7 @@ static NSString* sProgressToolbarItemIdentifier = @"Progress Toolbar Item Identi
sZoomOutToolbarItemIdentifier,
sOutputToolbarItemIdentifier,
sLogToolbarItemIdentifier,
+ sDisplayToolbarItemIdentifier,
sProgressToolbarItemIdentifier,
NSToolbarCustomizeToolbarItemIdentifier,
NSToolbarFlexibleSpaceItemIdentifier,
diff --git a/Vocalese.xcodeproj/project.pbxproj b/Vocalese.xcodeproj/project.pbxproj
index 49fee05..3f56d60 100644
--- a/Vocalese.xcodeproj/project.pbxproj
+++ b/Vocalese.xcodeproj/project.pbxproj
@@ -29,6 +29,7 @@
952CBBB5095FD34F00434E43 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 952CBBB3095FD34F00434E43 /* AudioUnit.framework */; };
952CBBB6095FD37300434E43 /* VLModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 955E58E4095658AB0045FDA5 /* VLModel.cpp */; };
952DCD78096BBB11001C2316 /* VLSheetViewChords.mm in Sources */ = {isa = PBXBuildFile; fileRef = 952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */; };
+ 9530A7020BD9E16700635FEC /* display.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 9530A7010BD9E16700635FEC /* display.tiff */; };
953722670AE9F0E100B6E483 /* VLLilypondDocument.mm in Sources */ = {isa = PBXBuildFile; fileRef = 953722660AE9F0E100B6E483 /* VLLilypondDocument.mm */; };
95498DBD0AE3812F006B5F81 /* VLSoundSched.mm in Sources */ = {isa = PBXBuildFile; fileRef = 95498DBC0AE3812F006B5F81 /* VLSoundSched.mm */; };
954BBD860AEDDE5300BBFD5F /* VLAppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 954BBD850AEDDE5300BBFD5F /* VLAppController.mm */; };
@@ -152,6 +153,7 @@
952CBBB3095FD34F00434E43 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = ""; };
952DCD76096BBB11001C2316 /* VLSheetViewChords.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLSheetViewChords.h; path = Sources/VLSheetViewChords.h; sourceTree = ""; };
952DCD77096BBB11001C2316 /* VLSheetViewChords.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = VLSheetViewChords.mm; path = Sources/VLSheetViewChords.mm; sourceTree = ""; };
+ 9530A7010BD9E16700635FEC /* display.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = display.tiff; path = Resources/display.tiff; sourceTree = ""; };
953722650AE9F0E100B6E483 /* VLLilypondDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLLilypondDocument.h; path = Sources/VLLilypondDocument.h; sourceTree = ""; };
953722660AE9F0E100B6E483 /* VLLilypondDocument.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = VLLilypondDocument.mm; path = Sources/VLLilypondDocument.mm; sourceTree = ""; };
95498DBB0AE3812F006B5F81 /* VLSoundSched.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = VLSoundSched.h; path = Sources/VLSoundSched.h; sourceTree = ""; };
@@ -388,6 +390,7 @@
954DD4DF0B44E61E0056C504 /* VLDocument.nib */,
954DD4DA0B44E6000056C504 /* MainMenu.nib */,
95FC66BC0AF0A4D4003D9C11 /* console.icns */,
+ 9530A7010BD9E16700635FEC /* display.tiff */,
95FC66BD0AF0A4D4003D9C11 /* music.tiff */,
950795E00B4A34D9008911A6 /* stop.tiff */,
95FC66BE0AF0A4D4003D9C11 /* nextpage.tiff */,
@@ -603,6 +606,7 @@
959420EC0B44E77A006BC62C /* VLDocument.nib in Resources */,
950795E10B4A34D9008911A6 /* stop.tiff in Resources */,
9599ED960B73185800A6A2F7 /* VLGroove.nib in Resources */,
+ 9530A7020BD9E16700635FEC /* display.tiff in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};