Commit d34e5434 authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

MacOSX/VLC_app: Nicely slide in/out the playlist.

parent 30ee7100
......@@ -27,7 +27,7 @@
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSWindowTemplate" id="152934138">
<int key="NSWindowStyleMask">271</int>
<int key="NSWindowStyleMask">4367</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{183, 63}, {482, 639}}</string>
<int key="NSWTFlags">813170688</int>
......@@ -63,7 +63,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<string key="NSWindowContentMinSize">{372, 63}</string>
<string key="NSWindowContentMinSize">{372, 16}</string>
<object class="NSView" key="NSWindowView" id="334169038">
<reference key="NSNextResponder"/>
<int key="NSvFlags">8466</int>
......@@ -90,7 +90,7 @@
<string key="NSFrameSize">{481, 260}</string>
<reference key="NSSuperview" ref="143384326"/>
<reference key="NSWindow"/>
<string key="NSClassName" id="58681067">VLCBrowsableVideoView</string>
<string key="NSClassName" id="674625770">VLCBrowsableVideoView</string>
</object>
</object>
<string key="NSFrameSize">{482, 260}</string>
......@@ -135,7 +135,7 @@
<int key="NSTextBezelStyle">1</int>
<object class="NSColor" key="NSBackgroundColor" id="416096481">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName" id="821744136">System</string>
<string key="NSCatalogName" id="130905936">System</string>
<string key="NSColorName">textBackgroundColor</string>
<object class="NSColor" key="NSColor" id="740054874">
<int key="NSColorSpace">3</int>
......@@ -144,7 +144,7 @@
</object>
<object class="NSColor" key="NSTextColor" id="70527606">
<int key="NSColorSpace">6</int>
<reference key="NSCatalogName" ref="821744136"/>
<reference key="NSCatalogName" ref="130905936"/>
<string key="NSColorName">controlTextColor</string>
<object class="NSColor" key="NSColor" id="1049035829">
<int key="NSColorSpace">3</int>
......@@ -223,7 +223,7 @@
<reference key="NSControlView" ref="46828221"/>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">6</int>
<reference key="NSCatalogName" ref="821744136"/>
<reference key="NSCatalogName" ref="130905936"/>
<string key="NSColorName">controlColor</string>
<object class="NSColor" key="NSColor" id="322815997">
<int key="NSColorSpace">3</int>
......@@ -319,7 +319,7 @@
</object>
<object class="NSColor" key="NSTextColor" id="1047904863">
<int key="NSColorSpace">6</int>
<reference key="NSCatalogName" ref="821744136"/>
<reference key="NSCatalogName" ref="130905936"/>
<string key="NSColorName">headerTextColor</string>
<reference key="NSColor" ref="1049035829"/>
</object>
......@@ -327,12 +327,12 @@
<object class="NSTextFieldCell" key="NSDataCell" id="322951813">
<int key="NSCellFlags">1411513920</int>
<int key="NSCellFlags2">132096</int>
<string key="NSContents" id="458764242">Text Cell</string>
<string key="NSContents" id="1016714759">Text Cell</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="755891829"/>
<object class="NSColor" key="NSBackgroundColor" id="809735541">
<int key="NSColorSpace">6</int>
<reference key="NSCatalogName" ref="821744136"/>
<reference key="NSCatalogName" ref="130905936"/>
<string key="NSColorName">controlBackgroundColor</string>
<reference key="NSColor" ref="322815997"/>
</object>
......@@ -355,7 +355,7 @@
</object>
<object class="NSColor" key="NSGridColor" id="27503580">
<int key="NSColorSpace">6</int>
<reference key="NSCatalogName" ref="821744136"/>
<reference key="NSCatalogName" ref="130905936"/>
<string key="NSColorName">gridColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
......@@ -457,7 +457,7 @@
<reference key="NSSupport" ref="26"/>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">6</int>
<reference key="NSCatalogName" ref="821744136"/>
<reference key="NSCatalogName" ref="130905936"/>
<string key="NSColorName">headerColor</string>
<reference key="NSColor" ref="740054874"/>
</object>
......@@ -608,7 +608,7 @@ IEluYy4sIDIwMDgAA</bytes>
<object class="NSTextFieldCell" key="NSDataCell" id="336644191">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">2048</int>
<reference key="NSContents" ref="458764242"/>
<reference key="NSContents" ref="1016714759"/>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="989777724"/>
<reference key="NSBackgroundColor" ref="809735541"/>
......@@ -635,7 +635,7 @@ IEluYy4sIDIwMDgAA</bytes>
<object class="NSTextFieldCell" key="NSDataCell" id="471073713">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">2048</int>
<reference key="NSContents" ref="458764242"/>
<reference key="NSContents" ref="1016714759"/>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="989777724"/>
<reference key="NSBackgroundColor" ref="809735541"/>
......@@ -738,7 +738,7 @@ IEluYy4sIDIwMDgAA</bytes>
<reference key="NSWindow"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1280, 778}}</string>
<string key="NSMinSize">{372, 104}</string>
<string key="NSMinSize">{372, 57}</string>
</object>
<object class="NSCustomView" id="882907404">
<reference key="NSNextResponder"/>
......@@ -860,11 +860,11 @@ IEluYy4sIDIwMDgAA</bytes>
<reference key="NSControlView" ref="1042859040"/>
<int key="NSButtonFlags">-931921665</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage" id="63719418">
<string key="NSClassName" id="758280763">NSImage</string>
<object class="NSCustomResource" key="NSNormalImage" id="603379058">
<string key="NSClassName" id="675594900">NSImage</string>
<string key="NSResourceName">volume_low</string>
</object>
<reference key="NSAlternateImage" ref="63719418"/>
<reference key="NSAlternateImage" ref="603379058"/>
<reference key="NSAlternateContents" ref="738420082"/>
<object class="NSMutableString" key="NSKeyEquivalent">
<characters key="NS.bytes"/>
......@@ -927,11 +927,11 @@ IEluYy4sIDIwMDgAA</bytes>
<reference key="NSControlView" ref="534817857"/>
<int key="NSButtonFlags">-931921665</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage" id="660331209">
<reference key="NSClassName" ref="758280763"/>
<object class="NSCustomResource" key="NSNormalImage" id="480838342">
<reference key="NSClassName" ref="675594900"/>
<string key="NSResourceName">volume_high</string>
</object>
<reference key="NSAlternateImage" ref="660331209"/>
<reference key="NSAlternateImage" ref="480838342"/>
<reference key="NSAlternateContents" ref="738420082"/>
<object class="NSMutableString" key="NSKeyEquivalent">
<characters key="NS.bytes"/>
......@@ -988,11 +988,11 @@ IEluYy4sIDIwMDgAA</bytes>
<int key="NSButtonFlags">139723007</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage">
<reference key="NSClassName" ref="758280763"/>
<reference key="NSClassName" ref="675594900"/>
<string key="NSResourceName">skip_previous_active</string>
</object>
<object class="NSCustomResource" key="NSAlternateImage">
<reference key="NSClassName" ref="758280763"/>
<reference key="NSClassName" ref="675594900"/>
<string key="NSResourceName">skip_previous_blue</string>
</object>
<reference key="NSAlternateContents" ref="738420082"/>
......@@ -1022,11 +1022,11 @@ IEluYy4sIDIwMDgAA</bytes>
<int key="NSButtonFlags">139723007</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage">
<reference key="NSClassName" ref="758280763"/>
<reference key="NSClassName" ref="675594900"/>
<string key="NSResourceName">play</string>
</object>
<object class="NSCustomResource" key="NSAlternateImage">
<reference key="NSClassName" ref="758280763"/>
<reference key="NSClassName" ref="675594900"/>
<string key="NSResourceName">play_blue</string>
</object>
<reference key="NSAlternateContents" ref="738420082"/>
......@@ -1050,11 +1050,11 @@ IEluYy4sIDIwMDgAA</bytes>
<int key="NSButtonFlags">138674431</int>
<int key="NSButtonFlags2">130</int>
<object class="NSCustomResource" key="NSNormalImage">
<reference key="NSClassName" ref="758280763"/>
<reference key="NSClassName" ref="675594900"/>
<string key="NSResourceName">skip_forward_active</string>
</object>
<object class="NSCustomResource" key="NSAlternateImage">
<reference key="NSClassName" ref="758280763"/>
<reference key="NSClassName" ref="675594900"/>
<string key="NSResourceName">skip_forward_blue</string>
</object>
<reference key="NSAlternateContents" ref="738420082"/>
......@@ -1930,7 +1930,7 @@ IEluYy4sIDIwMDgAA</bytes>
<reference ref="9"/>
<reference ref="518311285"/>
<reference ref="9"/>
<string>{372, 63}</string>
<string>{372, 16}</string>
<string>{{193, 637}, {143, 46}}</string>
<string id="386187835">ITSlider</string>
<reference ref="122844573"/>
......@@ -1988,8 +1988,8 @@ IEluYy4sIDIwMDgAA</bytes>
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<reference key="className" ref="440645780"/>
<nil key="superclassName"/>
<string key="className">VLCMainWindow</string>
<string key="superclassName">NSWindow</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
......@@ -2001,16 +2001,60 @@ IEluYy4sIDIwMDgAA</bytes>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>addPlaylistButton</string>
<string>categoriesListView</string>
<string>controlView</string>
<string>controller</string>
<string>fillScreenButton</string>
<string>fullScreenButton</string>
<string>mainSplitView</string>
<string>mediaDescriptionText</string>
<string>mediaListItemFetchedStatus</string>
<string>mediaListItemsCount</string>
<string>mediaListSearchField</string>
<string>mediaListView</string>
<string>mediaReadingProgressSlider</string>
<string>mediaReadingProgressText</string>
<string>navigatorView</string>
<string>navigatorViewToggleButton</string>
<string>removePlaylistButton</string>
<string>toolbarMediaAudioVolume</string>
<string>toolbarMediaControl</string>
<string>toolbarMediaDescription</string>
<string>videoPlayerAndControlView</string>
<string>videoView</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string id="821686495">NSButton</string>
<string>NSOutlineView</string>
<reference ref="440645780"/>
<string>VLCController</string>
<string id="388726357">id</string>
<reference ref="388726357"/>
<string>VLCOneSplitView</string>
<string id="462259394">NSTextField</string>
<reference ref="388726357"/>
<reference ref="388726357"/>
<reference ref="388726357"/>
<string>NSTableView</string>
<string>NSSlider</string>
<reference ref="462259394"/>
<reference ref="440645780"/>
<reference ref="388726357"/>
<reference ref="821686495"/>
<reference ref="440645780"/>
<reference ref="440645780"/>
<reference ref="440645780"/>
<reference ref="440645780"/>
<string>VLCBrowsableVideoView</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey" id="721436802">IBProjectSource</string>
<string key="minorKey">Sources/VLCAppAdditions.h</string>
<string key="majorKey" id="950383606">IBProjectSource</string>
<string key="minorKey">Sources/VLCMainWindow.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
......@@ -2025,8 +2069,8 @@ IEluYy4sIDIwMDgAA</bytes>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string id="866917762">id</string>
<reference ref="866917762"/>
<reference ref="388726357"/>
<reference ref="388726357"/>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
......@@ -2039,7 +2083,7 @@ IEluYy4sIDIwMDgAA</bytes>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="721436802"/>
<reference key="majorKey" ref="950383606"/>
<string key="minorKey">Sources/VLCController.h</string>
</object>
</object>
......@@ -2065,13 +2109,13 @@ IEluYy4sIDIwMDgAA</bytes>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="721436802"/>
<reference key="majorKey" ref="950383606"/>
<string key="minorKey">Sources/VLCAppAdditions.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">VLCMainWindow</string>
<string key="superclassName">NSWindow</string>
<string key="className" id="341059813">VLCVideoView</string>
<reference key="superclassName" ref="440645780"/>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
......@@ -2083,65 +2127,21 @@ IEluYy4sIDIwMDgAA</bytes>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>addPlaylistButton</string>
<string>categoriesListView</string>
<string>controlView</string>
<string>controller</string>
<string>fillScreenButton</string>
<string>fullScreenButton</string>
<string>mainSplitView</string>
<string>mediaDescriptionText</string>
<string>mediaListItemFetchedStatus</string>
<string>mediaListItemsCount</string>
<string>mediaListSearchField</string>
<string>mediaListView</string>
<string>mediaReadingProgressSlider</string>
<string>mediaReadingProgressText</string>
<string>navigatorView</string>
<string>navigatorViewToggleButton</string>
<string>removePlaylistButton</string>
<string>toolbarMediaAudioVolume</string>
<string>toolbarMediaControl</string>
<string>toolbarMediaDescription</string>
<string>videoPlayerAndControlView</string>
<string>videoView</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string id="821686495">NSButton</string>
<string>NSOutlineView</string>
<reference ref="440645780"/>
<string>VLCController</string>
<reference ref="866917762"/>
<reference ref="866917762"/>
<string>VLCOneSplitView</string>
<string id="462259394">NSTextField</string>
<reference ref="866917762"/>
<reference ref="866917762"/>
<reference ref="866917762"/>
<string>NSTableView</string>
<string>NSSlider</string>
<reference ref="462259394"/>
<reference ref="440645780"/>
<reference ref="866917762"/>
<reference ref="821686495"/>
<reference ref="440645780"/>
<reference ref="440645780"/>
<reference ref="440645780"/>
<reference ref="440645780"/>
<string>VLCBrowsableVideoView</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="721436802"/>
<string key="minorKey">Sources/VLCMainWindow.h</string>
<string key="majorKey" id="862210758">IBUserSource</string>
<reference key="minorKey" ref="738420082"/>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className" id="113151915">VLCVideoView</string>
<reference key="superclassName" ref="440645780"/>
<reference key="className" ref="386187835"/>
<string key="superclassName">NSSlider</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
......@@ -2161,13 +2161,13 @@ IEluYy4sIDIwMDgAA</bytes>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey" id="862210758">IBUserSource</string>
<reference key="majorKey" ref="862210758"/>
<reference key="minorKey" ref="738420082"/>
</object>
</object>
<object class="IBPartialClassDescription">
<reference key="className" ref="386187835"/>
<string key="superclassName">NSSlider</string>
<string key="className">VLCBrowsableVideoView</string>
<string key="superclassName">VLCVideoView</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
......@@ -2179,21 +2179,25 @@ IEluYy4sIDIwMDgAA</bytes>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>selectedObject</string>
<string>target</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="388726357"/>
<reference ref="388726357"/>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="862210758"/>
<reference key="minorKey" ref="738420082"/>
<reference key="majorKey" ref="950383606"/>
<string key="minorKey">Sources/VLCBrowsableVideoView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<reference key="className" ref="58681067"/>
<reference key="superclassName" ref="113151915"/>
<reference key="className" ref="674625770"/>
<reference key="superclassName" ref="341059813"/>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
......@@ -2222,8 +2226,8 @@ IEluYy4sIDIwMDgAA</bytes>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">VLCBrowsableVideoView</string>
<string key="superclassName">VLCVideoView</string>
<reference key="className" ref="440645780"/>
<nil key="superclassName"/>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
......@@ -2235,20 +2239,16 @@ IEluYy4sIDIwMDgAA</bytes>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>selectedObject</string>
<string>target</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="866917762"/>
<reference ref="866917762"/>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="721436802"/>
<string key="minorKey">Sources/VLCBrowsableVideoView.h</string>
<reference key="majorKey" ref="950383606"/>
<string key="minorKey">Sources/VLCAppAdditions.h</string>
</object>
</object>
</object>
......@@ -2265,17 +2265,17 @@ AXwBhAGFAYYAbwGHAYgBjAGRAaABogGlAaYBqQGyAbMBvgG/AcABxQHGAckBywHNAdUB1gHiAeMB6AHp
AewB9AH1AfwB/QIRAhcCJgIqAkkCSgJPAlACUwJXAmwCcwJ2AnsCfAJ/AogCiQKOAo8ClQKWApkCnAKg
AqUCpgKpAqwCrQKwAroCuwK8Ar8CyALJAsoCzQLdAuUC7wLzAwMDBAMMAxYDFwMaAyADIQMnAzADMQM4
Az0DPgNIA1ADUQNVAWEDWgNlA2YDZwNrA24DcQN0A34DfwOFA4cDkAOZA5oDoAOnA6kDqgOzA7QDvAO9
A8EDwgPDA8QDxQPGA8kACwPKA8wDzQPOA9ED1QPvA/cD+AP8BAEECAQOBBYEFwQnBCsDcAQwBDEENAQ4
BDkEOwRCBEMETARQBFQEVQRZBFoEYQRiBG0EcQRyBHYEdwR5BHoEewSABIEEhgSHBIwEjQSSBJMEmASe
BKcErgSvBLcEuAS/BMAEygTOBM8E0QTYBNkE4AThBOgE6QTwBPEE+AT5BQIFBgUHBQkFEgUTBRQFFQUn
BSkFLAUtBS4FMwU0BTkFOgU/BUcFTwALBVAFWQVaBV0FXgVjBWQFaQVqBW8FcAV1BXYFewWBBYoFiwWT
BZQFnAWdBaUFpwWqBasFrQALBa4FrwW0BbUFugW7BcAFwQXGBccFzAXNBdIF0wXYBdkF3gXfBiIGJQYm
BioGLgZxBrUG+Qb6BvsG/Ab9Bv4G/wcABwEHAgcDBwQHBQcGBwcHCAcJBwoHCwcMBw0HDgcPBxAHEQcS
A8EDwgPDA8QDxQPGA8kACwPKA8wDzQPOA9ED1QPvA/cD+AP8BAEEAgQHBA8EGAALBBkEKgQsBDAEMQQ0
BDcEOAQ9BD4EQwREBEkESgRPBFAEVQRbBGEEaQRqBHoEfgNwBIMEhASHBIsEjASOBJUElgSfBKIEpgSn
BKsErASzBLQEvwTDBMQEyATJBMsEzATNBNIE0wTYBN8E5QTmBO4E7wTwBPUE/AT9BQQFBQUGBQsFDAUR
BRIFFwUYBR0FHgUjBSsFLAU1BTYFOQU6BT8FSAVPBVAFWgVeBV8FYQVoBWkFcAVxBXgFeQWCBYYFhwWJ
BZIENgWTBZQFnQWfBaAFoQWmBacFrAWtBbIFuAXBBcIFygXLAAsFzAXNBdIF0wXYBdkF3gXfBiIGJgYq
Bi0GLgZxBrUG+Qb6BvsG/Ab9Bv4G/wcABwEHAgcDBwQHBQcGBwcHCAcJBwoHCwcMBw0HDgcPBxAHEQcS
BxMHFAcVBxYHFwcYBxkHGgcbBxwHHQceBx8HIAchByIHIwckByUHJgcnBygHKQcqBysHLActBy4HLwcw
BzEHMgczBzQHOQc+B5kH9Af1B/YH9wf4B/kH+gf7B/wH/Qf+B/8IAAgBCAIIAwgECAUIBggHCAgICQgK
CAsIDAgNCA4BDAgPCBAIEQgSBYYIEwgUCBUIFggXCBgIGQgaCBsIHAgdCB4IHwggCCEIIggjCCQIJQIL
CCYIJwgoCCkIKggrCCwAtAgtCC4ILwgwAFcIMQgyCDMINAg1CDYINwg4CDkIOgg7Ah4IPAg9CD4IPwhA
AUgIQQhCCEMIRAhFCEgISwhOVSRudWxs3xASAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwA
BzEHMgczBzQHOQc+B5kH9Af1B/YH9wf4B/kH+gf7B/wH/Qf+B/8IAAgBCAIIAwgEAh4IBQW9CAYIBwgI
CAkICggLAgsIDAgNCA4IDwgQCBEBDAgSCBMIFAgVCBYIFwgYCBkIGggbCBwIHQgeCB8IIAghCCIIIwgk
CCUIJggnCCgAtAgpCCoIKwgsCC0ILggvCDAIMQgyCDMINAg1CDYINwg4CDkIOgg7CDwIPQg+CD8IQAhB
CEIBSAhDCEQIRQhGCEkITAhPVSRudWxs3xASAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwA
HQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwVk5TUm9vdFYkY2xhc3NdTlNPYmpl
Y3RzS2V5c18QD05TQ2xhc3Nlc1ZhbHVlc18QGU5TQWNjZXNzaWJpbGl0eU9pZHNWYWx1ZXNdTlNDb25u
ZWN0aW9uc1tOU05hbWVzS2V5c1tOU0ZyYW1ld29ya11OU0NsYXNzZXNLZXlzWk5TT2lkc0tleXNdTlNO
......@@ -2288,7 +2288,7 @@ b3Jr0gAOAD4APwBAWk5TLm9iamVjdHOAx6EAQYAH3ABDAA4ARABFAEYARwBIAEkASgBLAEwATQBOAE8A
UABRAFIAUwBUAFUAVgBXAFgAWVxOU1dpbmRvd1ZpZXdcTlNTY3JlZW5SZWN0XU5TV2luZG93VGl0bGVZ
TlNXVEZsYWdzXU5TV2luZG93Q2xhc3NfEBZOU1dpbmRvd0NvbnRlbnRNaW5TaXplXE5TV2luZG93UmVj
dF8QD05TV2luZG93QmFja2luZ18QEU5TV2luZG93U3R5bGVNYXNrWU5TTWluU2l6ZVtOU1ZpZXdDbGFz
c4AXgMaAxIAJEjB4AACACoAWgAgQAhEBD4DFgAtfEBd7ezE4MywgNjN9LCB7NDgyLCA2Mzl9fVNWTENd
c4AXgMaAxIAJEjB4AACACoAWgAgQAhERD4DFgAtfEBd7ezE4MywgNjN9LCB7NDgyLCA2Mzl9fVNWTENd
VkxDTWFpbldpbmRvd90ADgBeAF8AYABhAGIAYwBkAGUAZgBnAGgAaQBqAGsAbABtAGwAbwBwACsAbABs
AHQAVgB1XxAXTlNUb29sYmFySUJEZWZhdWx0SXRlbXNfEB9OU1Rvb2xiYXJTaG93c0Jhc2VsaW5lU2Vw
YXJhdG9yXxAXTlNUb29sYmFySUJBbGxvd2VkSXRlbXNfEB9OU1Rvb2xiYXJBdXRvc2F2ZXNDb25maWd1
......@@ -2300,7 +2300,7 @@ eVlOUy5zdHJpbmeADV8QJDVEQ0Y1Rjg4LUZDN0YtNEIwNi04OEMzLTg4MTYyMDVBNDYyNtIANwA4AHsA
fKMAfAB9ADtfEA9OU011dGFibGVTdHJpbmdYTlNTdHJpbmfTAA4AfwA+AIAAgQCCV05TLmtleXOAD6Cg
0gA3ADgAhACFowCFAIYAO18QE05TTXV0YWJsZURpY3Rpb25hcnlcTlNEaWN0aW9uYXJ50gAOAD4AiACJ
gBGg0gA3ADgAiwCMogCMADtXTlNBcnJhedIADgA+AI4Aj4AToNIANwA4AJEAkqMAkgCMADteTlNNdXRh
YmxlQXJyYXnSAA4APgCOAJWAE6DSADcAOACXAJiiAJgAO1lOU1Rvb2xiYXJZezM3MiwgNjN91wCbAA4A
YmxlQXJyYXnSAA4APgCOAJWAE6DSADcAOACXAJiiAJgAO1lOU1Rvb2xiYXJZezM3MiwgMTZ91wCbAA4A
nACdAJ4AnwCgAKEAogCjAKQApQChAKdfEA9OU05leHRSZXNwb25kZXJaTlNTdWJ2aWV3c1hOU3ZGbGFn
c1tOU0ZyYW1lU2l6ZVhOU1dpbmRvd1tOU1N1cGVydmlld4AYgMOAGREhEoDBgBiAwtIADgA+AI4AqoAT
oQCrgBrZAJsADgCtAK4AnACdAJ8AMgCgAE4AsACxALIAswC0AKEAtgBOV05TRnJhbWVfEBNOU09yaWdp
......@@ -2504,212 +2504,212 @@ Ak4AoQK3AQSAjICMgIeAuYAYgIaAjF8QFXt7MSwgMzEyfSwgezM4NSwgMTV9fdIADgA+AI4Dv4AToQL4
gJJfEBN7ezEsIDB9LCB7MzEwLCAxN319XxAXe3sxNjcsIDI3fSwgezMxMiwgMzMwfX1aezQ3OSwgMzU4
fV8QFnt7MCwgMjY5fSwgezQ4MiwgMzYxfX1fEBR7ezAsIDl9LCB7NDgyLCA2MzB9fdIANwA4A8cDyKID
yAA7Xk5TQ2xhc3NTd2FwcGVyWns0ODIsIDYzOX3SADcAOAPLAOOjAOMA5AA7XxAVe3swLCAwfSwgezEy
ODAsIDc3OH19WnszNzIsIDEwNH3SADcAOAPPA9CiA9AAO18QEE5TV2luZG93VGVtcGxhdGXSADcAOAPS
A9OjA9MD1AA7XE5TTXV0YWJsZVNldFVOU1NldNIADgA+AI4D14ATrxAXA9gD2QPaA9sD3APdA94D3wPg
A+ED4gPjA+QD5QPmA+cD6APpA+oD6wPsA+0D7oDJgMyA7IDugPCA8oD0gQEYgQEagQEcgQElgQEngQEp
gQErgQEtgQE9gQE/gQFBgQFDgQFFgQFHgQFJgQFL1AAOA/AD8QPyA/MAqwBBA/ZdTlNEZXN0aW5hdGlv
blhOU1NvdXJjZVdOU0xhYmVsgMuAGoAHgMpdbWFpblNwbGl0Vmlld9IANwA4A/kD+qMD+gP7ADtfEBRO
U05pYk91dGxldENvbm5lY3Rvcl5OU05pYkNvbm5lY3RvctQADgPwA/ED8gPzA/4AQQQAgMuAzYAHgOvW
AJsADgCcAJ0AngAyACsAwQQEBAUEBgDFgACAJYDOEQEKgOqAJ9IADgA+AI4ECoATowQLBAwEDYDPgNqA
4tcAmwAOAK0BBgCdAQcAoAP+Ac8EEQQSBBMAbAP+gM2AYIDQgNERASAJgM1fEBJ7ezEsIDZ9LCB7MzEs
IDMxfX3eARIADgHXBBgBVwFYBBkBWQEWARcBGAFaARkBXAQaAV8BJAQdBB4AVgQfBCABJAQiBAsEJAQl
BCZdTlNOb3JtYWxJbWFnZV8QEE5TQWx0ZXJuYXRlSW1hZ2USJAn+AIA/gDCA0xAZgNeA2YAwgNKAzxDI
EggAAAASCFQA/9QADgEuAS8BMAExAy4BMwQqgDOAMhELG9MADgAyBCwELQQuBC9eTlNSZXNvdXJjZU5h
bWWA1oDUgNVfEBRza2lwX3ByZXZpb3VzX2FjdGl2ZdIANwA4BDIEM6IEMwA7XxAQTlNDdXN0b21SZXNv
dXJjZdMADgAyBCwELQQuBDeA1oDUgNhfEBJza2lwX3ByZXZpb3VzX2JsdWXSAA4AdwB4ASyADdcAmwAO
AK0BBgCdAQcAoAP+Ac8EPgQ/BBMAbAP+gM2AYIDbgNwJgM1fEBN7ezM0LCAyfSwgezM5LCAzOX193gES
AA4B1wQYAVcBWAQZAVkBFgEXARgBWgEZAVwDMgFfASQERgQeAFYERwEkASQESgQMBCQEJQQmgD+AMIDe
gOCAMIAwgN2A2tQADgEuAS8BMAExBE4BMwHngDMjQCgAAAAAAACAMtMADgAyBCwELQQuBFOA1oDUgN9U
cGxhedMADgAyBCwELQQuBFiA1oDUgOFZcGxheV9ibHVl1wCbAA4ArQEGAJ0BBwCgA/4BzwRdBF4EEwBs
A/6AzYBggOOA5AmAzV8QE3t7NzUsIDZ9LCB7MzEsIDMxfX3eARIADgHXBBgBVwFYBBkBWQEWARcBGAFa
ARkBXAQaAV8BJARlBB4EZgRnBGgBJAQiBA0EJAQlBGyAP4AwgOUQgoDngOmAMIDSgOISCEQA/9MADgAy
BCwELQQuBHCA1oDUgOZfEBNza2lwX2ZvcndhcmRfYWN0aXZl0wAOADIELAQtBC4EdYDWgNSA6F8QEXNr
aXBfZm9yd2FyZF9ibHVl0gAOAHcAeAEsgA1ZezEwOSwgNDV9XxATdG9vbGJhck1lZGlhQ29udHJvbNQA
DgPwA/ED8gPzAuoAQQR/gMuAkIAHgO1dbWVkaWFMaXN0Vmlld9QADgPwA/ED8gPzAP8AQQSFgMuAS4AH
gO9fEBptZWRpYUxpc3RJdGVtRmV0Y2hlZFN0YXR1c9QADgPwA/ED8gPzAQEAQQSLgMuAWoAHgPFfEBFh
ZGRQbGF5bGlzdEJ1dHRvbtQADgPwA/ED8gPzAQIAQQSRgMuAYYAHgPNfEBRyZW1vdmVQbGF5bGlzdEJ1
dHRvbtQADgPwA/ED8gPzBJUAQQSXgMuA9YAHgQEX1gCbAA4AnACdAJ4AMgArAMEEmwQFBJwAxYAAgCWA
9oEBFoAn0gAOAD4AjgSggBOmBKEEogSjBKQEpQSmgPeA+4EBAYEBBYEBCYEBD9cAmwAOAK0BBgCdAQcA
oASVAc8EqgSrBBMAbASVgPWAYID4gPkJgPVfEBR7ezUxLCAxOX0sIHs0MCwgMjV9fdwBEgAOAdcBVwFY
AVkBFgEXARgBWgEZAVwB2AFfASQBYAHbASQEswElBKEBZQHgBLaAP4AwgDCA+oAxgPcT/////7aEQP9S
RlPXAJsADgCtAQYAnQEHAKAElQHPBLsEvAQTAGwElYD1gGCA/ID9CYD1XxASe3swLCAxfSwgezIwLCAy
MH193gESAA4B1wQYAVcBWAQZAVkBFgEXARgBWgEZAVwDMgFfASQEwwQeAFYEwwTFASQEIgSiBCQEJQTJ
gD+AMID+gP6BAQCAMIDSgPsT/////8h0AP/TAA4AMgQsBC0ELgTNgNaA1ID/WnZvbHVtZV9sb3fSAA4A
dwB4ASyADdcAmwAOAK0BBgCdAQcAoASVAc8E1ATVBBMAbASVgPWAYIEBAoEBAwmA9V8QFHt7OTQsIDE5
fSwgezQwLCAyNX193AESAA4B1wFXAVgBWQEWARcBGAFaARkBXAHYAV8BJAFgAdsBJATdASUEowFlAeAE
toA/gDCAMIEBBIAxgQEBUlBM1wCbAA4ArQEGAJ0BBwCgBJUBzwTkBOUEEwBsBJWA9YBggQEGgQEHCYD1
XxATe3s4LCAxOX0sIHs0MCwgMjV9fdwBEgAOAdcBVwFYAVkBFgEXARgBWgEZAVwB2AFfASQBYAHbASQE
7QElBKQBZQHgBLaAP4AwgDCBAQiAMYEBBVNGaXTXAJsADgCtAQYAnQEHAKAElQHPBPQE9QQTAGwElYD1
gGCBAQqBAQsJgPVfEBR7ezEyMywgMX0sIHsyMCwgMjB9fd4BEgAOAdcEGAFXAVgEGQFZARYBFwEYAVoB
GQFcAzIBXwEkBPwEHgBWBPwE/gEkBCIEpQQkBCUEyYA/gDCBAQyBAQyBAQ6AMIDSgQEJ0wAOADIELAQt
BC4FBYDWgNSBAQ1bdm9sdW1lX2hpZ2jSAA4AdwB4ASyADdkAmwAOAK0ArgEGAJ0BBwAyAKAElQCwBQwF
DQUOBBMAbAUQBJWA9YDAgQESgQERgQETCYEBEID1WElUU2xpZGVyWE5TU2xpZGVyXxAUe3sxOCwgNH0s
IHsxMDMsIDE1fX3eBRYBEgAOBRcFGAEWARcBGAGSAZMBGQUZBRoFGwUcBR0FHgFhAG8FHwElBKYFIgUj
BSQCOgUjAjpXTlNWYWx1ZV8QE05TTnVtYmVyT2ZUaWNrTWFya3NfEBJOU1RpY2tNYXJrUG9zaXRpb25a
TlNWZXJ0aWNhbF1OU0FsdEluY1ZhbHVlXxAaTlNBbGxvd3NUaWNrTWFya1ZhbHVlc09ubHkjQCAAAAAA
AAASBAX/AIEBFYEBFIAxgQEPI0BAAAAAAAAAIwAAAAAAAAAAEgACAAAICNIADgB3AHgBLIAN0gA3ADgF
KgUrpAUrAW0BBgA7XE5TU2xpZGVyQ2VsbFl7MTQzLCA0Nn1fEBd0b29sYmFyTWVkaWFBdWRpb1ZvbHVt
ZdQADgPwA/ED8gPzBKQAQQUygMuBAQWAB4EBGV8QEGZpbGxTY3JlZW5CdXR0b27UAA4D8APxA/ID8wIh
AEEFOIDLgGmAB4EBG18QEmNhdGVnb3JpZXNMaXN0Vmlld9QADgPwA/ED8gPzBTwAQQU+gMuBAR2AB4EB
JNgAmwAOAK0BBgCdAQcAnwCgBUABqwVCBUMBrgBsBUUFQIEBHoBZgQEfgQEhCYEBIIEBHtgAmwAOAJwA
nQCeAJ8AMgCgBUUAwQVKBAUFSwVFAMUFToEBIIAlgQEugQE6gQEggCeBATtfEBR7ezcsIDIwfSwgezEw
OSwgMTN9fdgBEgAOARUBFgEXARgBGQEeBVEBtgEjBVQEIgU8BVcFWBP/////hBH+QIBYgDSBASKA0oEB
HRIAQAQAgQEjXxAQVkxDIE1lZGlhIFBsYXllctMADgE7Ap0BPgBvBVyAOEYwIDAgMABfEBRtZWRpYURl
c2NyaXB0aW9uVGV4dNQADgPwA/ED8gPzANYAQQVigMuAIoAHgQEmWXZpZGVvVmlld9QADgPwA/ED8gPz
BKEAQQVogMuA94AHgQEoXxAQZnVsbFNjcmVlbkJ1dHRvbtQADgPwA/ED8gPzAQAAQQVugMuAUIAHgQEq
XxATbWVkaWFMaXN0SXRlbXNDb3VudNQADgPwA/ED8gPzAPIAQQV0gMuAK4AHgQEsXW5hdmlnYXRvclZp
ZXfUAA4D8APxA/ID8wVAAEEFeoDLgQEegAeBATzSAA4APgCOBX2AE6MFfgU8BYCBAS+BAR2BATPYAJsA
DgCtAQYAnQEHAJ8AoAVAAasFhAWFBYYAbAVFBUCBAR6AWYEBMIEBMREBIQmBASCBAR5fEBV7ezEyNCwg
MjB9LCB7NDYsIDEzfX3YARIADgEVARYBFwEYARkBHgVRAbYBIwWOBCIFfgWRBViAWIA0gQEygNKBAS8S
BEAEAIEBI1UwMDowMNgAmwAOAK0BBgCdAQcAnwCgBUAFlgWXBZgBrgBsBUUFQIEBHoEBOYEBNIEBNQmB
ASCBAR5fEBN7ezgsIDB9LCB7MTYzLCAxNX193gUWARIADgUXBRgBFgEXARgBkgGTARkFGQUaBRsCPgUd
BR4BYQBvBZ8FoAWABaIFIwUkAjoFIwI6gQEVgQE2gQE3gQEzI0DDiAAAAAAACAjSAA4AdwB4ASyADdQA
DgEuAS8BMAExBE4FqQHngDOBAThZSGVsdmV0aWNh0gA3ADgFrAUTpQUTAZAA4wDkADtZezE4MSwgMzl9
XxAXdG9vbGJhck1lZGlhRGVzY3JpcHRpb27UAA4D8APxA/ID8wBBAFkFs4DLgAeAC4EBPlhkZWxlZ2F0
ZdQADgPwA/ED8gPzAP4AQQW5gMuALYAHgQFAXxAUbWVkaWFMaXN0U2VhcmNoRmllbGTUAA4D8APxA/ID
8wSjAEEFv4DLgQEBgAeBAUJfEBluYXZpZ2F0b3JWaWV3VG9nZ2xlQnV0dG9u1AAOA/AD8QPyA/MFfgBB
BcWAy4EBL4AHgQFEXxAYbWVkaWFSZWFkaW5nUHJvZ3Jlc3NUZXh01AAOA/AD8QPyA/MAygBBBcuAy4Ag
gAeBAUZfEBl2aWRlb1BsYXllckFuZENvbnRyb2xWaWV31AAOA/AD8QPyA/MATgBBBdGAy4AXgAeBAUhf
EBVpbml0aWFsRmlyc3RSZXNwb25kZXLUAA4D8APxA/ID8wWAAEEF14DLgQEzgAeBAUpfEBptZWRpYVJl
YWRpbmdQcm9ncmVzc1NsaWRlctQADgPwA/ED8gPzAB8AQQXdgMuAAoAHgQFMWmNvbnRyb2xsZXLSAA4A
PgCIBeGAEa8QQATlAtoEEgXlAP8FmALQBAsFDgSkAQsBAwMtBAwD/gC9A3sA1gS8AyYE9QU8BKUBAgSh
BUACZwC+A5YFQwGtAfAFfgDyAQQCVgTVBKsBAAReAyUElQIOAMoGDgBZBKYB0QL4AQEFgASiBYUDJABO
AKsA/gIFBKMAQQLqAiEEDQQ/gQEHgLaA0YEBToBLgQE1gLiAz4EBE4EBBYAvgGWAnoDagM2AHoCvgCKA
/YCwgQELgQEdgQEJgGGA94EBHoB1gCmAs4EBIYBSgGOBAS+AK4CMgG+BAQOA+YBQgOSAq4D1gISAIIEB
UIALgQEPgFyAkoBagQEzgPuBATGAmYAXgBqALYCIgQEBgAeAkIBpgOKA3NIADgAyADMGJIAEgQFPXU5T
QXBwbGljYXRpb27SAA4GJwYoAGxfEBBOU1NoYXJlZEluc3RhbmNlgQFRCdIANwA4BisGLKMGLAYtADtf
EBhOU1VzZXJEZWZhdWx0c0NvbnRyb2xsZXJcTlNDb250cm9sbGVy0gAOAD4AiAYwgBGvEEAEpAEEBAsA
HwDyBYABBAP+BKYElQD+APIDJAP+AB8AqwMlAMoEogLqBKUFQASVAPIElQAfAlYAqwMmBTwBAAECBUAA
vgDyAiEEowShAPIEDQLqAB8BAwC9AB8AQQSVAQEBBADyBUAElQV+AuoAQQBOAPIBAwSVAB8BBAEDA/4E
DIEBBYCMgM+AAoArgQEzgIyAzYEBD4D1gC2AK4CZgM2AAoAagKuAIID7gJCBAQmBAR6A9YArgPWAAoBv
gBqAsIEBHYBQgGGBAR6AKYArgGmBAQGA94ArgOKAkIACgGWAHoACgAeA9YBagIyAK4EBHoD1gQEvgJCA
B4AXgCuAZYD1gAKAjIBlgM2A2tIADgA+AIgGc4ARrxBBBOUC2gQSBeUA/wWYBAsC0AUOBKQBCwEDAy0E
DAP+AL0DewS8ANYEpQT1BTwEoQECAyYFQAJnAL4DlgAfBUMBrQHwBX4A8gEEBNUEqwJWAQAEXgMlBJUC
DgYOAMoAWQSmAvgB0QEBBYAEogWFAyQATgCrAP4CBQSjAEEC6gQNAiEEP4EBB4C2gNGBAU6AS4EBNYDP
gLiBAROBAQWAL4BlgJ6A2oDNgB6Ar4D9gCKBAQmBAQuBAR2A94BhgLCBAR6AdYApgLOAAoEBIYBSgGOB
AS+AK4CMgQEDgPmAb4BQgOSAq4D1gISBAVCAIIALgQEPgJKAXIBagQEzgPuBATGAmYAXgBqALYCIgQEB
gAeAkIDigGmA3NIADgA+AIgGt4ARrxBBBrgGuQa6BrsGvAa9Br4GvwbABTIGwgbDBsQGxQbGBscGyAbJ
BsoGywbMBT4FaAbPBtAG0QbSBtMG1AbVBtYG1wbYBcUG2gbbBtwG3QbeBt8G4AbhBuIG4wbkBuUG5gbn
BugG6QbqBdcG7AbtBu4G7wbwBvEG8gbzAFMG9Qb2BvcG+IEBVYEBVoEBV4EBWIEBWYEBWoEBW4EBXIEB
XYEBGYEBXoEBX4EBYIEBYYEBYoEBY4EBZIEBZYEBZoEBZ4EBaIEBJIEBKIEBaYEBaoEBa4EBbIEBbYEB
boEBb4EBcIEBcYEBcoEBRIEBc4EBdIEBdYEBdoEBd4EBeIEBeYEBeoEBe4EBfIEBfYEBfoEBf4EBgIEB
gYEBgoEBg4EBSoEBhIEBhYEBhoEBh4EBiIEBiYEBioEBi4AKgQGMgQGNgQGOgQGPXxARQnV0dG9uIENl
bGwgKEZpdClfEBNWZXJ0aWNhbCBTY3JvbGxlci0xXxAiQnV0dG9uIENlbGwgKHNraXBfcHJldmlvdXNf
YWN0aXZlKVtBcHBsaWNhdGlvblxBc3luYyBBcnJvd3NbU2xpZGVyIENlbGxfECNCZXZlbCBCdXR0b24g
KHNraXBfcHJldmlvdXNfYWN0aXZlKV8QFUhvcml6b250YWwgU2Nyb2xsZXItMV1TbGlkZXIgQ2VsbC0x
XxARU2VhcmNoIEZpZWxkIENlbGxbU2Nyb2xsIFZpZXdfEKZJbWFnZSBDZWxsIChOU0ltYWdlIDB4MTkz
NTFmYTAgU2l6ZT17MTQsIDE0fSBSZXBzPSgKICAgIE5TQ2FjaGVkSW1hZ2VSZXAgMHgxOTM1MjA0MCBT
aXplPXsxNCwgMTR9IENvbG9yU3BhY2U9TlNDYWxpYnJhdGVkUkdCQ29sb3JTcGFjZSBCUFM9OCBQaXhl
bHM9MTR4MTQgQWxwaGE9WUVTCikpXxATQmV2ZWwgQnV0dG9uIChwbGF5KV8QE1Rvb2xiYXJNZWRpYUNv
bnRyb2xbQ3VzdG9tIFZpZXdfEB1UZXh0IEZpZWxkIENlbGwgKFRleHQgQ2VsbCktMl8QGEJ1dHRvbiBD
ZWxsICh2b2x1bWVfbG93KV8QFEJyb3dzYWJsZSBWaWRlbyBWaWV3XxAaQmV2ZWwgQnV0dG9uICh2b2x1
bWVfaGlnaClfEBlCdXR0b24gQ2VsbCAodm9sdW1lX2hpZ2gpXxAZUm91bmQgVGV4dHVyZWQgQnV0dG9u
ICgtKV8QFFRhYmxlIENvbHVtbiAodGl0bGUpXxAXVG9vbGJhck1lZGlhRGVzY3JpcHRpb25fEBtUZXh0
IEZpZWxkIENlbGwgKFRleHQgQ2VsbCldQ3VzdG9tIFZpZXctMV8QHVRleHQgRmllbGQgQ2VsbCAoVGV4
dCBDZWxsKS0xXEZpbGUncyBPd25lcl8QIlRleHQgRmllbGQgQ2VsbCAoVkxDIE1lZGlhIFBsYXllcilf
ECJUZXh0IEZpZWxkIENlbGwgKCV7dmFsdWUxfUAgaXRlbXMpXxAPQnV0dG9uIENlbGwgKC0pXUN1c3Rv
bSBWaWV3LTNdU2Nyb2xsIFZpZXctMV8QEEJ1dHRvbiBDZWxsIChQTClfEBBCdXR0b24gQ2VsbCAoRlMp
XxATVGFibGUgQ29sdW1uIChuYW1lKV8QHlN0YXRpYyBUZXh0ICgle3ZhbHVlMX1AIGl0ZW1zKV8QIUJ1
dHRvbiBDZWxsIChza2lwX2ZvcndhcmRfYWN0aXZlKV8QFVRhYmxlIENvbHVtbiAobnVtYmVyKV8QF1Rv
b2xiYXJNZWRpYUF1ZGlvVm9sdW1lXxARVmVydGljYWwgU2Nyb2xsZXJfEB9TaGFyZWQgVXNlciBEZWZh
dWx0cyBDb250cm9sbGVyXUN1c3RvbSBWaWV3LTJXVG9vbGJhcl8QEWF1ZGlvVm9sdW1lU2xpZGVyXxAR
VGFibGUgSGVhZGVyIFZpZXdfEA9CdXR0b24gQ2VsbCAoKylfEBlSb3VuZCBUZXh0dXJlZCBCdXR0b24g
KCspXxAZQmV2ZWwgQnV0dG9uICh2b2x1bWVfbG93KV8QF1RleHQgRmllbGQgQ2VsbCAoMDA6MDApXxAU
VGFibGUgQ29sdW1uIChzdGF0ZSlcQ29udGVudCBWaWV3Xk9uZSBTcGxpdCBWaWV3XFNlYXJjaCBGaWVs
ZF8QE0hvcml6b250YWwgU2Nyb2xsZXJfEBRwbGF5bGlzdFRvZ2dsZUJ1dHRvbl8QElRhYmxlIFZpZXcg
KHRpdGxlKV8QIkJldmVsIEJ1dHRvbiAoc2tpcF9mb3J3YXJkX2FjdGl2ZSlfEBNPdXRsaW5lIFZpZXcg
KG5hbWUpXxASQnV0dG9uIENlbGwgKHBsYXkp0gAOAD4AiAc2gBGiBKYAq4EBD4Aa0gAOAD4AiAc7gBGi
BRAAtoEBEIAb0gAOAD4AiAdAgBGvEFgE5QLaA+oD2AQSBeUA/wWYAtAECwUOA+EEpAPbAQsBAwMtA9kE
DAP+AL0DewPiANYEvAMmBKUFPAT1AQIEoQPlBUACZwC+A5YAHwVDAa0B8AV+A+QD5gPrA+wA8gEEA+kD
7QJWBNUEqwPgA98BAAReAyUElQPjAg4D3QDKBg4AWQSmAdEC+APeA9oD3AEBBYAEogWFA+cD6AMkAE4A
qwD+AgUD7gSjAEEC6gIhBA0EP4EBB4C2gQFDgMmA0YEBToBLgQE1gLiAz4EBE4EBHIEBBYDugC+AZYCe
gMyA2oDNgB6Ar4EBJYAigP2AsIEBCYEBHYEBC4BhgPeBASuBAR6AdYApgLOAAoEBIYBSgGOBAS+BASmB
AS2BAUWBAUeAK4CMgQFBgQFJgG+BAQOA+YEBGoEBGIBQgOSAq4D1gQEngISA8oAggQFQgAuBAQ+AXICS
gPSA7IDwgFqBATOA+4EBMYEBPYEBP4CZgBeAGoAtgIiBAUuBAQGAB4CQgGmA4oDc0gAOAD4AiAebgBGv
EFgHnAedB54HnwegB6EHogejB6QHpQemB6cHqAepB6oHqwesB60HrgevB7AHsQeyB7MHtAe1B7YHtwe4
B7kHuge7B7wHvQe+B78HwAfBB8IHwwfEB8UHxgfHB8gHyQfKB8sHzAfNB84HzwfQB9EH0gfTB9QH1QfW
B9cH2AfZB9oH2wfcB90H3gffB+AH4QfiB+MH5AflB+YH5wfoB+kH6gfrB+wH7QfuB+8H8AfxB/IH84EB
lIEBlYEBloEBl4EBmIEBmYEBmoEBm4EBnIEBnYEBnoEBn4EBoIEBoYEBooEBo4EBpIEBpYEBpoEBp4EB
qIEBqYEBqoEBq4EBrIEBrYEBroEBr4EBsIEBsYEBsoEBs4EBtIEBtYEBtoEBt4EBuIEBuYEBuoEBu4EB
vIEBvYEBvoEBv4EBwIEBwYEBwoEBw4EBxIEBxYEBxoEBx4EByIEByYEByoEBy4EBzIEBzYEBzoEBz4EB
0IEB0YEB0oEB04EB1IEB1YEB1oEB14EB2IEB2YEB2oEB24EB3IEB3YEB3oEB34EB4IEB4YEB4oEB44EB
5IEB5YEB5oEB54EB6IEB6YEB6oEB6xEBUBC1EQF7ENwRAWAT//////////0QqBEBNhC0EQFfEQFSEQF8
EQE9EQEXELIQrBC6EQF6EQFaEQFTEFUQuxDoEMARAU0QtxEBPBEBUREBEBEBQhDrELEQVhC8EQGFEQE3
EL4RARERASMRARYRAXgQ7BA6EKYQqhEBghEBfRCwEQFOEQFLEQGBEKcRAWgQuBEBOhEBgBCuEL8RAXUR
AWwRATsQsxEBeREBFREBExEBDhEBJREBQBEBOBEBgxEBGBC5EFQQqxCtEEYRAT8QthCvEQFXEQFl0gAO
AD4AjghHgBOg0gAOAD4AiAhKgBGg0gAOAD4AiAhNgBGg0gA3ADgITwhQoghQADteTlNJQk9iamVjdERh
dGEACAAZACIAJwAxADoAPwBEAFIAVABmBEoEUASbBKIEqQS3BMkE5QTzBP8FCwUZBSQFMgVOBVwFbwWB
BZsFpQWyBbQFtwW6Bb0FwAXCBcUFxwXKBc0F0AXTBdUF1wXaBd0F4AXjBewF+AX6BfwGCgYTBhwGJwYs
BjsGRAZXBmAGawZtBnAGcgajBrAGvQbLBtUG4wb8BwkHGwcvBzkHRQdHB0kHSwdNB1IHVAdWB1gHWgdd
B18HYQd7B38HjQfCB9wH/ggYCDoITghrCH8Imwi+CNsI8gkICQoJDAkNCQ8JEAkSCRQJFgkXCRgJGgkc
CSUJLwkxCVgJYQloCXoJgwmQCZgJmgmbCZwJpQmsCcIJzwnYCdoJ2wnkCekJ8Qn6CfwJ/QoGCg0KHAol
CicKKAoxCjYKQApKCmcKeQqECo0KmQqiCq4KsAqyCrQKtwq5CrsKvQrGCsgKywrNCvIK+gsQCxILFAsW
CxgLGgsdCx8LIQsjCzULQQtKC0wLUQtTC1ULdgt4C3oLfAt+C4ALgguEC40LjwuSC5QLtQu3C7kLuwu9
C78LwQvDC8wLzgvRC9ML8AvyC/QL9gv4C/oL/AwHDB8MKAwxDD4MRQxRDFwMfQx/DIEMgwyFDIgMigyM
DI4MlwyZDJwMngy/DMEMwwzFDMcMyQzLDM0M1gzYDOcM6QzrDO0M7wzxDPMM9Q0WDR0NJw0pDSsNLQ0v
DTINMw01DTcNTw2IDZQNqQ2+DdIN3Q3nDfUOAg4VDikOPg5RDl0OYg5nDmkOaw5tDm8OcQ5zDngOeQ57
Dn0Ofw6ADpEOmA6fDqgOqg6zDrUOuA7FDs4O0w7aDu8O9w8EDxAPHg8gDyIPJA8mDygPLw9FD1IPWg9c
D14PYQ9qD28PhA+GD4gPig+MD58PrA+uD7EP4g/rEAAQDxAhEDMQPBBKEEwQURBTEFUQVxBZEFsQXRBg
EGIQZxBuEIQQjRCWEKMQsBDhEQcRCRELEQ0RDxERERMRGBEeEScRKREsES4ROxE9EUIRRBFGEUsRTRFP
EV0RiRGQEaYRrxG6Ec4R4BHpEfYSBBIQEhoSQxJOElkSYxJwEnISdBJ2En8SiBKLEo0SkBKSEpQSmRKb
EqQSqRK0EssS1BLdEvMTFBMWExgTGhMcEx8TIBMiEyQTPBNhE3cTfBN+E4ATghOEE4YTixONE48TohOn
E7wTvhPAE8ITxBPRE94T4BPsE/UT/hQHFBIUMxQ1FDcUORQ7FDwUPhRAFFUUhhScFKUUpxSpFKsUrRSv
FLEUsxS4FMEUwxTUFNYU3xThFOMU8BT5FQQVDRUuFTAVMhU0FTYVNxU5FTsVURWCFYQVhhWIFYoVjBWO
FZAVxRXRFdoV5xXzFgEWDxYRFhMWFRYXFhoWHBYvFjIWNBY2FjgWOhY8FkUWRxZOFlAWUhZUFoEWixaV
Fp8WoRajFqUWpxapFqwWrhawFrIWtBa2Fr8WwRbEFsYXGRc7F0UXdBeJF5YXsBfMF+cX8xgSGCEYLRgv
GDEYNhg3GDkYOhg8GEUYThhRGFMYVBhWGFgYWhhcGF4YZxhyGIMYhRiHGIkYkhipGLIYuxjJGNIY1BjX
GNkZBhkVGSIZLxk3GUIZURltGXgZgxmPGZAZkhmUGZYZnxmhGaMZrBm1GbcZ1BnZGdsZ3RnfGeEZ4xnw
GfIZ/hoTGhUaFxoZGhsaLRo2GkEaVRp2GnsafRp/GoEagxqFGooajBqWGqsarRqvGrEasxrMGtka5Brw
GvIa9Br1Gv4bBxsMGx8bKBstGzsbSBtOG1AbdBuJG4sbjRuPG5EbmxuoG6obrxu4G8Ub0xvqG/Mb/BwH
HCwcNhw4HDocPBw+HEAcQhxEHE0cZRxyHHschhyRHLocvBy+HMAcwhzEHMYcyBzRHO0dBR0OHRcdJB1j
HXYdeB16HXwdfh2BHYMdhR2HHZodnB2eHaAdoh2kHa0drx26Hbwdvh3AHcIdxB3xHfMd9R33Hfkd+x39
Hf8eAR4DHgweDh4RHhMeZh5zHnUedx6AHoIehB6FHoceiR6KHowejh6QHpIemx6mHsMexR7HHsoezB7O
HtAe0h7/HwEfAx8FHwcfCR8LHw0fDx8RHxsfJB8tH0EfWh9cH14fYB9iH2Qfeh+DH4UfjB+OH5Afkh+7
H7wfvh/AH8Ifyx/NH9Yf2B/eH/sgACACIAQgBiAIIAogHyAhICMgJSAnIDMgWCBgIGggcCB7IH0gfyCB
IIYghyCcIKkgsCCyILQguSC7IL0gxiDPINEg1CDWIN8g4SDmIOgg6iEDIRohLSFAIVohciF0IXYheCF6
IXw2aDaENo02lDanNrI2vzbBNsY2zzbUNtw25TbsNvg3JTcyNzM3NTc3Nzk3QjdEN0U3RzdON2s3bTdv
N3E3czd1N4I3hDelN6o3rDeuN7A3sje0N7c3uTfiN+M35TfnN+k38jf0N/03/zgFOCI4JDgmOCg4Kjgs
OE04TzhROFM4VThXOFk4YjhtOIU4qjisOK44sDiyOLQ4tji4OME41zj8OP45ADkCOQQ5BjkIOQo5Ijkr
OS05MDkyOUg5YjltOYY5nTmmOas5ujnFOc451TntOfg6AToGOhk6IjopOjY6PDpFOkc6eDp6Onw6fjqA
OoI6hDqGOok6jDqPOpI6lTqYOps6njqhOqQ6pzqqOq06sDqzOrY6xzrVOt465jroOuo67DruOvw7BTsM
OyM7MjtDO0U7RztJO0s7ZDtmO2g7ajttO287cTt6O3w7gzuFO4c7iTumO6g7qjusO647sTuyO7Q7yTwC
PBA8IzwoPCo8LDwuPDA8Mjw0PDY8ODw6PDw8QTxGPFc8WTxbPF48azx6PHw8fjyAPJc8oDylPLg8xTzH
PMk8yzzgPOk86z0IPQo9DD0OPRA9ET0TPSk9Yj1kPWY9aD1qPWw9bj1wPXI9gz2FPY49kD2dPZ89oT2j
Pag9tT23Pbk9uz3FPeI95D3mPeg96j3rPe0+Az48Pj4+QD5CPkQ+Rj5IPko+TD5OPlM+YD5iPmQ+Zj58
Pok+iz6NPo8+oz6sPq4+uD7OPt8+4T7jPuU+5z71PwY/CD8KPww/Dj8rPzw/Pj9AP0I/RD9YP2k/az9t
P28/cT+IP5k/mz+dP58/oj+7P70/vz/BP8Q/xj/PP9E/3j/gP+I/5T/oP+s/7kALQA1AD0ARQBNAFEAW
QC1AXkBgQGJAZEBmQGhAakBzQHZAk0CVQJdAmUCbQJxAnkCzQOxA7kDwQPJA9ED3QPlA+0D9QQZBE0EV
QRdBGUEkQS1BL0FMQU5BUEFTQVZBV0FZQXBBoUGjQaVBp0GqQaxBr0GyQc9B0UHTQdZB2UHaQdxB8kIj
QiVCJ0IpQixCLkIxQjVCUkJUQlZCWUJcQl1CX0J2Qq9CsUKzQrZCuUK8Qr5CwELDQtBC0kLUQtdC40Ls
Qu5DE0MVQxdDGkMdQyBDIUMkQyZDL0M4Q09DiEOQQ6ZDu0PGQ9RD8UP6Q/9EAkQFRAdECkQTRBxEIUQi
RCNELEQuRDdEQERNRFdEcUSCRIREh0SJRIxEn0SwRLJEtES2RLlEzkTfROFE5ETmROlFCkUNRQ9FEkUV
RRZFGUUcRT1FQEVCRUVFSEVLRU1FUEVnRYhFkUWTRZVFmEWaRZ1FokWlRbhFxUXHRc5F5UX2RfhF+kX8
Rf9GCUYaRhxGHkYgRiNGNkZHRklGS0ZNRlBGZkZ3RnlGe0Z9RoBGjkafRqFGpEamRqlGska0RrtGvkbB
RsRG5UboRupG7UbwRvNG9Eb3RvpHEkczRzVHN0c6RzxHP0dER0dHTUduR3FHdEd3R3pHe0d+R4FHl0fQ
R9NH1kfZR9xH5UfmR+dH8EfySANIBUgISBJIG0gmSDBISkhbSF1IX0hhSGRIbUh+SIBIgkiESIdInkiv
SLFItEi2SLlI1UjmSOhI60jtSPBJC0kcSR5JIEkiSSVJQUlSSVRJVklYSVtJc0mESYZJiUmLSY5Jq0m8
Sb5JwEnCScVJ0EnZSdtKXkphSmNKZUpoSmpKbUpvSnFKdEp3SnlKe0p9Sn9KgUqDSoVKh0qJSotKjkqR
SpRKlkqYSptKnUqfSqFKpEqmSqhKq0qtSq9KsUq0SrZKuEq6SrxKvkrASsJKxUrHSspKzErOStBK00rV
SthK2krcSt5K4EriSuVK50rpSutK7UrvSvhK+kr9SwtLFEsnSypLK0s0SztLVktjS2xLbkvxS/RL9kv4
S/pL/Ev/TAFMA0wGTAhMCkwMTA5MEEwSTBRMFkwYTBpMHEwfTCJMJEwmTChMKkwsTC5MMEwzTDVMN0w6
TDxMPkxATENMRUxHTElMS0xNTE9MUUxTTFVMV0xZTFtMXUxgTGJMZUxnTGlMa0xtTG9McUxzTHVMd0x5
THtMhEyGTQtNDk0QTRJNFU0XTRpNHE0eTSFNJE0mTShNKk0sTS5NME0yTTRNNk05TTxNP01BTUNNRU1I
TUpNTE1OTVBNU01VTVdNWk1cTV5NYU1jTWVNZ01pTWtNbU1vTXJNdE12TXlNe019TX9Ngk2ETYdNiU2L
TY1Nj02RTZRNlk2YTZpNnE2eTadNqU4uTjFONE43TjpOPU5ATkNORk5JTkxOT05STlVOWE5bTl5OYU5k
TmdOak5tTnBOc052TnlOfE5/ToJOhU6ITotOjk6RTpROl06aTp1OoE6jTqZOqU6sTq9Osk61TrhOu06+
TsFOxE7HTspOzU7QTtNO1k7ZTtxO307iTuRO507qTu1O8E8ETxpPP09LT1hPZE+KT6JPsE/ET9BQeVCP
UKVQsVDRUOxRA1EgUTxRWFFvUYlRp1G1UdVR4lIHUixSPlJMUlpSbVKAUpZSt1LbUvNTDVMhU0NTUVNZ
U21TgVOTU69Ty1PlU/xUCVQYVCVUO1RSVGdUjFSiVLdUwFTCVMdUylTMVNVU11TcVN9U4VTqVOxVn1Wi
VaRVp1WpVatVrlWwVbNVtVW3VbpVvVXAVcJVxFXGVchVylXMVc5V0FXSVdVV11XZVdtV3lXhVeRV5lXo
VetV7lXwVfJV9FX2VflV+1X9VgBWA1YGVglWDFYOVhBWE1YWVhhWG1YdViBWI1YlVidWKVYrVi5WMFYy
VjRWN1Y5VjxWPlZAVkJWRFZGVkhWS1ZNVlBWU1ZWVlhWWlZcVl5WYFZjVmZWaFZqVmxWblZwVnlWe1cu
VzFXNFc3VzpXPVdAV0NXRldJV0xXT1dSV1VXWFdbV15XYVdkV2dXaldtV3BXc1d2V3lXfFd/V4JXhVeI
V4tXjleRV5RXl1eaV51XoFejV6ZXqVesV69Xsle1V7hXu1e+V8FXxFfHV8pXzVfQV9NX1lfZV9xX31fi
V+VX6FfrV+5X8Vf0V/dX+lf9WABYA1gGWAlYDFgPWBJYFVgYWBtYHlghWCRYJ1gqWC1YMFgzWDZYOVg7
WD5YQFhDWExYTlhRWFNYVlhZWFxYX1hiWGRYZlhoWGtYblhxWHNYdVh3WHlYfFh+WIFYhFiHWIpYjFiO
WJBYkliVWJhYmlidWKBYo1imWKhYqlisWK5YsVi0WLZYuVi8WL9YwVjEWMZYyVjMWM5Y0FjTWNZY2Vjb
WN5Y4VjkWOdY6ljtWPBY81j2WPhY+lj8WP5ZAFkDWQVZB1kKWQ1ZFlkYWRlZIlkkWSVZLlkwWTFZOlk/
AAAAAAAAAgIAAAAAAAAIUQAAAAAAAAAAAAAAAAAAWU4</bytes>
ODAsIDc3OH19WXszNzIsIDU3fdIANwA4A88D0KID0AA7XxAQTlNXaW5kb3dUZW1wbGF0ZdIANwA4A9ID
06MD0wPUADtcTlNNdXRhYmxlU2V0VU5TU2V00gAOAD4AjgPXgBOvEBcD2APZA9oD2wPcA90D3gPfA+AD
4QPiA+MD5APlA+YD5wPoA+kD6gPrA+wD7QPugMmAzIDOgNqA3IDegOCA4oEBAoEBBIEBC4EBEYEBE4EB
FYEBF4EBGYEBIIEBOoEBPIEBPoEBR4EBSYEBS9QADgPwA/ED8gPzAQEAQQP2XU5TRGVzdGluYXRpb25Y
TlNTb3VyY2VXTlNMYWJlbIDLgFqAB4DKXxARYWRkUGxheWxpc3RCdXR0b27SADcAOAP5A/qjA/oD+wA7
XxAUTlNOaWJPdXRsZXRDb25uZWN0b3JeTlNOaWJDb25uZWN0b3LUAA4D8APxA/ID8wCrAEEEAIDLgBqA
B4DNXW1haW5TcGxpdFZpZXfUAA4D8APxA/ID8wQEAEEEBoDLgM+AB4DZ2ACbAA4ArQEGAJ0BBwCfAKAE
CAQJBAoECwGuAGwEDQQIgNCA2IDRgNMJgNKA0NgAmwAOAJwAnQCeAJ8AMgCgBA0AwQQSBBMEFAQNAMUE
F4DSgCWBAT8RAQqBAUSA0oAngQFFXxATe3s4LCAwfSwgezE2MywgMTV9fd4EGgESAA4EGwQcARYBFwEY
AZIBkwEZBB0EHgQfAj4EIAQhAWEAbwQiBCMEBAQlBCYEJwI6BCYCOldOU1ZhbHVlXxATTlNOdW1iZXJP
ZlRpY2tNYXJrc18QEk5TVGlja01hcmtQb3NpdGlvblpOU1ZlcnRpY2FsXU5TQWx0SW5jVmFsdWVfEBpO
U0FsbG93c1RpY2tNYXJrVmFsdWVzT25seRIEBf8AgNeA1IDVgM8jQMOIAAAAAAAjAAAAAAAAAAASAAIA
AAgI0gAOAHcAeAEsgA3UAA4BLgEvATABMQQuBC8B54AzI0AoAAAAAAAAgNZZSGVsdmV0aWNh0gA3ADgE
MgQzpAQzAW0BBgA7XE5TU2xpZGVyQ2VsbNIANwA4BDUENqUENgGQAOMA5AA7WE5TU2xpZGVyXxAabWVk
aWFSZWFkaW5nUHJvZ3Jlc3NTbGlkZXLUAA4D8APxA/ID8wDyAEEEPIDLgCuAB4DbXW5hdmlnYXRvclZp
ZXfUAA4D8APxA/ID8wECAEEEQoDLgGGAB4DdXxAUcmVtb3ZlUGxheWxpc3RCdXR0b27UAA4D8APxA/ID
8wAfAEEESIDLgAKAB4DfWmNvbnRyb2xsZXLUAA4D8APxA/ID8wIhAEEEToDLgGmAB4DhXxASY2F0ZWdv
cmllc0xpc3RWaWV31AAOA/AD8QPyA/MEUgBBBFSAy4DjgAeBAQHWAJsADgCcAJ0AngAyACsAwQRYBBME
WQDFgACAJYDkgQEAgCfSAA4APgCOBF2AE6MEXgRfBGCA5YDwgPjXAJsADgCtAQYAnQEHAKAEUgHPBGQE
ZQRmAGwEUoDjgGCA5oDnEQEgCYDjXxASe3sxLCA2fSwgezMxLCAzMX193gESAA4B1wRrAVcBWARsAVkB
FgEXARgBWgEZAVwEbQFfASQEcARxAFYEcgRzASQEdQReBHcEeAR5XU5TTm9ybWFsSW1hZ2VfEBBOU0Fs
dGVybmF0ZUltYWdlEiQJ/gCAP4AwgOkQGYDtgO+AMIDogOUQyBIIAAAAEghUAP/UAA4BLgEvATABMQMu
ATMEfYAzgDIRCxvTAA4AMgR/BIAEgQSCXk5TUmVzb3VyY2VOYW1lgOyA6oDrXxAUc2tpcF9wcmV2aW91
c19hY3RpdmXSADcAOASFBIaiBIYAO18QEE5TQ3VzdG9tUmVzb3VyY2XTAA4AMgR/BIAEgQSKgOyA6oDu
XxASc2tpcF9wcmV2aW91c19ibHVl0gAOAHcAeAEsgA3XAJsADgCtAQYAnQEHAKAEUgHPBJEEkgRmAGwE
UoDjgGCA8YDyCYDjXxATe3szNCwgMn0sIHszOSwgMzl9fd4BEgAOAdcEawFXAVgEbAFZARYBFwEYAVoB
GQFcAzIBXwEkBJkEcQBWBJoBJAEkBJ0EXwR3BHgEeYA/gDCA9ID2gDCAMIDzgPDUAA4BLgEvATABMQQu
ATMB54AzgDLTAA4AMgR/BIAEgQSlgOyA6oD1VHBsYXnTAA4AMgR/BIAEgQSqgOyA6oD3WXBsYXlfYmx1
ZdcAmwAOAK0BBgCdAQcAoARSAc8ErwSwBGYAbARSgOOAYID5gPoJgONfEBN7ezc1LCA2fSwgezMxLCAz
MX193gESAA4B1wRrAVcBWARsAVkBFgEXARgBWgEZAVwEbQFfASQEtwRxBLgEuQS6ASQEdQRgBHcEeAS+
gD+AMID7EIKA/YD/gDCA6ID4EghEAP/TAA4AMgR/BIAEgQTCgOyA6oD8XxATc2tpcF9mb3J3YXJkX2Fj
dGl2ZdMADgAyBH8EgASBBMeA7IDqgP5fEBFza2lwX2ZvcndhcmRfYmx1ZdIADgB3AHgBLIANWXsxMDks
IDQ1fV8QE3Rvb2xiYXJNZWRpYUNvbnRyb2zUAA4D8APxA/ID8wEAAEEE0YDLgFCAB4EBA18QE21lZGlh
TGlzdEl0ZW1zQ291bnTUAA4D8APxA/ID8wTVAEEE14DLgQEFgAeBAQrXAJsADgCtAQYAnQEHAKAE2QHP
BNsE3ARmAGwE2YEBBoBggQEHgQEICYEBBtYAmwAOAJwAnQCeADIAKwDBBOIEEwTjAMWAAIAlgQEhgQE4
gCdfEBR7ezk0LCAxOX0sIHs0MCwgMjV9fdwBEgAOAdcBVwFYAVkBFgEXARgBWgEZAVwB2AFfASQBYAHb
ASQE6gElBNUBZQHgBO2AP4AwgDCBAQmAMYEBBRP/////toRA/1JQTF8QGW5hdmlnYXRvclZpZXdUb2dn
bGVCdXR0b27UAA4D8APxA/ID8wTyAEEE9IDLgQEMgAeBARDXAJsADgCtAQYAnQEHAKAE2QHPBPgE+QRm
AGwE2YEBBoBggQENgQEOCYEBBl8QFHt7NTEsIDE5fSwgezQwLCAyNX193AESAA4B1wFXAVgBWQEWARcB
GAFaARkBXAHYAV8BJAFgAdsBJAUBASUE8gFlAeAE7YA/gDCAMIEBD4AxgQEMUkZTXxAQZnVsbFNjcmVl
bkJ1dHRvbtQADgPwA/ED8gPzAMoAQQUKgMuAIIAHgQESXxAZdmlkZW9QbGF5ZXJBbmRDb250cm9sVmll
d9QADgPwA/ED8gPzAP8AQQUQgMuAS4AHgQEUXxAabWVkaWFMaXN0SXRlbUZldGNoZWRTdGF0dXPUAA4D
8APxA/ID8wDWAEEFFoDLgCKAB4EBFll2aWRlb1ZpZXfUAA4D8APxA/ID8wLqAEEFHIDLgJCAB4EBGF1t
ZWRpYUxpc3RWaWV31AAOA/AD8QPyA/MFIABBBSKAy4EBGoAHgQEf2ACbAA4ArQEGAJ0BBwCfAKAECAGr
BSYFJwGuAGwEDQQIgNCAWYEBG4EBHAmA0oDQXxAUe3s3LCAyMH0sIHsxMDksIDEzfX3YARIADgEVARYB
FwEYARkBHgUtAbYBIwUwBHUFIAUzBTQT/////4QR/kCAWIA0gQEdgOiBARoSAEAEAIEBHl8QEFZMQyBN
ZWRpYSBQbGF5ZXLTAA4BOwKdAT4AbwU4gDhGMCAwIDAAXxAUbWVkaWFEZXNjcmlwdGlvblRleHTUAA4D
8APxA/ID8wTZAEEFPoDLgQEGgAeBATnSAA4APgCOBUGAE6YE8gVDBNUFRQVGBUeBAQyBASKBAQWBASiB
ASyBATLXAJsADgCtAQYAnQEHAKAE2QHPBUsFTARmAGwE2YEBBoBggQEjgQEkCYEBBl8QEnt7MCwgMX0s
IHsyMCwgMjB9fd4BEgAOAdcEawFXAVgEbAFZARYBFwEYAVoBGQFcAzIBXwEkBVMEcQBWBVMFVQEkBHUF
QwR3BHgFWYA/gDCBASWBASWBASeAMIDogQEiE//////IdAD/0wAOADIEfwSABIEFXYDsgOqBASZadm9s
dW1lX2xvd9IADgB3AHgBLIAN1wCbAA4ArQEGAJ0BBwCgBNkBzwVkBWUEZgBsBNmBAQaAYIEBKYEBKgmB
AQZfEBN7ezgsIDE5fSwgezQwLCAyNX193AESAA4B1wFXAVgBWQEWARcBGAFaARkBXAHYAV8BJAFgAdsB
JAVtASUFRQFlAeAE7YA/gDCAMIEBK4AxgQEoU0ZpdNcAmwAOAK0BBgCdAQcAoATZAc8FdAV1BGYAbATZ
gQEGgGCBAS2BAS4JgQEGXxAUe3sxMjMsIDF9LCB7MjAsIDIwfX3eARIADgHXBGsBVwFYBGwBWQEWARcB
GAFaARkBXAMyAV8BJAV8BHEAVgV8BX4BJAR1BUYEdwR4BVmAP4AwgQEvgQEvgQExgDCA6IEBLNMADgAy
BH8EgASBBYWA7IDqgQEwW3ZvbHVtZV9oaWdo0gAOAHcAeAEsgA3ZAJsADgCtAK4BBgCdAQcAMgCgBNkA
sAWMBY0FjgRmAGwFkATZgQEGgMCBATWBATSBATYJgQEzgQEGWElUU2xpZGVyXxAUe3sxOCwgNH0sIHsx
MDMsIDE1fX3eBBoBEgAOBBsEHAEWARcBGAGSAZMBGQQdBB4EHwWVBCAEIQFhAG8FlwElBUcFmgQmBCcC
OgQmAjojQCAAAAAAAACA14EBN4AxgQEyI0BAAAAAAAAACAjSAA4AdwB4ASyADVl7MTQzLCA0Nn1fEBd0
b29sYmFyTWVkaWFBdWRpb1ZvbHVtZdQADgPwA/ED8gPzAP4AQQWlgMuALYAHgQE7XxAUbWVkaWFMaXN0
U2VhcmNoRmllbGTUAA4D8APxA/ID8wBOAEEFq4DLgBeAB4EBPV8QFWluaXRpYWxGaXJzdFJlc3BvbmRl
ctQADgPwA/ED8gPzBAgAQQWxgMuA0IAHgQFG0gAOAD4AjgW0gBOjBbUFIAQEgQFAgQEagM/YAJsADgCt
AQYAnQEHAJ8AoAQIAasFuwW8Bb0AbAQNBAiA0IBZgQFBgQFCEQEhCYDSgNBfEBV7ezEyNCwgMjB9LCB7
NDYsIDEzfX3YARIADgEVARYBFwEYARkBHgUtAbYBIwXFBHUFtQXIBTSAWIA0gQFDgOiBAUASBEAEAIEB
HlUwMDowMFl7MTgxLCAzOX1fEBd0b29sYmFyTWVkaWFEZXNjcmlwdGlvbtQADgPwA/ED8gPzAEEAWQXR
gMuAB4ALgQFIWGRlbGVnYXRl1AAOA/AD8QPyA/MFRQBBBdeAy4EBKIAHgQFKXxAQZmlsbFNjcmVlbkJ1
dHRvbtQADgPwA/ED8gPzBbUAQQXdgMuBAUCAB4EBTF8QGG1lZGlhUmVhZGluZ1Byb2dyZXNzVGV4dNIA
DgA+AIgF4YARrxBABbUAvgDyAg4BAQQEBXUBAgTcBPkE1QRgAMoEXwW8AE4BAAQIAyYEsARSAP4E8gD/
A3sFTAUgBUMFRwTZAKsC6gHRAvgAWQSSBAsCZwIhBY4DlgELAfAA1gIFAyQDLQVlBUUEZQJWAtADJQED
BScEXgGtAQQFRgYdAL0GHwBBAtqBAUCAKYArgISAWoDPgQEugGGBAQiBAQ6BAQWA+IAggPCBAUKAF4BQ
gNCAsID6gOOALYEBDIBLgK+BASSBARqBASKBATKBAQaAGoCQgFyAkoALgPKA04B1gGmBATaAs4AvgGOA
IoCIgJmAnoEBKoEBKIDngG+AuICrgGWBARyA5YBSgIyBASyBAU6AHoEBUIAHgLbSAA4GIwYkAGxfEBBO
U1NoYXJlZEluc3RhbmNlgQFPCdIANwA4BicGKKMGKAYpADtfEBhOU1VzZXJEZWZhdWx0c0NvbnRyb2xs
ZXJcTlNDb250cm9sbGVy0gAOADIAMwYsgASBAVFdTlNBcHBsaWNhdGlvbtIADgA+AIgGMIARrxBABAgA
qwC+AQMA8gQIBUYA8gTVBPIE2QRSAL0EUgW1AEEA8gAfAuoEYAAfAPIE2QDyAyUFQwQIBNkE2QAfAE4B
BAEBAQQAQQRfBAQCVgEDBUcDJgD+AQIAygEDAuoDJAVFBNkEXgIhAQQC6gDyBSAEUgEAAPIE2QAfAKsA
HwAfAQSA0IAagCmAZYArgNCBASyAK4EBBYEBDIEBBoDjgB6A44EBQIAHgCuAAoCQgPiAAoArgQEGgCuA
q4EBIoDQgQEGgQEGgAKAF4CMgFqAjIAHgPCAz4BvgGWBATKAsIAtgGGAIIBlgJCAmYEBKIEBBoDlgGmA
jICQgCuBARqA44BQgCuBAQaAAoAagAKAAoCM0gAOAD4AiAZzgBGvEEEFtQAfBPkE3AQEBXUEXwC+BGAA
8gTVAQEAygECBbwCDgBOBAgBAAMmBLAEUgTyAP4A/wN7BUwFIAVDBUcE2QCrAuoEkgHRAFkC+AQLAmcC
IQWOA5YB8AELBWUA1gIFAyQDLQVFBGUCVgLQAyUBAwUnBF4BrQEEBUYGHQC9Bh8AQQLagQFAgAKBAQ6B
AQiAz4EBLoDwgCmA+IArgQEFgFqAIIBhgQFCgISAF4DQgFCAsID6gOOBAQyALYBLgK+BASSBARqBASKB
ATKBAQaAGoCQgPKAXIALgJKA04B1gGmBATaAs4BjgC+BASqAIoCIgJmAnoEBKIDngG+AuICrgGWBARyA
5YBSgIyBASyBAU6AHoEBUIAHgLbSAA4APgCIBreAEa8QQQXdBrkGuga7BAYGvQa+Br8GwAbBBsIGwwbE
BsUGxgbHBsgGyQbKBssGzAbNBPQGzwbQBtEG0gUiBtQG1QbWBtcG2AbZBtoG2wbcBt0G3gbfBuAG4Qbi
BuMG5AblBuYG5wboBdcG6gbrBuwG7QbuBu8G8AbxBvIG8wb0BvUG9gBTBviBAUyBAVWBAVaBAVeA2YEB
WIEBWYEBWoEBW4EBXIEBXYEBXoEBX4EBYIEBYYEBYoEBY4EBZIEBZYEBZoEBZ4EBaIEBEIEBaYEBaoEB
a4EBbIEBH4EBbYEBboEBb4EBcIEBcYEBcoEBc4EBdIEBdYEBdoEBd4EBeIEBeYEBeoEBe4EBfIEBfYEB
foEBf4EBgIEBgYEBSoEBgoEBg4EBhIEBhYEBhoEBh4EBiIEBiYEBioEBi4EBjIEBjYEBjoAKgQGPXEZp
bGUncyBPd25lcl8QEEJ1dHRvbiBDZWxsIChGUylfEBBCdXR0b24gQ2VsbCAoUEwpXxAZQnV0dG9uIENl
bGwgKHZvbHVtZV9oaWdoKV8QE0JldmVsIEJ1dHRvbiAocGxheSlbQ3VzdG9tIFZpZXdfECJCZXZlbCBC
dXR0b24gKHNraXBfZm9yd2FyZF9hY3RpdmUpXUN1c3RvbSBWaWV3LTJfEBRwbGF5bGlzdFRvZ2dsZUJ1
dHRvbl8QGVJvdW5kIFRleHR1cmVkIEJ1dHRvbiAoKyldQ3VzdG9tIFZpZXctM18QGVJvdW5kIFRleHR1
cmVkIEJ1dHRvbiAoLSlfEBdUZXh0IEZpZWxkIENlbGwgKDAwOjAwKV8QEVZlcnRpY2FsIFNjcm9sbGVy
XENvbnRlbnQgVmlld18QF1Rvb2xiYXJNZWRpYURlc2NyaXB0aW9uXxAeU3RhdGljIFRleHQgKCV7dmFs
dWUxfUAgaXRlbXMpXxAUVGFibGUgQ29sdW1uICh0aXRsZSlfECFCdXR0b24gQ2VsbCAoc2tpcF9mb3J3
YXJkX2FjdGl2ZSlfEBNUb29sYmFyTWVkaWFDb250cm9sXFNlYXJjaCBGaWVsZFxBc3luYyBBcnJvd3Nf
EB1UZXh0IEZpZWxkIENlbGwgKFRleHQgQ2VsbCktMl8QGEJ1dHRvbiBDZWxsICh2b2x1bWVfbG93KV8Q
GUJldmVsIEJ1dHRvbiAodm9sdW1lX2xvdylfEBFhdWRpb1ZvbHVtZVNsaWRlcl8QF1Rvb2xiYXJNZWRp
YUF1ZGlvVm9sdW1lXk9uZSBTcGxpdCBWaWV3XxASVGFibGUgVmlldyAodGl0bGUpXxASQnV0dG9uIENl
bGwgKHBsYXkpXxAPQnV0dG9uIENlbGwgKCspV1Rvb2xiYXJfEBFUYWJsZSBIZWFkZXIgVmlld1tTbGlk
ZXIgQ2VsbF8QG1RleHQgRmllbGQgQ2VsbCAoVGV4dCBDZWxsKV8QE091dGxpbmUgVmlldyAobmFtZSld
U2xpZGVyIENlbGwtMV8QHVRleHQgRmllbGQgQ2VsbCAoVGV4dCBDZWxsKS0xXxAPQnV0dG9uIENlbGwg
KC0pXxARU2VhcmNoIEZpZWxkIENlbGxfEBFCdXR0b24gQ2VsbCAoRml0KV8QFEJyb3dzYWJsZSBWaWRl
byBWaWV3XxATSG9yaXpvbnRhbCBTY3JvbGxlcl8QFFRhYmxlIENvbHVtbiAoc3RhdGUpXxCmSW1hZ2Ug
Q2VsbCAoTlNJbWFnZSAweDE5MzUzMGUwIFNpemU9ezE0LCAxNH0gUmVwcz0oCiAgICBOU0NhY2hlZElt
YWdlUmVwIDB4MTkzNTMxODAgU2l6ZT17MTQsIDE0fSBDb2xvclNwYWNlPU5TQ2FsaWJyYXRlZFJHQkNv
bG9yU3BhY2UgQlBTPTggUGl4ZWxzPTE0eDE0IEFscGhhPVlFUwopKV8QIkJ1dHRvbiBDZWxsIChza2lw
X3ByZXZpb3VzX2FjdGl2ZSlfEBNUYWJsZSBDb2x1bW4gKG5hbWUpXxAVSG9yaXpvbnRhbCBTY3JvbGxl
ci0xXxAVVGFibGUgQ29sdW1uIChudW1iZXIpW1Njcm9sbCBWaWV3XxAiVGV4dCBGaWVsZCBDZWxsIChW
TEMgTWVkaWEgUGxheWVyKV8QI0JldmVsIEJ1dHRvbiAoc2tpcF9wcmV2aW91c19hY3RpdmUpXxAiVGV4
dCBGaWVsZCBDZWxsICgle3ZhbHVlMX1AIGl0ZW1zKV1TY3JvbGwgVmlldy0xXxAaQmV2ZWwgQnV0dG9u
ICh2b2x1bWVfaGlnaClfEB9TaGFyZWQgVXNlciBEZWZhdWx0cyBDb250cm9sbGVyXUN1c3RvbSBWaWV3
LTFbQXBwbGljYXRpb25fEBNWZXJ0aWNhbCBTY3JvbGxlci0x0gAOAD4AiAc2gBGiBUcAq4EBMoAa0gAO
AD4AiAc7gBGiBZAAtoEBM4Ab0gAOAD4AiAdAgBGvEFgD5gW1AB8AvgDyAQECDgQEAQIFdQTcBNUE+QDK
BGAFvARfAE4BAAQIAyYD2wPfA+sEsARSA94A/gTyAP8DewPsBUwFIAVDA+MFRwTZAKsC6gPoA+kB0QL4
AFkEkgQLAmcCIQPgA+cFjgOWAQsB8APaA9kD3APdA+EA1gIFAyQDLQVlBUUEZQJWA9gD5ALQA+IDJQPu
AQMFJwPtBF4BrQEEBUYGHQC9Bh8AQQLaA+UD6oEBF4EBQIACgCmAK4BagISAz4BhgQEugQEIgQEFgQEO
gCCA+IEBQoDwgBeAUIDQgLCA2oDigQE+gPqA44DggC2BAQyAS4CvgQFHgQEkgQEagQEigQERgQEygQEG
gBqAkIEBIIEBOoBcgJKAC4DygNOAdYBpgQECgQEZgQE2gLOAL4BjgM6AzIDcgN6BAQSAIoCIgJmAnoEB
KoEBKIDngG+AyYEBE4C4gQELgKuBAUuAZYEBHIEBSYDlgFKAjIEBLIEBToAegQFQgAeAtoEBFYEBPNIA
DgA+AIgHm4ARrxBYB5wHnQeeB58HoAehB6IHowekB6UHpgenB6gHqQeqB6sHrAetB64HrwewB7EHsgez
B7QHtQe2B7cHuAe5B7oHuwe8B70Hvge/B8AHwQfCB8MHxAfFB8YHxwfIB8kHygfLB8wHzQfOB88H0AfR
B9IH0wfUB9UH1gfXB9gH2QfaB9sH3AfdB94H3wfgB+EH4gfjB+QH5QfmB+cH6AfpB+oH6wfsB+0H7gfv
B/AH8QfyB/OBAZSBAZWBAZaBAZeBAZiBAZmBAZqBAZuBAZyBAZ2BAZ6BAZ+BAaCBAaGBAaKBAaOBAaSB
AaWBAaaBAaeBAaiBAamBAaqBAauBAayBAa2BAa6BAa+BAbCBAbGBAbKBAbOBAbSBAbWBAbaBAbeBAbiB
AbmBAbqBAbuBAbyBAb2BAb6BAb+BAcCBAcGBAcKBAcOBAcSBAcWBAcaBAceBAciBAcmBAcqBAcuBAcyB
Ac2BAc6BAc+BAdCBAdGBAdKBAdOBAdSBAdWBAdaBAdeBAdiBAdmBAdqBAduBAdyBAd2BAd6BAd+BAeCB
AeGBAeKBAeOBAeSBAeWBAeaBAeeBAeiBAemBAeqBAesRARURASMRAYUQVhCmEQEOEK4RASURARARAVER
AU4RAT8RAUsQvxEBVxEBOBEBWhCnELcQ6xEBehEBeBEBaBEBUxCrEQFCEKgQuxEBgxEBTREBQBDsEQE7
EQE6EFQQthEBeREBGBEBDxCzEQFsEQFlEQE2ELEQrxEBFhEBfBEBUhC8ELIRARERAX0Q3BBGEQGCEMAQ
rRC5ELoRAVARAT0RAWAQsBEBExEBFxC0EQGAELgRAXsQrBEBNxEBgREBXxC+EKoRATwRAXUQVRP/////
/////RC1EOgQOtIADgA+AI4ISIAToNIADgA+AIgIS4ARoNIADgA+AIgIToARoNIANwA4CFAIUaIIUQA7
Xk5TSUJPYmplY3REYXRhAAgAGQAiACcAMQA6AD8ARABSAFQAZgRKBFAEmwSiBKkEtwTJBOUE8wT/BQsF
GQUkBTIFTgVcBW8FgQWbBaUFsgW0BbcFugW9BcAFwgXFBccFygXNBdAF0wXVBdcF2gXdBeAF4wXsBfgF
+gX8BgoGEwYcBicGLAY7BkQGVwZgBmsGbQZwBnIGowawBr0GywbVBuMG/AcJBxsHLwc5B0UHRwdJB0sH
TQdSB1QHVgdYB1oHXQdfB2EHewd/B40HwgfcB/4IGAg6CE4Iawh/CJsIvgjbCPIJCAkKCQwJDQkPCRAJ
EgkUCRYJFwkYCRoJHAklCS8JMQlYCWEJaAl6CYMJkAmYCZoJmwmcCaUJrAnCCc8J2AnaCdsJ5AnpCfEJ
+gn8Cf0KBgoNChwKJQonCigKMQo2CkAKSgpnCnkKhAqNCpkKogquCrAKsgq0CrcKuQq7Cr0KxgrICssK
zQryCvoLEAsSCxQLFgsYCxoLHQsfCyELIws1C0ELSgtMC1ELUwtVC3YLeAt6C3wLfguAC4ILhAuNC48L
kguUC7ULtwu5C7sLvQu/C8ELwwvMC84L0QvTC/AL8gv0C/YL+Av6C/wMBwwfDCgMMQw+DEUMUQxcDH0M
fwyBDIMMhQyIDIoMjAyODJcMmQycDJ4MvwzBDMMMxQzHDMkMywzNDNYM2AznDOkM6wztDO8M8QzzDPUN
Fg0dDScNKQ0rDS0NLw0yDTMNNQ03DU8NiA2UDakNvg3SDd0N5w31DgIOFQ4pDj4OUQ5dDmIOZw5pDmsO
bQ5vDnEOcw54DnkOew59Dn8OgA6RDpgOnw6oDqoOsw61DrgOxQ7ODtMO2g7vDvcPBA8QDx4PIA8iDyQP
Jg8oDy8PRQ9SD1oPXA9eD2EPag9vD4QPhg+ID4oPjA+fD6wPrg+xD+IP6xAAEA8QIRAzEDwQShBMEFEQ
UxBVEFcQWRBbEF0QYBBiEGcQbhCEEI0QlhCjELAQ4REHEQkRCxENEQ8RERETERgRHhEnESkRLBEuETsR
PRFCEUQRRhFLEU0RTxFdEYkRkBGmEa8RuhHOEeAR6RH2EgQSEBIaEkMSThJZEmMScBJyEnQSdhJ/EogS
ixKNEpASkhKUEpkSmxKkEqkStBLLEtQS3RLzExQTFhMYExoTHBMfEyATIhMkEzwTYRN3E3wTfhOAE4IT
hBOGE4sTjROPE6ITpxO8E74TwBPCE8QT0RPeE+AT7BP1E/4UBxQSFDMUNRQ3FDkUOxQ8FD4UQBRVFIYU
nBSlFKcUqRSrFK0UrxSxFLMUuBTBFMMU1BTWFN8U4RTjFPAU+RUEFQ0VLhUwFTIVNBU2FTcVORU7FVEV
ghWEFYYViBWKFYwVjhWQFcUV0RXaFecV8xYBFg8WERYTFhUWFxYaFhwWLxYyFjQWNhY4FjoWPBZFFkcW
ThZQFlIWVBaBFosWlRafFqEWoxalFqcWqRasFq4WsBayFrQWtha/FsEWxBbGFxkXOxdFF3QXiReWF7AX
zBfnF/MYEhghGC0YLxgxGDYYNxg5GDoYPBhFGE4YURhTGFQYVhhYGFoYXBheGGcYchiDGIUYhxiJGJIY
qRiyGLsYyRjSGNQY1xjZGQYZFRkiGS8ZNxlCGVEZbRl4GYMZjxmQGZIZlBmWGZ8ZoRmjGawZtRm3GdQZ
2RnbGd0Z3xnhGeMZ8BnyGf4aExoVGhcaGRobGi0aNhpBGlUadhp7Gn0afxqBGoMahRqKGowalhqrGq0a
rxqxGrMazBrZGuQa8BryGvQa9Rr+GwcbDBsfGygbLRs7G0gbThtQG3QbiRuLG40bjxuRG5sbqBuqG68b
uBvFG9Mb6hvzG/wcBxwsHDYcOBw6HDwcPhxAHEIcRBxNHGUcchx7HIYckRy6HLwcvhzAHMIcxBzGHMgc
0RztHQUdDh0XHSQdYx12HXgdeh18HX4dgR2DHYUdhx2aHZwdnh2gHaIdpB2tHa8duh28Hb4dwB3CHcQd
8R3zHfUd9x35Hfsd/R3/HgEeAx4MHg4eER4THmYecx51HncegB6CHoQehR6HHokeih6MHo4ekB6SHpse
ph7DHsUexx7KHswezh7QHtIe/x8BHwMfBR8HHwkfCx8NHw8fER8bHyQfLR9BH1ofXB9eH2AfYh9kH3of
gx+FH4wfjh+QH5Ifux+8H74fwB/CH8sfzR/WH9gf3h/7IAAgAiAEIAYgCCAKIB8gISAjICUgJyAzIFgg
YCBoIHAgeyB9IH8ggSCGIIcgnCCpILAgsiC0ILkguyC9IMYgzyDRINQg1iDfIOEg5iDoIOohAyEaIS0h
QCFaIXIhdCF2IXgheiF8Nmg2hDaNNpQ2pzayNr82wTbGNs821DbcNuU27Db4NyU3MjczNzU3Nzc5N0I3
RDdFN0c3TjdrN203bzdxN3M3dTeCN4Q3pTeqN6w3rjewN7I3tDe3N7k34jfjN+U35zfpN/I39Df9N/84
BTgiOCQ4JjgoOCo4LDhNOE84UThTOFU4VzhZOGI4bTiFOKo4rDiuOLA4sji0OLY4uDjBONc4/Dj+OQA5
AjkEOQY5CDkKOSI5KzktOTA5MjlIOWI5bTmGOZ05pjmrObo5xTnOOdU57Tn3OgA6BToYOiE6KDo1Ojs6
RDpGOnc6eTp7On06fzqBOoM6hTqHOoo6jTqQOpM6ljqZOpw6nzqiOqU6qDqrOq46sTq0OsU60zrcOuQ6
5jroOuo67DsAOwk7EDsnOzY7RztJO0s7TTtPO107bjtwO3I7dDt2O5c7mTubO507nzugO6I7pDvFO8c7
yTvMO8870jvUO9Y72TvvPCg8MDxGPFs8Zjx0PJE8ljyYPJo8nDyePKc8sDy1PLY8tzzAPMI80zzVPN48
4DzqPPM8/D0JPRI9HT0mPUM9VD1WPVg9Wj1cPWo9ez19PX89gT2DPZo9qz2tPa89sT2zPb49zz3RPdM9
1T3XPew9/T3/PgE+Az4GPh8+IT4jPiU+KD4qPjM+NT48Pj4+QD5CPl8+YT5jPmU+Zz5qPms+bT6CPrs+
yT7cPuE+4z7lPuc+6T7rPu0+7z7xPvM+9T76Pv8/ED8SPxQ/Fz8kPzM/NT83Pzk/UD9ZP14/cT9+P4A/
gj+EP5k/oj+kP8E/wz/FP8c/yT/KP8w/4kAbQB1AH0AhQCNAJUAnQClAK0A8QD5AQEBNQE9AUUBTQFhA
ZUBnQGlAa0B1QJJAlECWQJhAmkCbQJ1As0DsQO5A8EDyQPRA9kD4QPpA/ED+QQNBEEESQRRBFkEsQTlB
O0E9QT9BU0FcQV5BaEF+QY9BkUGTQZVBmEGuQb9BwUHEQcZByUHmQelB60HuQfFB8kH1Qg5CEEISQhVC
GEIaQjFCYkJkQmZCaEJrQm1CcEJ5QnxCmEKpQqtCrkKwQrNC0ELTQtVC2ELbQtxC30L2QydDKUMrQy1D
MEMyQzVDOENLQ1xDXkNgQ2JDZUOBQ5JDlEOWQ5hDm0O4Q8lDy0PNQ89D0kPcQ+1D70PxQ/ND9kQERBVE
F0QaRBxEH0RAREJERERHREpES0RNRE9EZkSHRJBEkkSURJdEmUScRKFEpES3RMRExkTNRORE9UT3RPpE
/ET/RQhFCkUXRRpFHUUgRSNFJkUpRUZFSUVLRU5FUUVSRVVFakWjRaVFp0WqRa1FsEWyRbRFt0XARc1F
z0XRRdRF30XoRepGB0YKRgxGD0YSRhNGFkYsRl1GX0ZhRmNGZkZoRmtGb0aMRo9GkUaURpdGmEabRrJG
60btRu9G8kb1RvhG+kb8Rv9HDEcORxBHE0cfRyhHKkdPR1JHVEdXR1pHXUdeR2FHZEdtR4RHvUfGR8hH
y0fNR9BH2UfaR9tH5EfmR/BICkgbSB1IH0ghSCRIO0hMSE5IUEhSSFVIbUh+SIBIgkiESIdIkEiSSJlI
nEifSKFIwkjESMZIyUjMSM9I0EjSSNRI7EkNSQ9JEUkUSRZJGUkeSSFJJ0kxSUtJXEleSWBJYkllSW5J
f0mBSYRJhkmJSZxJrUmvSbJJtEm3SdJJ20ndSmBKY0plSmdKaUprSm1KcEpySnVKeEp7Sn1Kf0qBSoRK
hkqISopKjEqOSpBKkkqVSpdKmUqcSp9KokqlSqhKqkqsSq5KsEqySrRKtkq4SrpKvUq/SsFKw0rFSsdK
yUrLSs5K0UrTStVK10rZSttK3krgSuJK5ErnSupK7ErvSvFK80r8Sw9LEksTSxxLI0s+S0tLVEtWS1lL
Z0twS3JL9Uv3S/lL+0v9S/9MAUwETAZMCUwMTA9MEUwTTBVMGEwaTBxMHkwgTCJMJEwmTClMK0wtTDBM
Mkw1TDhMOkw8TD5MQExCTERMRkxITEpMTExPTFFMU0xVTFdMWUxbTF1MYExjTGVMZ0xpTGtMbUxwTHJM
dEx2THlMe0x9TH9MgUyDTIxMjk0TTRZNGE0bTR5NIE0jTSVNJ00pTStNLk0wTTJNNE03TTlNO009TT9N
QU1DTUVNSE1KTUxNTk1RTVRNV01aTV1NX01hTWNNZU1nTWlNa01tTW9Nck10TXZNeE17TX1Nf02BTYNN
hk2ITYpNjE2OTZBNk02VTZdNmU2cTZ9NoU2kTaZNqE2xTbNOOE47Tj5OQU5ETkZOSU5MTk9OUk5VTlhO
W05eTmFOZE5nTmpObU5wTnNOdk55TnxOf06CToVOiE6LTo5OkU6UTpdOmk6dTqBOo06mTqlOrE6vTrJO
tU64TrtOvk7BTsROx07KTs1O0E7TTtZO2U7cTt9O4k7lTuhO607uTvFO9E72TvlPBk8ZTyxPSE9eT2pP
j0+dT7RP0E/eT/pQFFAoUDVQT1BwUIdQq1DBUM5Q21D7URZRMlFGUWBRb1GEUZlRq1GzUcdR01HxUgdS
FVI1UkdSW1JvUoZSnFKzU1xTgVOXU69Tx1PTU/hUHlRDVFFUblSQVJ5UqlTAVMlUy1TQVNNU1VTeVOBU
5VToVOpU81T1VahVq1WuVbBVslW0VbZVuFW6VbxVv1XCVcVVyFXKVcxVz1XRVdNV1VXXVdlV21XdVeBV
4lXkVeZV6FXrVe1V71XyVfVV+FX7Vf5WAVYEVgZWCFYLVg5WEFYSVhRWFlYYVhpWHFYfViJWJVYnVilW
K1YtVi9WMVYzVjZWOFY6VjxWPlZBVkRWRlZIVkpWTVZPVlJWVFZXVllWXFZfVmFWY1ZlVmhWa1ZtVnBW
clZ0VndWelaDVoVXOFc7Vz5XQVdEV0dXSldNV1BXU1dWV1lXXFdfV2JXZVdoV2tXbldxV3RXd1d6V31X
gFeDV4ZXiVeMV49XkleVV5hXm1eeV6FXpFenV6pXrVewV7NXtle5V7xXv1fCV8VXyFfLV85X0VfUV9dX
2lfdV+BX41fmV+lX7FfvV/JX9Vf4V/tX/lgBWARYB1gKWA1YEFgTWBZYGVgcWB9YIlglWChYK1guWDFY
NFg3WDpYPVhAWENYRlhJWEtYTVhQWFJYVVhYWFtYXlhhWGRYZlhpWGxYb1hxWHNYdVh4WHtYfliBWINY
hliIWIpYjViQWJNYlViYWJtYnVifWKJYpVioWKpYrViwWLNYtVi3WLpYvVjAWMJYxFjHWMpYzFjOWNFY
01jVWNdY2VjcWN9Y4ljkWOdY6ljsWO9Y8Vj0WPZY+Vj8WP9ZAVkDWQZZCVkLWRRZFlkYWRpZI1klWSZZ
L1kxWTJZO1k9WT5ZR1lMAAAAAAAAAgIAAAAAAAAIUgAAAAAAAAAAAAAAAAAAWVs</bytes>
</object>
</data>
</archive>
......@@ -39,6 +39,10 @@
/* Split view that supports slider animation */
@interface VLCOneSplitView : NSSplitView
{
BOOL fixedCursorDuringResize;
}
@property (assign) BOOL fixedCursorDuringResize;
- (float)sliderPosition;
- (void)setSliderPosition:(float)newPosition;
@end
\ No newline at end of file
@end
......@@ -84,6 +84,7 @@
/* Split view that supports slider animation */
@implementation VLCOneSplitView
@synthesize fixedCursorDuringResize;
- (float)sliderPosition
{
return [[[self subviews] objectAtIndex:0] frame].size.height;
......@@ -100,5 +101,25 @@
}
return [super defaultAnimationForKey: key];
}
- (void)adjustSubviews
{
if( !fixedCursorDuringResize )
{
[super adjustSubviews];
return;
}
NSRect frame0 = [[[self subviews] objectAtIndex:0] frame];
NSRect frame1 = [[[self subviews] objectAtIndex:1] frame];
frame1.size.height = [self bounds].size.height - frame0.size.height - [self dividerThickness];
if( frame1.size.height < 0. )
{
float delta = -frame1.size.height;
frame1.size.height = 0.;
frame0.size.height -= delta;
frame1.origin.y = frame0.size.height + [self dividerThickness];
[[[self subviews] objectAtIndex:1] setFrame: frame0];
}
[[[self subviews] objectAtIndex:1] setFrame: frame1];
}
@end
......@@ -28,6 +28,10 @@
#import "VLCBrowsableVideoView.h"
#import "VLCAppAdditions.h"
@interface VLCMainWindow (NavigatorViewHidingShowing)
@property float contentHeight; /* animatable, keep the mainSplitView cursor at the same place, enabling playlist(navigator) togling */
@end
/******************************************************************************
* VLCMainWindow (CategoriesListDelegate)
*/
......@@ -280,28 +284,26 @@
if(visible)
{
if( !navigatorHeight ) navigatorHeight = 100.f;
/* Show the navigator view (playlist view) */
if( navigatorHeight < 100.f ) navigatorHeight = 100.f;
if( ![self videoViewVisible] && ![self navigatorViewVisible] )
{
/* Nothing is visible, only our toolbar */
NSRect frame = [self frame];
frame.origin.y -= navigatorHeight;
frame.origin.y += navigatorHeight;
frame.size.height += navigatorHeight;
[[self animator] setFrame:frame display:YES];
}
else
[[mainSplitView animator] setSliderPosition:([mainSplitView bounds].size.height - navigatorHeight - [mainSplitView dividerThickness])];
[[self animator] setContentHeight:[mainSplitView bounds].size.height + navigatorHeight + [mainSplitView dividerThickness]];
/* Hack, because sliding cause some glitches */
[navigatorView moveSubviewsToVisible];
}
else
{
/* Hide the navigator view (playlist view) */
navigatorHeight = [navigatorView bounds].size.height;
NSRect frame0 = [self frame];
NSRect frame1 = [[[mainSplitView subviews] objectAtIndex: 1] frame];
frame0.size.height -= frame1.size.height;
frame0.origin.y += frame1.size.height;
frame1.size.height = 0;
[[mainSplitView animator] setSliderPosition:([mainSplitView bounds].size.height)];
[[self animator] setContentHeight:[mainSplitView bounds].size.height - navigatorHeight + [mainSplitView dividerThickness]];
/* Hack, because sliding cause some glitches */
[navigatorView moveSubviewsToVisible];
}
......@@ -355,6 +357,36 @@
}
@end
@implementation VLCMainWindow (NavigatorViewHidingShowing)
- (float)contentHeight
{
return [self contentRectForFrameRect:[self frame]].size.height;
}
- (void)setContentHeight:(float)height
{
/* Set the Height while keeping the mainSplitView at his current position */
[mainSplitView setFixedCursorDuringResize:YES];
NSRect contentRect = [self contentRectForFrameRect:[self frame]];
float delta = height - contentRect.size.height;
contentRect.size.height = height;
NSRect windowFrame = [self frameRectForContentRect:contentRect];
windowFrame.origin.y -= delta;
windowFrame = [self constrainFrameRect:windowFrame toScreen:[self screen]];
[self setFrame:windowFrame display:YES];
[mainSplitView setFixedCursorDuringResize:NO];
}
+ (id)defaultAnimationForKey:(NSString *)key
{
if([key isEqualToString:@"contentHeight"])
{
return [CABasicAnimation animation];
}
return [super defaultAnimationForKey: key];
}
@end
@implementation VLCMainWindow (NSToolbarDelegating)
/* Our item identifiers */
static NSString * VLCToolbarMediaControl = @"VLCToolbarMediaControl";
......
......@@ -596,6 +596,7 @@
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(NATIVE_ARCH_32_BIT)";
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
......@@ -605,6 +606,7 @@
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(NATIVE_ARCH_32_BIT)";
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
PREBINDING = NO;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment