Commit 9d6eca0c authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

MacOSX/VLC_app: Better naming scheme for the different UI elements.

parent 7036039b
......@@ -7,7 +7,7 @@
<dict>
<key>ACTIONS</key>
<dict>
<key>detailListItemDoubleClicked</key>
<key>mediaListViewItemDoubleClicked</key>
<string>id</string>
<key>newMainWindow</key>
<string>id</string>
......@@ -18,15 +18,15 @@
<string>ObjC</string>
<key>OUTLETS</key>
<dict>
<key>categoryList</key>
<key>categoriesListView</key>
<string>id</string>
<key>detailItemFetchedStatus</key>
<key>mediaListItemFetchedStatus</key>
<string>id</string>
<key>detailItemsCount</key>
<key>mediaListItemsCount</key>
<string>id</string>
<key>detailList</key>
<key>mediaListView</key>
<string>id</string>
<key>detailSearchField</key>
<key>mediaListSearchField</key>
<string>id</string>
<key>fillScreenButton</key>
<string>id</string>
......
......@@ -8,11 +8,11 @@
<string key="IBDocument.HIToolboxVersion">343.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="166"/>
<integer value="3"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string id="360649527">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string id="705502168">com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
......@@ -62,7 +62,7 @@
<string key="NSFrameSize">{481, 239}</string>
<reference key="NSSuperview" ref="143384326"/>
<reference key="NSWindow"/>
<string key="NSClassName" id="654132308">VLCBrowsableVideoView</string>
<string key="NSClassName" id="1025983160">VLCBrowsableVideoView</string>
</object>
</object>
<string key="NSFrameSize">{482, 239}</string>
......@@ -130,7 +130,7 @@
</object>
<object class="NSColor" key="NSTextColor" id="1047904863">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName" id="736402858">System</string>
<string key="NSCatalogName" id="944211116">System</string>
<string key="NSColorName">headerTextColor</string>
<object class="NSColor" key="NSColor" id="1049035829">
<int key="NSColorSpace">3</int>
......@@ -141,12 +141,12 @@
<object class="NSTextFieldCell" key="NSDataCell" id="322951813">
<int key="NSCellFlags">1411513920</int>
<int key="NSCellFlags2">132096</int>
<string key="NSContents" id="300450584">Text Cell</string>
<string key="NSContents" id="476104911">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="736402858"/>
<reference key="NSCatalogName" ref="944211116"/>
<string key="NSColorName">controlBackgroundColor</string>
<object class="NSColor" key="NSColor" id="322815997">
<int key="NSColorSpace">3</int>
......@@ -155,7 +155,7 @@
</object>
<object class="NSColor" key="NSTextColor" id="70527606">
<int key="NSColorSpace">6</int>
<reference key="NSCatalogName" ref="736402858"/>
<reference key="NSCatalogName" ref="944211116"/>
<string key="NSColorName">controlTextColor</string>
<reference key="NSColor" ref="1049035829"/>
</object>
......@@ -177,7 +177,7 @@
</object>
<object class="NSColor" key="NSGridColor" id="27503580">
<int key="NSColorSpace">6</int>
<reference key="NSCatalogName" ref="736402858"/>
<reference key="NSCatalogName" ref="944211116"/>
<string key="NSColorName">gridColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
......@@ -279,7 +279,7 @@
<reference key="NSSupport" ref="26"/>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">6</int>
<reference key="NSCatalogName" ref="736402858"/>
<reference key="NSCatalogName" ref="944211116"/>
<string key="NSColorName">headerColor</string>
<object class="NSColor" key="NSColor" id="740054874">
<int key="NSColorSpace">3</int>
......@@ -433,7 +433,7 @@ IEluYy4sIDIwMDcAA</bytes>
<object class="NSTextFieldCell" key="NSDataCell" id="336644191">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">2048</int>
<reference key="NSContents" ref="300450584"/>
<reference key="NSContents" ref="476104911"/>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="989777724"/>
<reference key="NSBackgroundColor" ref="809735541"/>
......@@ -460,7 +460,7 @@ IEluYy4sIDIwMDcAA</bytes>
<object class="NSTextFieldCell" key="NSDataCell" id="471073713">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">2048</int>
<reference key="NSContents" ref="300450584"/>
<reference key="NSContents" ref="476104911"/>
<reference key="NSSupport" ref="26"/>
<reference key="NSControlView" ref="989777724"/>
<reference key="NSBackgroundColor" ref="809735541"/>
......@@ -557,7 +557,7 @@ IEluYy4sIDIwMDcAA</bytes>
<int key="NSTextBezelStyle">1</int>
<object class="NSColor" key="NSBackgroundColor" id="416096481">
<int key="NSColorSpace">6</int>
<reference key="NSCatalogName" ref="736402858"/>
<reference key="NSCatalogName" ref="944211116"/>
<string key="NSColorName">textBackgroundColor</string>
<reference key="NSColor" ref="740054874"/>
</object>
......@@ -634,7 +634,7 @@ IEluYy4sIDIwMDcAA</bytes>
<reference key="NSControlView" ref="46828221"/>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">6</int>
<reference key="NSCatalogName" ref="736402858"/>
<reference key="NSCatalogName" ref="944211116"/>
<string key="NSColorName">controlColor</string>
<reference key="NSColor" ref="322815997"/>
</object>
......@@ -729,11 +729,11 @@ IEluYy4sIDIwMDcAA</bytes>
<int key="NSButtonFlags">139723007</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage">
<string key="NSClassName" id="469052522">NSImage</string>
<string key="NSClassName" id="250276359">NSImage</string>
<string key="NSResourceName">skip_previous_active</string>
</object>
<object class="NSCustomResource" key="NSAlternateImage">
<reference key="NSClassName" ref="469052522"/>
<reference key="NSClassName" ref="250276359"/>
<string key="NSResourceName">skip_previous_blue</string>
</object>
<reference key="NSAlternateContents" ref="450816292"/>
......@@ -851,11 +851,11 @@ IEluYy4sIDIwMDcAA</bytes>
<int key="NSButtonFlags">139723007</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage">
<reference key="NSClassName" ref="469052522"/>
<reference key="NSClassName" ref="250276359"/>
<string key="NSResourceName">play</string>
</object>
<object class="NSCustomResource" key="NSAlternateImage">
<reference key="NSClassName" ref="469052522"/>
<reference key="NSClassName" ref="250276359"/>
<string key="NSResourceName">play_blue</string>
</object>
<reference key="NSAlternateContents" ref="450816292"/>
......@@ -879,11 +879,11 @@ IEluYy4sIDIwMDcAA</bytes>
<reference key="NSControlView" ref="313654754"/>
<int key="NSButtonFlags">-931921665</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage" id="982150895">
<reference key="NSClassName" ref="469052522"/>
<object class="NSCustomResource" key="NSNormalImage" id="569922832">
<reference key="NSClassName" ref="250276359"/>
<string key="NSResourceName">volume_low</string>
</object>
<reference key="NSAlternateImage" ref="982150895"/>
<reference key="NSAlternateImage" ref="569922832"/>
<reference key="NSAlternateContents" ref="450816292"/>
<object class="NSMutableString" key="NSKeyEquivalent">
<characters key="NS.bytes"/>
......@@ -929,11 +929,11 @@ IEluYy4sIDIwMDcAA</bytes>
<int key="NSButtonFlags">138674431</int>
<int key="NSButtonFlags2">130</int>
<object class="NSCustomResource" key="NSNormalImage">
<reference key="NSClassName" ref="469052522"/>
<reference key="NSClassName" ref="250276359"/>
<string key="NSResourceName">skip_forward_active</string>
</object>
<object class="NSCustomResource" key="NSAlternateImage">
<reference key="NSClassName" ref="469052522"/>
<reference key="NSClassName" ref="250276359"/>
<string key="NSResourceName">skip_forward_blue</string>
</object>
<reference key="NSAlternateContents" ref="450816292"/>
......@@ -980,11 +980,11 @@ IEluYy4sIDIwMDcAA</bytes>
<reference key="NSControlView" ref="593516575"/>
<int key="NSButtonFlags">-931921665</int>
<int key="NSButtonFlags2">2</int>
<object class="NSCustomResource" key="NSNormalImage" id="779905562">
<reference key="NSClassName" ref="469052522"/>
<object class="NSCustomResource" key="NSNormalImage" id="351123544">
<reference key="NSClassName" ref="250276359"/>
<string key="NSResourceName">volume_high</string>
</object>
<reference key="NSAlternateImage" ref="779905562"/>
<reference key="NSAlternateImage" ref="351123544"/>
<reference key="NSAlternateContents" ref="450816292"/>
<object class="NSMutableString" key="NSKeyEquivalent">
<characters key="NS.bytes"/>
......@@ -1060,46 +1060,6 @@ IEluYy4sIDIwMDcAA</bytes>
</object>
<int key="connectionID">220</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">categoryList</string>
<reference key="source" ref="152934138"/>
<reference key="destination" ref="755891829"/>
</object>
<int key="connectionID">227</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">detailList</string>
<reference key="source" ref="152934138"/>
<reference key="destination" ref="989777724"/>
</object>
<int key="connectionID">228</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">detailItemsCount</string>
<reference key="source" ref="152934138"/>
<reference key="destination" ref="46828221"/>
</object>
<int key="connectionID">229</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">detailItemFetchedStatus</string>
<reference key="source" ref="152934138"/>
<reference key="destination" ref="426577894"/>
</object>
<int key="connectionID">230</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">detailSearchField</string>
<reference key="source" ref="152934138"/>
<reference key="destination" ref="39879860"/>
</object>
<int key="connectionID">231</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">videoView</string>
......@@ -1174,7 +1134,7 @@ IEluYy4sIDIwMDcAA</bytes>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label" id="842584064">removePlaylistButton</string>
<string key="label">removePlaylistButton</string>
<reference key="source" ref="152934138"/>
<reference key="destination" ref="852582431"/>
</object>
......@@ -1182,12 +1142,52 @@ IEluYy4sIDIwMDcAA</bytes>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label" id="323775740">addPlaylistButton</string>
<string key="label">addPlaylistButton</string>
<reference key="source" ref="152934138"/>
<reference key="destination" ref="728118620"/>
</object>
<int key="connectionID">275</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">categoriesListView</string>
<reference key="source" ref="152934138"/>
<reference key="destination" ref="755891829"/>
</object>
<int key="connectionID">276</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">mediaListView</string>
<reference key="source" ref="152934138"/>
<reference key="destination" ref="989777724"/>
</object>
<int key="connectionID">277</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">mediaListItemsCount</string>
<reference key="source" ref="152934138"/>
<reference key="destination" ref="46828221"/>
</object>
<int key="connectionID">278</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">mediaListItemFetchedStatus</string>
<reference key="source" ref="152934138"/>
<reference key="destination" ref="426577894"/>
</object>
<int key="connectionID">279</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">mediaListSearchField</string>
<reference key="source" ref="152934138"/>
<reference key="destination" ref="39879860"/>
</object>
<int key="connectionID">280</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
......@@ -1758,87 +1758,87 @@ IEluYy4sIDIwMDcAA</bytes>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="360649527"/>
<reference ref="360649527"/>
<reference ref="360649527"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="705502168"/>
<reference ref="705502168"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="9"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="9"/>
<reference ref="9"/>
<reference ref="9"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<string id="492011814">ITSlider</string>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<string id="1063153487">com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="1063153487"/>
<string id="705502168">com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="705502168"/>
<reference ref="360649527"/>
<string>{{79, 117}, {482, 639}}</string>
<reference ref="705502168"/>
<reference ref="705502168"/>
<reference ref="705502168"/>
<reference ref="705502168"/>
<string id="793303596">{{79, 117}, {482, 639}}</string>
<reference ref="9"/>
<reference ref="9"/>
<string>{{79, 117}, {482, 639}}</string>
<reference ref="793303596"/>
<reference ref="9"/>
<string>{372, 63}</string>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="9"/>
<string>VLCOneSplitView</string>
<reference ref="360649527"/>
<reference ref="360649527"/>
<reference ref="360649527"/>
<reference ref="705502168"/>
<reference ref="705502168"/>
<reference ref="705502168"/>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
......@@ -1861,17 +1861,22 @@ IEluYy4sIDIwMDcAA</bytes>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">275</int>
<int key="maxID">280</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">VLCController</string>
<string key="superclassName">NSObject</string>
<reference key="className" ref="440645780"/>
<nil key="superclassName"/>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">newMainWindow:</string>
<string key="NS.object.0" id="485839417">id</string>
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
......@@ -1883,13 +1888,13 @@ IEluYy4sIDIwMDcAA</bytes>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey" id="744894946">IBProjectSource</string>
<string key="minorKey">VLCController.h</string>
<string key="majorKey" id="700903448">IBProjectSource</string>
<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="495016779">VLCVideoView</string>
<reference key="superclassName" ref="440645780"/>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
......@@ -1901,54 +1906,16 @@ IEluYy4sIDIwMDcAA</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>
<reference ref="323775740"/>
<string>categoryList</string>
<string>controlView</string>
<string>controller</string>
<string>detailItemFetchedStatus</string>
<string>detailItemsCount</string>
<string>detailList</string>
<string>detailSearchField</string>
<string>fillScreenButton</string>
<string>fullScreenButton</string>
<string>mainSplitView</string>
<string>mediaDescriptionText</string>
<string>mediaReadingProgressSlider</string>
<string>mediaReadingProgressText</string>
<string>navigatorView</string>
<string>navigatorViewToggleButton</string>
<reference ref="842584064"/>
<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="485839417"/>
<reference ref="485839417"/>
<string>NSTableView</string>
<reference ref="485839417"/>
<reference ref="485839417"/>
<reference ref="485839417"/>
<string>NSSplitView</string>
<string id="462259394">NSTextField</string>
<string>NSSlider</string>
<reference ref="462259394"/>
<reference ref="440645780"/>
<reference ref="485839417"/>
<reference ref="821686495"/>
<reference ref="440645780"/>
<string>VLCBrowsableVideoView</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="744894946"/>
<string key="minorKey">VLCMainWindow.h</string>
<string key="majorKey" id="278955530">IBUserSource</string>
<reference key="minorKey" ref="450816292"/>
</object>
</object>
<object class="IBPartialClassDescription">
......@@ -1973,20 +1940,24 @@ IEluYy4sIDIwMDcAA</bytes>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey" id="278955530">IBUserSource</string>
<reference key="majorKey" ref="278955530"/>
<reference key="minorKey" ref="450816292"/>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className" id="239810805">VLCVideoView</string>
<reference key="superclassName" ref="440645780"/>
<string key="className">VLCController</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>addPlaylist:</string>
<string>newMainWindow:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string id="334034311">id</string>
<reference ref="334034311"/>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
......@@ -1999,20 +1970,24 @@ IEluYy4sIDIwMDcAA</bytes>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="278955530"/>
<reference key="minorKey" ref="450816292"/>
<reference key="majorKey" ref="700903448"/>
<string key="minorKey">Sources/VLCController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<reference key="className" ref="440645780"/>
<nil key="superclassName"/>
<reference key="className" ref="1025983160"/>
<reference key="superclassName" ref="495016779"/>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<object class="NSMutableArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>moveDown:</string>
<string>moveUp:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string id="495675526">id</string>
<reference ref="495675526"/>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
......@@ -2025,8 +2000,8 @@ IEluYy4sIDIwMDcAA</bytes>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="744894946"/>
<string key="minorKey">VLCAppAdditions.h</string>
<reference key="majorKey" ref="278955530"/>
<reference key="minorKey" ref="450816292"/>
</object>
</object>
<object class="IBPartialClassDescription">
......@@ -2050,29 +2025,25 @@ IEluYy4sIDIwMDcAA</bytes>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="485839417"/>
<reference ref="485839417"/>
<reference ref="334034311"/>
<reference ref="334034311"/>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="744894946"/>
<string key="minorKey">VLCBrowsableVideoView.h</string>
<reference key="majorKey" ref="700903448"/>
<string key="minorKey">Sources/VLCBrowsableVideoView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<reference key="className" ref="654132308"/>
<reference key="superclassName" ref="239810805"/>
<string key="className">VLCOneSplitView</string>
<string key="superclassName">NSSplitView</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>moveDown:</string>
<string>moveUp:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string id="495675526">id</string>
<reference ref="495675526"/>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
......@@ -2085,8 +2056,72 @@ IEluYy4sIDIwMDcAA</bytes>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="278955530"/>
<reference key="minorKey" ref="450816292"/>
<reference key="majorKey" ref="700903448"/>
<string key="minorKey">Sources/VLCAppAdditions.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<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">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<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>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="334034311"/>
<reference ref="334034311"/>
<string>VLCOneSplitView</string>
<string id="462259394">NSTextField</string>
<reference ref="334034311"/>
<reference ref="334034311"/>
<reference ref="334034311"/>
<string>NSTableView</string>
<string>NSSlider</string>
<reference ref="462259394"/>
<reference ref="440645780"/>
<reference ref="334034311"/>
<reference ref="821686495"/>
<reference ref="440645780"/>
<string>VLCBrowsableVideoView</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<reference key="majorKey" ref="700903448"/>
<string key="minorKey">Sources/VLCMainWindow.h</string>
</object>
</object>
</object>
......@@ -2097,29 +2132,29 @@ IEluYy4sIDIwMDcAA</bytes>
<object class="NSMutableData" key="IBDocument.RunnableNib">
<bytes key="NS.bytes">YnBsaXN0MDDUAAEAAgADAAQABQAGAAkAClgkdmVyc2lvblQkdG9wWSRhcmNoaXZlclgkb2JqZWN0cxIA
AYag0QAHAAhdSUIub2JqZWN0ZGF0YYABXxAPTlNLZXllZEFyY2hpdmVyrxEB0QALAAwAMQA1ADYAPAA9
AEIAWgBbAFwAXQBhAGUAZgALAHQAeQCFAIYAhwCMAJQAmACgAKQAqwCsAK0AsgC2ALAAtgC3AMAAxADM
ANYA6gDwAP8BAwElASYBKwEsAS8BMwFJAUoBVgFeAV8BYgFoAWsBcwF0AXUBeAF+AYgBiQGOAY8BkgGX
AZgBmgGgAaEBpAGnAasBsAGxAbQBuAG5AbwByAHJAcoBzQHWAdcB2AHbAesB8wH9AgECEQISAhoCJAIl
AigCLgIvAjUCPgI/AkYCRwJMAk0CUAJaAmICYwJnARMCbAJ3AngCeQJ9An8CggKFAogCkgKTApkCmwKk
Aq0CrgK0ArsCvQK+AscCyALQAtEC1QLWAtcC4ALhAvUC+gL7AwsDDAMNAxADGQMaAx4DJwMoAykBRAMq
Ay4DLwMyAzYDRQNHA0oDSwNOA1cDWANjA2QDaQNqA2wDdAN1A4EDggOHA4gDiwOTA5QDmwOcA50DngOf
A6IDqwO6A8MDxAPUA9gChAPdA94D4QPlA+YD6APxA/ID+wP8A/8EBwQIBBAEEQQZBBoEKwQtBDEEMgQ1
BDgEQARBBEkESgRSBFMEXARfBGMEZARoBGkEcQRyBHwEgASBBIMEiwSMBJMElAScBJ0EqASsBK0EsQSy
BLQEvAS9BMQExQTNBM4E1wTbBNwE3gToBDcE6QTqBPME9QT2AAsE9wT5BPoE+wT+BQIFGAUgBSEFJQUq
BSsFMAUxBTYFNwU8BT0FQgVDBUgFSQVOBU8FVAVVBVoFWwVgBWEFZgVnBWwFbQVyBXMFeAV5BX4FfwWE
BYUFigWLBZAFkQXQBdMF1AYTBlMGkwaUBpUGlgaXBpgGmQaaBpsGnAadBp4GnwagBqEGogajBqQGpQam
BqcGqAapBqoGqwasBq0GrgavBrAGsQayBrMGtAa1BrYGtwa4BrkGuga7BrwGvQa+Br8GwAbBBsIGwwbE
BsUGxgbHBsgGyQbKBssGzAbNBs4GzwbUBtkHLAd/B4AHgQeCB4MHhAeFB4YHhwDkB4gHiQeKB4sHjAeN
B44HjweQB5EHkgeTB5QHlQeWB5cHmAeZAPcHmgebAhUC8wecB50HngefB6AHoQeiB6MHpAelB6YHpweo
B6kHqgerB6wHrQCBB64HrwFmAFcHsAexB7IHswe0B7UHtge3A6cHuAe5B7oHuwe8B70Hvge/B8AHwQfC
B8MHxAfFB8YHxwfKB80H0FUkbnVsbN8QEgANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0A
AEIAWgBbAFwAXQBhAGUAZgALAHQAeQCFAIYAhwCMAJQAmACgAKQAqwCsAK0AsgC2ALAAtgC3AL8AwwDL
ANUA6QDvAP4BAgEkASUBKgErAS4BMgFIAUkBVQFdAV4BYQFnAWoBcgFzAXQBdwF9AYcBiAGNAY4BkQGW
AZcBmQGfAaABowGmAaoBrwGwAbMBtwG4AbsBxwHIAckBzAHVAdYB1wHaAeoB8gH8AgACEAIRAhkCIwIk
AicCLQIuAjQCPQI+AkUCRgJLAkwCTwJZAmECYgJmARICawJ2AncCeAJ8An4CgQKEAocCkQKSApgCmgKj
AqwCrQKzAroCvAK9AsYCxwLPAtAC1ALVAtYC3wLgAvQC+QL6AwoDCwMMAw8DGAMZAx0DJgMnAygBQwMp
Ay0DLgMxAzUDRANGA0kDSgNNA1YDVwNiA2MDaANpA2sDcwN0A4ADgQOGA4cDigOSA5MDmgObA5wDnQOe
A6EDqgO5A8IDwwPTA9cCgwPcA90D4APkA+UD5wPwA/ED+gP7A/4EBgQHBA8EEAQYBBkEKgQsBDAEMQQ0
BDcEPwRABEgESQRRBFIEWwReBGIEYwRnBGgEcARxBHsEfwSABIIEigSLBJIEkwSbBJwEpwSrBKwEsASx
BLMEuwS8BMMExATMBM0E1gTaBNsE3QTnBDYE6ATpBPIE9AT1AAsE9gT4BPkE+gT9BQEFFwUfBSAFJAUp
BSoFLwUwBTUFNgU7BTwFQQVCBUcFSAVNBU4FUwVUBVkFWgVfBWAFZQVmBWsFbAVxBXIFdwV4BX0FfgWD
BYQFiQWKBY8FkAXPBdIF0wYSBlIGkgaTBpQGlQaWBpcGmAaZBpoGmwacBp0GngafBqAGoQaiBqMGpAal
BqYGpwaoBqkGqgarBqwGrQauBq8GsAaxBrIGswa0BrUGtga3BrgGuQa6BrsGvAa9Br4GvwbABsEGwgbD
BsQGxQbGBscGyAbJBsoGywbMBs0GzgbTBtgHKwd+B38HgAeBB4IHgweEB4UHhgeHB4gDpgeJB4oHiweM
B40HjgePB5AHkQeSAFcHkweUB5UHlgDjB5cHmAeZB5oHmwecB50HngefB6AHoQCBAWUHogejB6QA9gel
B6YHpweoB6kHqgerB6wHrQeuB68HsAexB7IHswe0B7UHtge3B7gCFAe5B7oHuwLyB7wHvQe+B78HwAfB
B8IHwwfEB8UHxgfJB8wHz1UkbnVsbN8QEgANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0A
HgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMFZOU1Jvb3RWJGNsYXNzXU5TT2JqZWN0
c0tleXNfEA9OU0NsYXNzZXNWYWx1ZXNfEBlOU0FjY2Vzc2liaWxpdHlPaWRzVmFsdWVzXU5TQ29ubmVj
dGlvbnNbTlNOYW1lc0tleXNbTlNGcmFtZXdvcmtdTlNDbGFzc2VzS2V5c1pOU09pZHNLZXlzXU5TTmFt
ZXNWYWx1ZXNfEBlOU0FjY2Vzc2liaWxpdHlDb25uZWN0b3JzXU5TRm9udE1hbmFnZXJfEBBOU1Zpc2li
bGVXaW5kb3dzXxAPTlNPYmplY3RzVmFsdWVzXxAXTlNBY2Nlc3NpYmlsaXR5T2lkc0tleXNZTlNOZXh0
T2lkXE5TT2lkc1ZhbHVlc4ACgQHQgQE3gQF6gQHPgQEPgQE7gAWBAXmBAXuBATyBAc2AAIAGgQE6gQHO
EQEVgQF80gAOADIAMwA0W05TQ2xhc3NOYW1lgASAA11WTENDb250cm9sbGVy0gA3ADgAOQA6WCRjbGFz
EQEagQF80gAOADIAMwA0W05TQ2xhc3NOYW1lgASAA11WTENDb250cm9sbGVy0gA3ADgAOQA6WCRjbGFz
c2VzWiRjbGFzc25hbWWiADoAO15OU0N1c3RvbU9iamVjdFhOU09iamVjdF8QEElCQ29jb2FGcmFtZXdv
cmvSAA4APgA/AEBaTlMub2JqZWN0c4EBDqEAQYAH3ABDAA4ARABFAEYARwBIAEkASgBLAEwATQBOAE8A
UABRAFIAUwBUAFUAVgBXAFgAWVxOU1dpbmRvd1ZpZXdcTlNTY3JlZW5SZWN0XU5TV2luZG93VGl0bGVZ
......@@ -2137,394 +2172,394 @@ PgB1AJaAHaEAl4AX2ABnAA4AaABpAGoAawAyAGwAigCOAJsAgQCcAG0AkgCKgBWAHIAYgB6AD4AfgBXS
AA4APgB1AKKAHaEAo4AZ1wBnAA4AaQBqAGsAMgBsAJcAjgCBAKcAbQCpAJeAF4AcgBqAD4AbgBdaezQ4
MSwgMjM5fV8QFVZMQ0Jyb3dzYWJsZVZpZGVvVmlld9IANwA4AK4Ar6QArwCwALEAO1xOU0N1c3RvbVZp
ZXdWTlNWaWV3W05TUmVzcG9uZGVy0gA3ADgAswC0owC0ALUAO15OU011dGFibGVBcnJheVdOU0FycmF5
Wns0ODIsIDIzOX3YAGcADgB6AGgAaQBrADIAbAB3AI4AugC7ALwAbQCSAHeAEYAcgLiAIhEBGoAPgB+A
EdIADgA+AHUAwoAdoQDDgCPYAGcADgBoAGkAagBrADIAbACLAI4AxwCBAMgAbQCSAIuAIYAcgCSAt4AP
gB+AIdIADgA+AHUAzoAdpwDPANAA0QDSANMA1ADVgCWAV4CLgKCApYCsgLPdAGcA1wAOAHoA2ABoANkA
aQBrAGwA2gDbANwAwwDeAN8A4ADhAOIA4wDkAG0AwwDnAOgA6FtOU0hTY3JvbGxlclhOU3NGbGFnc1xO
U1Njcm9sbEFtdHNbTlNWU2Nyb2xsZXJdTlNOZXh0S2V5Vmlld11OU0NvbnRlbnRWaWV3gCOAU4BWgFUR
AhKAJk8QEEEgAABBIAAAQaAAAEGgAAARARSAD4AjgE+AJ4An0gAOAD4AdQDsgB2jAOgA5wDegCeAT4BT
2wBnAA4AegDxAGgAaQDyAGsA8wBsANsAzwD1APYA9wD4APkA+gBtAPwAzwD6WU5TY3ZGbGFnc1lOU0Rv
Y1ZpZXdZTlNCR0NvbG9ygCWAToBNEASAKBEJAIApgA+APoAlgCnSAA4APgB1AQGAHaEA+oAp3xAUAGcB
BAAOAQUBBgEHAQgBCQEKAQsBDABpAGoBDQBrAQ4BDwBsARABEQDoARMBFAEVARYBFwEYARkBGgD3ARsB
HAEdARgAbQEgASEA6AEjASRfEB9OU0RyYWdnaW5nU291cmNlTWFza0Zvck5vbkxvY2FsWU5TVHZGbGFn
c18QLE5TT3V0bGluZVZpZXdJbmRlbnRhdGlvbk1hcmtlckZvbGxvd3NDZWxsS2V5XxARTlNCYWNrZ3Jv
dW5kQ29sb3JfEBJOU0FsbG93c1R5cGVTZWxlY3RcTlNDb3JuZXJWaWV3XxAXTlNJbnRlcmNlbGxTcGFj
aW5nV2lkdGhfEBlOU0NvbHVtbkF1dG9yZXNpemluZ1N0eWxlXxAYTlNJbnRlcmNlbGxTcGFjaW5nSGVp
Z2h0WU5TRW5hYmxlZFtOU0dyaWRDb2xvcl8QHE5TRHJhZ2dpbmdTb3VyY2VNYXNrRm9yTG9jYWxeTlNU
YWJsZUNvbHVtbnNbTlNSb3dIZWlnaHSAJxAAgEwSAkAAAAiASAmAKyNACAAAAAAAACNAAAAAAAAAABER
AIAqCYAPgEkQD4AngC4jQDIAAAAAAABaezIxMCwgMjk0fdQAZwAOAHoAaQArASgBKQEqgACALYAsE///
//+AAAEAXxAUe3stMjYsIDB9LCB7MTYsIDE3fX3SADcAOAEtAS6kAS4AsACxADtdX05TQ29ybmVyVmll
d9IADgA+AHUBMYAdoQEygC/bATQADgE1ATYBNwE4ATkBOgE7ATwBPQEYAT8BQAFBAUIBQwFEAUUBRgFH
APpeTlNJc1Jlc2l6ZWFibGVcTlNIZWFkZXJDZWxsXE5TSWRlbnRpZmllcldOU1dpZHRoWk5TRGF0YUNl
bGxeTlNSZXNpemluZ01hc2tfEBlOU1NvcnREZXNjcmlwdG9yUHJvdG90eXBlWk5TTWluV2lkdGhaTlNN
YXhXaWR0aFtOU1RhYmxlVmlldwmAR4AxgDAjQGnpk+AAAACAPBABgEQjQEKmUCAAAAAjQI9AAAAAAACA
KVRuYW1l1wFLAA4BBwFMAU0BTgFPAVABUQFSAUEBVAETAVVbTlNDZWxsRmxhZ3NaTlNDb250ZW50c1lO
U1N1cHBvcnRcTlNDZWxsRmxhZ3MyW05TVGV4dENvbG9yEgSB/gCAO4A1gDCAMoA31AAOAVcBWAFZAVoB
WwFcAV1WTlNTaXplVk5TTmFtZVhOU2ZGbGFnc4A0I0AmAAAAAAAAgDMRDBxcTHVjaWRhR3JhbmRl0gA3
ADgBYAFhogFhADtWTlNGb2500wAOAWMBZAFlAWYBZ1xOU0NvbG9yU3BhY2VXTlNXaGl0ZYA2EANLMC4z
MzMzMzI5OQDSADcAOAFpAWqiAWoAO1dOU0NvbG9y1QAOAWoBYwFsAW0BZQFvAXABcQFyW05TQ29sb3JO
YW1lXU5TQ2F0YWxvZ05hbWWANoA6EAaAOYA4VlN5c3RlbV8QD2hlYWRlclRleHRDb2xvctMADgFjAWQB
ZQFmAXeANkIwANIANwA4AXkBeqUBegF7AXwBfQA7XxARTlNUYWJsZUhlYWRlckNlbGxfEA9OU1RleHRG
aWVsZENlbGxcTlNBY3Rpb25DZWxsVk5TQ2VsbNgBSwAOAQcBTAFNAX8BTgFPAYABgQD8AYMBVAD6AYYB
h11OU0NvbnRyb2xWaWV3ElQh/kCAQ4A+gD2AMoApEgACBACAQVlUZXh0IENlbGzVAA4BagFjAWwBbQFl
AYsBcAGMAXKANoBAgD+AOF8QFmNvbnRyb2xCYWNrZ3JvdW5kQ29sb3LTAA4BYwFkAWUBZgGRgDZLMC42
NjY2NjY2OQDVAA4BagFjAWwBbQFlAW8BcAGVAXKANoA6gEKAOF8QEGNvbnRyb2xUZXh0Q29sb3LSADcA
OAGZAXukAXsBfAF9ADvTAA4BmwGcAZ0BngEYWk5TU2VsZWN0b3JbTlNBc2NlbmRpbmeARoBFCVhjb21w
YXJlOtIANwA4AaIBo6IBowA7XxAQTlNTb3J0RGVzY3JpcHRvctIANwA4AaUBpqIBpgA7XU5TVGFibGVD
b2x1bW7TAA4BYwGoAWUAVgGqVU5TUkdCgDZPECEwLjgxOTYwNzg1IDAuODQzMTM3MjYgMC44ODYyNzQ1
MgDVAA4BagFjAWwBbQFlAa0BcAGuAXKANoBLgEqAOFlncmlkQ29sb3LTAA4BYwFkAWUBZgGzgDZEMC41
ANIANwA4AbUBtqYBtgE9AbcAsACxADtdTlNPdXRsaW5lVmlld1lOU0NvbnRyb2xfEBR7ezEsIDF9LCB7
MjEwLCAyOTR9fdIANwA4AboBu6QBuwCwALEAO1pOU0NsaXBWaWV32QBnAb0ADgB6AGkAawG+AGwBvwDP
AM8BwgHDASoAbQHFAM8Bx1hOU1RhcmdldFhOU0FjdGlvbllOU1BlcmNlbnSAJYAlgFKAUIAPgFGAJSM/
7yblwAAAAF8QFXt7MTk2LCAxfSwgezE1LCAzMTF9fVxfZG9TY3JvbGxlcjrSADcAOAHLAcylAcwBtwCw
ALEAO1pOU1Njcm9sbGVy2gBnAb0ADgB6ANgAaQBrAb4AbAG/AM8AzwHCAdEBRAEqAG0BxQDPAdWAJYAl
gFKAVIAPgFGAJSM/79ktAAAAAF8QGXt7LTEwMCwgLTEwMH0sIHsxOTUsIDE1fX1fEBV7ezAsIDI3fSwg
ezIxMiwgMjk2fX3SADcAOAHZAdqkAdoAsACxADtcTlNTY3JvbGxWaWV33xAPAGcA1wAOAHoA2AEJAdwA
aADZAGkAawBsANoA2wDcAMMB3gDfAeAB4QHiAeMB5AHlAIEAbQDDAegB6QHpXxAQTlNIZWFkZXJDbGlw
Vmlld4AjgIaAVoCKEQIygGGAXoBYTxAQQSAAAEEgAABBgAAAQYAAAIAPgCOAhIBZgFnSAA4APgB1Ae2A
HaUB6QHoAd4B4wHigFmAhICGgF6AYdsAZwAOAHoA8QBoAGkA8gBrAPMAbADbANAA9QH2APcB9wD5AfgA
bQD8ANAB+IBXgE6Ag4BagFuAD4A+gFeAW9IADgA+AHUB/4AdoQH4gFvfEBQAZwEEAA4BBQICAQcBCAEJ
AQoBCwEMAGkAagENAGsBDgEPAGwBEAERAekBEwIEAgUCBgIHARgB4gEaAPcBGwEcAgoBGABtASABIQHp
Ag8CEFxOU0hlYWRlclZpZXeAWYCCE//////WwAAAgF2AagmAYYBcCYAPgEmAWYBjI0AsAAAAAAAAWnsy
NjgsIDI3OH3XAGcADgBpAGoAawBsAT0B4wIUAhUCFgBtAeMB+IBegGARAQCAX4APgF6AW9sAZwAOAHoA
8QBoAGkA8gBrAPMAbADbANAA9QIdAPcCHgD5AgYAbQD8ANACBoBXgE6AiYCIgF2AD4A+gFeAXVl7MjY4
LCAxN33SADcAOAImAiekAicAsACxADtfEBFOU1RhYmxlSGVhZGVyVmlld9YAZwAOAHoAaQBrAGwA0AEo
AisBKgBtANCAV4AtgGKAD4BXXxATe3stMTEsIDB9LCB7MSwgMTd9fdIADgA+AHUCMYAdowIyAjMCNIBk
gHmAftoBNAAOATUBNgE3ATgBOQE7ATwBPQEYAT8COAI5AjoCOwFEAjwBRwH4CYBHgGaAZSNANQAAAAAA
AIBrI0AkAAAAAAAAgFtVc3RhdGXXAUsADgEHAUwBTQFOAU8CQAFRAkICQwFUARMBVRIEAf4AgDuAaIBn
gDKAN1DVAA4BagFjAWwBbQFlAgcBcAJKAXKANoBqgGmAOFtoZWFkZXJDb2xvctMADgFjAWQBZQFmAk+A
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
AAAxAKsBQgHiAq0DpATMBhIHmQlRCy8NPA9sEcAUHBaDGPIbRB2QH7whySO1JYUnOijFKkYrvi0tLqIw
GDGMMvw0aDXSNzk4ozoEO2A8wD4cP3FAxUIWQ2ZEtUYER0tIlkndSx5MPk1STnBPhFCZUbRSzVPlVP5W
FlcuWENZVVptW35cj12cXqdfr2C4YbxivmO/ZL9lvWa5Z7NosGmvaqtrqGylbaJuoG+gcJ1xnnKjc6V0
qXWxdrt3w3jOedt66nv8fQ1+Hn8ygEKBRYJBgzyEOIU1hjCHLIgniSOKHosYjBSND44KjwaQApD+kfmS
85PvlOuV6Jbkl9+Y2pnWmtKb0ZzQndOe2Z/goOmh86L+pA6lH6Yyp0ioXalzqomroay6rdKu6rACsRuy
MrNHtFu1YLZat1W4VLlQuku7R7xBvTu+Nr8ywC7BK8IlwyDEG8UXxhPHDsgLyQjKAsr7y/XM8M3szuvP
4tDc0c3SwdOy1KLVjdZ211/YRtkp2gra7tvO3Kvdid5n30XgI+EB4eLiw+Ol5H3lQ+X65qjnVOgA6Knp
Uen46prrO+vb7HbtDu2l7jjuye9W7+LwafDx8XTx+PJ58vrzefP39HX08/Vs9eb2YPbb91L3yfhA+Lb5
LPmi+hj6jfsC+3j77/xm/N79V/3R/kv+xv81/5r//wAAACQAfAECAYsCNQMBA/QFDwZjB9cJjAtrDXoP
oRHpFDUWjRjaGw0dKx8ZIP4isCREJakm/ShGKYkq0iweLWwuuDAAMU4ykzPhNSc2bDe1OPg6OTt3PLE9
7D8nQF5Bj0LCQ/JFG0YhRx1IG0kWShBLDUwKTQROAU78T/dQ8lHsUulT5VThVdxW1lfRWM1ZyFrCW71c
uV20XqVfiWBsYU5iL2MOY+xkymWpZodnZWhFaShqCmrsa9Jsu22jbo9vfXBucWJyWHNMdEZ1PHYmdwt3
7njUebt6onuLfHF9XX5Ffy6AGYEDge2C2IPChK6FlYZ7h2WITIkzihiK/IvhjMyNw47Aj7qQt5G2krST
tJS0lbOWuZfBmMmZ15rlm/edC54jnz6gXKF9oqGjyaTzphynQ6hRqU2qSatIrEStQK49rzqwN7E2sjez
ObQ9tUG2RrdOuFe5Yrptu328jr2cvqu/vMDPwd7C4MPaxNjF0cbPx83Iy8nJysTLyMzJzcnOys/U0NrR
39Lp0/TVANYN1xzYLdlB2lTbX9xY3UDeIt8B39/gu+GY4nLjSuQh5PjlzOae52/oP+kO6drqp+ty7D3t
Ce3R7pzvZfAt8PPxjPIk8rrzUPPo9H/1F/Wt9kP22fdx+Ar4n/k1+cz6Y/r7+5H8KPzA/Vf97v6D/xP/
if//AAAAEwBDAIoA6AFfAe0CowN7BHYFmAbnCGUJ/wvODbgPohGXE3UVRRbxGIIZ+RtGHHQdkR6oH70g
zCHcIuoj/iUKJhQnHygkKTEqNCs0LDotPS45LzowMzEzMjAzLjQmNSY2HzcSN+Q4rjl0Ojg69ju2PHQ9
LT3mPp0/UkADQLNBY0IRQr5Da0QWRMJFb0YbRshHdUgkSNZJj0pRSxpL30yiTWROI07gT5xQWFEPUclS
g1M7U/JUq1VnViBW3FeaWFlZHFnfWqRba1wuXOVdmF5KXv1fsWBlYRth0mKJY0Bj92SvZWdmH2bXZ49o
SGj+abNqamsea9JshW03behumW9Jb/pwrXFgchZyzXOEdD1093WzdnF3MHfxeLN5dno5ev97xnyNfVV+
HX7nf7CAd4FDggyC1oOihHWFRYYYhu2HxIiciXeKVos2jBiM+43djsOPqJCRkXSSXJNDlCeVCpXtltGX
uZi2mbCarpunnKWdo56hn5+gmqGeop+jn6SgpaqmsKe1qL+pyqrWq+Os8q4DrxewKrE9slKza7SGtaO2
wrfluRC6OrtnvJi90L8IwEPBhMLFxArFUMaZx93JKMpzy7nNBs5Nz5TQ29In03fUyNYf13fY1dpA27Td
M9614Ebh4OOQ5U3nFuj66uzs9+8e8WLzufYy+NH7mv45//8AAG5kaW4AAAAAAAAGNgAAl1YAAFf+AABT
5AAAi1IAACcqAAAWqAAAUA0AAFQ5AALcKAACVHoAAZcKAAMBAAACAAAAEAAoAD8AVQBqAIAAlACoALsA
zwDiAPUBCAEbAS4BQQFUAWcBewGPAaMBuAHNAeIB+AIPAicCPwJYAnICjQKqAsgC5wMJAysDUAN3A6AD
zQP9BC4EYQSWBM0FBAU8BXUFrwXrBigGZwanBukHLAdvB7UH/QhHCJEI3AkqCXoJywoeCnMKyQsgC3kL
0wwxDI4M7Q1PDbQOJw6fDxQPjxAMEIgRBRGFEgcSihMPE5YUIBStFTgVyRZbFvEXihgnGMQZZhoMGrQb
XxwNHL0dcx4oHt0fliBQIQ0hyyKLI0okDiTRJZImVycdJ+IopiluKjYq/SvFLI0tVS4gLuwvtjCIMWcy
SzMyNBo1AjXvNts3yzi7ObA6pTuaPJU9jj6KP4ZAhUGJQotDkESURZxGpkeySL9Jz0rbS+tM+E4DTw9Q
G1ElUjNTPVRFVVBWWFdgWGxZd1qEW49cnF2rXrtfzWDfYfJjC2QlZUNmeWe5aPRqLmtxbLNt9m8/cIdx
0HMadGR1sncEeFV5qHr6fFJ9qX7+gFuBu4MchH2F3oc8iKeKEIuHjPyOd4/3kYCTD5SfljmX25l6myKc
0p6AoDKh56OcpVCnA6i4qoqspq7ksS+zhLXmuF264b2EwDvDEcYDyRfMRc+H0uTWStnT3WDhC+TF6Ibs
WfAj8+73rPtr//8AAAAWADIATQBnAIAAlwCuAMUA2gDvAQQBGAEsAUEBVQFqAX4BkwGoAb4B1AHqAgEC
GAIxAksCZQKBAp0CvQLdAv4DIQNIA3EDnQPPBAQEPQR4BLYE9AUzBXMFtAX2BjsGgQbHBxEHWgekB/II
QQiQCOEJNQmKCeEKOwqWCvILUAuwDBQMeAzeDUcNtA4zDrcPOw/EEE8Q2RFnEfgSiRMeE7QUTRToFYMW
IRbBF2QYCRivGVcaAhqvG10cDBzBHYgeUR8eH+8gxCGcInYjUiQyJREl8CbTJ7Yolil6KlwrPSweLP4t
3i7CL6EwiDF/MnwzezR3NXg2dzd8OHw5gzqLO5E8nj2oPrg/xkDcQfZDDUQrRUlGbkeVSLpJ0EreS/NN
Bk4ZTy5QQ1FYUnJThVSYVa1WvVfOWN5Z7Vr6XAVdD14YXyBgJmErYi5jNmQ7ZUlmeWe5aPNqLWtvbLBt
8G81cHpxvHL/dEF1g3bIeAt5TXqPe899E35Qf4+A04IXg1qEnIXihzuIoooEi3GM144/j6iREpKDk+mV
VJbCmDCZlJr+nGyd0588oKSiDKNzpNmmPqehqQmqhqworeKvorFpszW0/7bYuLW6k7x9vm3AYMJbxF/G
Y8hyyn3Mlc6o0MbS6NW12JLbb95M4TfkI+cK6gPs/O/08vj19Pj+/BL//wAAACkAUAByAJIAsADNAOgB
AgEcATYBTgFnAX8BmAGyAcwB5gICAh8CPgJdAoACpALLAvUDIgNVA44DzAQPBFMEmwTmBTIFgQXQBiQG
egbSBy4HiQfqCE4IsgkZCYUJ8QpjCtQLSAu+DDkMsg0xDbUOVQ78D6oQYBEYEdsSohNwFEgVJRYIFvEX
4RjTGcoaxBvAHLgdoh6HH3QgZyFhImEjZyR1JYMmmCexKMgp5SsALBstNC5PL2gwiTHHMww0UTWZNuA4
Kjl3OsY8Fz1sPsVAHkGDQuhEVkXHR0FIv0pDS8ZNSU7KUExRzlNPVMxWSlfGWUNawVw8XblfN2C2YjRj
vGU9ZsdoT2nKa01sy25Hb8RxPHKwdCN1lXcLeH158ntifN1+Un/LgU2C0IRWhdqHO4iiigSLcYzXjj+P
qJESkoOT6ZVUlsKYMJmUmv6cbJ3TnzygpKIMo3Ok2aY+p6GpCapyq9atOK6Zr/mxWLK1tAm1X7a1uAi5
V7qiu+29Ob6Av8PBCsJNw5LE1cYWx1/IocnjyyjMcs20zv7QStGW0uPULtV01rnYAdlC2oXbxt0C3jff
ZuCS4bfi2+P+5RnmL+dC6EvpUepR607sSu057ibvDe/18NPxsPKE81f0IfTq9bD2c/c09+34pvlX+gb6
tPtZ+/78o/1F/ej/I///AABkZXNjAAAAAAAAAApDb2xvciBMQ0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1
YwAAAAAAAAASAAAADG5iTk8AAAASAAAA6HB0UFQAAAAWAAAA+nN2U0UAAAAQAAABEGZpRkkAAAAQAAAB
IGRhREsAAAAcAAABMHpoQ04AAAAMAAABTGZyRlIAAAASAAABWGphSlAAAAAOAAABamVuVVMAAAASAAAB
eHBsUEwAAAASAAABinB0QlIAAAAYAAABnGVzRVMAAAASAAABtHpoVFcAAAAOAAABxnJ1UlUAAAAkAAAB
1GtvS1IAAAAMAAAB+GRlREUAAAAQAAACBG5sTkwAAAAWAAACFGl0SVQAAAAUAAACKgBGAGEAcgBnAGUA
LQBMAEMARABMAEMARAAgAGEAIABDAG8AcgBlAHMARgDkAHIAZwAtAEwAQwBEAFYA5AByAGkALQBMAEMA
RABMAEMARAAtAGYAYQByAHYAZQBzAGsA5gByAG1faYJyACAATABDAEQAyQBjAHIAYQBuACAATABDAEQw
qzDpMPwAIABMAEMARABDAG8AbABvAHIAIABMAEMARABLAG8AbABvAHIAIABMAEMARABMAEMARAAgAEMA
bwBsAG8AcgBpAGQAbwBMAEMARAAgAGMAbwBsAG8Acl9pgnJtsmZ2mG95OlZoBCYEMgQ1BEIEPQQ+BDkA
IAQWBBoALQQ0BDgEQQQ/BDsENQQ5zuy37AAgAEwAQwBEAEYAYQByAGIALQBMAEMARABLAGwAZQB1AHIA
ZQBuAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIAaQAAbW1vZAAAAAAAAAYQAACcWwAAAADAVLihAAAA
AAAAAAAAAAAAAAAAAHRleHQAAAAAQ29weXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDA3AF8QGU5TQ2FsaWJy
YXRlZFJHQkNvbG9yU3BhY2XSADcAOAJ6AnujAnsCfAA7XxAQTlNDYWNoZWRJbWFnZVJlcFpOU0ltYWdl
UmVw0gA3ADgCfgC1ogC1ADvTAA4BYwFkAWUBZgKBgDZEMCAwANIANwA4AoMChKIChAA7V05TSW1hZ2XS
ADcAOAKGAoejAocBfQA7W05TSW1hZ2VDZWxs2wE0AA4BNQE2ATcBOAE5ATsBPAKJAT0BGAE/AowCjQKO
Ao8BZgKOAUcBGAH4XE5TSXNFZGl0YWJsZQmAR4B7gHojQDixH8AAAACAfQmAW1ZudW1iZXLXAUsADgEH
AUwBTQFOAU8BUAFRApUCQwFUARMBVYA7gHyAZ4AygDfTAA4BYwFkAWUBZgFngDbYAUsADgEHAUwBTQF/
AU4BTwKcAYEA/AGDAVQB+AKiAYcSFCH+QIBDgD6APYAygFsRCACAQdoBNAAOATUBNgE3ATgBOQE7ATwB
PQEYAT8CpwKoAqkCqgFmAqsBRwH4CYBHgICAfyNAaqAAAAAAAICBI0BEAAAAAAAAgFtVdGl0bGXXAUsA
DgEHAUwBTQFOAU8BUAFRApUCqAFUARMBVYA7gHyAf4AygDfYAUsADgEHAUwBTQF/AU4BTwKcAYEA/AGD
AVQB+AKiAYeAQ4A+gD2AMoBbgEHSADcAOAK8AT2lAT0BtwCwALEAO18QFXt7MSwgMTd9LCB7MjY4LCAy
Nzh9fdkAZwG9AA4AegBpAGsBvgBsAb8A0ADQAcICwgEqAG0BxQDQAsaAV4BXgFKAhYAPgFGAVyM/7nOc
4AAAAF8QE3t7MSwgMTd9LCB7MCwgMjk1fX3ZAGcBvQAOAHoA2ABpAGsBvgBsANAA0AHCAswBRAEqAG0B
xQDQgFeAV4BSgIeAD4BRgFdfEBV7ezEsIDMxMn0sIHszODUsIDE1fX3SAA4APgB1AtOAHaECBoBdXxAT
e3sxLCAwfSwgezI2OCwgMTd9fV8QF3t7MjA5LCAyN30sIHsyNzAsIDI5Nn192ABnAA4AegF9AGkBDQBr
AGwAwwLZAtoC2wLcARgAbQDDgCOAn4CMgI0RASQJgA+AI18QFXt7MjA5LCA0fSwgezExOCwgMTl9fd4B
SwLiAA4C4wEHAUwBTQF/AU4C5ALlAuYC5wFPAugC6QLqAusC7AJDAVQA0QLwAUQBGALyAvMBh18QEk5T
U2VhcmNoRmllbGRGbGFnc18QEk5TQ2FuY2VsQnV0dG9uQ2VsbF8QEE5TVGV4dEJlemVsU3R5bGVfEBFO
U0RyYXdzQmFja2dyb3VuZF8QEk5TU2VhcmNoQnV0dG9uQ2VsbF8QEE5TTWF4aW11bVJlY2VudHMSFHH+
QEQIAAAAgJ6AlICOgGeAMoCLEhACBAAJgJAQ/4BB1QAOAWoBYwFsAW0BZQIHAXAC+AFygDaAaoCPgDhf
EBN0ZXh0QmFja2dyb3VuZENvbG9y3AG9AUsADgL8Av0C/gFMAX8C/wFOAb4DAALbAwIDAwMEARMCQwMG
ANEDCAETAwkDCl8QEk5TUGVyaW9kaWNJbnRlcnZhbF5OU0J1dHRvbkZsYWdzMl8QD05TS2V5RXF1aXZh
bGVudF8QD05TUGVyaW9kaWNEZWxheV1OU0J1dHRvbkZsYWdzgI0SAAH+AICTEEuAZ4CRgIsRAZCAkhII
RED/VnNlYXJjaF8QE19zZWFyY2hGaWVsZFNlYXJjaDrSADcAOAMOAw+kAw8BfAF9ADtcTlNCdXR0b25D
ZWxs3AG9AUsADgL8Av0C/gMRAUwC/wFOAb4DAALbAwIDAwMEARMCQwMVAxYDCAETAxcDGF8QI05TQWNj
ZXNzaWJpbGl0eU92ZXJyaWRkZW5BdHRyaWJ1dGVzgI2Ak4BngJaAlYCdEghAQP9VY2xlYXLSAA4APgB1
AxyAHaEDHYCX0wAOAx8APgMgAyEDJFdOUy5rZXlzgJyiAyIDI4CYgJmiAyUDJoCagJtdQVhEZXNjcmlw
dGlvbl8QKU5TQWNjZXNzaWJpbGl0eUVuY29kZWRBdHRyaWJ1dGVzVmFsdWVUeXBlVmNhbmNlbNIANwA4
AysDLKMDLAMtADtfEBNOU011dGFibGVEaWN0aW9uYXJ5XE5TRGljdGlvbmFyeV8QE19zZWFyY2hGaWVs
ZENhbmNlbDrSADcAOAMwAzGlAzEBewF8AX0AO18QEU5TU2VhcmNoRmllbGRDZWxs0gA3ADgDMwM0pgM0
AzUBtwCwALEAO11OU1NlYXJjaEZpZWxkW05TVGV4dEZpZWxk2gBnAA4AegM3AzgAaQBrAzkAbAM6AMMD
PAM9Az4DPwNAAG0DQgDDA0RaTlNNYXhWYWx1ZVpOU01pblZhbHVlWU5TcGlGbGFnc1xOU0RyYXdNYXRy
aXiAI4CkgKMjQFkAAAAAAAAjQDAAAAAAAAARBSGADxFxCoAjgKHRAA4DRoCi0gA3ADgDSANJogNJADta
TlNQU01hdHJpeF8QFHt7NDU1LCA1fSwgezE2LCAxNn190gA3ADgDTANNpANNALAAsQA7XxATTlNQcm9n
cmVzc0luZGljYXRvctgAZwAOAHoBfQBpAQ0AawBsAMMDUANRA1IDUwEYAG0Aw4AjgKuApoCnEQEiCYAP
gCNfEBV7ezMzMiwgNX0sIHsxMjUsIDE0fX3ZAUsADgEHAUwBTQF/AU4DWQFPA1oBgQNcA10BVADTA2AB
QQGHXxATTlNQbGFjZWhvbGRlclN0cmluZxIEAf5AgEOAqYCogDKApRIIQgQAgDCAQV8QECV7dmFsdWUx
fUAgaXRlbXPVAA4BagFjAWwBbQFlAYsBcANnAXKANoBAgKqAOFxjb250cm9sQ29sb3LSADcAOANrAzWl
AzUBtwCwALEAO9gAZwAOAHoBfQBpAQ0AawBsAMMDbgNvA3AC3AEYAG0Aw4AjgLKArYCuCYAPgCNfEBJ7
ezgsIDB9LCB7MjYsIDI1fX3cAUsADgN2AvwC/QL+AUwBTQF/Av8BTgMAA3cDAwJDAwQDegJDA3wDfQDU
AwgDfwOAXxATTlNBbHRlcm5hdGVDb250ZW50cxP/////hAH+AICTgGcQo4BngK+AsICsEggCAAAT////
/4aEQP9RK9QADgFXAVgBWQFaA4QDhQOGgDQjQCoAAAAAAACAsRAQXENvdXJpZXItQm9sZNIANwA4A4kD
iqUDigG3ALAAsQA7WE5TQnV0dG9u2ABnAA4AegF9AGkBDQBrAGwAwwNuA44DjwLcARgAbQDDgCOAsoC0
gLUJgA+AI18QE3t7MzcsIDB9LCB7MjYsIDI1fX3cAUsADgN2AvwC/QL+AUwBTQF/Av8BTgMAA3cDAwJD
AwQDegJDA5gDfQDVAwgDfwOAgJOAZ4BngLaAsICzUS1aezQ3OSwgMzI0fV8QFnt7MCwgMjQ4fSwgezQ4
MiwgMzI3fX1fEBR7ezAsIDl9LCB7NDgyLCA1NzV9fdIANwA4A6ADoaIDoQA7Xk5TQ2xhc3NTd2FwcGVy
2ABnAA4AegBoAGkAawAyAGwATgCOA6UDpgOnAG0AkgBOgA6AHIEBB4C8EQEKgA+AH4AO0gAOAD4AdQOt
gB2sA64DrwOwA7EDsgOzA7QDtQO2A7cDuAO5gL2AyIDNgNGA2YDdgOWA64DvgPeA+4EBAdgAZwAOAHoB
fQBpAQ0AawBsAHgDbgO9A74DvwEYAG0AeIC7gLKAvoC/EQEgCYAPgLtfEBN7ezE4LCA5fSwgezMxLCAz
MX193gFLAA4DdgPFAvwC/QPGAv4BTAFNAX8C/wFOAwADxwMDAkMDygPLAFYDzAPNAkMDzwOuA9ED0gPT
XU5TTm9ybWFsSW1hZ2VfEBBOU0FsdGVybmF0ZUltYWdlEiQJ/gCAk4BngMEQGYDFgMeAZ4DAgL0QyBII
AAAAEghUAP/UAA4BVwFYAVkBWgI8AVwD14A0gDMRCxvTAA4AMgPZA9oD2wPcXk5TUmVzb3VyY2VOYW1l
gMSAwoDDXxAUc2tpcF9wcmV2aW91c19hY3RpdmXSADcAOAPfA+CiA+AAO18QEE5TQ3VzdG9tUmVzb3Vy
Y2XTAA4AMgPZA9oD2wPkgMSAwoDGXxASc2tpcF9wcmV2aW91c19ibHVl0gAOAF4AXwJGgAzYAGcADgB6
AX0AaQENAGsAbAB4A1AD6wPsA+0BGABtAHiAu4CrgMmAyhEBIQmAD4C7XxAVe3s0MjQsIDI1fSwgezQ2
LCAxM3192AFLAA4BBwFMAU0BfwFOAU8D8wGBAuwD9gPPA68D+QP6E/////+EEf5AgEOAjoDLgMCAyBIE
QAQAgMxVMDA6MDDTAA4BYwGoAWUBRAP+gDZGMCAwIDAA2ABnAA4AegF9AGkBDQBrAGwAeANQBAIEAwNT
ARgAbQB4gLuAq4DOgM8JgA+Au18QFnt7MzA3LCAyNX0sIHsxMjUsIDEzfX3YAUsADgEHAUwBTQF/AU4B
TwPzAYEC7AQLA88DsAQOA/qAQ4COgNCAwIDNEgBABACAzF8QEFZMQyBNZWRpYSBQbGF5ZXLYAGcADgB6
AX0AaQENAGsAbAB4BBMEFAQVA1MBGABtAHiAu4DYgNKA0wmAD4C7XxAVe3szMDcsIDR9LCB7MTYzLCAx
NX193gQbAUsADgQcBB0BTAFNAX8DNwM4AU4EHgQfBCABGgQhBCIBEwFEBCMEJAOxBCYEJwQoARYEJwEW
V05TVmFsdWVfEBNOU051bWJlck9mVGlja01hcmtzXxASTlNUaWNrTWFya1Bvc2l0aW9uWk5TVmVydGlj
YWxdTlNBbHRJbmNWYWx1ZV8QGk5TQWxsb3dzVGlja01hcmtWYWx1ZXNPbmx5EgQF/wCA14DUgNWA0SNA
w4gAAAAAACMAAAAAAAAAABIAAgAACAjSAA4AXgBfAkaADNQADgFXAVgBWQFaBC8EMAOGgDQjQCgAAAAA
AACA1llIZWx2ZXRpY2HSADcAOAQzBDSkBDQBfAF9ADtcTlNTbGlkZXJDZWxs0gA3ADgENgQ3pQQ3AbcA
sACxADtYTlNTbGlkZXLYAGcADgB6AX0AaQENAGsAbAB4A24EOwQ8A78BGABtAHiAu4CygNqA2wmAD4C7
XxAVe3sxOTQsIDE5fSwgezQwLCAyNX193AFLAA4DdgL8Av0C/gFMAU0BfwL/AU4DAAN3AwMCQwMEA3oC
QwRFAVQDsgMIA38ESICTgGeAZ4DcgDKA2RP/////toRA/1JGU9gAZwAOAHoBfQBpAQ0AawBsAHgDbgRN
BE4DvwEYAG0AeIC7gLKA3oDfCYAPgLtfEBN7ezUxLCA1fSwgezM5LCAzOX193gFLAA4DdgPFAvwC/QPG
Av4BTAFNAX8C/wFOAwACQAMDAkMEVgPLAFYEVwJDAkMEWgOzA9ED0gPTgJOAZ4DhgOOAZ4BngOCA3dQA
DgFXAVgBWQFaBC8BXAOGgDSAM9MADgAyA9kD2gPbBGKAxIDCgOJUcGxhedMADgAyA9kD2gPbBGeAxIDC
gORZcGxheV9ibHVl2ABnAA4AegF9AGkBDQBrAGwAeANuBGwEbQO/ARgAbQB4gLuAsoDmgOcJgA+Au18Q
FHt7MTQxLCAxfSwgezIwLCAyMH193gFLAA4DdgPFAvwC/QPGAv4BTAFNAX8C/wFOAwACQAMDAkMEdQPL
AFYEdQR3AkMDzwO0A9ED0gR7gJOAZ4DogOiA6oBngMCA5RP/////yHQA/9MADgAyA9kD2gPbBH+AxIDC
gOladm9sdW1lX2xvd9IADgBeAF8CRoAM2ABnAA4AegF9AGkBDQBrAGwAeANuBIYEhwO/ARgAbQB4gLuA
soDsgO0JgA+Au18QFXt7MjM3LCAxOX0sIHs0MCwgMjV9fdwBSwAOA3YC/AL9Av4BTAFNAX8C/wFOAwAD
dwMDAkMDBAN6AkMEkAFUA7UDCAN/BEiAk4BngGeA7oAygOtSUEzYAGcADgB6AX0AaQENAGsAbAB4A24E
lwSYA78BGABtAHiAu4CygPCA8QmAD4C7XxATe3s5MiwgOX0sIHszMSwgMzF9fd4BSwAOA3YDxQL8Av0D
xgL+AUwBTQF/Av8BTgMAA8cDAwJDBKADywShBKIEowJDA88DtgPRA9IEp4CTgGeA8hCCgPSA9oBngMCA
7xIIRAD/0wAOADID2QPaA9sEq4DEgMKA818QE3NraXBfZm9yd2FyZF9hY3RpdmXTAA4AMgPZA9oD2wSw
gMSAwoD1XxARc2tpcF9mb3J3YXJkX2JsdWXSAA4AXgBfAkaADNgAZwAOAHoBfQBpAQ0AawBsAHgDbgS3
BLgDvwEYAG0AeIC7gLKA+ID5CYAPgLtfEBV7ezE1MSwgMTl9LCB7NDAsIDI1fX3cAUsADgN2AvwC/QL+
AUwBTQF/Av8BTgMAA3cDAwJDAwQDegJDBMEBVAO3AwgDfwRIgJOAZ4BngPqAMoD3U0ZpdNgAZwAOAHoB
fQBpAQ0AawBsAHgDbgTIBMkDvwEYAG0AeIC7gLKA/ID9CYAPgLtfEBR7ezI3MywgMn0sIHsyMCwgMjB9
fd4BSwAOA3YDxQL8Av0DxgL+AUwBTQF/Av8BTgMAAkADAwJDBNEDywBWBNEE0wJDA88DuAPRA9IEe4CT
gGeA/oD+gQEAgGeAwID70wAOADID2QPaA9sE2oDEgMKA/1t2b2x1bWVfaGlnaNIADgBeAF8CRoAM2gBn
AA4AegB7AX0AaQENAGsAMgBsAHgAfQThBOIE4wO/ARgAbQTmAHiAu4C6gQEEgQEDgQEFCYAPgQECgLtY
SVRTbGlkZXJfEBV7ezE2NCwgNH0sIHsxMDMsIDE1fX3eBBsBSwAOBBwEHQFMAU0BfwM3AzgBTgQeBB8E
IATrBCEEIgETAUQE7QFUA7kE8AQnBCgBFgQnARYjQCAAAAAAAACA14EBBoAygQEBI0BAAAAAAAAACAjS
AA4AXgBfAkaADF8QFXt7MCwgNTgzfSwgezQ4MSwgNTF9fVp7NDgyLCA2Mzl90gA3ADgE+ACwowCwALEA
O18QFXt7MCwgMH0sIHsxMjgwLCA3Nzh9fVl7MzcyLCA4NX3SADcAOAT8BP2iBP0AO18QEE5TV2luZG93
VGVtcGxhdGXSADcAOAT/BQCjBQAFAQA7XE5TTXV0YWJsZVNldFVOU1NldNIADgA+AHUFBIAdrxATBQUF
BgUHBQgFCQUKBQsFDAUNBQ4FDwUQBREFEgUTBRQFFQUWBReBARCBAROBARWBAReBARmBARuBAR2BAR+B
ASGBASOBASWBASeBASmBASuBAS2BAS+BATGBATOBATXUAA4FGQUaBRsFHAO3AEEFH11OU0Rlc3RpbmF0
aW9uWE5TU291cmNlV05TTGFiZWyBARKA94AHgQERXxAQZmlsbFNjcmVlbkJ1dHRvbtIANwA4BSIFI6MF
IwUkADtfEBROU05pYk91dGxldENvbm5lY3Rvcl5OU05pYkNvbm5lY3RvctQADgUZBRoFGwUcAE4AQQUp
gQESgA6AB4EBFF8QFWluaXRpYWxGaXJzdFJlc3BvbmRlctQADgUZBRoFGwUcANUAQQUvgQESgLOAB4EB
Fl8QFHJlbW92ZVBsYXlsaXN0QnV0dG9u1AAOBRkFGgUbBRwAwwBBBTWBARKAI4AHgQEYXW5hdmlnYXRv
clZpZXfUAA4FGQUaBRsFHADTAEEFO4EBEoClgAeBARpfEBBkZXRhaWxJdGVtc0NvdW501AAOBRkFGgUb
BRwA0gBBBUGBARKAoIAHgQEcXxAXZGV0YWlsSXRlbUZldGNoZWRTdGF0dXPUAA4FGQUaBRsFHAAfAEEF
R4EBEoACgAeBAR5aY29udHJvbGxlctQADgUZBRoFGwUcA68AQQVNgQESgMiAB4EBIF8QGG1lZGlhUmVh
ZGluZ1Byb2dyZXNzVGV4dNQADgUZBRoFGwUcA7UAQQVTgQESgOuAB4EBIl8QGW5hdmlnYXRvclZpZXdU
b2dnbGVCdXR0b27UAA4FGQUaBRsFHAOwAEEFWYEBEoDNgAeBASRfEBRtZWRpYURlc2NyaXB0aW9uVGV4
dNQADgUZBRoFGwUcAJcAQQVfgQESgBeAB4EBJl8QGXZpZGVvUGxheWVyQW5kQ29udHJvbFZpZXfUAA4F
GQUaBRsFHAOyAEEFZYEBEoDZgAeBAShfEBBmdWxsU2NyZWVuQnV0dG9u1AAOBRkFGgUbBRwDsQBBBWuB
ARKA0YAHgQEqXxAabWVkaWFSZWFkaW5nUHJvZ3Jlc3NTbGlkZXLUAA4FGQUaBRsFHACjAEEFcYEBEoAZ
gAeBASxZdmlkZW9WaWV31AAOBRkFGgUbBRwAdwBBBXeBARKAEYAHgQEuXW1haW5TcGxpdFZpZXfUAA4F
GQUaBRsFHAD6AEEFfYEBEoApgAeBATBcY2F0ZWdvcnlMaXN01AAOBRkFGgUbBRwA0QBBBYOBARKAi4AH
gQEyXxARZGV0YWlsU2VhcmNoRmllbGTUAA4FGQUaBRsFHAH4AEEFiYEBEoBbgAeBATRaZGV0YWlsTGlz
dNQADgUZBRoFGwUcANQAQQWPgQESgKyAB4EBNl8QEWFkZFBsYXlsaXN0QnV0dG9u0gAOAD4CaAWTgHWv
EDwC2wDUA48CBgO2A7EDrwDPA7QCMwEyAo8AowD6ANUEyQO4AMMDsgHeAegBQwBOBDwEFQB4AjICqgCL
A+wDswO+ANEEAwDQAIoA5wSYA1IFuwDSAEEDcACXA7cE4wB3BLgDuQDTAfgCNADeAjsETgOuA7UEhwRt
A7CAjYCsgLWAXYDvgNGAyIAlgOWAeYAvgH2AGYApgLOA/YD7gCOA2YCGgISAPIAOgNuA04C7gGSAgYAh
gMqA3YC/gIuAz4BXgBWAT4DxgKeBATiAoIAHgK6AF4D3gQEFgBGA+YEBAYClgFuAfoBTgGuA34C9gOuA
7YDngM3SAA4AMgAzBdKABIEBOV1OU0FwcGxpY2F0aW9u0gAOAD4CaAXWgHWvEDwA0QDDANUA0AB4AHgA
eADDAHgB+AD6AjMAlwDPAMMDuAB4AIsAeADQANABMgBBA7IDsQBOAfgCNAB3A68AeAOuAMMDsADDAHcA
zwO2ANMAHwDDAB8A1ACKAHgDuQBOA7cAeADDANAB+ADPAjIDswB4AHgDtQO0AHiAi4AjgLOAV4C7gLuA
u4AjgLuAW4ApgHmAF4AlgCOA+4C7gCGAu4BXgFeAL4AHgNmA0YAOgFuAfoARgMiAu4C9gCOAzYAjgBGA
JYDvgKWAAoAjgAKArIAVgLuBAQGADoD3gLuAI4BXgFuAJYBkgN2Au4C7gOuA5YC70gAOAD4CaAYVgHWv
ED0C2wDUA7YDjwIGA7EDrwDPA7QAHwIzATICjwCjBMkA1QD6A7gAwwOyAd4B6AFDAE4EFQQ8AHgCMgKq
AIsD7AOzA74EAwDRANAAigSYAOcDUgW7ANIAQQNwA7cAlwTjAHcEuAO5ANMA3gH4AjQCOwROA64DtQSH
BG0DsICNgKyA74C1gF2A0YDIgCWA5YACgHmAL4B9gBmA/YCzgCmA+4AjgNmAhoCEgDyADoDTgNuAu4Bk
gIGAIYDKgN2Av4DPgIuAV4AVgPGAT4CngQE4gKCAB4CugPeAF4EBBYARgPmBAQGApYBTgFuAfoBrgN+A
vYDrgO2A54DN0gAOAD4CaAZVgHWvED0GVgZXBlgGWQZaBlsGXAZdBl4GXwZgBmEGYgZjBmQGZQZmBmcG
aAZpBmoGawZsBm0GbgZvBnAGcQZyBnMGdAZ1BnYGdwZ4BnkGegZ7BnwGfQZ+Bn8AUwaBBoIGgwaEBoUG
hgaHBogGiQaKBosGjAaNBo4GjwaQBpEGkoEBPYEBPoEBP4EBQIEBQYEBQoEBQ4EBRIEBRYEBRoEBR4EB
SIEBSYEBSoEBS4EBTIEBTYEBToEBT4EBUIEBUYEBUoEBU4EBVIEBVYEBVoEBV4EBWIEBWYEBWoEBW4EB
XIEBXYEBXoEBX4EBYIEBYYEBYoEBY4EBZIEBZYEBZoAKgQFngQFogQFpgQFqgQFrgQFsgQFtgQFugQFv
gQFwgQFxgQFygQFzgQF0gQF1gQF2gQF3gQF4XxARU2VhcmNoIEZpZWxkIENlbGxfEBlSb3VuZCBUZXh0
dXJlZCBCdXR0b24gKCspXxAiQmV2ZWwgQnV0dG9uIChza2lwX2ZvcndhcmRfYWN0aXZlKV8QD0J1dHRv
biBDZWxsICgtKV8QEVRhYmxlIEhlYWRlciBWaWV3XxARSG9yaXpvbnRhbCBTbGlkZXJfEBNTdGF0aWMg
VGV4dCAoMDA6MDApW1Njcm9sbCBWaWV3XxAZQmV2ZWwgQnV0dG9uICh2b2x1bWVfbG93KVxGaWxlJ3Mg
T3duZXJfEBVUYWJsZSBDb2x1bW4gKG51bWJlcilfEBNUYWJsZSBDb2x1bW4gKG5hbWUpXxAdVGV4dCBG
aWVsZCBDZWxsIChUZXh0IENlbGwpLTFfEBRCcm93c2FibGUgVmlkZW8gVmlld18QGUJ1dHRvbiBDZWxs
ICh2b2x1bWVfaGlnaClfEBlSb3VuZCBUZXh0dXJlZCBCdXR0b24gKC0pXxATT3V0bGluZSBWaWV3IChu
YW1lKV8QGkJldmVsIEJ1dHRvbiAodm9sdW1lX2hpZ2gpXUN1c3RvbSBWaWV3LTNfEBpSb3VuZCBUZXh0
dXJlZCBCdXR0b24gKEZTKV8QFUhvcml6b250YWwgU2Nyb2xsZXItMV8QE1ZlcnRpY2FsIFNjcm9sbGVy
LTFfEBtUZXh0IEZpZWxkIENlbGwgKFRleHQgQ2VsbClcQ29udGVudCBWaWV3W1NsaWRlciBDZWxsXxAQ
QnV0dG9uIENlbGwgKEZTKVtDdXN0b20gVmlld18QFFRhYmxlIENvbHVtbiAoc3RhdGUpXxAdVGV4dCBG
aWVsZCBDZWxsIChUZXh0IENlbGwpLTJdQ3VzdG9tIFZpZXctMV8QF1RleHQgRmllbGQgQ2VsbCAoMDA6
MDApXxATQmV2ZWwgQnV0dG9uIChwbGF5KV8QIkJ1dHRvbiBDZWxsIChza2lwX3ByZXZpb3VzX2FjdGl2
ZSlfECJUZXh0IEZpZWxkIENlbGwgKFZMQyBNZWRpYSBQbGF5ZXIpXFNlYXJjaCBGaWVsZF1TY3JvbGwg
Vmlldy0xXUN1c3RvbSBWaWV3LTJfECFCdXR0b24gQ2VsbCAoc2tpcF9mb3J3YXJkX2FjdGl2ZSlfEBFW
ZXJ0aWNhbCBTY3JvbGxlcl8QIlRleHQgRmllbGQgQ2VsbCAoJXt2YWx1ZTF9QCBpdGVtcylbQXBwbGlj
YXRpb25cQXN5bmMgQXJyb3dzXxAPQnV0dG9uIENlbGwgKCspXxAbUm91bmQgVGV4dHVyZWQgQnV0dG9u
IChGaXQpXUN1c3RvbSBWaWV3LTRdU2xpZGVyIENlbGwtMV5PbmUgU3BsaXQgVmlld18QEUJ1dHRvbiBD
ZWxsIChGaXQpVlNsaWRlcl8QHlN0YXRpYyBUZXh0ICgle3ZhbHVlMX1AIGl0ZW1zKV8QE0hvcml6b250
YWwgU2Nyb2xsZXJfEBJUYWJsZSBWaWV3ICh0aXRsZSlfEBRUYWJsZSBDb2x1bW4gKHRpdGxlKV8Qpklt
YWdlIENlbGwgKE5TSW1hZ2UgMHgxOTMyMzM1MCBTaXplPXsxNCwgMTR9IFJlcHM9KAogICAgTlNDYWNo
ZWRJbWFnZVJlcCAweDE5MzIzM2YwIFNpemU9ezE0LCAxNH0gQ29sb3JTcGFjZT1OU0NhbGlicmF0ZWRS
R0JDb2xvclNwYWNlIEJQUz04IFBpeGVscz0xNHgxNCBBbHBoYT1ZRVMKKSlfEBJCdXR0b24gQ2VsbCAo
cGxheSlfECNCZXZlbCBCdXR0b24gKHNraXBfcHJldmlvdXNfYWN0aXZlKV8QGlJvdW5kIFRleHR1cmVk
IEJ1dHRvbiAoUEwpXxAQQnV0dG9uIENlbGwgKFBMKV8QGEJ1dHRvbiBDZWxsICh2b2x1bWVfbG93KV8Q
HlN0YXRpYyBUZXh0IChWTEMgTWVkaWEgUGxheWVyKdIADgA+AmgG0YB1ogO5AHeBAQGAEdIADgA+AmgG
1oB1ogTmAIOBAQKAEtIADgA+AmgG24B1rxBQAtsA1AOPAgYDtgOxA68AzwO0AB8CMwUGATICjwUXAKMF
CAUQBRUA+gDVBMkDuADDA7IB3gHoAUMATgUUBQkEPAQVAHgFBQIyAqoAiwPsBRIFFgOzA74FDgDRBAMA
0ACKAOcEmANSBQcFuwDSAEEDcAUMAJcDtwTjAHcEuAULA7kFDQURBRMA0wH4AjQA3gI7BE4FCgOuBQ8D
tQSHBG0DsICNgKyAtYBdgO+A0YDIgCWA5YACgHmBAROAL4B9gQE1gBmBAReBASeBATGAKYCzgP2A+4Aj
gNmAhoCEgDyADoEBL4EBGYDbgNOAu4EBEIBkgIGAIYDKgQErgQEzgN2Av4EBI4CLgM+AV4AVgE+A8YCn
gQEVgQE4gKCAB4CugQEfgBeA94EBBYARgPmBAR2BAQGBASGBASmBAS2ApYBbgH6AU4BrgN+BARuAvYEB
JYDrgO2A54DN0gAOAD4CaAcugHWvEFAHLwcwBzEHMgczBzQHNQc2BzcHOAc5BzoHOwc8Bz0HPgc/B0AH
QQdCB0MHRAdFB0YHRwdIB0kHSgdLB0wHTQdOB08HUAdRB1IHUwdUB1UHVgdXB1gHWQdaB1sHXAddB14H
XwdgB2EHYgdjB2QHZQdmB2cHaAdpB2oHawdsB20HbgdvB3AHcQdyB3MHdAd1B3YHdwd4B3kHegd7B3wH
fQd+gQF9gQF+gQF/gQGAgQGBgQGCgQGDgQGEgQGFgQGGgQGHgQGIgQGJgQGKgQGLgQGMgQGNgQGOgQGP
gQGQgQGRgQGSgQGTgQGUgQGVgQGWgQGXgQGYgQGZgQGagQGbgQGcgQGdgQGegQGfgQGggQGhgQGigQGj
gQGkgQGlgQGmgQGngQGogQGpgQGqgQGrgQGsgQGtgQGugQGvgQGwgQGxgQGygQGzgQG0gQG1gQG2gQG3
gQG4gQG5gQG6gQG7gQG8gQG9gQG+gQG/gQHAgQHBgQHCgQHDgQHEgQHFgQHGgQHHgQHIgQHJgQHKgQHL
gQHMELIRAQ4RAREQsxDzEPgQ+hCsEPUQuBA6ELAQuxEBExDAEOsRAQgQ5xCvEQEQEQEGEPEQphD3ELQQ
tRCxEOMQ5RDvEQEJELkQvBBWEP0Q6BDkEPYQ/BEBDBCrEP4QqhBVEK4RAQQQvhP//////////RCoEQEN
EL8Q8hEBBxBUEQEFEEYQ8BEBCxDcEKcQthC3EK0QuhEBARDmEPsQ7BD0EQEDEQECEPnSAA4APgB1B8mA
HaDSAA4APgJoB8yAdaDSAA4APgJoB8+AdaDSADcAOAfRB9KiB9IAO15OU0lCT2JqZWN0RGF0YQAIABkA
IgAnADEAOgA/AEQAUgBUAGYEDAQSBF0EZARrBHkEiwSnBLUEwQTNBNsE5gT0BRAFHgUxBUMFXQVnBXQF
dgV5BXwFfwWCBYUFiAWKBY0FkAWTBZYFmAWaBZ0FoAWjBaYFrwW7Bb0FvwXNBdYF3wXqBe8F/gYHBhoG
IwYuBjEGNAY2BmcGdAaBBo8GmQanBsAGzQbfBvMG/QcJBwsHDgcRBxMHGAcaBxwHHgcgByMHJgcoB0IH
RgdUB10HZwdpB24Hdwd+B5AHmQejB8AH0gfdB+YH8gf7CAcICQgMCA4IEQgUCBYIGQgiCCQIKQgrCC0I
UghaCHAIcgh0CHYIeAh6CH0IfwiBCIMIlQihCKoIrAixCLMItQjWCNgI2gjcCN4I4AjiCOQI7QjvCPII
9AkVCRcJGQkbCR0JHwkhCSMJLAkuCTEJMwlQCVIJVAlWCVgJWglcCWcJfwmICZEJngmlCbEJugnBCdAJ
2AnjCgQKBgoICgoKDAoPChEKEwoVCh4KIAojCiUKRgpICkoKTApOClAKUgpUCl0KXwpuCnAKcgp0CnYK
eAp6CnwKsQq9CsYK0wrfCu0K+wr9Cv8LAQsDCwYLCAsbCx4LIAsiCyQLJgsoCzELMws6CzwLPgtAC20L
dwuBC4sLjQuPC5ELkwuVC5gLmgucC54LoAuiC6sLrQuwC7IMBQwnDDEMYAx0DIkMlgywDMwM5wzxDP0N
HA0rDTcNOQ07DT0NQg1DDUUNRg1IDVENWg1dDV8NYA1iDWQNZg1oDWoNcw1+DY8NkQ2TDZUNng21Db4N
xw3VDd4N4A3jDeUOEg4hDi4OOw5DDk4OXQ55DoQOjw6bDpwOng6gDqIOqw6tDq8OsQ66DsMOxQ7KDucO
8w7+DwgPFQ8hDyYPKA8qDywPLg8wD0EPSA9PD1gPWg9jD2UPaA91D34Pgw+KD5cPpA+sD64PsA+8D8UP
yg/SD+cP8xABEAMQBRAHEAkQCxASECQQMRAzEDYQPxBKEF4QcBB9EIQQpRCzELgQuhC8EL4QwBDCEMcQ
yRDTEOgQ6hDsEO4Q8BEJERYRGBEkETkROxE9ET8RQRFUEV0RZhFzEX4RihGMEY4RjxGYEaERphG5EcIR
xxHVEeIR6BHqEg4SIxIlEicSKRIrEjUSQhJEEkkSUhJfEm0SdxKOEpcSoBKrEtAS2RLiEuwS7hLwEvIS
9BL2EvgS+hMDExsTKBMxEzwTRxNwE3ITdBN2E3gTehN8E34ThxOjE7sTxBPNE9oUGRQsFC4UMBQyFDQU
NxQ5FDsUPRRQFFIUVBRWFFgUWhRjFGUUcBRyFHQUdhR4FHoUpxSpFKsUrRSvFLEUsxS1FLcUuRTCFMQU
xxTJFRwVKRUrFS0VNhU4FToVOxU9FT8VQBVCFUQVRhVIFVEVXBV5FXsVfRWAFYIVhBWGFYgVtRW3FbkV
uxW9Fb8VwRXDFcUVxxXRFdoV4xX3FhAWEhYUFhYWGBYaFjAWORY7FkIWRBZGFkgWcRZyFnQWdhZ4FoEW
gxaMFo4WlBaxFrYWuBa6FrwWvhbAFsEW1hbYFtoW3BbeFuoW9xb5FvwXIRcpFzEXORdEF0YXSBdKF08X
UBdlF3IXeRd7F30XgheEF4YXjxeYF5oXnRefF6gXqhevF7EXsxfMF+MX9hgJGCMYOxg9GD8YQRhDGEUt
MS1NLVYtXS1wLXsthC2JLZYtmC2dLaYtqy2zLbwtwy3PLfwuCS4KLgwuDi4QLhkuGy4cLh4uJS5CLkQu
Ri5ILkouTC5ZLlsufC6BLoMuhS6HLokuiy6OLpAuuS66Lrwuvi7ALskuyy7ULtYu3C75Lvsu/S7/LwEv
Ay8kLyYvKC8qLywvLi8wLzkvRC9cL4Evgy+FL4cviS+LL40vjy+YL64v0y/VL9cv2S/bL90v3y/hL/kw
AjAEMAcwCTAfMDkwWjBcMF4wYDBiMGUwZjBoMGowgjC7MNAw5TD4MQwxITE0MTkxPjFAMUIxRDFGMUgx
SjFPMVAxUjFUMVYxazFtMW8xcTFzMYkxujHPMd4x8DICMhAyEjIXMhkyGzIdMh8yITIkMiYyKzIyMkgy
UTJaMmcymDK+MsAywjLEMsYyyDLKMs8y1TLeMuAy4zLlMvIy+jL8MwEzAzMFMwozDDMOMxwzSDNPM1gz
XzN1M4IzmDOhM6wzwDPJM9Yz5DPwNBk0JDQvNDk0RjRINEo0TDRVNF40YTRjNGY0aDRqNG80cTR6NH80
ijShNKo0szTJNOo07DTuNPA08jT1NPY0+DT6NRI1NzVNNVI1VDVWNVg1WjVcNWE1YzVlNXg1jTWPNZE1
kzWVNaI1qzW2Ndc12TXbNd013zXgNeI15DX5Nio2QDZJNks2TTZPNlE2UzZVNlc2XDZlNmc2eDZ6NoM2
hTaHNpQ2nTaoNrE20jbUNtY22DbaNts23TbfNvU3JjcoNyo3LDcuNzA3Mjc0Nz83WDdvN3g3fTeMN603
rzexN7Q3tje5N7s3vTe/N8g3yjfjN+U35zfpN+s37TfvN/E38zf1N/c3+Tf8OB04HzghOCM4JTgoOCk4
KzgtOEM4fDiKOJ04ojikOKY4qDiqOKw4rjiwOLI4tDi2OLs4wDjRONM41TjYOOU49Dj2OPg4+jkRORo5
HzkyOT85QTlDOUU5WjljOWU5hjmIOYo5jDmOOZE5kjmUOZY5rjnPOdg52jncOd454DniOec56TnvOfw5
/joFOiY6KDoqOiw6LjovOjE6MzpMOm06bzpxOnM6dTp3Onw6fjqROrI6tDq2Org6ujq7Or06vzrXOxA7
GDsuO0M7TjtcO3k7fjuAO4I7hDuGO487mDudO547nzuoO6o7uzu9O8Y7yDvSO9s75DvxO/o8BTwOPC88
MTwzPDU8Nzw4PDo8PDxUPIU8hzyJPIs8jTyPPJE8mjydPL48wDzCPMQ8xjzHPMk8yzzhPRo9HD0ePSA9
Ij0kPSY9KD0qPTs9PT0/PUw9Tj1QPVI9Vz1kPWY9aD1qPXQ9lT2XPZk9mz2dPZ49oD2iPbk98j30PfY9
+D36Pfw9/j4APgI+Cz4YPho+HD4ePik+Mj40PlU+Vz5ZPls+XT5ePmA+Yj56Pqs+rT6vPrE+sz61Prc+
uj7bPt0+3z7hPuM+5D7mPug+/j83Pzk/Oz89Pz8/QT9DP0U/Rz9JP04/Wz9dP18/YT93P4Q/hj+IP4o/
nj+nP6k/yj/MP84/0D/SP9M/1T/XP+9AIEAiQCRAJkAoQCpALEAwQFFAU0BVQFdAWUBaQFxAXkB1QK5A
sECyQLRAtkC5QLtAvUC/QMxAzkDQQNJA3kDnQOlBEkEUQRZBGUEcQR9BIEEiQSVBJ0EwQUhBgUGKQYxB
j0GRQZRBnUGeQZ9BqEGqQcJBzUHWQd1B9UH/QghCDUIgQilCMEI9QkNCTEJOQndCekJ9QoBCg0KGQolC
jEKPQpJClUKYQptCnkKhQqRCp0KqQq1CsELBQs9C2ELgQuNC5ULnQupC/UMGQw1DJEMzQ0RDR0NJQ0tD
TkNmQ3dDekN8Q35DgUOYQ6lDrEOuQ7BDs0PBQ9JD1UPXQ9lD3EPvRABEA0QFRAdECkQkRDVEOEQ6RDxE
P0RKRFtEXkRgRGJEZUSARJFElESWRJhEm0S3RMhEy0TNRM9E0kTpRPpE/UT/RQFFBEUgRTFFNEU2RThF
O0VORV9FYkVkRWZFaUWGRZdFmkWcRZ5FoUWrRbxFv0XBRcNFxkXUReVF6EXqRexF70X8Rg1GEEYSRhRG
F0YrRjxGP0ZBRkNGRkZRRmJGZUZnRmlGbEaARolGi0cGRwhHCkcMRw5HEEcSRxRHFkcYRxpHHEceRyBH
IkckRyZHKEcqRyxHLkcwRzJHNEc2RzhHOkc8Rz5HQEdCR0RHRkdIR0pHTEdOR1BHUkdUR1dHWUdbR11H
X0dhR2RHZkdoR2tHbUdvR3FHc0d1R3dHeUd7R31Hf0eBR4pHjEePR51HpkeoSCNIJUgnSClIK0gtSC9I
MUgzSDVIN0g5SDtIPUg/SEFIQ0hFSEdISUhLSE1IT0hRSFNIVUhXSFlIW0hdSF9IYUhjSGVIZ0hpSGtI
bUhvSHFIc0h1SHdIeUh7SH1IgEiCSIRIhkiISIpIjEiOSJBIkkiUSJZImEiaSJxIpUinSSRJJkkoSSpJ
LEkuSTBJMkk0STZJOEk6STxJPklASUJJRElGSUhJSklMSU5JUElSSVRJVklYSVpJXEleSWBJYklkSWZJ
aElqSWxJbklwSXJJdEl3SXlJe0l9SX9JgUmESYZJiEmLSY1Jj0mRSZNJlUmXSZlJm0mdSZ9JoUmqSaxK
KUosSi9KMko1SjhKO0o+SkFKREpHSkpKTUpQSlNKVkpZSlxKX0piSmVKaEprSm5KcUp0SndKekp9SoBK
g0qGSolKjEqPSpJKlUqYSptKnkqhSqRKp0qpSqxKr0qySrVKuEq7Sr5KwUrESsdKykrNStBK00rWStlK
3ErfSvNLD0s0S0ZLWktuS4RLkEusS7lL0UvnTAdMHkw6TFZMbEyJTJdMtEzMTOJNAE0NTRlNLE04TU9N
b019TZdNrU3STfdOBE4STiBORE5YTn1OiU6WTqhOxk7UTuJO8U8FTwxPLU9DT1hPb1AYUC1QU1BwUINQ
nlC/UMhQylDPUNJQ1FDdUN9Q5FDnUOlQ8lD0UZdRmVGbUZ1Rn1GhUaNRpVGnUalRq1GtUbBRslG0UbdR
uVG8Ub9RwlHEUcZRyFHKUcxRzlHQUdJR1FHWUdlR3FHeUeBR4lHlUedR6VHrUe1R8FHzUfVR91H6UfxR
/lIAUgJSBFIGUghSC1IOUhBSElIUUhdSGVIbUh5SIFIiUiVSKFIrUi5SMVIzUjVSN1I5UjtSPVJAUkJS
RVJHUklSS1JNUlZSWFL7Uv5TAVMEUwdTClMNUxBTE1MWUxlTHFMfUyJTJVMoUytTLlMxUzRTN1M6Uz1T
QFNDU0ZTSVNMU09TUlNVU1hTW1NeU2FTZFNnU2pTbVNwU3NTdlN5U3xTf1OCU4VTiFOLU45TkVOUU5dT
mlOdU6BTo1OmU6lTrFOvU7JTtVO4U7tTvlPBU8RTx1PKU81T0FPTU9ZT2VPcU99T4lPlU+hT61PtU/BT
81P1U/dT+VP7U/1T/1QBVANUBVQHVApUDFQOVBFUE1QVVBhUG1QdVB9UIVQjVCVUJ1QpVCtULVQwVDJU
NFQ2VDhUOlQ8VD5UQFRDVEVUR1RJVEtUTVRQVFJUW1RdVGBUYlRkVGdUaVRsVG5UcFRzVHVUd1R5VHtU
fVR/VIJUhFSGVIhUilSNVJBUklSbVJ1UnlSnVKlUqlSzVLVUtlS/VMQAAAAAAAACAgAAAAAAAAfTAAAA
AAAAAAAAAAAAAABU0w</bytes>
Wns0ODIsIDIzOX3YAGcADgB6AGgAaQBrADIAbAB3AI4AugC7AC8AbQCSAHeAEYAcgLiAIoAPgB+AEdIA
DgA+AHUAwYAdoQDCgCPYAGcADgBoAGkAagBrADIAbACLAI4AxgCBAMcAbQCSAIuAIYAcgCSAt4APgB+A
IdIADgA+AHUAzYAdpwDOAM8A0ADRANIA0wDUgCWAV4CLgKCApYCsgLPdAGcA1gAOAHoA1wBoANgAaQBr
AGwA2QDaANsAwgDdAN4A3wDgAOEA4gDjAG0AwgDmAOcA51tOU0hTY3JvbGxlclhOU3NGbGFnc1xOU1Nj
cm9sbEFtdHNbTlNWU2Nyb2xsZXJdTlNOZXh0S2V5Vmlld11OU0NvbnRlbnRWaWV3gCOAU4BWgFURAhKA
Jk8QEEEgAABBIAAAQaAAAEGgAAARARSAD4AjgE+AJ4An0gAOAD4AdQDrgB2jAOcA5gDdgCeAT4BT2wBn
AA4AegDwAGgAaQDxAGsA8gBsANoAzgD0APUA9gD3APgA+QBtAPsAzgD5WU5TY3ZGbGFnc1lOU0RvY1Zp
ZXdZTlNCR0NvbG9ygCWAToBNEASAKBEJAIApgA+APoAlgCnSAA4APgB1AQCAHaEA+YAp3xAUAGcBAwAO
AQQBBQEGAQcBCAEJAQoBCwBpAGoBDABrAQ0BDgBsAQ8BEADnARIBEwEUARUBFgEXARgBGQD2ARoBGwEc
ARcAbQEfASAA5wEiASNfEB9OU0RyYWdnaW5nU291cmNlTWFza0Zvck5vbkxvY2FsWU5TVHZGbGFnc18Q
LE5TT3V0bGluZVZpZXdJbmRlbnRhdGlvbk1hcmtlckZvbGxvd3NDZWxsS2V5XxARTlNCYWNrZ3JvdW5k
Q29sb3JfEBJOU0FsbG93c1R5cGVTZWxlY3RcTlNDb3JuZXJWaWV3XxAXTlNJbnRlcmNlbGxTcGFjaW5n
V2lkdGhfEBlOU0NvbHVtbkF1dG9yZXNpemluZ1N0eWxlXxAYTlNJbnRlcmNlbGxTcGFjaW5nSGVpZ2h0
WU5TRW5hYmxlZFtOU0dyaWRDb2xvcl8QHE5TRHJhZ2dpbmdTb3VyY2VNYXNrRm9yTG9jYWxeTlNUYWJs
ZUNvbHVtbnNbTlNSb3dIZWlnaHSAJxAAgEwSAkAAAAiASAmAKyNACAAAAAAAACNAAAAAAAAAABERAIAq
CYAPgEkQD4AngC4jQDIAAAAAAABaezIxMCwgMjk0fdQAZwAOAHoAaQArAScBKAEpgACALYAsE/////+A
AAEAXxAUe3stMjYsIDB9LCB7MTYsIDE3fX3SADcAOAEsAS2kAS0AsACxADtdX05TQ29ybmVyVmlld9IA
DgA+AHUBMIAdoQExgC/bATMADgE0ATUBNgE3ATgBOQE6ATsBPAEXAT4BPwFAAUEBQgFDAUQBRQFGAPle
TlNJc1Jlc2l6ZWFibGVcTlNIZWFkZXJDZWxsXE5TSWRlbnRpZmllcldOU1dpZHRoWk5TRGF0YUNlbGxe
TlNSZXNpemluZ01hc2tfEBlOU1NvcnREZXNjcmlwdG9yUHJvdG90eXBlWk5TTWluV2lkdGhaTlNNYXhX
aWR0aFtOU1RhYmxlVmlldwmAR4AxgDAjQGnpk+AAAACAPBABgEQjQEKmUCAAAAAjQI9AAAAAAACAKVRu
YW1l1wFKAA4BBgFLAUwBTQFOAU8BUAFRAUABUwESAVRbTlNDZWxsRmxhZ3NaTlNDb250ZW50c1lOU1N1
cHBvcnRcTlNDZWxsRmxhZ3MyW05TVGV4dENvbG9yEgSB/gCAO4A1gDCAMoA31AAOAVYBVwFYAVkBWgFb
AVxWTlNTaXplVk5TTmFtZVhOU2ZGbGFnc4A0I0AmAAAAAAAAgDMRDBxcTHVjaWRhR3JhbmRl0gA3ADgB
XwFgogFgADtWTlNGb2500wAOAWIBYwFkAWUBZlxOU0NvbG9yU3BhY2VXTlNXaGl0ZYA2EANLMC4zMzMz
MzI5OQDSADcAOAFoAWmiAWkAO1dOU0NvbG9y1QAOAWkBYgFrAWwBZAFuAW8BcAFxW05TQ29sb3JOYW1l
XU5TQ2F0YWxvZ05hbWWANoA6EAaAOYA4VlN5c3RlbV8QD2hlYWRlclRleHRDb2xvctMADgFiAWMBZAFl
AXaANkIwANIANwA4AXgBeaUBeQF6AXsBfAA7XxARTlNUYWJsZUhlYWRlckNlbGxfEA9OU1RleHRGaWVs
ZENlbGxcTlNBY3Rpb25DZWxsVk5TQ2VsbNgBSgAOAQYBSwFMAX4BTQFOAX8BgAD7AYIBUwD5AYUBhl1O
U0NvbnRyb2xWaWV3ElQh/kCAQ4A+gD2AMoApEgACBACAQVlUZXh0IENlbGzVAA4BaQFiAWsBbAFkAYoB
bwGLAXGANoBAgD+AOF8QFmNvbnRyb2xCYWNrZ3JvdW5kQ29sb3LTAA4BYgFjAWQBZQGQgDZLMC42NjY2
NjY2OQDVAA4BaQFiAWsBbAFkAW4BbwGUAXGANoA6gEKAOF8QEGNvbnRyb2xUZXh0Q29sb3LSADcAOAGY
AXqkAXoBewF8ADvTAA4BmgGbAZwBnQEXWk5TU2VsZWN0b3JbTlNBc2NlbmRpbmeARoBFCVhjb21wYXJl
OtIANwA4AaEBoqIBogA7XxAQTlNTb3J0RGVzY3JpcHRvctIANwA4AaQBpaIBpQA7XU5TVGFibGVDb2x1
bW7TAA4BYgGnAWQAVgGpVU5TUkdCgDZPECEwLjgxOTYwNzg1IDAuODQzMTM3MjYgMC44ODYyNzQ1MgDV
AA4BaQFiAWsBbAFkAawBbwGtAXGANoBLgEqAOFlncmlkQ29sb3LTAA4BYgFjAWQBZQGygDZEMC41ANIA
NwA4AbQBtaYBtQE8AbYAsACxADtdTlNPdXRsaW5lVmlld1lOU0NvbnRyb2xfEBR7ezEsIDF9LCB7MjEw
LCAyOTR9fdIANwA4AbkBuqQBugCwALEAO1pOU0NsaXBWaWV32QBnAbwADgB6AGkAawG9AGwBvgDOAM4B
wQHCASkAbQHEAM4BxlhOU1RhcmdldFhOU0FjdGlvbllOU1BlcmNlbnSAJYAlgFKAUIAPgFGAJSM/7ybl
wAAAAF8QFXt7MTk2LCAxfSwgezE1LCAzMTF9fVxfZG9TY3JvbGxlcjrSADcAOAHKAculAcsBtgCwALEA
O1pOU1Njcm9sbGVy2gBnAbwADgB6ANcAaQBrAb0AbAG+AM4AzgHBAdABQwEpAG0BxADOAdSAJYAlgFKA
VIAPgFGAJSM/79ktAAAAAF8QGXt7LTEwMCwgLTEwMH0sIHsxOTUsIDE1fX1fEBV7ezAsIDI3fSwgezIx
MiwgMjk2fX3SADcAOAHYAdmkAdkAsACxADtcTlNTY3JvbGxWaWV33xAPAGcA1gAOAHoA1wEIAdsAaADY
AGkAawBsANkA2gDbAMIB3QDeAd8B4AHhAeIB4wHkAIEAbQDCAecB6AHoXxAQTlNIZWFkZXJDbGlwVmll
d4AjgIaAVoCKEQIygGGAXoBYTxAQQSAAAEEgAABBgAAAQYAAAIAPgCOAhIBZgFnSAA4APgB1AeyAHaUB
6AHnAd0B4gHhgFmAhICGgF6AYdsAZwAOAHoA8ABoAGkA8QBrAPIAbADaAM8A9AH1APYB9gD4AfcAbQD7
AM8B94BXgE6Ag4BagFuAD4A+gFeAW9IADgA+AHUB/oAdoQH3gFvfEBQAZwEDAA4BBAIBAQYBBwEIAQkB
CgELAGkAagEMAGsBDQEOAGwBDwEQAegBEgIDAgQCBQIGARcB4QEZAPYBGgEbAgkBFwBtAR8BIAHoAg4C
D1xOU0hlYWRlclZpZXeAWYCCE//////WwAAAgF2AagmAYYBcCYAPgEmAWYBjI0AsAAAAAAAAWnsyNjgs
IDI3OH3XAGcADgBpAGoAawBsATwB4gITAhQCFQBtAeIB94BegGARAQCAX4APgF6AW9sAZwAOAHoA8ABo
AGkA8QBrAPIAbADaAM8A9AIcAPYCHQD4AgUAbQD7AM8CBYBXgE6AiYCIgF2AD4A+gFeAXVl7MjY4LCAx
N33SADcAOAIlAiakAiYAsACxADtfEBFOU1RhYmxlSGVhZGVyVmlld9YAZwAOAHoAaQBrAGwAzwEnAioB
KQBtAM+AV4AtgGKAD4BXXxATe3stMTEsIDB9LCB7MSwgMTd9fdIADgA+AHUCMIAdowIxAjICM4BkgHmA
ftoBMwAOATQBNQE2ATcBOAE6ATsBPAEXAT4CNwI4AjkCOgFDAjsBRgH3CYBHgGaAZSNANQAAAAAAAIBr
I0AkAAAAAAAAgFtVc3RhdGXXAUoADgEGAUsBTAFNAU4CPwFQAkECQgFTARIBVBIEAf4AgDuAaIBngDKA
N1DVAA4BaQFiAWsBbAFkAgYBbwJJAXGANoBqgGmAOFtoZWFkZXJDb2xvctMADgFiAWMBZAFlAk6ANkIx
ANkBSgAOAlABSwFMAlECUgFNAlMCPwJUARICVQFTARIBEgJXARVXTlNTdHlsZVdOU0FsaWduV05TU2Nh
bGVaTlNBbmltYXRlc4B4gGyAMhICAgAACNUADgFWAloCWwFpAlwCXQJeAl8CYFxOU0ltYWdlRmxhZ3NW
TlNSZXBzgHeAbRIgwAAAgG6Adlh7MTQsIDE0fdIADgA+AHUCZIAdoQJlgG/SAA4APgJnAmiAdaICaQJq
gHCAcdYADgJsAm0CbgJvAnACcQJyAnMCdAJ1ARJfEBROU1RJRkZSZXByZXNlbnRhdGlvbl8QEE5TQ2Fj
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
lOuV6Jbkl9+Y2pnWmtKb0ZzQndOe2Z/goOmh86L+pA6lH6Yyp0ioXalzqomroay6rdKu6rACsRuyMrNH
tFu1YLZat1W4VLlQuku7R7xBvTu+Nr8ywC7BK8IlwyDEG8UXxhPHDsgLyQjKAsr7y/XM8M3szuvP4tDc
0c3SwdOy1KLVjdZ211/YRtkp2gra7tvO3Kvdid5n30XgI+EB4eLiw+Ol5H3lQ+X65qjnVOgA6KnpUen4
6prrO+vb7HbtDu2l7jjuye9W7+LwafDx8XTx+PJ58vrzefP39HX08/Vs9eb2YPbb91L3yfhA+Lb5LPmi
+hj6jfsC+3j77/xm/N79V/3R/kv+xv81/5r//wAAACQAfAECAYsCNQMBA/QFDwZjB9cJjAtrDXoPoRHp
FDUWjRjaGw0dKx8ZIP4isCREJakm/ShGKYkq0iweLWwuuDAAMU4ykzPhNSc2bDe1OPg6OTt3PLE97D8n
QF5Bj0LCQ/JFG0YhRx1IG0kWShBLDUwKTQROAU78T/dQ8lHsUulT5VThVdxW1lfRWM1ZyFrCW71cuV20
XqVfiWBsYU5iL2MOY+xkymWpZodnZWhFaShqCmrsa9Jsu22jbo9vfXBucWJyWHNMdEZ1PHYmdwt37njU
ebt6onuLfHF9XX5Ffy6AGYEDge2C2IPChK6FlYZ7h2WITIkzihiK/IvhjMyNw47Aj7qQt5G2krSTtJS0
lbOWuZfBmMmZ15rlm/edC54jnz6gXKF9oqGjyaTzphynQ6hRqU2qSatIrEStQK49rzqwN7E2sjezObQ9
tUG2RrdOuFe5Yrptu328jr2cvqu/vMDPwd7C4MPaxNjF0cbPx83Iy8nJysTLyMzJzcnOys/U0NrR39Lp
0/TVANYN1xzYLdlB2lTbX9xY3UDeIt8B39/gu+GY4nLjSuQh5PjlzOae52/oP+kO6drqp+ty7D3tCe3R
7pzvZfAt8PPxjPIk8rrzUPPo9H/1F/Wt9kP22fdx+Ar4n/k1+cz6Y/r7+5H8KPzA/Vf97v6D/xP/if//
AAAAEwBDAIoA6AFfAe0CowN7BHYFmAbnCGUJ/wvODbgPohGXE3UVRRbxGIIZ+RtGHHQdkR6oH70gzCHc
Iuoj/iUKJhQnHygkKTEqNCs0LDotPS45LzowMzEzMjAzLjQmNSY2HzcSN+Q4rjl0Ojg69ju2PHQ9LT3m
Pp0/UkADQLNBY0IRQr5Da0QWRMJFb0YbRshHdUgkSNZJj0pRSxpL30yiTWROI07gT5xQWFEPUclSg1M7
U/JUq1VnViBW3FeaWFlZHFnfWqRba1wuXOVdmF5KXv1fsWBlYRth0mKJY0Bj92SvZWdmH2bXZ49oSGj+
abNqamsea9JshW03behumW9Jb/pwrXFgchZyzXOEdD1093WzdnF3MHfxeLN5dno5ev97xnyNfVV+HX7n
f7CAd4FDggyC1oOihHWFRYYYhu2HxIiciXeKVos2jBiM+43djsOPqJCRkXSSXJNDlCeVCpXtltGXuZi2
mbCarpunnKWdo56hn5+gmqGeop+jn6SgpaqmsKe1qL+pyqrWq+Os8q4DrxewKrE9slKza7SGtaO2wrfl
uRC6OrtnvJi90L8IwEPBhMLFxArFUMaZx93JKMpzy7nNBs5Nz5TQ29In03fUyNYf13fY1dpA27TdM961
4Ebh4OOQ5U3nFuj66uzs9+8e8WLzufYy+NH7mv45//8AAG5kaW4AAAAAAAAGNgAAl1YAAFf+AABT5AAA
i1IAACcqAAAWqAAAUA0AAFQ5AALcKAACVHoAAZcKAAMBAAACAAAAEAAoAD8AVQBqAIAAlACoALsAzwDi
APUBCAEbAS4BQQFUAWcBewGPAaMBuAHNAeIB+AIPAicCPwJYAnICjQKqAsgC5wMJAysDUAN3A6ADzQP9
BC4EYQSWBM0FBAU8BXUFrwXrBigGZwanBukHLAdvB7UH/QhHCJEI3AkqCXoJywoeCnMKyQsgC3kL0wwx
DI4M7Q1PDbQOJw6fDxQPjxAMEIgRBRGFEgcSihMPE5YUIBStFTgVyRZbFvEXihgnGMQZZhoMGrQbXxwN
HL0dcx4oHt0fliBQIQ0hyyKLI0okDiTRJZImVycdJ+IopiluKjYq/SvFLI0tVS4gLuwvtjCIMWcySzMy
NBo1AjXvNts3yzi7ObA6pTuaPJU9jj6KP4ZAhUGJQotDkESURZxGpkeySL9Jz0rbS+tM+E4DTw9QG1El
UjNTPVRFVVBWWFdgWGxZd1qEW49cnF2rXrtfzWDfYfJjC2QlZUNmeWe5aPRqLmtxbLNt9m8/cIdx0HMa
dGR1sncEeFV5qHr6fFJ9qX7+gFuBu4MchH2F3oc8iKeKEIuHjPyOd4/3kYCTD5SfljmX25l6myKc0p6A
oDKh56OcpVCnA6i4qoqspq7ksS+zhLXmuF264b2EwDvDEcYDyRfMRc+H0uTWStnT3WDhC+TF6IbsWfAj
8+73rPtr//8AAAAWADIATQBnAIAAlwCuAMUA2gDvAQQBGAEsAUEBVQFqAX4BkwGoAb4B1AHqAgECGAIx
AksCZQKBAp0CvQLdAv4DIQNIA3EDnQPPBAQEPQR4BLYE9AUzBXMFtAX2BjsGgQbHBxEHWgekB/IIQQiQ
COEJNQmKCeEKOwqWCvILUAuwDBQMeAzeDUcNtA4zDrcPOw/EEE8Q2RFnEfgSiRMeE7QUTRToFYMWIRbB
F2QYCRivGVcaAhqvG10cDBzBHYgeUR8eH+8gxCGcInYjUiQyJREl8CbTJ7Yolil6KlwrPSweLP4t3i7C
L6EwiDF/MnwzezR3NXg2dzd8OHw5gzqLO5E8nj2oPrg/xkDcQfZDDUQrRUlGbkeVSLpJ0EreS/NNBk4Z
Ty5QQ1FYUnJThVSYVa1WvVfOWN5Z7Vr6XAVdD14YXyBgJmErYi5jNmQ7ZUlmeWe5aPNqLWtvbLBt8G81
cHpxvHL/dEF1g3bIeAt5TXqPe899E35Qf4+A04IXg1qEnIXihzuIoooEi3GM144/j6iREpKDk+mVVJbC
mDCZlJr+nGyd0588oKSiDKNzpNmmPqehqQmqhqworeKvorFpszW0/7bYuLW6k7x9vm3AYMJbxF/GY8hy
yn3Mlc6o0MbS6NW12JLbb95M4TfkI+cK6gPs/O/08vj19Pj+/BL//wAAACkAUAByAJIAsADNAOgBAgEc
ATYBTgFnAX8BmAGyAcwB5gICAh8CPgJdAoACpALLAvUDIgNVA44DzAQPBFMEmwTmBTIFgQXQBiQGegbS
By4HiQfqCE4IsgkZCYUJ8QpjCtQLSAu+DDkMsg0xDbUOVQ78D6oQYBEYEdsSohNwFEgVJRYIFvEX4RjT
GcoaxBvAHLgdoh6HH3QgZyFhImEjZyR1JYMmmCexKMgp5SsALBstNC5PL2gwiTHHMww0UTWZNuA4Kjl3
OsY8Fz1sPsVAHkGDQuhEVkXHR0FIv0pDS8ZNSU7KUExRzlNPVMxWSlfGWUNawVw8XblfN2C2YjRjvGU9
ZsdoT2nKa01sy25Hb8RxPHKwdCN1lXcLeH158ntifN1+Un/LgU2C0IRWhdqHO4iiigSLcYzXjj+PqJES
koOT6ZVUlsKYMJmUmv6cbJ3TnzygpKIMo3Ok2aY+p6GpCapyq9atOK6Zr/mxWLK1tAm1X7a1uAi5V7qi
u+29Ob6Av8PBCsJNw5LE1cYWx1/IocnjyyjMcs20zv7QStGW0uPULtV01rnYAdlC2oXbxt0C3jffZuCS
4bfi2+P+5RnmL+dC6EvpUepR607sSu057ibvDe/18NPxsPKE81f0IfTq9bD2c/c09+34pvlX+gb6tPtZ
+/78o/1F/ej/I///AABkZXNjAAAAAAAAAApDb2xvciBMQ0QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1YwAA
AAAAAAASAAAADG5iTk8AAAASAAAA6HB0UFQAAAAWAAAA+nN2U0UAAAAQAAABEGZpRkkAAAAQAAABIGRh
REsAAAAcAAABMHpoQ04AAAAMAAABTGZyRlIAAAASAAABWGphSlAAAAAOAAABamVuVVMAAAASAAABeHBs
UEwAAAASAAABinB0QlIAAAAYAAABnGVzRVMAAAASAAABtHpoVFcAAAAOAAABxnJ1UlUAAAAkAAAB1Gtv
S1IAAAAMAAAB+GRlREUAAAAQAAACBG5sTkwAAAAWAAACFGl0SVQAAAAUAAACKgBGAGEAcgBnAGUALQBM
AEMARABMAEMARAAgAGEAIABDAG8AcgBlAHMARgDkAHIAZwAtAEwAQwBEAFYA5AByAGkALQBMAEMARABM
AEMARAAtAGYAYQByAHYAZQBzAGsA5gByAG1faYJyACAATABDAEQAyQBjAHIAYQBuACAATABDAEQwqzDp
MPwAIABMAEMARABDAG8AbABvAHIAIABMAEMARABLAG8AbABvAHIAIABMAEMARABMAEMARAAgAEMAbwBs
AG8AcgBpAGQAbwBMAEMARAAgAGMAbwBsAG8Acl9pgnJtsmZ2mG95OlZoBCYEMgQ1BEIEPQQ+BDkAIAQW
BBoALQQ0BDgEQQQ/BDsENQQ5zuy37AAgAEwAQwBEAEYAYQByAGIALQBMAEMARABLAGwAZQB1AHIAZQBu
AC0ATABDAEQATABDAEQAIABjAG8AbABvAHIAaQAAbW1vZAAAAAAAAAYQAACcWwAAAADAVLihAAAAAAAA
AAAAAAAAAAAAAHRleHQAAAAAQ29weXJpZ2h0IEFwcGxlLCBJbmMuLCAyMDA3AF8QGU5TQ2FsaWJyYXRl
ZFJHQkNvbG9yU3BhY2XSADcAOAJ5AnqjAnoCewA7XxAQTlNDYWNoZWRJbWFnZVJlcFpOU0ltYWdlUmVw
0gA3ADgCfQC1ogC1ADvTAA4BYgFjAWQBZQKAgDZEMCAwANIANwA4AoICg6ICgwA7V05TSW1hZ2XSADcA
OAKFAoajAoYBfAA7W05TSW1hZ2VDZWxs2wEzAA4BNAE1ATYBNwE4AToBOwKIATwBFwE+AosCjAKNAo4B
ZQKNAUYBFwH3XE5TSXNFZGl0YWJsZQmAR4B7gHojQDixH8AAAACAfQmAW1ZudW1iZXLXAUoADgEGAUsB
TAFNAU4BTwFQApQCQgFTARIBVIA7gHyAZ4AygDfTAA4BYgFjAWQBZQFmgDbYAUoADgEGAUsBTAF+AU0B
TgKbAYAA+wGCAVMB9wKhAYYSFCH+QIBDgD6APYAygFsRCACAQdoBMwAOATQBNQE2ATcBOAE6ATsBPAEX
AT4CpgKnAqgCqQFlAqoBRgH3CYBHgICAfyNAaqAAAAAAAICBI0BEAAAAAAAAgFtVdGl0bGXXAUoADgEG
AUsBTAFNAU4BTwFQApQCpwFTARIBVIA7gHyAf4AygDfYAUoADgEGAUsBTAF+AU0BTgKbAYAA+wGCAVMB
9wKhAYaAQ4A+gD2AMoBbgEHSADcAOAK7ATylATwBtgCwALEAO18QFXt7MSwgMTd9LCB7MjY4LCAyNzh9
fdkAZwG8AA4AegBpAGsBvQBsAb4AzwDPAcECwQEpAG0BxADPAsWAV4BXgFKAhYAPgFGAVyM/7nOc4AAA
AF8QE3t7MSwgMTd9LCB7MCwgMjk1fX3ZAGcBvAAOAHoA1wBpAGsBvQBsAM8AzwHBAssBQwEpAG0BxADP
gFeAV4BSgIeAD4BRgFdfEBV7ezEsIDMxMn0sIHszODUsIDE1fX3SAA4APgB1AtKAHaECBYBdXxATe3sx
LCAwfSwgezI2OCwgMTd9fV8QF3t7MjA5LCAyN30sIHsyNzAsIDI5Nn192ABnAA4AegF8AGkBDABrAGwA
wgLYAtkC2gLbARcAbQDCgCOAn4CMgI0RASQJgA+AI18QFXt7MjA5LCA0fSwgezExOCwgMTl9fd4BSgLh
AA4C4gEGAUsBTAF+AU0C4wLkAuUC5gFOAucC6ALpAuoC6wJCAVMA0ALvAUMBFwLxAvIBhl8QEk5TU2Vh
cmNoRmllbGRGbGFnc18QEk5TQ2FuY2VsQnV0dG9uQ2VsbF8QEE5TVGV4dEJlemVsU3R5bGVfEBFOU0Ry
YXdzQmFja2dyb3VuZF8QEk5TU2VhcmNoQnV0dG9uQ2VsbF8QEE5TTWF4aW11bVJlY2VudHMSFHH+QEQI
AAAAgJ6AlICOgGeAMoCLEhACBAAJgJAQ/4BB1QAOAWkBYgFrAWwBZAIGAW8C9wFxgDaAaoCPgDhfEBN0
ZXh0QmFja2dyb3VuZENvbG9y3AG8AUoADgL7AvwC/QFLAX4C/gFNAb0C/wLaAwEDAgMDARICQgMFANAD
BwESAwgDCV8QEk5TUGVyaW9kaWNJbnRlcnZhbF5OU0J1dHRvbkZsYWdzMl8QD05TS2V5RXF1aXZhbGVu
dF8QD05TUGVyaW9kaWNEZWxheV1OU0J1dHRvbkZsYWdzgI0SAAH+AICTEEuAZ4CRgIsRAZCAkhIIRED/
VnNlYXJjaF8QE19zZWFyY2hGaWVsZFNlYXJjaDrSADcAOAMNAw6kAw4BewF8ADtcTlNCdXR0b25DZWxs
3AG8AUoADgL7AvwC/QMQAUsC/gFNAb0C/wLaAwEDAgMDARICQgMUAxUDBwESAxYDF18QI05TQWNjZXNz
aWJpbGl0eU92ZXJyaWRkZW5BdHRyaWJ1dGVzgI2Ak4BngJaAlYCdEghAQP9VY2xlYXLSAA4APgB1AxuA
HaEDHICX0wAOAx4APgMfAyADI1dOUy5rZXlzgJyiAyEDIoCYgJmiAyQDJYCagJtdQVhEZXNjcmlwdGlv
bl8QKU5TQWNjZXNzaWJpbGl0eUVuY29kZWRBdHRyaWJ1dGVzVmFsdWVUeXBlVmNhbmNlbNIANwA4AyoD
K6MDKwMsADtfEBNOU011dGFibGVEaWN0aW9uYXJ5XE5TRGljdGlvbmFyeV8QE19zZWFyY2hGaWVsZENh
bmNlbDrSADcAOAMvAzClAzABegF7AXwAO18QEU5TU2VhcmNoRmllbGRDZWxs0gA3ADgDMgMzpgMzAzQB
tgCwALEAO11OU1NlYXJjaEZpZWxkW05TVGV4dEZpZWxk2gBnAA4AegM2AzcAaQBrAzgAbAM5AMIDOwM8
Az0DPgM/AG0DQQDCA0NaTlNNYXhWYWx1ZVpOU01pblZhbHVlWU5TcGlGbGFnc1xOU0RyYXdNYXRyaXiA
I4CkgKMjQFkAAAAAAAAjQDAAAAAAAAARBSGADxFxCoAjgKHRAA4DRYCi0gA3ADgDRwNIogNIADtaTlNQ
U01hdHJpeF8QFHt7NDU1LCA1fSwgezE2LCAxNn190gA3ADgDSwNMpANMALAAsQA7XxATTlNQcm9ncmVz
c0luZGljYXRvctgAZwAOAHoBfABpAQwAawBsAMIDTwNQA1EDUgEXAG0AwoAjgKuApoCnEQEiCYAPgCNf
EBV7ezMzMiwgNX0sIHsxMjUsIDE0fX3ZAUoADgEGAUsBTAF+AU0DWAFOA1kBgANbA1wBUwDSA18BQAGG
XxATTlNQbGFjZWhvbGRlclN0cmluZxIEAf5AgEOAqYCogDKApRIIQgQAgDCAQV8QECV7dmFsdWUxfUAg
aXRlbXPVAA4BaQFiAWsBbAFkAYoBbwNmAXGANoBAgKqAOFxjb250cm9sQ29sb3LSADcAOANqAzSlAzQB
tgCwALEAO9gAZwAOAHoBfABpAQwAawBsAMIDbQNuA28C2wEXAG0AwoAjgLKArYCuCYAPgCNfEBJ7ezgs
IDB9LCB7MjYsIDI1fX3cAUoADgN1AvsC/AL9AUsBTAF+Av4BTQL/A3YDAgJCAwMDeQJCA3sDfADTAwcD
fgN/XxATTlNBbHRlcm5hdGVDb250ZW50cxP/////hAH+AICTgGcQo4BngK+AsICsEggCAAAT/////4aE
QP9RK9QADgFWAVcBWAFZA4MDhAOFgDQjQCoAAAAAAACAsRAQXENvdXJpZXItQm9sZNIANwA4A4gDiaUD
iQG2ALAAsQA7WE5TQnV0dG9u2ABnAA4AegF8AGkBDABrAGwAwgNtA40DjgLbARcAbQDCgCOAsoC0gLUJ
gA+AI18QE3t7MzcsIDB9LCB7MjYsIDI1fX3cAUoADgN1AvsC/AL9AUsBTAF+Av4BTQL/A3YDAgJCAwMD
eQJCA5cDfADUAwcDfgN/gJOAZ4BngLaAsICzUS1aezQ3OSwgMzI0fV8QFnt7MCwgMjQ4fSwgezQ4Miwg
MzI3fX1fEBR7ezAsIDl9LCB7NDgyLCA1NzV9fdIANwA4A58DoKIDoAA7Xk5TQ2xhc3NTd2FwcGVy2ABn
AA4AegBoAGkAawAyAGwATgCOA6QDpQOmAG0AkgBOgA6AHIEBB4C8EQEKgA+AH4AO0gAOAD4AdQOsgB2s
A60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4gL2AyIDNgNGA2YDdgOWA64DvgPeA+4EBAdgAZwAOAHoBfABp
AQwAawBsAHgDbQO8A70DvgEXAG0AeIC7gLKAvoC/EQEgCYAPgLtfEBN7ezE4LCA5fSwgezMxLCAzMX19
3gFKAA4DdQPEAvsC/APFAv0BSwFMAX4C/gFNAv8DxgMCAkIDyQPKAFYDywPMAkIDzgOtA9AD0QPSXU5T
Tm9ybWFsSW1hZ2VfEBBOU0FsdGVybmF0ZUltYWdlEiQJ/gCAk4BngMEQGYDFgMeAZ4DAgL0QyBIIAAAA
EghUAP/UAA4BVgFXAVgBWQI7AVsD1oA0gDMRCxvTAA4AMgPYA9kD2gPbXk5TUmVzb3VyY2VOYW1lgMSA
woDDXxAUc2tpcF9wcmV2aW91c19hY3RpdmXSADcAOAPeA9+iA98AO18QEE5TQ3VzdG9tUmVzb3VyY2XT
AA4AMgPYA9kD2gPjgMSAwoDGXxASc2tpcF9wcmV2aW91c19ibHVl0gAOAF4AXwJFgAzYAGcADgB6AXwA
aQEMAGsAbAB4A08D6gPrA+wBFwBtAHiAu4CrgMmAyhEBIQmAD4C7XxAVe3s0MjQsIDI1fSwgezQ2LCAx
M3192AFKAA4BBgFLAUwBfgFNAU4D8gGAAusD9QPOA64D+AP5E/////+EEf5AgEOAjoDLgMCAyBIEQAQA
gMxVMDA6MDDTAA4BYgGnAWQBQwP9gDZGMCAwIDAA2ABnAA4AegF8AGkBDABrAGwAeANPBAEEAgNSARcA
bQB4gLuAq4DOgM8JgA+Au18QFnt7MzA3LCAyNX0sIHsxMjUsIDEzfX3YAUoADgEGAUsBTAF+AU0BTgPy
AYAC6wQKA84DrwQNA/mAQ4COgNCAwIDNEgBABACAzF8QEFZMQyBNZWRpYSBQbGF5ZXLYAGcADgB6AXwA
aQEMAGsAbAB4BBIEEwQUA1IBFwBtAHiAu4DYgNKA0wmAD4C7XxAVe3szMDcsIDR9LCB7MTYzLCAxNX19
3gQaAUoADgQbBBwBSwFMAX4DNgM3AU0EHQQeBB8BGQQgBCEBEgFDBCIEIwOwBCUEJgQnARUEJgEVV05T
VmFsdWVfEBNOU051bWJlck9mVGlja01hcmtzXxASTlNUaWNrTWFya1Bvc2l0aW9uWk5TVmVydGljYWxd
TlNBbHRJbmNWYWx1ZV8QGk5TQWxsb3dzVGlja01hcmtWYWx1ZXNPbmx5EgQF/wCA14DUgNWA0SNAw4gA
AAAAACMAAAAAAAAAABIAAgAACAjSAA4AXgBfAkWADNQADgFWAVcBWAFZBC4ELwOFgDQjQCgAAAAAAACA
1llIZWx2ZXRpY2HSADcAOAQyBDOkBDMBewF8ADtcTlNTbGlkZXJDZWxs0gA3ADgENQQ2pQQ2AbYAsACx
ADtYTlNTbGlkZXLYAGcADgB6AXwAaQEMAGsAbAB4A20EOgQ7A74BFwBtAHiAu4CygNqA2wmAD4C7XxAV
e3sxOTQsIDE5fSwgezQwLCAyNX193AFKAA4DdQL7AvwC/QFLAUwBfgL+AU0C/wN2AwICQgMDA3kCQgRE
AVMDsQMHA34ER4CTgGeAZ4DcgDKA2RP/////toRA/1JGU9gAZwAOAHoBfABpAQwAawBsAHgDbQRMBE0D
vgEXAG0AeIC7gLKA3oDfCYAPgLtfEBN7ezUxLCA1fSwgezM5LCAzOX193gFKAA4DdQPEAvsC/APFAv0B
SwFMAX4C/gFNAv8CPwMCAkIEVQPKAFYEVgJCAkIEWQOyA9AD0QPSgJOAZ4DhgOOAZ4BngOCA3dQADgFW
AVcBWAFZBC4BWwOFgDSAM9MADgAyA9gD2QPaBGGAxIDCgOJUcGxhedMADgAyA9gD2QPaBGaAxIDCgORZ
cGxheV9ibHVl2ABnAA4AegF8AGkBDABrAGwAeANtBGsEbAO+ARcAbQB4gLuAsoDmgOcJgA+Au18QFHt7
MTQxLCAxfSwgezIwLCAyMH193gFKAA4DdQPEAvsC/APFAv0BSwFMAX4C/gFNAv8CPwMCAkIEdAPKAFYE
dAR2AkIDzgOzA9AD0QR6gJOAZ4DogOiA6oBngMCA5RP/////yHQA/9MADgAyA9gD2QPaBH6AxIDCgOla
dm9sdW1lX2xvd9IADgBeAF8CRYAM2ABnAA4AegF8AGkBDABrAGwAeANtBIUEhgO+ARcAbQB4gLuAsoDs
gO0JgA+Au18QFXt7MjM3LCAxOX0sIHs0MCwgMjV9fdwBSgAOA3UC+wL8Av0BSwFMAX4C/gFNAv8DdgMC
AkIDAwN5AkIEjwFTA7QDBwN+BEeAk4BngGeA7oAygOtSUEzYAGcADgB6AXwAaQEMAGsAbAB4A20ElgSX
A74BFwBtAHiAu4CygPCA8QmAD4C7XxATe3s5MiwgOX0sIHszMSwgMzF9fd4BSgAOA3UDxAL7AvwDxQL9
AUsBTAF+Av4BTQL/A8YDAgJCBJ8DygSgBKEEogJCA84DtQPQA9EEpoCTgGeA8hCCgPSA9oBngMCA7xII
RAD/0wAOADID2APZA9oEqoDEgMKA818QE3NraXBfZm9yd2FyZF9hY3RpdmXTAA4AMgPYA9kD2gSvgMSA
woD1XxARc2tpcF9mb3J3YXJkX2JsdWXSAA4AXgBfAkWADNgAZwAOAHoBfABpAQwAawBsAHgDbQS2BLcD
vgEXAG0AeIC7gLKA+ID5CYAPgLtfEBV7ezE1MSwgMTl9LCB7NDAsIDI1fX3cAUoADgN1AvsC/AL9AUsB
TAF+Av4BTQL/A3YDAgJCAwMDeQJCBMABUwO2AwcDfgRHgJOAZ4BngPqAMoD3U0ZpdNgAZwAOAHoBfABp
AQwAawBsAHgDbQTHBMgDvgEXAG0AeIC7gLKA/ID9CYAPgLtfEBR7ezI3MywgMn0sIHsyMCwgMjB9fd4B
SgAOA3UDxAL7AvwDxQL9AUsBTAF+Av4BTQL/Aj8DAgJCBNADygBWBNAE0gJCA84DtwPQA9EEeoCTgGeA
/oD+gQEAgGeAwID70wAOADID2APZA9oE2YDEgMKA/1t2b2x1bWVfaGlnaNIADgBeAF8CRYAM2gBnAA4A
egB7AXwAaQEMAGsAMgBsAHgAfQTgBOEE4gO+ARcAbQTlAHiAu4C6gQEEgQEDgQEFCYAPgQECgLtYSVRT
bGlkZXJfEBV7ezE2NCwgNH0sIHsxMDMsIDE1fX3eBBoBSgAOBBsEHAFLAUwBfgM2AzcBTQQdBB4EHwTq
BCAEIQESAUME7AFTA7gE7wQmBCcBFQQmARUjQCAAAAAAAACA14EBBoAygQEBI0BAAAAAAAAACAjSAA4A
XgBfAkWADF8QFXt7MCwgNTgzfSwgezQ4MSwgNTF9fVp7NDgyLCA2Mzl90gA3ADgE9wCwowCwALEAO18Q
FXt7MCwgMH0sIHsxMjgwLCA3Nzh9fVl7MzcyLCA4NX3SADcAOAT7BPyiBPwAO18QEE5TV2luZG93VGVt
cGxhdGXSADcAOAT+BP+jBP8FAAA7XE5TTXV0YWJsZVNldFVOU1NldNIADgA+AHUFA4AdrxATBQQFBQUG
BQcFCAUJBQoFCwUMBQ0FDgUPBRAFEQUSBRMFFAUVBRaBARCBAROBARWBAReBARmBARuBAR2BAR+BASGB
ASOBASWBASeBASmBASuBAS2BAS+BATGBATOBATXUAA4FGAUZBRoFGwDCAEEFHl1OU0Rlc3RpbmF0aW9u
WE5TU291cmNlV05TTGFiZWyBARKAI4AHgQERXW5hdmlnYXRvclZpZXfSADcAOAUhBSKjBSIFIwA7XxAU
TlNOaWJPdXRsZXRDb25uZWN0b3JeTlNOaWJDb25uZWN0b3LUAA4FGAUZBRoFGwO0AEEFKIEBEoDrgAeB
ARRfEBluYXZpZ2F0b3JWaWV3VG9nZ2xlQnV0dG9u1AAOBRgFGQUaBRsDrwBBBS6BARKAzYAHgQEWXxAU
bWVkaWFEZXNjcmlwdGlvblRleHTUAA4FGAUZBRoFGwO2AEEFNIEBEoD3gAeBARhfEBBmaWxsU2NyZWVu
QnV0dG9u1AAOBRgFGQUaBRsDsABBBTqBARKA0YAHgQEaXxAabWVkaWFSZWFkaW5nUHJvZ3Jlc3NTbGlk
ZXLUAA4FGAUZBRoFGwOuAEEFQIEBEoDIgAeBARxfEBhtZWRpYVJlYWRpbmdQcm9ncmVzc1RleHTUAA4F
GAUZBRoFGwBOAEEFRoEBEoAOgAeBAR5fEBVpbml0aWFsRmlyc3RSZXNwb25kZXLUAA4FGAUZBRoFGwCX
AEEFTIEBEoAXgAeBASBfEBl2aWRlb1BsYXllckFuZENvbnRyb2xWaWV31AAOBRgFGQUaBRsA1ABBBVKB
ARKAs4AHgQEiXxAUcmVtb3ZlUGxheWxpc3RCdXR0b27UAA4FGAUZBRoFGwDQAEEFWIEBEoCLgAeBASRf
EBRtZWRpYUxpc3RTZWFyY2hGaWVsZNQADgUYBRkFGgUbANIAQQVegQESgKWAB4EBJl8QE21lZGlhTGlz
dEl0ZW1zQ291bnTUAA4FGAUZBRoFGwH3AEEFZIEBEoBbgAeBAShdbWVkaWFMaXN0Vmlld9QADgUYBRkF
GgUbAKMAQQVqgQESgBmAB4EBKll2aWRlb1ZpZXfUAA4FGAUZBRoFGwOxAEEFcIEBEoDZgAeBASxfEBBm
dWxsU2NyZWVuQnV0dG9u1AAOBRgFGQUaBRsA0QBBBXaBARKAoIAHgQEuXxAabWVkaWFMaXN0SXRlbUZl
dGNoZWRTdGF0dXPUAA4FGAUZBRoFGwD5AEEFfIEBEoApgAeBATBfEBJjYXRlZ29yaWVzTGlzdFZpZXfU
AA4FGAUZBRoFGwAfAEEFgoEBEoACgAeBATJaY29udHJvbGxlctQADgUYBRkFGgUbANMAQQWIgQESgKyA
B4EBNF8QEWFkZFBsYXlsaXN0QnV0dG9u1AAOBRgFGQUaBRsAdwBBBY6BARKAEYAHgQE2XW1haW5TcGxp
dFZpZXfSAA4APgJnBZKAda8QPAO1ANEDtwI6BMgE4gFCA44B3QDOAOYB5wOvA70EAgPrAKMDbwExBaYE
lwS3AIsCjgO4AHcCBQLaAjEAigOuA7QAQQKpAE4DUQDPANACMgDTAHgAlwDUANIDsAOzAMIEhgOxBGwD
rQQ7AfcEFAD5AjMA3QRNA7YDsoDvgKCA+4BrgP2BAQWAPIC1gIaAJYBPgISAzYC/gM+AyoAZgK6AL4EB
OIDxgPmAIYB9gQEBgBGAXYCNgGSAFYDIgOuAB4CBgA6Ap4BXgIuAeYCsgLuAF4CzgKWA0YDlgCOA7YDZ
gOeAvYDbgFuA04ApgH6AU4DfgPeA3dIADgAyADMF0YAEgQE5XU5TQXBwbGljYXRpb27SAA4APgJnBdWA
da8QPAB4AMIAeAIxA7cDuAExANQAzwDCAM4AzwB4A60DrwOuAJcA0wD5AB8DtQO2AHcCMgB4AE4AzwDQ
AfcAdwB4AHgAHwIzAEEA0gDCAMIB9wDCAE4AigDCAMIAeAB4AIsDtAB4A7MAeAOxAM8DsADOAfcAzgOy
AHgAeIC7gCOAu4BkgPuBAQGAL4CzgFeAI4AlgFeAu4C9gM2AyIAXgKyAKYACgO+A94ARgHmAu4AOgFeA
i4BbgBGAu4C7gAKAfoAHgKWAI4AjgFuAI4AOgBWAI4AjgLuAu4AhgOuAu4DlgLuA2YBXgNGAJYBbgCWA
3YC7gLvSAA4APgJnBhSAda8QPQO1ANEDtwI6BMgE4gFCA44B3QDOAOYB5wOvA70EAgPrAKMDbwSXBaYB
MQS3AIsCjgO4AgUAdwOuAtoAigIxA7QAQQKpAE4AzwDQANMDUQB4A7AAlwDUANICMgOzA7EAwgSGBGwD
rQQ7AfcEFAD5AjMAHwDdBE0DtgOygO+AoID7gGuA/YEBBYA8gLWAhoAlgE+AhIDNgL+Az4DKgBmAroDx
gQE4gC+A+YAhgH2BAQGAXYARgMiAjYAVgGSA64AHgIGADoBXgIuArICngLuA0YAXgLOApYB5gOWA2YAj
gO2A54C9gNuAW4DTgCmAfoACgFOA34D3gN3SAA4APgJnBlSAda8QPQZVBlYGVwZYBlkGWgZbBlwGXQZe
Bl8GYAZhBmIGYwZkBmUGZgZnBmgGaQZqBmsGbAZtBm4GbwZwBnEGcgZzBnQAUwZ2BncGeAZ5BnoGewZ8
Bn0GfgZ/BoAGgQaCBoMGhAaFBoYGhwaIBokGigaLBowGjQaOBo8GkAaRgQE9gQE+gQE/gQFAgQFBgQFC
gQFDgQFEgQFFgQFGgQFHgQFIgQFJgQFKgQFLgQFMgQFNgQFOgQFPgQFQgQFRgQFSgQFTgQFUgQFVgQFW
gQFXgQFYgQFZgQFagQFbgQFcgAqBAV2BAV6BAV+BAWCBAWGBAWKBAWOBAWSBAWWBAWaBAWeBAWiBAWmB
AWqBAWuBAWyBAW2BAW6BAW+BAXCBAXGBAXKBAXOBAXSBAXWBAXaBAXeBAXhfECJCZXZlbCBCdXR0b24g
KHNraXBfZm9yd2FyZF9hY3RpdmUpXEFzeW5jIEFycm93c18QGkJldmVsIEJ1dHRvbiAodm9sdW1lX2hp
Z2gpXxCmSW1hZ2UgQ2VsbCAoTlNJbWFnZSAweDE5MzJiNzMwIFNpemU9ezE0LCAxNH0gUmVwcz0oCiAg
ICBOU0NhY2hlZEltYWdlUmVwIDB4MTkzMmI3ZDAgU2l6ZT17MTQsIDE0fSBDb2xvclNwYWNlPU5TQ2Fs
aWJyYXRlZFJHQkNvbG9yU3BhY2UgQlBTPTggUGl4ZWxzPTE0eDE0IEFscGhhPVlFUwopKV8QGUJ1dHRv
biBDZWxsICh2b2x1bWVfaGlnaClbU2xpZGVyIENlbGxfEBtUZXh0IEZpZWxkIENlbGwgKFRleHQgQ2Vs
bClfEA9CdXR0b24gQ2VsbCAoLSlfEBVIb3Jpem9udGFsIFNjcm9sbGVyLTFbU2Nyb2xsIFZpZXdfEBFW
ZXJ0aWNhbCBTY3JvbGxlcl8QE1ZlcnRpY2FsIFNjcm9sbGVyLTFfEB5TdGF0aWMgVGV4dCAoVkxDIE1l
ZGlhIFBsYXllcilfECJCdXR0b24gQ2VsbCAoc2tpcF9wcmV2aW91c19hY3RpdmUpXxAiVGV4dCBGaWVs
ZCBDZWxsIChWTEMgTWVkaWEgUGxheWVyKV8QF1RleHQgRmllbGQgQ2VsbCAoMDA6MDApXxAUQnJvd3Nh
YmxlIFZpZGVvIFZpZXdfEA9CdXR0b24gQ2VsbCAoKylfECFCdXR0b24gQ2VsbCAoc2tpcF9mb3J3YXJk
X2FjdGl2ZSlbQXBwbGljYXRpb25fEBNUYWJsZSBDb2x1bW4gKG5hbWUpXxARQnV0dG9uIENlbGwgKEZp
dCldQ3VzdG9tIFZpZXctMV8QHVRleHQgRmllbGQgQ2VsbCAoVGV4dCBDZWxsKS0xVlNsaWRlcl8QEVRh
YmxlIEhlYWRlciBWaWV3Xk9uZSBTcGxpdCBWaWV3XxATU3RhdGljIFRleHQgKDAwOjAwKV8QEVNlYXJj
aCBGaWVsZCBDZWxsXUN1c3RvbSBWaWV3LTJfEBRUYWJsZSBDb2x1bW4gKHN0YXRlKV8QGlJvdW5kIFRl
eHR1cmVkIEJ1dHRvbiAoUEwpXxAdVGV4dCBGaWVsZCBDZWxsIChUZXh0IENlbGwpLTJcQ29udGVudCBW
aWV3XVNjcm9sbCBWaWV3LTFcU2VhcmNoIEZpZWxkXxAZUm91bmQgVGV4dHVyZWQgQnV0dG9uICgrKV8Q
IlRleHQgRmllbGQgQ2VsbCAoJXt2YWx1ZTF9QCBpdGVtcylbQ3VzdG9tIFZpZXdfEBFIb3Jpem9udGFs
IFNsaWRlcl1DdXN0b20gVmlldy00XxAZUm91bmQgVGV4dHVyZWQgQnV0dG9uICgtKV8QHlN0YXRpYyBU
ZXh0ICgle3ZhbHVlMX1AIGl0ZW1zKV8QFVRhYmxlIENvbHVtbiAobnVtYmVyKV8QGUJldmVsIEJ1dHRv
biAodm9sdW1lX2xvdylfEBpSb3VuZCBUZXh0dXJlZCBCdXR0b24gKEZTKV1DdXN0b20gVmlldy0zXxAQ
QnV0dG9uIENlbGwgKFBMKV8QGEJ1dHRvbiBDZWxsICh2b2x1bWVfbG93KV8QI0JldmVsIEJ1dHRvbiAo
c2tpcF9wcmV2aW91c19hY3RpdmUpXxAQQnV0dG9uIENlbGwgKEZTKV8QElRhYmxlIFZpZXcgKHRpdGxl
KV1TbGlkZXIgQ2VsbC0xXxATT3V0bGluZSBWaWV3IChuYW1lKV8QFFRhYmxlIENvbHVtbiAodGl0bGUp
XEZpbGUncyBPd25lcl8QE0hvcml6b250YWwgU2Nyb2xsZXJfEBJCdXR0b24gQ2VsbCAocGxheSlfEBtS
b3VuZCBUZXh0dXJlZCBCdXR0b24gKEZpdClfEBNCZXZlbCBCdXR0b24gKHBsYXkp0gAOAD4CZwbQgHWi
AHcDuIARgQEB0gAOAD4CZwbVgHWiAIME5YASgQEC0gAOAD4CZwbagHWvEFADtQDRBQQDtwI6BMgFEAUW
BOIBQgOOBQUB3QDOAOYB5wOvA70EAgPrBQcAowNvATEFpgSXBQYFEwS3AIsCjgO4AHcCBQLaAjEAigOu
A7QFDABBAqkFCgURAE4DUQDPANACMgDTAHgAlwDUANIDsAOzBRIAwgSGA7EFCQUOBGwFFQOtBDsFDQH3
BQ8EFAD5AjMFCwAfAN0ETQO2BQgFFAOygO+AoIEBEID7gGuA/YEBKYEBNYEBBYA8gLWBAROAhoAlgE+A
hIDNgL+Az4DKgQEXgBmAroAvgQE4gPGBARWBAS+A+YAhgH2BAQGAEYBdgI2AZIAVgMiA64EBIYAHgIGB
AR2BASuADoCngFeAi4B5gKyAu4AXgLOApYDRgOWBAS2AI4DtgNmBARuBASWA54EBM4C9gNuBASOAW4EB
J4DTgCmAfoEBH4ACgFOA34D3gQEZgQExgN3SAA4APgJnBy2Ada8QUAcuBy8HMAcxBzIHMwc0BzUHNgc3
BzgHOQc6BzsHPAc9Bz4HPwdAB0EHQgdDB0QHRQdGB0cHSAdJB0oHSwdMB00HTgdPB1AHUQdSB1MHVAdV
B1YHVwdYB1kHWgdbB1wHXQdeB18HYAdhB2IHYwdkB2UHZgdnB2gHaQdqB2sHbAdtB24HbwdwB3EHcgdz
B3QHdQd2B3cHeAd5B3oHewd8B32BAX2BAX6BAX+BAYCBAYGBAYKBAYOBAYSBAYWBAYaBAYeBAYiBAYmB
AYqBAYuBAYyBAY2BAY6BAY+BAZCBAZGBAZKBAZOBAZSBAZWBAZaBAZeBAZiBAZmBAZqBAZuBAZyBAZ2B
AZ6BAZ+BAaCBAaGBAaKBAaOBAaSBAaWBAaaBAaeBAaiBAamBAaqBAauBAayBAa2BAa6BAa+BAbCBAbGB
AbKBAbOBAbSBAbWBAbaBAbeBAbiBAbmBAbqBAbuBAbyBAb2BAb6BAb+BAcCBAcGBAcKBAcOBAcSBAcWB
AcaBAceBAciBAcmBAcqBAcuBAcwQ8xCoEOsQ8RC6EQEGEOgQ3BEBBxCxEQERELQQrBCuELUQ+RD8EP4Q
/REBCRDAELAT//////////0RAQQRAQwRAQUQVhC7EPAQVBCzELIQuRBVEPoQ9BC8EDoRAQgQvhCqEKsQ
uBEBDhDvEL8RARAQpxD4EPURARcQphEBAxD3EQENEQEWEQECEQETEPsRARgQthEBFRCvELcQ7BEBGRCt
EQEBEPIRAQsQRhD20gAOAD4AdQfIgB2g0gAOAD4CZwfLgHWg0gAOAD4CZwfOgHWg0gA3ADgH0AfRogfR
ADteTlNJQk9iamVjdERhdGEACAAZACIAJwAxADoAPwBEAFIAVABmBAwEEgRdBGQEawR5BIsEpwS1BMEE
zQTbBOYE9AUQBR4FMQVDBV0FZwV0BXYFeQV8BX8FggWFBYgFigWNBZAFkwWWBZgFmgWdBaAFowWmBa8F
uwW9Bb8FzQXWBd8F6gXvBf4GBwYaBiMGLgYxBjQGNgZnBnQGgQaPBpkGpwbABs0G3wbzBv0HCQcLBw4H
EQcTBxgHGgccBx4HIAcjByYHKAdCB0YHVAddB2cHaQduB3cHfgeQB5kHowfAB9IH3QfmB/IH+wgHCAkI
DAgOCBEIFAgWCBkIIggkCCkIKwgtCFIIWghwCHIIdAh2CHgIegh9CH8IgQiDCJUIoQiqCKwIsQizCLUI
1gjYCNoI3AjeCOAI4gjkCO0I7wjyCPQJFQkXCRkJGwkdCR8JIQkjCSwJLgkxCTMJUAlSCVQJVglYCVoJ
XAlnCX8JiAmRCZ4JpQmxCboJwQnQCdgJ4woECgYKCAoKCgwKDgoQChIKGwodCiAKIgpDCkUKRwpJCksK
TQpPClEKWgpcCmsKbQpvCnEKcwp1CncKeQquCroKwwrQCtwK6gr4CvoK/Ar+CwALAwsFCxgLGwsdCx8L
IQsjCyULLgswCzcLOQs7Cz0Lagt0C34LiAuKC4wLjguQC5ILlQuXC5kLmwudC58LqAuqC60LrwwCDCQM
LgxdDHEMhgyTDK0MyQzkDO4M+g0ZDSgNNA02DTgNOg0/DUANQg1DDUUNTg1XDVoNXA1dDV8NYQ1jDWUN
Zw1wDXsNjA2ODZANkg2bDbINuw3EDdIN2w3dDeAN4g4PDh4OKw44DkAOSw5aDnYOgQ6MDpgOmQ6bDp0O
nw6oDqoOrA6uDrcOwA7CDscO5A7wDvsPBQ8SDx4PIw8lDycPKQ8rDy0PPg9FD0wPVQ9XD2APYg9lD3IP
ew+AD4cPlA+hD6kPqw+tD7kPwg/HD88P5A/wD/4QABACEAQQBhAIEA8QIRAuEDAQMxA8EEcQWxBtEHoQ
gRCiELAQtRC3ELkQuxC9EL8QxBDGENAQ5RDnEOkQ6xDtEQYRExEVESERNhE4EToRPBE+EVERWhFjEXAR
exGHEYkRixGMEZURnhGjEbYRvxHEEdIR3xHlEecSCxIgEiISJBImEigSMhI/EkESRhJPElwSahJ0EosS
lBKdEqgSzRLWEt8S6RLrEu0S7xLxEvMS9RL3EwATGBMlEy4TORNEE20TbxNxE3MTdRN3E3kTexOEE6AT
uBPBE8oT1xQWFCkUKxQtFC8UMRQ0FDYUOBQ6FE0UTxRRFFMUVRRXFGAUYhRtFG8UcRRzFHUUdxSkFKYU
qBSqFKwUrhSwFLIUtBS2FL8UwRTEFMYVGRUmFSgVKhUzFTUVNxU4FToVPBU9FT8VQRVDFUUVThVZFXYV
eBV6FX0VfxWBFYMVhRWyFbQVthW4FboVvBW+FcAVwhXEFc4V1xXgFfQWDRYPFhEWExYVFhcWLRY2FjgW
PxZBFkMWRRZuFm8WcRZzFnUWfhaAFokWixaRFq4Wsxa1FrcWuRa7Fr0WvhbTFtUW1xbZFtsW5xb0FvYW
+RceFyYXLhc2F0EXQxdFF0cXTBdNF2IXbxd2F3gXehd/F4EXgxeMF5UXlxeaF5wXpRenF6wXrhewF8kX
4BfzGAYYIBg4GDoYPBg+GEAYQi0uLUotUy1aLW0teC2BLYYtky2VLZotoy2oLbAtuS3ALcwt+S4GLgcu
CS4LLg0uFi4YLhkuGy4iLj8uQS5DLkUuRy5JLlYuWC55Ln4ugC6CLoQuhi6ILosujS62LrcuuS67Lr0u
xi7ILtEu0y7ZLvYu+C76Lvwu/i8ALyEvIy8lLycvKS8rLy0vNi9BL1kvfi+AL4IvhC+GL4gvii+ML5Uv
qy/QL9Iv1C/WL9gv2i/cL94v9i//MAEwBDAGMBwwNjBXMFkwWzBdMF8wYjBjMGUwZzB/MLgwzTDiMPUx
CTEeMTExNjE7MT0xPzFBMUMxRTFHMUwxTTFPMVExUzFoMWoxbDFuMXAxhjG3Mcwx2zHtMf8yDTIPMhQy
FjIYMhoyHDIeMiEyIzIoMi8yRTJOMlcyZDKVMrsyvTK/MsEywzLFMscyzDLSMtsy3TLgMuIy7zL3Mvky
/jMAMwIzBzMJMwszGTNFM0wzVTNcM3IzfzOVM54zqTO9M8Yz0zPhM+00FjQhNCw0NjRDNEU0RzRJNFI0
WzReNGA0YzRlNGc0bDRuNHc0fDSHNJ40pzSwNMY05zTpNOs07TTvNPI08zT1NPc1DzU0NUo1TzVRNVM1
VTVXNVk1XjVgNWI1dTWKNYw1jjWQNZI1nzWoNbM11DXWNdg12jXcNd013zXhNfY2JzY9NkY2SDZKNkw2
TjZQNlI2VDZZNmI2ZDZ1Nnc2gDaCNoQ2kTaaNqU2rjbPNtE20zbVNtc22DbaNtw28jcjNyU3JzcpNys3
LTcvNzE3PDdVN2w3dTd6N4k3qjesN643sTezN7Y3uDe6N7w3xTfHN+A34jfkN+Y36DfqN+w37jfwN/I3
9Df2N/k4GjgcOB44IDgiOCU4JjgoOCo4QDh5OIc4mjifOKE4ozilOKc4qTirOK04rzixOLM4uDi9OM44
0DjSONU44jjxOPM49Tj3OQ45FzkcOS85PDk+OUA5QjlXOWA5YjmDOYU5hzmJOYs5jjmPOZE5kzmrOcw5
1TnXOdk52zndOd855DnmOew5+Tn7OgI6IzolOic6KTorOiw6LjowOkk6ajpsOm46cDpyOnQ6eTp7Oo46
rzqxOrM6tTq3Org6ujq8OtQ7DTsVOys7QDtLO1k7djt7O307fzuBO4M7jDuVO5o7mzucO6U7pzu4O7o7
wzvFO8872DvhO+479zwCPAs8LDwuPDA8Mjw0PDU8Nzw5PFE8gjyEPIY8iDyKPIw8jjyXPJo8uzy9PL88
wTzDPMQ8xjzIPN49Fz0ZPRs9HT0fPSE9Iz0lPSc9OD06PTw9ST1LPU09Tz1UPWE9Yz1lPWc9cT2SPZQ9
lj2YPZo9mz2dPZ89tj3vPfE98z31Pfc9+T37Pf09/z4IPhU+Fz4ZPhs+Jj4vPjE+Uj5UPlY+WD5aPls+
XT5fPnc+qD6qPqw+rj6wPrI+tD63Ptg+2j7cPt4+4D7hPuM+5T77PzQ/Nj84Pzo/PD8+P0A/Qj9EP0Y/
Sz9YP1o/XD9eP3Q/gT+DP4U/hz+bP6Q/pj/HP8k/yz/NP88/0D/SP9Q/7EAdQB9AIUAjQCVAJ0ApQC1A
TkBQQFJAVEBWQFdAWUBbQHJAq0CtQK9AsUCzQLZAuEC6QLxAyUDLQM1Az0DbQORA5kEPQRFBE0EWQRlB
HEEdQR9BIkEkQS1BRUF+QYdBiUGMQY5BkUGaQZtBnEGlQadBv0HKQdNB2kHyQfxCBUIKQh1CJkItQjpC
QEJJQktCdEJ3QnpCfUKAQoNChkKJQoxCj0KSQpVCmEKbQp5CoUKkQqdCqkKtQr5CzELVQt1C4ELiQuRC
50L1Qv5DBUMcQytDPEM/Q0FDQ0NGQ2JDc0N2Q3hDekN9Q5RDpUOoQ6pDrEOvQ8JD00PWQ9hD2kPdQ/pE
C0QORBBEEkQVRDBEQUREREZESERLRGNEdER3RHlEe0R+RJpEq0SuRLBEskS1RMxE3UTgROJE5ETnRP5F
D0USRRRFFkUZRS9FQEVDRUVFR0VKRVhFaUVsRW5FcEVzRX1FjkWRRZNFlUWYRatFvEW/RcFFw0XGReNF
9EX3RflF+0X+RhNGJEYnRilGK0YuRjlGSkZNRk9GUUZURmhGeUZ8Rn5GgEaDRpFGmkacRxdHGUcbRx1H
H0chRyRHJkcoRypHLEcuRzBHMkc0RzZHOEc6RzxHPkdBR0NHRUdHR0lHTEdOR1BHUkdUR1ZHWEdaR1xH
XkdgR2JHZEdmR2hHakdsR25HcEdyR3RHdkd4R3pHfEd+R4BHgkeER4ZHiEeKR4xHjkeQR5JHm0edR6BH
rke3R7lINEg2SDhIOkg8SD5IQUhDSEVIR0hJSEtITUhPSFFIU0hVSFdIWUhbSF1IX0hhSGNIZUhnSGlI
a0htSG9IcUhzSHVId0h5SHtIfUh/SIFIg0iFSIdIiUiLSI1Ij0iRSJNIlUiXSJlIm0idSJ9IoUijSKVI
p0ipSKtIrUi2SLhJNUk3STlJO0k9ST9JQklESUZJSElKSUxJTklQSVJJVElWSVhJWklcSV9JYUljSWVJ
Z0lqSWxJbklwSXJJdEl2SXhJekl8SX5JgEmCSYRJhkmISYpJjEmOSZBJkkmUSZZJmEmaSZxJnkmgSaJJ
pEmmSahJqkmsSa5JsEmySbtJvUo6Sj1KQEpDSkZKSUpMSk9KUkpVSlhKW0peSmFKZEpnSmpKbUpwSnNK
dkp5SnxKf0qCSoVKiEqLSo5KkUqUSpdKmkqcSp9KokqlSqhKq0quSrFKtEq3SrpKvUrASsNKxkrJSsxK
z0rSStVK2ErbSt5K4UrkSudK6krtSvBLFUsiSz9L6EwETBBMLkxATFhMZEx4TI5Mr0zUTPlNE00qTTxN
YE1sTYJNlk2kTcRNy03fTe5OBE4YTiZOPU5aTnpOh06VTqJOvk7jTu9PA08RTy1PTk9mT4JPn0+tT8BP
21ABUBRQKVA3UE1QZFBxUIdQnFC6UNBQ2VDbUOBQ4lDlUO5Q8FD1UPdQ+lEDUQVRqFGqUaxRr1GxUbNR
tVG4UbtRvlHAUcJRxVHHUclRy1HNUc9R0VHTUdVR2FHaUdxR3lHhUeNR5lHpUetR7VHvUfJR9FH2UfhR
+lH8Uf5SAFIDUgVSB1IKUg1SD1IRUhNSFVIXUhlSG1IdUh9SIVIjUiVSKFIqUixSLlIxUjRSNlI5UjtS
PVJAUkJSRVJHUklSS1JOUlBSUlJUUlZSWVJcUl5SZ1JpUwxTD1MSUxVTGFMbUx5TIVMkUydTKlMtUzBT
M1M2UzlTPFM/U0JTRVNIU0tTTlNRU1RTV1NaU11TYFNjU2ZTaVNsU29TclN1U3hTe1N+U4FThFOHU4pT
jVOQU5NTllOZU5xTn1OiU6VTqFOrU65TsVO0U7dTulO9U8BTw1PGU8lTzFPPU9JT1VPYU9tT3lPhU+RT
51PqU+1T8FPzU/ZT+VP8U/5UAFQCVARUBlQJVAtUDVQQVBJUFVQXVBlUG1QdVB9UIVQjVCVUKFQqVCxU
NVQ4VDtUPlRAVEJURFRGVEhUSlRMVE5UUFRSVFRUVlRZVFtUXVRfVGFUZFRmVGhUa1RtVG9UcVR0VHZU
eVR7VH5UgVSEVIdUiVSMVI5UkVSTVJVUl1SaVJxUn1ShVKRUplSoVLFUs1S0VL1Uv1TAVMlUy1TMVNVU
2gAAAAAAAAICAAAAAAAAB9IAAAAAAAAAAAAAAAAAAFTpA</bytes>
</object>
</data>
</archive>
......@@ -28,9 +28,9 @@
/******************************************************************************
* VLCMediaDiscoverer (MasterViewBindings)
* VLCMediaDiscoverer (CategoriesListBindings)
*/
@implementation VLCMediaDiscoverer (MasterViewBindings)
@implementation VLCMediaDiscoverer (CategoriesListBindings)
+(void)initialize
{
[VLCMediaDiscoverer setKeys:[NSArray arrayWithObject:@"running"] triggerChangeNotificationsForDependentKey:@"currentlyFetchingItems"];
......@@ -43,7 +43,7 @@
if( !dict )
{
dict = [[NSDictionary dictionaryWithObjectsAndKeys:
[NSSet setWithObject:@"discoveredMedia.flatAspect"], @"childrenInMasterViewForDetailView",
[NSSet setWithObject:@"discoveredMedia.flatAspect"], @"childrenInCategoriesListForDetailView",
nil] retain];
}
return [dict objectForKey: key];
......@@ -62,24 +62,24 @@
return sdImage;
}
/* MasterView specific bindings */
- (NSArray *)childrenInMasterView
/* CategoriesList specific bindings */
- (NSArray *)childrenInCategoriesList
{
return nil;
}
- (NSString *)descriptionInMasterView
- (NSString *)descriptionInCategoriesList
{
return [self localizedName];
}
- (VLCMediaListAspect *)childrenInMasterViewForDetailView
- (VLCMediaListAspect *)childrenInCategoriesListForDetailView
{
return [[self discoveredMedia] flatAspect];
}
- (BOOL)editableInMasterView
- (BOOL)editableInCategoriesList
{
return NO;
}
- (BOOL)selectableInMasterView
- (BOOL)selectableInCategoriesList
{
return YES;
}
......@@ -113,9 +113,9 @@
if( !dict )
{
dict = [[NSDictionary dictionaryWithObjectsAndKeys:
[NSSet setWithObject:@"subitems.hierarchicalNodeAspect.media"], @"childrenInMasterView",
[NSSet setWithObject:@"metaDictionary.title"], @"descriptionInMasterView",
[NSSet setWithObject:@"subitems.flatAspect"], @"childrenInMasterViewForDetailView",
[NSSet setWithObject:@"subitems.hierarchicalNodeAspect.media"], @"childrenInCategoriesList",
[NSSet setWithObject:@"metaDictionary.title"], @"descriptionInCategoriesList",
[NSSet setWithObject:@"subitems.flatAspect"], @"childrenInCategoriesListForDetailView",
[NSSet setWithObject:@"metaDictionary.title"], @"descriptionInVideoView",
[NSSet setWithObject:@"state"], @"stateAsImage",
nil] retain];
......@@ -123,28 +123,28 @@
return [dict objectForKey: key];
}
/* MasterView specific bindings */
- (NSArray *)childrenInMasterView
/* CategoriesList specific bindings */
- (NSArray *)childrenInCategoriesList
{
return [[[self subitems] hierarchicalNodeAspect] valueForKeyPath:@"media"];
}
- (void)setDescriptionInMasterView:(NSString *)description
- (void)setDescriptionInCategoriesList:(NSString *)description
{
NSLog(@"unimplemented: meta edition");
}
- (NSString *)descriptionInMasterView
- (NSString *)descriptionInCategoriesList
{
return [[self metaDictionary] objectForKey:@"title"];
}
- (VLCMediaListAspect *)childrenInMasterViewForDetailView
- (VLCMediaListAspect *)childrenInCategoriesListForDetailView
{
return [[self subitems] flatAspect];
}
- (BOOL)editableInMasterView
- (BOOL)editableInCategoriesList
{
return YES;
}
- (BOOL)selectableInMasterView
- (BOOL)selectableInCategoriesList
{
return YES;
}
......@@ -170,7 +170,7 @@
return [[self metaDictionary] objectForKey:@"title"];
}
/* DetailList specific bindings */
/* mediaListView specific bindings */
- (NSImage *)stateAsImage
{
static NSImage * playing = nil;
......
......@@ -25,26 +25,14 @@
#import <Cocoa/Cocoa.h>
#import <VLC/VLC.h>
#import "VLCMediaArrayController.h"
#import "VLCBrowsableVideoView.h"
@class VLCMainWindow;
#define VLCPanic( ex ) __VLCPanic( ex, __FUNCTION__, __FILE__, __LINE__ )
static inline void __VLCPanic( const char * str, const char * function, const char * file, int line_number )
{
NSRunCriticalAlertPanel( @"Error", [NSString stringWithFormat:@"The following error was encountered: %s (%s:%d %s)", str, file, line_number, function], @"Quit", nil, nil );
exit( -1 );
}
@interface VLCController : NSObject
{
NSMutableArray * arrayOfPlaylists;
NSArray * arrayOfMasters;
NSArray * arrayOfVideoViewMasters;
NSArray * categories;
}
@property (readonly, retain) NSArray * arrayOfMasters;
@property (readonly, retain) NSArray * arrayOfVideoViewMasters;
@property (readonly, retain) NSArray * categories;
- (void)newMainWindow:(id)sender;
- (void)addPlaylist:(id)sender;
@end
......@@ -29,16 +29,14 @@
#import "VLCValueTransformer.h"
@interface VLCController ()
@property (readwrite,retain) NSArray * arrayOfMasters;
@property (readwrite,retain) NSArray * arrayOfVideoViewMasters;
@property (readwrite,retain) NSArray * categories;
@end
/******************************************************************************
* VLCBrowsableVideoView
*/
@implementation VLCController
@synthesize arrayOfMasters;
@synthesize arrayOfVideoViewMasters;
@synthesize categories;
- (void)awakeFromNib
{
......@@ -53,54 +51,39 @@
[NSValueTransformer setValueTransformer:(id)nonNilAsBool forName:@"NonNilAsBoolTransformer"];
/***********************************
* arrayOfMasters: MasterView OutlineView content
* categories: Main content
*/
NSArray * arrayOfMediaDiscoverer = [NSArray arrayWithObjects:
NSArray * mediaDiscoverers = [NSArray arrayWithObjects:
[[[VLCMediaDiscoverer alloc] initWithName:@"shoutcasttv"] autorelease],
[[[VLCMediaDiscoverer alloc] initWithName:@"shoutcast"] autorelease],
[[[VLCMediaDiscoverer alloc] initWithName:@"sap"] autorelease],
[[[VLCMediaDiscoverer alloc] initWithName:@"freebox"] autorelease], nil];
arrayOfPlaylists = [NSMutableArray arrayWithObjects:[VLCMedia mediaAsNodeWithName:@"Default Playlist"], nil];
NSArray * playlists = [NSMutableArray arrayWithObjects:[VLCMedia mediaAsNodeWithName:@"Default Playlist"], nil];
NSDictionary * playlists = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[@"Playlists" uppercaseString], @"descriptionInMasterView",
[@"Playlists" uppercaseString], @"descriptionInVideoView",
[NSNumber numberWithBool:NO], @"selectableInMasterView",
arrayOfPlaylists, @"childrenInMasterView",
arrayOfPlaylists, @"childrenInVideoView",
NSDictionary * playlistsAsDictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[@"Playlists" uppercaseString], @"descriptionInCategoriesList",
@"Playlists", @"descriptionInVideoView",
[NSNumber numberWithBool:NO], @"selectableInCategoriesList",
playlists, @"childrenInCategoriesList",
playlists, @"childrenInVideoView",
nil];
self.arrayOfMasters = [NSArray arrayWithObjects:
self.categories = [NSArray arrayWithObjects:
[NSMutableDictionary dictionaryWithObjectsAndKeys:
[@"Service Discovery" uppercaseString], @"descriptionInMasterView",
[NSNumber numberWithBool:NO], @"selectableInMasterView",
arrayOfMediaDiscoverer, @"childrenInMasterView",
nil],
playlists,
nil];
/***********************************
* videoView setup
*/
self.arrayOfVideoViewMasters = [NSArray arrayWithObjects:
[NSDictionary dictionaryWithObjectsAndKeys:
[@"Service Discovery" uppercaseString], @"descriptionInCategoriesList",
@"Service Discovery", @"descriptionInVideoView",
arrayOfMediaDiscoverer, @"childrenInVideoView",
[NSNumber numberWithBool:NO], @"selectableInCategoriesList",
mediaDiscoverers, @"childrenInCategoriesList",
mediaDiscoverers, @"childrenInVideoView",
nil],
playlists,
playlistsAsDictionary,
nil];
/* Execution will continue in applicationDidFinishLaunching */
[NSApp setDelegate:self];
}
- (void)applicationDidFinishLaunching:(NSNotification *)notification
{
[self newMainWindow: self];
}
- (void)newMainWindow:(id)sender
{
if (![NSBundle loadNibNamed:@"MainWindow" owner:self])
......@@ -117,3 +100,10 @@
}
@end
@implementation VLCController (NSAppDelegate)
- (void)applicationDidFinishLaunching:(NSNotification *)notification
{
[self newMainWindow: self];
}
@end
......@@ -26,15 +26,16 @@
#import "VLCController.h"
#import "VLCMediaArrayController.h"
#import "VLCAppAdditions.h"
#import "VLCBrowsableVideoView.h"
@interface VLCMainWindow : NSWindow {
/* IB elements */
IBOutlet id detailItemFetchedStatus;
IBOutlet id detailItemsCount;
IBOutlet id detailSearchField;
IBOutlet id mediaListItemFetchedStatus;
IBOutlet id mediaListItemsCount;
IBOutlet id mediaListSearchField;
IBOutlet NSOutlineView * categoryList;
IBOutlet NSTableView * detailList;
IBOutlet NSOutlineView * categoriesListView;
IBOutlet NSTableView * mediaListView;
IBOutlet VLCBrowsableVideoView * videoView;
IBOutlet id fillScreenButton;
......@@ -57,7 +58,7 @@
IBOutlet VLCController * controller; /* This is a VLCController binded to the File's Owner of the nib */
/* Controllers */
NSTreeController * treeController;
NSTreeController * categoriesTreeController;
VLCMediaArrayController * mediaArrayController;
/* Window state */
......
......@@ -29,9 +29,9 @@
#import "VLCAppAdditions.h"
/******************************************************************************
* VLCMainWindow (MasterViewDataSource)
* VLCMainWindow (CategoriesListDelegate)
*/
@implementation VLCMainWindow (MasterViewDelegate)
@implementation VLCMainWindow (CategoriesListDelegate)
- (BOOL)outlineView:(NSOutlineView *)outlineView isGroupItem:(id)item
{
return [[item representedObject] isKindOfClass:[NSDictionary class]];
......@@ -46,7 +46,10 @@
}
@end
@implementation VLCMainWindow (MasterViewDataSource)
/******************************************************************************
* VLCMainWindow (CategoriesListDataSource)
*/
@implementation VLCMainWindow (CategoriesListDataSource)
/* Drag and drop */
- (BOOL)outlineView:(NSOutlineView *)outlineView acceptDrop:(id < NSDraggingInfo >)info item:(id)item childIndex:(NSInteger)index
{
......@@ -113,21 +116,21 @@
mediaPlayer = [[VLCMediaPlayer alloc] initWithVideoView:videoView];
/***********************************
* MasterView OutlineView content
* CategoriesList OutlineView content
*/
/* treeController */
treeController = [[NSTreeController alloc] init];
[treeController setContent:controller.arrayOfMasters];
/* categoriesTreeController */
categoriesTreeController = [[NSTreeController alloc] init];
[categoriesTreeController setContent:controller.categories];
[treeController setChildrenKeyPath:@"childrenInMasterView"];
//[treeController bind:@"contentArray" toObject:controller withKeyPath:@"arrayOfMasters" options:nil];
[categoriesTreeController setChildrenKeyPath:@"childrenInCategoriesList"];
//[categoriesTreeController bind:@"contentArray" toObject:controller withKeyPath:@"arrayOfMasters" options:nil];
/* Bind the "name" table column */
tableColumn = [categoryList tableColumnWithIdentifier:@"name"];
[tableColumn bind:@"value" toObject: treeController withKeyPath:@"arrangedObjects.descriptionInMasterView" options:nil];
tableColumn = [categoriesListView tableColumnWithIdentifier:@"name"];
[tableColumn bind:@"value" toObject: categoriesTreeController withKeyPath:@"arrangedObjects.descriptionInCategoriesList" options:nil];
[tableColumn setEditable:YES];
/* FIXME: this doesn't work obviously. */
[tableColumn bind:@"editable" toObject: treeController withKeyPath:@"arrangedObjects.editableInMasterView" options:nil];
[tableColumn bind:@"editable" toObject: categoriesTreeController withKeyPath:@"arrangedObjects.editableInCategoriesList" options:nil];
/* Use an ImageAndTextCell in the "name" table column */
ImageAndTextCell * cell = [[ImageAndTextCell alloc] init];
......@@ -137,52 +140,52 @@
[tableColumn setDataCell:cell];
/* Other setup */
[categoryList setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleSourceList];
[categoryList setDelegate:self];
[categoriesListView setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleSourceList];
[categoriesListView setDelegate:self];
[categoryList registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType, NSURLPboardType, @"VLCMediaURLType", nil]];
[categoryList setDataSource: self];
[categoriesListView registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType, NSURLPboardType, @"VLCMediaURLType", nil]];
[categoriesListView setDataSource: self];
/***********************************
* detailList setup
* mediaListView setup
*/
mediaArrayController = [[VLCMediaArrayController alloc] init];
/* 1- Drag and drop */
[detailList registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType, NSURLPboardType, nil]];
[detailList setDataSource:mediaArrayController];
[mediaListView registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType, NSURLPboardType, nil]];
[mediaListView setDataSource:mediaArrayController];
/* 2- Double click */
[detailList setTarget:self];
[detailList setDoubleAction:@selector(detailListItemDoubleClicked:)];
[mediaListView setTarget:self];
[mediaListView setDoubleAction:@selector(mediaListViewItemDoubleClicked:)];
/* 3- binding for "title" column */
tableColumn = [detailList tableColumnWithIdentifier:@"title"];
tableColumn = [mediaListView tableColumnWithIdentifier:@"title"];
[tableColumn bind:@"value" toObject: mediaArrayController withKeyPath:@"arrangedObjects.metaDictionary.title" options:nil];
/* 4- binding for "state" column */
tableColumn = [detailList tableColumnWithIdentifier:@"state"];
tableColumn = [mediaListView tableColumnWithIdentifier:@"state"];
[tableColumn bind:@"value" toObject: mediaArrayController withKeyPath:@"arrangedObjects.stateAsImage" options:nil];
/* 5- Search & Predicate */
NSMutableDictionary * bindingOptions = [NSMutableDictionary dictionary];
[bindingOptions setObject:@"metaDictionary.title contains[c] $value" forKey:NSPredicateFormatBindingOption];
[bindingOptions setObject:@"No Title" forKey:NSDisplayNameBindingOption];
[detailSearchField bind:@"predicate" toObject: mediaArrayController withKeyPath:@"filterPredicate" options:bindingOptions];
[mediaListSearchField bind:@"predicate" toObject: mediaArrayController withKeyPath:@"filterPredicate" options:bindingOptions];
/* 6- Bind the @"contentArray" and contentMediaList of the mediaArrayController */
[mediaArrayController bind:@"contentArray" toObject:treeController withKeyPath:@"selection.childrenInMasterViewForDetailView.media" options:nil];
[mediaArrayController bind:@"contentMediaList" toObject:treeController withKeyPath:@"selection.childrenInMasterViewForDetailView.parentMediaList" options:nil];
[mediaArrayController bind:@"contentArray" toObject:categoriesTreeController withKeyPath:@"selection.childrenInCategoriesListForDetailView.media" options:nil];
[mediaArrayController bind:@"contentMediaList" toObject:categoriesTreeController withKeyPath:@"selection.childrenInCategoriesListForDetailView.parentMediaList" options:nil];
/* 7- Aspect */
[detailList setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleSourceList];
[detailList setAllowsTypeSelect:YES];
[mediaListView setSelectionHighlightStyle:NSTableViewSelectionHighlightStyleSourceList];
[mediaListView setAllowsTypeSelect:YES];
/***********************************
* videoView setup
*/
[videoView setItemsTree:controller.arrayOfVideoViewMasters];
[videoView setItemsTree:controller.categories];
[videoView setNodeKeyPath:@"childrenInVideoView"];
[videoView setContentKeyPath:@"descriptionInVideoView"];
[videoView setTarget:self];
......@@ -193,8 +196,8 @@
* Other interface element setup
*/
[detailItemsCount bind:@"displayPatternValue1" toObject:mediaArrayController withKeyPath:@"arrangedObjects.@count" options:[NSDictionary dictionaryWithObject:@"%{value1}@ items" forKey:NSDisplayPatternBindingOption]];
[detailItemFetchedStatus bind:@"animate" toObject:treeController withKeyPath:@"selection.currentlyFetchingItems" options:[NSDictionary dictionaryWithObject:@"%{value1}@ items" forKey:NSDisplayPatternBindingOption]];
[mediaListItemsCount bind:@"displayPatternValue1" toObject:mediaArrayController withKeyPath:@"arrangedObjects.@count" options:[NSDictionary dictionaryWithObject:@"%{value1}@ items" forKey:NSDisplayPatternBindingOption]];
[mediaListItemFetchedStatus bind:@"animate" toObject:categoriesTreeController withKeyPath:@"selection.currentlyFetchingItems" options:[NSDictionary dictionaryWithObject:@"%{value1}@ items" forKey:NSDisplayPatternBindingOption]];
[fillScreenButton bind:@"value" toObject:videoView withKeyPath:@"fillScreen" options: [NSDictionary dictionaryWithObject:NSNegateBooleanTransformerName forKey:NSValueTransformerNameBindingOption]];
[fullScreenButton bind:@"value" toObject:videoView withKeyPath:@"fullScreen" options: nil];
......@@ -213,8 +216,8 @@
[navigatorViewToggleButton bind:@"value" toObject:self withKeyPath:@"navigatorViewVisible" options: nil];
/* Playlist buttons */
[removePlaylistButton bind:@"enabled" toObject:treeController withKeyPath:@"selection.editableInMasterView" options: nil];
[removePlaylistButton setTarget:treeController];
[removePlaylistButton bind:@"enabled" toObject:categoriesTreeController withKeyPath:@"selection.editableInCategoriesList" options: nil];
[removePlaylistButton setTarget:categoriesTreeController];
[removePlaylistButton setAction:@selector(remove:)];
[addPlaylistButton setTarget:controller];
[addPlaylistButton setAction:@selector(addPlaylist:)];
......@@ -222,20 +225,20 @@
[mainSplitView setDelegate:self];
/* Last minute setup */
[categoryList expandItem:nil expandChildren:YES];
[categoryList selectRowIndexes:[NSIndexSet indexSetWithIndex:[categoryList numberOfRows] > 0 ? [categoryList numberOfRows]-1 : 0] byExtendingSelection:NO];
[categoriesListView expandItem:nil expandChildren:YES];
[categoriesListView selectRowIndexes:[NSIndexSet indexSetWithIndex:[categoriesListView numberOfRows] > 0 ? [categoriesListView numberOfRows]-1 : 0] byExtendingSelection:NO];
}
- (void)dealloc
{
[navigatorView release];
[mediaPlayer release];
[treeController release];
[categoriesTreeController release];
[mediaArrayController release];
[super dealloc];
}
- (void)detailListItemDoubleClicked:(id)sender
- (void)mediaListViewItemDoubleClicked:(id)sender
{
[mediaPlayer setMedia:[[mediaArrayController selectedObjects] objectAtIndex:0]];
[mediaPlayer play];
......
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