' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
'
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
Namespace My.Resources
'''
''' A strongly-typed resource class, for looking up localized strings, etc.
'''
'This class was auto-generated by the Strongly Typed Resource Builder
'class via a tool like ResGen or Visual Studio.NET.
'To add or remove a member, edit your .ResX file then rerun ResGen
'with the /str option, or rebuild your VS project.
Class MyResources
Private Shared _resMgr As System.Resources.ResourceManager
Private Shared _resCulture As System.Globalization.CultureInfo
Friend Sub New()
MyBase.New
End Sub
'''
''' Returns the cached ResourceManager instance used by this class.
'''
_
Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager
Get
If (_resMgr Is Nothing) Then
Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly)
_resMgr = temp
End If
Return _resMgr
End Get
End Property
'''
''' Overrides the current thread's CurrentUICulture property for all
''' resource lookups using this strongly typed resource class.
'''
_
Public Shared Property Culture() As System.Globalization.CultureInfo
Get
Return _resCulture
End Get
Set
_resCulture = value
End Set
End Property
End Class
End Namespace]]>
_
_
_
_
_
Partial Public Class ScriptMain
Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
Enum ScriptResults
Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
End Enum
' Types of object supported.
Enum ObjectType
Server = 1
Database = 2
Cube = 3
Dimension = 4
End Enum ' ObjectType
' The execution engine calls this method when the task executes.
' To access the object model, use the Dts object. Connections, variables, events,
' and logging features are available as static members of the Dts class.
' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
'
' To open Code and Text Editor Help, press F1.
' To open Object Browser, press Ctrl+Alt+J.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub Main()
Dim result As Integer
Dim propValue As Object
Dim vars As Variables
Try
Select Case Me.Type
Case ObjectType.Server
' Get server.
Using server As Server = GetServer_()
propValue = GetPropertyValue_(server)
End Using
Case ObjectType.Database
' Get database.
Using server As Server = GetServer_()
Using database As Database = server.Databases(Me.Database)
propValue = GetPropertyValue_(database)
End Using
End Using
Case ObjectType.Cube
' Get cube.
Using server As Server = GetServer_()
Using database As Database = server.Databases(Me.Database)
Using cube As Cube = database.Cubes(Me.Cube)
propValue = GetPropertyValue_(cube)
End Using
End Using
End Using
Case ObjectType.Dimension
' Get dimension.
Using server As Server = GetServer_()
Using database As Database = server.Databases(Me.Database)
Using cube As Cube = database.Cubes(Me.Cube)
Using dimension As CubeDimension = cube.Dimensions(Me.Dimension)
propValue = GetPropertyValue_(dimension)
End Using
End Using
End Using
End Using
End Select
' Store property value in package variable.
Call Dts.VariableDispenser.LockOneForWrite(Me.ResultVariable, vars)
Try
vars(Me.ResultVariable).Value = propValue
Finally
Call vars.Unlock()
End Try
result = ScriptResults.Success
Catch ex As Exception
result = ScriptResults.Failure
Call Dts.Events.FireError( _
0, _
String.Empty, _
ex.Message, _
String.Empty, _
0)
End Try
Dts.TaskResult = result
End Sub ' Main
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Returns list of current properties based on current state.
Public Function GetProperties() As String()
Dim result As New ArrayList
' Base properties.
Call result.Add("Type")
Call result.Add("Connection")
Call result.Add("Name")
Call result.Add("ResultVariable")
Select Case Me.Type
Case ObjectType.Server
' Nothing to do here.
Case ObjectType.Database
Call result.Add("Database")
Case ObjectType.Cube
Call result.Add("Database")
Call result.Add("Cube")
Case ObjectType.Dimension
Call result.Add("Database")
Call result.Add("Cube")
Call result.Add("Dimension")
End Select
Return CType(result.ToArray(GetType(String)), String())
End Function ' GetProperties
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Function Validate(ByRef errMessage As String) As Boolean
Dim result As Boolean
Dim props As Object()
Try
props = GetProps_()
If String.IsNullOrEmpty(Me.Name) Then
Throw New ApplicationException("Please specify property.")
End If
result = True
Catch ex As Exception
result = False
errMessage = ex.Message
End Try
Validate = result
End Function 'Validate
#Region "Properties"
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
_
_
_
Public Property Type() As ObjectType
Get
Type = m_object
End Get
Set(ByVal value As ObjectType)
If m_object <> value Then
m_object = value
Me.Name = String.Empty
m_cachedProps = Nothing
End If
End Set
End Property ' Type
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
_
_
_
Public Property Connection() As String
Get
Connection = m_connection
End Get
Set(ByVal value As String)
If m_connection <> value Then
m_connection = value
Me.Database = String.Empty
m_cachedDatabases = Nothing
Me.Name = String.Empty
m_cachedProps = Nothing
End If
End Set
End Property ' Connection
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
_
_
_
Public Property Database() As String
Get
Database = m_database
End Get
Set(ByVal value As String)
If m_database <> value Then
m_database = value
Me.Cube = String.Empty
m_cachedCubes = Nothing
Me.Name = String.Empty
m_cachedProps = Nothing
End If
End Set
End Property ' Database
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
_
_
_
Public Property Cube() As String
Get
Cube = m_cube
End Get
Set(ByVal value As String)
If m_cube <> value Then
m_cube = value
Me.Dimension = String.Empty
m_cachedDims = Nothing
Me.Name = String.Empty
m_cachedProps = Nothing
End If
End Set
End Property ' Cube
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
_
_
_
Public Property Dimension() As String
Get
Dimension = m_dimension
End Get
Set(ByVal value As String)
If m_cube <> value Then
m_dimension = value
Me.Name = String.Empty
m_cachedProps = Nothing
End If
End Set
End Property ' Dimension
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
_
_
_
Public Property Name() As String
Get
Name = m_propName
End Get
Set(ByVal value As String)
m_propName = value
End Set
End Property ' Name
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
_
_
_
Public Property ResultVariable() As String
Get
ResultVariable = m_resultVariable
End Get
Set(ByVal value As String)
m_resultVariable = value
End Set
End Property ' ResultVariable
#End Region ' Properties
#Region "Internals"
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private ReadOnly Property AsConnectionType() As String()
Get
AsConnectionType = New String() {"MSOLAP90"}
End Get
End Property ' FtpConnectionType
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Get connected AS Server object.
Private Function GetServer_() As Server
Dim result As Server
' Get connection string.
Dim manager As ConnectionManager = Dts.Connections(Me.Connection)
Dim connString As String = manager.ConnectionString
result = New Server()
result.Connect(connString)
GetServer_ = result
End Function ' GetServer_
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Get list of selected connection databases.
Public Function GetDatabases() As Object()
Dim arrDatabases As ArrayList = New ArrayList()
Dim dbCount As Integer
Cursor.Current = Cursors.WaitCursor
Try
If String.IsNullOrEmpty(Me.Connection) Then
' User has to specify connection.
Throw New ApplicationException("Please specify connection.")
End If
If m_cachedDatabases Is Nothing Then
' Cache databases.
Using server As Server = GetServer_()
dbCount = server.Databases.Count
For dbIndex As Integer = 0 To dbCount - 1
Using db As Database = server.Databases(dbIndex)
Call arrDatabases.Add(db.Name)
End Using
Next
End Using
m_cachedDatabases = arrDatabases.ToArray()
End If
Catch ex As Exception
Call MessageBox.Show(ex.Message)
Finally
Cursor.Current = m_currentCursor
End Try
GetDatabases = m_cachedDatabases
End Function ' GetDatabases
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Get list of selected database cubes.
Public Function GetCubes() As Object()
Dim arrCubes As ArrayList = New ArrayList()
Dim cubesCount As Integer
Cursor.Current = Cursors.WaitCursor
Try
If String.IsNullOrEmpty(Me.Database) Then
' User has to specify database.
Throw New ApplicationException("Please specify database.")
End If
If m_cachedCubes Is Nothing Then
' Cache cubes.
Using server As Server = GetServer_()
Using database As Database = server.Databases(Me.Database)
cubesCount = database.Cubes.Count
For cubeIndex As Integer = 0 To cubesCount - 1
Using cube As Cube = database.Cubes(cubeIndex)
Call arrCubes.Add(cube.Name)
End Using
Next
End Using
End Using
m_cachedCubes = arrCubes.ToArray()
End If
Catch ex As Exception
Call MessageBox.Show(ex.Message)
Finally
Cursor.Current = m_currentCursor
End Try
GetCubes = m_cachedCubes
End Function ' GetCubes
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Get list of selected cube dimensions.
Public Function GetDimensions() As Object()
Dim arrDims As ArrayList = New ArrayList()
Dim dimsCount As Integer
Cursor.Current = Cursors.WaitCursor
Try
If String.IsNullOrEmpty(Me.Cube) Then
' User has to specify cube.
Throw New ApplicationException("Please specify cube.")
End If
If m_cachedDims Is Nothing Then
' Cache dimensions.
Using server As Server = GetServer_()
Using database As Database = server.Databases(Me.Database)
Using cube As Cube = database.Cubes(Me.Cube)
dimsCount = cube.Dimensions.Count
For dimIndex As Integer = 0 To dimsCount - 1
Using dimension As CubeDimension = cube.Dimensions(dimIndex)
Call arrDims.Add(dimension.Name)
End Using
Next
End Using
End Using
End Using
m_cachedDims = arrDims.ToArray()
End If
Catch ex As Exception
Call MessageBox.Show(ex.Message)
Finally
Cursor.Current = m_currentCursor
End Try
GetDimensions = m_cachedDims
End Function ' GetDimensions
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Get list of selected object properties.
Public Function GetObjectProperties() As Object()
Cursor.Current = Cursors.WaitCursor
Try
GetObjectProperties = GetProps_()
Catch ex As Exception
Call MessageBox.Show(ex.Message)
Finally
Cursor.Current = m_currentCursor
End Try
End Function ' GetObjectProperties
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Get list of selected object properties.
Public Function GetProps_() As Object()
Dim arrProps As ArrayList = New ArrayList()
Dim props As PropertyInfo()
If m_cachedProps Is Nothing Then
' Cache properties.
' Get object.
Select Case Me.Type
Case ObjectType.Server
' Get server.
If String.IsNullOrEmpty(Me.Connection) Then
Throw New ApplicationException("Please specify connection.")
End If
Using server As Server = GetServer_()
props = server.GetType().GetProperties( _
BindingFlags.Instance Or BindingFlags.Public)
End Using
Case ObjectType.Database
' Get database.
If String.IsNullOrEmpty(Me.Database) Then
Throw New ApplicationException("Please specify database.")
End If
Using server As Server = GetServer_()
Using database As Database = server.Databases(Me.Database)
props = database.GetType().GetProperties( _
BindingFlags.Instance Or BindingFlags.Public)
End Using
End Using
Case ObjectType.Cube
' Get cube.
If String.IsNullOrEmpty(Me.Cube) Then
Throw New ApplicationException("Please specify cube.")
End If
Using server As Server = GetServer_()
Using database As Database = server.Databases(Me.Database)
Using cube As Cube = database.Cubes(Me.Cube)
props = cube.GetType().GetProperties( _
BindingFlags.Instance Or BindingFlags.Public)
End Using
End Using
End Using
Case ObjectType.Dimension
' Get dimension.
If String.IsNullOrEmpty(Me.Dimension) Then
Throw New ApplicationException("Please specify dimension.")
End If
Using server As Server = GetServer_()
Using database As Database = server.Databases(Me.Database)
Using cube As Cube = database.Cubes(Me.Cube)
Using dimension As CubeDimension = cube.Dimensions(Me.Dimension)
props = dimension.GetType().GetProperties( _
BindingFlags.Instance Or BindingFlags.Public)
End Using
End Using
End Using
End Using
Case Else
Throw New ApplicationException("Specify object type.")
End Select
' Load properties.
For Each prop As PropertyInfo In props
Call arrProps.Add(prop.Name)
Next
Call arrProps.Sort()
m_cachedProps = arrProps.ToArray()
End If
GetProps_ = m_cachedProps
End Function ' GetProps_
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Get current selected property value.
Private Function GetPropertyValue_(ByVal obj As Object) As Object
GetPropertyValue_ = obj.GetType().InvokeMember( _
Me.Name, _
BindingFlags.Instance Or BindingFlags.Public Or BindingFlags.GetProperty, _
Nothing, _
obj, _
New Object() {})
End Function ' GetPropertyValue_
#End Region ' Internals
#Region "Attributes"
Private m_object As ObjectType
Private m_connection As String
Private m_database As String
Private m_cube As String
Private m_dimension As String
Private m_propName As String
Private m_resultVariable As String
Private m_cachedDatabases As Object()
Private m_cachedCubes As Object()
Private m_cachedDims As Object()
Private m_cachedProps As Object()
Private m_currentCursor As Cursor = Cursor.Current
#End Region ' Attributes
End Class ' ScriptMain]]>
]]>
{A860303F-1F3F-4691-B57E-529FC101A107};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}
Debug
AnyCPU
Library
ScriptTask_982e2958701b474e85b5c199aae368f0.vbproj
ScriptTask_982e2958701b474e85b5c199aae368f0.vbproj
On
Binary
Off
On
{95B3A4EE-8B9D-4A7F-A46E-E5DA5084EDA4}
true
true
true
false
bin\
false
false
42016,42017,42018,42019,42032
false
true
false
true
bin\
false
false
42016,42017,42018,42019,42032
Code
VbMyResourcesResXFileCodeGenerator
Resources.Designer.vb
My.Resources
True
True
Resources.resx
Code
SettingsSingleFileGenerator
Settings.Designer.vb
True
Settings.settings
Code
Code
SSIS_ScriptTask
]]>
text/microsoft-resx
2.0
System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
]]>
' This code was generated by a tool.
'
' Changes to this file may cause incorrect behavior and will be lost if
' the code is regenerated.
'
'------------------------------------------------------------------------------
Option Strict Off
Option Explicit On
Partial Friend NotInheritable Class MySettings
Inherits System.Configuration.ApplicationSettingsBase
Private Shared m_Value As MySettings
Private Shared m_SyncObject As Object = New Object
_
Public Shared ReadOnly Property Value() As MySettings
Get
If (MySettings.m_Value Is Nothing) Then
System.Threading.Monitor.Enter(MySettings.m_SyncObject)
If (MySettings.m_Value Is Nothing) Then
Try
MySettings.m_Value = New MySettings
Finally
System.Threading.Monitor.Exit(MySettings.m_SyncObject)
End Try
End If
End If
Return MySettings.m_Value
End Get
End Property
End Class]]>
'The following GUID is for the ID of the typelib if this project is exposed to COM
' Version information for an assembly consists of the following four values:
'
' Major Version
' Minor Version
' Build Number
' Revision
'
' You can specify all the values or you can default the Build and Revision Numbers
' by using the '*' as shown below:
'
]]>
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAABQRQAATAEDAARUrkwAAAAAAAAAAOAAAiELAQgAADoAAAAMAAAAAAAAjlgA
AAAgAAAAYAAAAABAAAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACgAAAAAgAAAAAAAAIAQIUAABAA
ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAADhYAABTAAAAAGAAAJgJAAAAAAAAAAAAAAAAAAAA
AAAAAIAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAlDgAAAAgAAAAOgAAAAIA
AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAJgJAAAAYAAAAAoAAAA8AAAAAAAAAAAAAAAAAABAAABA
LnJlbG9jAAAMAAAAAIAAAAACAAAARgAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAABw
WAAAAAAAAEgAAAACAAUAXDEAANwmAAABAAAAAAAAAFAgAAC4AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAALQAAADOyu++AQAAAJEAAABsU3lzdGVtLlJlc291cmNlcy5S
ZXNvdXJjZVJlYWRlciwgbXNjb3JsaWIsIFZlcnNpb249Mi4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFs
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5I1N5c3RlbS5SZXNvdXJjZXMuUnVudGlt
ZVJlc291cmNlU2V0AgAAAAAAAAAAAAAAUEFEUEFEULQAAAAeAigBAAAKKh4CKAQAAAoqpnMGAAAK
gAEAAARzBwAACoACAAAEcwgAAAqAAwAABHMJAAAKgAQAAAQqAAATMAEACwAAAAEAABF+AQAABG8K
AAAKKgATMAEACwAAAAIAABF+AgAABG8LAAAKKgATMAEACwAAAAMAABF+AwAABG8MAAAKKgATMAEA
CwAAAAQAABF+BAAABG8NAAAKKgATMAIADQAAAAUAABECAygRAAAKKBIAAAoqAAAAEzABAAcAAAAG
AAARAigTAAAKKgATMAEACwAAAAcAABHQBQAAAigUAAAKKgATMAEABwAAAAgAABECKBUAAAoqABMw
AQAQAAAACQAAEQKMAQAAGy0GKAEAACsqAioTMAIAEAAAAAoAABEDEgD+FQIAABsGgQIAABsqHgIo
FwAACioTMAIAKAAAAAsAABECexkAAApvGgAACgsHjAMAABstEigCAAArCwJ7GQAACgdvGwAACgcq
SgIoFwAACgJzHAAACn0ZAAAKKgAeAigXAAAKKhMwAgAtAAAADAAAEX4GAAAELSByAQAAcNAHAAAC
KBQAAApvHgAACnMfAAAKCweABgAABH4GAAAEKgAAABMwAQAGAAAADQAAEX4HAAAEKgAAHgKABwAA
BCpCcxcAAAooEQAACoAJAAAEKgAAAB4CKCAAAAoqGzABAD8AAAAOAAARfggAAAQtMn4JAAAEKBEA
AAooIQAACn4IAAAELRxzFgAABoAIAAAE3hB+CQAABCgRAAAKKCIAAArcfggAAAQqAAEMAAACAB0A
DCkAEAAAAAFKAigkAAAKAiglAAAKfRUAAAQqABswBgAZAgAADwAAEQJvHAAABhdZRQQAAAAFAAAA
LQAAAH4AAAD0AAAAOHkBAAACbysAAAYNAglvMQAABigRAAAKCt1gAQAACSwGCW8mAAAK3DhRAQAA
Am8rAAAGEwQRBG8nAAAKAm8gAAAGbygAAAoTBQIRBW8xAAAGKBEAAAoK3SIBAAARBSwHEQVvJgAA
CtzdEQEAABEELAcRBG8mAAAK3DgAAQAAAm8rAAAGEwYRBm8nAAAKAm8gAAAGbygAAAoTBxEHbykA
AAoCbyIAAAZvKgAAChMIAhEIbzEAAAYoEQAACgrdvQAAABEILAcRCG8mAAAK3N2sAAAAEQcsBxEH
byYAAArc3ZsAAAARBiwHEQZvJgAACtw4igAAAAJvKwAABhMJEQlvJwAACgJvIAAABm8oAAAKEwoR
Cm8pAAAKAm8iAAAGbyoAAAoTCxELbysAAAoCbyQAAAZvLAAAChMMAhEMbzEAAAYoEQAACgreNhEM
LAcRDG8mAAAK3N4oEQssBxELbyYAAArc3hoRCiwHEQpvJgAACtzeDBEJLAcRCW8mAAAK3AJvLQAA
Cm8uAAAKAm8oAAAGEgJvLwAACggCbygAAAZvMAAACgYoEQAACm8xAAAK3gcIbzIAAArcFgveNSUo
MwAAChMNFwsCby0AAApvNAAAChZ+NQAAChENbzYAAAp+NQAAChZvNwAACiYoOAAACt4AAm8tAAAK
B285AAAKKgAAAEEgAQACAAAAKQAAABIAAAA7AAAACgAAAAAAAAECAAAAZgAAABMAAAB5AAAADAAA
AAAAAAECAAAAUgAAADgAAACKAAAADAAAAAAAAAECAAAAywAAABMAAADeAAAADAAAAAAAAAECAAAA
twAAADgAAADvAAAADAAAAAAAAAECAAAAowAAAF0AAAAAAQAADAAAAAAAAAECAAAAVQEAABAAAABl
AQAADAAAAAAAAAECAAAAQQEAADIAAABzAQAADAAAAAAAAAECAAAALQEAAFQAAACBAQAADAAAAAAA
AAECAAAAGQEAAHYAAACPAQAADAAAAAAAAAECAAAAswEAABkAAADMAQAABwAAAAAAAAEAAAAAAAAA
ANcBAADXAQAANQAAACEAAAETMAIAuQAAABAAABFzOgAACgsHcjMAAHBvOwAACiYHcj0AAHBvOwAA
CiYHclMAAHBvOwAACiYHcl0AAHBvOwAACiYCbxwAAAYXWUUEAAAAAgAAAAQAAAASAAAALAAAACtO
K0wHcnsAAHBvOwAACiYrPgdyewAAcG87AAAKJgdyjQAAcG87AAAKJiskB3J7AABwbzsAAAomB3KN
AABwbzsAAAomB3KXAABwbzsAAAomB9ArAAABKBQAAApvPAAACnQKAAAbKgAAABswAgA/AAAAEQAA
EQJvMAAABgoCbyYAAAYoPQAACiwLcqsAAHBzPgAACnoXC94YJSgzAAAKDRYLAwlvNgAAClEoOAAA
Ct4ABwwIKgABDAAAAAAAACMjABghAAABEzABAAkAAAASAAARAnsKAAAECgYqAAAAjgJ7CgAABAMu
GQIDfQoAAAQCfjUAAApvJwAABgIUfRQAAAQqEzABAAkAAAATAAARAnsLAAAECgYqAAAA8gJ7CwAA
BAMWKD8AAAoWLisCA30LAAAEAn41AAAKbyEAAAYCFH0RAAAEAn41AAAKbycAAAYCFH0UAAAEKgAA
ABMwAQAJAAAAFAAAEQJ7DAAABAoGKgAAAPICewwAAAQDFig/AAAKFi4rAgN9DAAABAJ+NQAACm8j
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
CREJbycAAAoCbyAAAAZvKAAAChMKEQpvKQAACgJvIgAABm8qAAAKEwsRC28rAAAKAm8kAAAGbywA
AAoTDBEMb04AAAofFG9PAAAKDN5DEQwsBxEMbyYAAArc3jURCywHEQtvJgAACtzeJxEKLAcRCm8m
AAAK3N4ZEQksBxEJbyYAAArcKwtytQEAcHM+AAAKeggTEBYTDysbERARD5oTDQYRDW9QAAAKbzsA
AAomEQ8X1hMPEQ8REI63Mt0Gb1EAAAoCBm9KAAAKfRQAAAQCexQAAAQLByoAAXgAAAIAUgATZQAK
AAAAAQIAqAAUvAAMAAAAAQIAlAA5zQAMAAAAAQIAJgEUOgEMAAAAAQIAEgE5SwEMAAAAAQIA/gBe
XAEMAAAAAQIAyQER2gEMAAAAAQIAtQEz6AEMAAAAAQIAoQFV9gEMAAAAAQIAjQF3BAIMAAAAARMw
BgArAAAAIAAAEQNvTgAACgJvJgAABiAUEAAAFAMoEQAAChaNAwAAAW9SAAAKKBEAAAoKBioAQlNK
QgEAAQAAAAAADAAAAHYyLjAuNTA3MjcAAAAABQBsAAAAVA0AACN+AADADQAAcA8AACNTdHJpbmdz
AAAAADAdAADgAQAAI1VTABAfAAAQAAAAI0dVSUQAAAAgHwAAvAcAACNCbG9iAAAAAAAAAAIAAAFX
HaIJCQ8AAAD6ATMAFgAAAQAAAFAAAAALAAAAHQAAADEAAAANAAAAZwAAAAYAAABNAAAAIAAAAAUA
AAAQAAAAGAAAAAoAAAABAAAACQAAAAEAAAAEAAAAAwAAAAIAAAAAADcPAQAAAAAACgCDAVkBCgC3
AZkBBgDHAcABCgAfAlkBBgCdAsABCgAfA/UCBgBVA0QDBgCCA20DDgDpA9QDEgBoBD8EFgCRBXYF
GgCbBoYGBgD6BsABDgAtBxcHDgBGBxcHDgBzB1sHBgCdB4oHCgDcB7UHCgD0BxMADgApCAwIBgBe
CD4IBgB8CMABBgCgCMABCgC5CBMABgD9CN4IBgAjCREJBgBKCTkJBgBdCYoHHgDFCaUJFgC9BnYF
FgDGBnYFFgDPCXYFBgDdCcABBgDnCcABFgD7CXYFFgAlCnYFFgA+CnYFEgBlCj8EHgB/CqUJHgC3
CqUJCgDHCrUHEgDjCj8EBgACC8ABBgBZC0YLBgBnC8ABBgCDC8ABCgCYC7UHHgCwC6UJHgDCC6UJ
GgD7C4YGFgAeDHYFFgBBDHYFGgBQDIYGGgBbDIYGBgBtDBEJBgB6DBEJBgCHDBEJBgCXDBEJBgCr
DMABIgDODMEMJgAVDfMMJgAxDfMMJgBLDfMMDgBjDRcHDgB4DRcHJgCKDfMMJgCcDfMMJgCqDfMM
DgC+DRcHDgDZDRcHBgAyDj4IBgBSDj4IBgBwDhEJBgCNDt4IBgCbDhEJBgC2DhEJBgDRDhEJBgDq
DhEJBgADDxEJBgAgDxEJAAAAAAEAAAAAAAEAAQAAAAAAKQA3AAUAAQABAAAAAABtADcACQABAAIA
AAEQAHgANwANAAEAAwAFAQAAggAAAA0ABQAIAAUBAACQAAAADQAFAA8AAAAAAKsAtwANAAYAEQAA
ARAA9wACASUACAAVAAEAAAA1AQIBKQAKABgAAgEAAEABAAA1ABYAMgACAQAATgEAADUAGQAyADEA
4gEgADEACwItADEALQI6ADEAUgJHACEALgOQABEAZQOdABEAjgOhABEAAQS/ABEACQTDAAEA+wUD
AQEABAYHAQEAEQYHAQEAHAYHAQEAIwYHAQEALwYHAQEAOgYHAQEASwYKAQEAXQYKAQEAawYKAQEA
eAYKAQEAogYOAQYG/wYgAVaABwcjAVaADwcjAQYG/wYgAVaAkQUDAVaAvQYDAVaAxgYDAVaAywYD
AQghAAAAAAYYkwETAAEAECEAAAAABhiTARMAAQAYIQAAAAARGM4BFwABAEQhAAAAABMI1QEbAAEA
XCEAAAAAEwj7ASgAAQB0IQAAAAATCCQCNQABAIwhAAAAABMIQgJCAAEApCEAAAAARgKIAmMAAQDA
IQAAAABGApECaAACANQhAAAAAIMAogJsAAIA7CEAAAAARgKqAnEAAgAAIgAAAAARALMCeAACABwi
AAAAAAEA0QKAAAMAOCIAAAAABhiTARMABABAIgAAAAADCOUCiwAEAHQiAAAAAAYYkwETAAQAiCIA
AAAAAxiTARMABACQIgAAAAAWCJoDpQAEAMwiAAAAABYIrgOqAAQA4CIAAAAAFgi6A68ABADoIgAA
AAARGM4BFwAFAPwiAAAAAAYYkwETAAUABCMAAAAAFggWBMYABQBgIwAAAAAGGJMBEwAFAHQjAAAA
AAYAhAQTAAUAwCYAAAAABgCJBNkABQCIJwAAAAAGAJcE3gAFAOQnAAAAAAYIqwTkAAYA/CcAAAAA
Bgi0BOkABgAgKAAAAAAGCMMEcQAHADgoAAAAAAYI0gTvAAcAeCgAAAAABgjhBHEACACQKAAAAAAG
CO4E7wAIANAoAAAAAAYI+wRxAAkA6CgAAAAABggEBe8ACQAoKQAAAAAGCA0FcQAKAEApAAAAAAYI
GwXvAAoAbCkAAAAABggpBXEACwCEKQAAAAAGCDIF7wALAJApAAAAAAYIOwVxAAwAqCkAAAAABghO
Be8ADAC0KQAAAAABCGEF2QANANQpAAAAAAEAmAX0AA0AECoAAAAABgCjBfkADQAgKwAAAAAGALAF
+QANAGQsAAAAAAYAuQX5AA0A1C0AAAAABgDHBfkADQA4LgAAAAAGANsF+QANACQxAAAAAAEA5QX+
AA0AAAABAI8CAAABAMgCAAABAMgCAAABAMYDAAABAKAEAAABAL0EAAABAL0EAAABAL0EAAABAL0E
AAABAL0EAAABAL0EAAABAL0EAAABAPcFCQCTARMAcQCTAUABgQCTAU8BEQCTARMAiQCTARMAJACT
ARMALACTARMANACTARMAPACTARMAJADlAosALADlAosANADlAosAPADlAosAkQCTARMAmQCTARMA
oQCTAe8AqQBtCOMBGQCIAmMAGQCRAmgAKQCOCPABGQCqAnEAuQCqCAACGQCTARMAwQCTARACRAAu
A5AATAAWBIsATADUCI0CTACTARMAyQCTAZoCKQAsCaUCOQCTAaoCSQCTARMA2QBSCcYC2QBYCcYC
4QCTARMAUQCTARMAYQB6CdACEQHzCRMAWQAOCtUCGQEcCtsC8QA0CuECIQEcCucC+QBWCu0CKQEc
CvMCUQB3CvoCMQGRCgADOQGnCgYD6QAcCg4DQQHUCBUD6QDAChMASQHTChoDMQH3CiEDWQEJCwcB
CQEPC3EAUQEbCycDSQElCxcAMQE3CzADYQGTARMAYQFjC1YDYQFtC1sDWQF1C3ADcQGTAe8AeQGi
C4QDMQHOC5IDiQEcCpgDgQHeC3EAWQCTARMAWQDzC+8AkQEDDNACYQASDKoDmQE3DGgAGQEcCrAD
oQEpBXEAYQFtC/kAqQFoDLYDIQEcCs8DKQEcCukDGQCiAmwAKQCJBA8EyQEpBXEAYQGSDBMAKQCe
DEQE2QGTAZoC4QGTAe8A6QGTAe8A8QGTAe8A+QGTAboEAQKTAe8ACQKTAe8AEQKTARMAGQKTAe8A
IQKTAe8AKQKTAbMGOQKTATADQQKTARMASQKTAe8AUQKTAe8AWQKTAe8AYQKTAe8AaQKTAe8AcQKT
Ae8AeQKTAe8AgQKTAe8ACABcACcBCABgACwBCABoACwBCABsADEBCABwADYBCAB0ADsBKQCDAJ0B
LgArA60HLgAjA3UHLgD7AvkGLgADAxgHLgAbA1UHLgA7A3UHLgDzAvAGLgAzA58CLgALAyUHLgDr
AJ8CLgCbAk8HLgATA58CQAArACwBQAATAEYBQwATAEYBQwAbAFUBSQCDAM8BYwATAEYBYwAbAFUB
aQCDAK4BgAArACwBgwBzACwBgwB7ACwBgwAbAFUBiQCDALsBoAArACwBowATAEYBowDDABgCwAAr
ACwBwwDrAJ8CwwATAEYByQATAL0C4AArACwB6QATAL0CAAETAEYBAAErACwBCQEbASwBIAErACwB
IAETAEYBIwG7AsAEIwGjAlYEIwGzAqcEIwGbAp8CIwGrApkEKQHrAkYBKQHDAroGKQHLAuMGQAET
AEYBQAErACwBSQHjAvIFSQHLApEFSQHDArsFYAErACwBYAETAEYBaQHDAnYGaQHLApEFaQHbAqEG
gAErACwBiQHLApEFiQHDAkEGiQHbAmgGoAErACwBqQHbAqgFqQHDAmUFqQHLApEFwAETAEYBwAEr
ACwByQHLAlcFyQHDAggGyQHbAigG4AErACwB6QHTAiwB6QHDAgUF6QHLAlcFAAIrACwBAAITAEYB
iQGOAZMBmAHoAewB9wH8AQsCCwKTArECuALLAjUDZgN1A38D/AH8AfwB/AH8AfwBiwOfA70D1QPw
AwcEGQRSBAQAAQAGAAUABwAGAAgACAAJAAkAAAC3AU8AAABwAlQAAAAfAlkAAAB8Al4AAAA4A5gA
AABVA7UAAADMA7oAAADGA8sAAACdAhIBAACyBhcBAAC9BhcBAADGBhcBAADLBhcBAADVBhcBAADa
BhcBAADpBhsBAgAEAAMAAgAFAAUAAgAGAAcAAgAHAAkAAgAPAAsAAgASAA0AAgATAA8AAQAUAA8A
AgAXABEAAgAcABMAAQAdABMAAgAeABUAAQAfABUAAQAhABcAAgAgABcAAgAiABkAAQAjABkAAgAk
ABsAAQAlABsAAQAnAB0AAgAmAB0AAgAoAB8AAQApAB8AAgAqACEAdQB1AIgAbQF0AXsBggF6AoEC
YwMEgAAAAQAAAAAAAAAAAAAAAAACAQAAAgAAAAAAAAAAAAAAAQAKAAAAAAAIAAAAAAAAAAAAAAAK
ABMAAAAAAAIAAAAAAAAAAAAAAAEAwAEAAAAACgAAAAAAAAAAAAAA0AAgBAAAAAAKAAAAAAAAAAAA
AADQAHYFAAAAAAIAAAAAAAAAAAAAAAEAhgYAAAAACgAAAAAAAAAAAAAA0ACGCQAAAAADAAUAAAAA
AAAAAAABAMEMAAAAAAEAAAAAAAAAAAAAAJAE3QwAAAAAAAAAAAEAAADrDQAABQAEAAYABAAKAAkA
CwAJAAAAEAAMAMYCAAAQABkAxgIAAAAAGwDGAi0ABgItAIgCAAAAAAA8TW9kdWxlPgBtc2Nvcmxp
YgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlvbgBTY3JpcHRUYXNrXzk4MmUyOTU4
NzAxYjQ3NGU4NWI1YzE5OWFhZTM2OGYwLnZicHJvai5NeQBNeUNvbXB1dGVyAE15UHJvamVjdABN
eVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAxAE15UmVzb3VyY2VzAFNjcmlw
dFRhc2tfOTgyZTI5NTg3MDFiNDc0ZTg1YjVjMTk5YWFlMzY4ZjAudmJwcm9qLk15LlJlc291cmNl
cwBNeVNldHRpbmdzAFNjcmlwdFRhc2tfOTgyZTI5NTg3MDFiNDc0ZTg1YjVjMTk5YWFlMzY4ZjAu
dmJwcm9qAFNjcmlwdE1haW4AU2NyaXB0UmVzdWx0cwBPYmplY3RUeXBlAE1pY3Jvc29mdC5WaXN1
YWxCYXNpYy5BcHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3Nv
ZnQuVmlzdWFsQmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRf
Q29tcHV0ZXIAbV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9i
amVjdFByb3ZpZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNl
cnZpY2VzAG1fTXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZp
Y2VzAEVxdWFscwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0lu
c3RhbmNlX18AVABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBN
aWNyb3NvZnQuVmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBt
X0NvbnRleHQAR2V0SW5zdGFuY2UAU3lzdGVtLlJlc291cmNlcwBSZXNvdXJjZU1hbmFnZXIAX3Jl
c01ncgBTeXN0ZW0uR2xvYmFsaXphdGlvbgBDdWx0dXJlSW5mbwBfcmVzQ3VsdHVyZQBnZXRfUmVz
b3VyY2VNYW5hZ2VyAGdldF9DdWx0dXJlAHNldF9DdWx0dXJlAFZhbHVlAEN1bHR1cmUAU3lzdGVt
LkNvbmZpZ3VyYXRpb24AQXBwbGljYXRpb25TZXR0aW5nc0Jhc2UAbV9WYWx1ZQBtX1N5bmNPYmpl
Y3QAZ2V0X1ZhbHVlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuU2NyaXB0VGFzawBNaWNyb3NvZnQuU3Fs
U2VydmVyLkR0cy5UYXNrcy5TY3JpcHRUYXNrAFZTVEFSVFNjcmlwdE9iamVjdE1vZGVsQmFzZQBN
YWluAEdldFByb3BlcnRpZXMAVmFsaWRhdGUAZXJyTWVzc2FnZQBnZXRfVHlwZQBzZXRfVHlwZQB2
YWx1ZQBnZXRfQ29ubmVjdGlvbgBzZXRfQ29ubmVjdGlvbgBnZXRfRGF0YWJhc2UAc2V0X0RhdGFi
YXNlAGdldF9DdWJlAHNldF9DdWJlAGdldF9EaW1lbnNpb24Ac2V0X0RpbWVuc2lvbgBnZXRfTmFt
ZQBzZXRfTmFtZQBnZXRfUmVzdWx0VmFyaWFibGUAc2V0X1Jlc3VsdFZhcmlhYmxlAGdldF9Bc0Nv
bm5lY3Rpb25UeXBlAE1pY3Jvc29mdC5BbmFseXNpc1NlcnZpY2VzAFNlcnZlcgBHZXRTZXJ2ZXJf
AEdldERhdGFiYXNlcwBHZXRDdWJlcwBHZXREaW1lbnNpb25zAEdldE9iamVjdFByb3BlcnRpZXMA
R2V0UHJvcHNfAEdldFByb3BlcnR5VmFsdWVfAG9iagBtX29iamVjdABtX2Nvbm5lY3Rpb24AbV9k
YXRhYmFzZQBtX2N1YmUAbV9kaW1lbnNpb24AbV9wcm9wTmFtZQBtX3Jlc3VsdFZhcmlhYmxlAG1f
Y2FjaGVkRGF0YWJhc2VzAG1fY2FjaGVkQ3ViZXMAbV9jYWNoZWREaW1zAG1fY2FjaGVkUHJvcHMA
U3lzdGVtLldpbmRvd3MuRm9ybXMAQ3Vyc29yAG1fY3VycmVudEN1cnNvcgBDb25uZWN0aW9uAERh
dGFiYXNlAEN1YmUARGltZW5zaW9uAE5hbWUAUmVzdWx0VmFyaWFibGUAQXNDb25uZWN0aW9uVHlw
ZQBFbnVtAHZhbHVlX18AU3VjY2VzcwBGYWlsdXJlAFN5c3RlbS5Db21wb25lbnRNb2RlbABFZGl0
b3JCcm93c2FibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlU3RhdGUAU3lzdGVtLkNvZGVEb20u
Q29tcGlsZXIAR2VuZXJhdGVkQ29kZUF0dHJpYnV0ZQBTeXN0ZW0uRGlhZ25vc3RpY3MARGVidWdn
ZXJIaWRkZW5BdHRyaWJ1dGUATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMA
U3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUAU3lzdGVtLkNv
bXBvbmVudE1vZGVsLkRlc2lnbgBIZWxwS2V5d29yZEF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5D
b21waWxlclNlcnZpY2VzAFJ1bnRpbWVIZWxwZXJzAEdldE9iamVjdFZhbHVlAFJ1bnRpbWVUeXBl
SGFuZGxlAEdldFR5cGVGcm9tSGFuZGxlAEFjdGl2YXRvcgBDcmVhdGVJbnN0YW5jZQBNeUdyb3Vw
Q29sbGVjdGlvbkF0dHJpYnV0ZQBzZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZp
Y2VzAENvbVZpc2libGVBdHRyaWJ1dGUAU3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHkAZ2V0X0Fz
c2VtYmx5AFN5c3RlbS5UaHJlYWRpbmcATW9uaXRvcgBFbnRlcgBFeGl0AERlYnVnZ2VyTm9uVXNl
ckNvZGVBdHRyaWJ1dGUAZ2V0X0N1cnJlbnQATWljcm9zb2Z0LlNxbFNlcnZlci5NYW5hZ2VkRFRT
AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlJ1bnRpbWUAVmFyaWFibGVzAEN1YmVEaW1lbnNpb24A
RXhjZXB0aW9uAElEaXNwb3NhYmxlAERpc3Bvc2UARGF0YWJhc2VDb2xsZWN0aW9uAGdldF9EYXRh
YmFzZXMAZ2V0X0l0ZW0AQ3ViZUNvbGxlY3Rpb24AZ2V0X0N1YmVzAEN1YmVEaW1lbnNpb25Db2xs
ZWN0aW9uAGdldF9EaW1lbnNpb25zAFNjcmlwdE9iamVjdE1vZGVsAGdldF9EdHMAVmFyaWFibGVE
aXNwZW5zZXIAZ2V0X1ZhcmlhYmxlRGlzcGVuc2VyAExvY2tPbmVGb3JXcml0ZQBWYXJpYWJsZQBV
bmxvY2sAUHJvamVjdERhdGEAU2V0UHJvamVjdEVycm9yAEV2ZW50c09iamVjdFdyYXBwZXIAZ2V0
X0V2ZW50cwBTdHJpbmcARW1wdHkAZ2V0X01lc3NhZ2UARmlyZUVycm9yAENsZWFyUHJvamVjdEVy
cm9yAHNldF9UYXNrUmVzdWx0AFN5c3RlbS5Db2xsZWN0aW9ucwBBcnJheUxpc3QAQWRkAEFycmF5
AFRvQXJyYXkASXNOdWxsT3JFbXB0eQBBcHBsaWNhdGlvbkV4Y2VwdGlvbgBPcGVyYXRvcnMAQ29t
cGFyZVN0cmluZwBDb25uZWN0aW9uTWFuYWdlcgBDb25uZWN0aW9ucwBnZXRfQ29ubmVjdGlvbnMA
Z2V0X0Nvbm5lY3Rpb25TdHJpbmcAQ29ubmVjdABDdXJzb3JzAGdldF9XYWl0Q3Vyc29yAHNldF9D
dXJyZW50AE1vZGVsQ29tcG9uZW50Q29sbGVjdGlvbgBnZXRfQ291bnQATmFtZWRDb21wb25lbnQA
TWVzc2FnZUJveABEaWFsb2dSZXN1bHQAU2hvdwBQcm9wZXJ0eUluZm8AQmluZGluZ0ZsYWdzAE1l
bWJlckluZm8AU29ydABCaW5kZXIASW52b2tlTWVtYmVyAENMU0NvbXBsaWFudEF0dHJpYnV0ZQBT
eXN0ZW0uQWRkSW4AQWRkSW5BdHRyaWJ1dGUAQ296eVJvYy5TU0lTUGx1cy4yMDA4AENvenlSb2Mu
U3FsU2VydmVyLlNTSVMuQXR0cmlidXRlcwBWYWxpZGF0ZVByb3BlcnRpZXNBdHRyaWJ1dGUARmls
dGVyUHJvcGVydGllc0F0dHJpYnV0ZQBTb3J0UHJvcGVydGllc0F0dHJpYnV0ZQBEZXNjcmlwdGlv
bkF0dHJpYnV0ZQBDYXRlZ29yeUF0dHJpYnV0ZQBWYXJpYWJsZUF0dHJpYnV0ZQBMaXN0QXR0cmli
dXRlAENvbm5lY3Rpb25BdHRyaWJ1dGUAUmVmcmVzaFByb3BlcnRpZXNBdHRyaWJ1dGUAUmVmcmVz
aFByb3BlcnRpZXMAU2NyaXB0VGFza185ODJlMjk1ODcwMWI0NzRlODViNWMxOTlhYWUzNjhmMC52
YnByb2ouUmVzb3VyY2VzLnJlc291cmNlcwBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRl
AFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRlAEFzc2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1
dGUAR3VpZEF0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFya0F0dHJpYnV0ZQBBc3NlbWJseUNvcHly
aWdodEF0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRyaWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0
cmlidXRlAEFzc2VtYmx5RGVzY3JpcHRpb25BdHRyaWJ1dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0
ZQBTY3JpcHRUYXNrXzk4MmUyOTU4NzAxYjQ3NGU4NWI1YzE5OWFhZTM2OGYwLnZicHJvai5kbGwA
AAAAMU0AeQAuAFIAZQBzAG8AdQByAGMAZQBzAC4ATQB5AFIAZQBzAG8AdQByAGMAZQBzAAAJVAB5
AHAAZQAAFUMAbwBuAG4AZQBjAHQAaQBvAG4AAAlOAGEAbQBlAAAdUgBlAHMAdQBsAHQAVgBhAHIA
aQBhAGIAbABlAAARRABhAHQAYQBiAGEAcwBlAAAJQwB1AGIAZQAAE0QAaQBtAGUAbgBzAGkAbwBu
AAAxUABsAGUAYQBzAGUAIABzAHAAZQBjAGkAZgB5ACAAcAByAG8AcABlAHIAdAB5AC4AABFNAFMA
TwBMAEEAUAA5ADAAADVQAGwAZQBhAHMAZQAgAHMAcABlAGMAaQBmAHkAIABjAG8AbgBuAGUAYwB0
AGkAbwBuAC4AADFQAGwAZQBhAHMAZQAgAHMAcABlAGMAaQBmAHkAIABkAGEAdABhAGIAYQBzAGUA
LgAAKVAAbABlAGEAcwBlACAAcwBwAGUAYwBpAGYAeQAgAGMAdQBiAGUALgAAM1AAbABlAGEAcwBl
ACAAcwBwAGUAYwBpAGYAeQAgAGQAaQBtAGUAbgBzAGkAbwBuAC4AAClTAHAAZQBjAGkAZgB5ACAA
bwBiAGoAZQBjAHQAIAB0AHkAcABlAC4AAAAe4zeqNgvtSrfk3oCnwGxUAAi3elxWGTTgiQiwP19/
EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIRBAAAEhQH
BhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxABAR4AHgAH
MAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAMGEh0DBhIhBAAAEh0EAAASIQUAAQESIQQIABId
BAgAEiEDBhIgAgYcBAAAEiAECAASIAiJhF3NgIDMkQQgAB0OBSABAhAOBCAAESwFIAEBESwEIAEB
DgQgABItBCAAHRwEIAEcHAMGESwCBg4DBh0cAwYSMQQoABEsAygADgQoAB0OAgYIAwYRKAQAAAAA
BAEAAAAEAgAAAAQDAAAABAQAAAAFIAEBET0IAQABAAAAAAAFIAIBDg4XAQAKTXlUZW1wbGF0ZQc4
LjAuMC4wAAAGFRIYARIMBhUSGAESCAYVEhgBEhEGFRIYARIUBAcBEgwEBwESCAQHARIRBAcBEhQQ
AQALTXkuQ29tcHV0ZXIAAAwBAAdNeS5Vc2VyAAATAQAOTXkuV2ViU2VydmljZXMAABMBAA5NeS5B
cHBsaWNhdGlvbgAABAABHBwDBwECAwcBCAYAARIVEVkEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4A
ByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQ
cm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAG
FRIZARMABAoBEwAFIAEBEwAGBwITABMABCABAQIFAQAAAAAEIAASaQYgAgEOEmkGBwISHRIdBAcB
EiEIAQACAAAAAAAEAAEBHAQHARIgBAAAEjEFIAASgI0FIAESeQ4FIAASgJEFIAESfQ4FIAASgJUG
IAESgIEOBSAAEoCZBSAAEoCdByACAQ4QEnUGIAESgKEcBCABARwGAAEBEoCFBSAAEoCpCCAFAggO
Dg4IBCABAQggBw8cCBJ1Ei0SLRJ5Ei0SeRJ9Ei0SeRJ9EoCBEoCFESwEIAEIHAcgARKAtRIVAh0O
CQcDHQ4SgLERLAQAAQIOCQcEHRwCAhKAhQQHAREsBgADCA4OAgYHAh0OHQ4FIAASgMUGIAESgMEc
CgcEDhItEoDBEi0FAAEBEjEFIAESeQgGAAERgNkOEQcIEoCxCB0cEi0IEnkSgIUIBSABEn0IEwcJ
EoCxCB0cEi0SeQgSfRKAhQgGIAESgIEIFgcKEoCxCB0cEi0SeRJ9CBKAgRKAhQgHBwIdHBKAhQkg
AR0SgN0RgOEqBxESgLEdHB0SgN0SLRItEnkSLRJ5En0SLRJ5En0SgIESgN0RLAgdEoDdDSAFHA4R
gOESgOkcHRwDBwEcOQEAClNjcmlwdE1haW4DAFQOB1ZlcnNpb24DMS4wVA4JUHVibGlzaGVyAFQO
C0Rlc2NyaXB0aW9uAAgWz0kLuAw06g0BAAhWYWxpZGF0ZQAAEgEADUdldFByb3BlcnRpZXMAAAUg
AQEdDkQBAAcAAAAEVHlwZQpDb25uZWN0aW9uCERhdGFiYXNlBEN1YmUJRGltZW5zaW9uBE5hbWUO
UmVzdWx0VmFyaWFibGUAAFEBAExTcGVjaWZpZXMgcGFja2FnZSB2YXJpYWJsZSB3aGVyZSB5b3Ug
d291bGQgbGlrZSB0byBzdG9yZSB0aGUgcHJvcGVydHkgdmFsdWUuAAANAQAIUHJvcGVydHkAACsB
ACZTcGVjaWZpZXMgQW5hbHlzaXMgU2VydmljZXMgZGltZW5zaW9uLgAAFgEAEUFuYWx5c2lzIFNl
cnZpY2VzAAASAQANR2V0RGltZW5zaW9ucwAANgEAMVNwZWNpZmllcyBjb25uZWN0aW9uIHRvIEFu
YWx5c2lzIFNlcnZpY2VzIHNlcnZlci4AABUBABBBc0Nvbm5lY3Rpb25UeXBlAAAfAQAaU3BlY2lm
aWVzIG9iamVjdCBwcm9wZXJ0eS4AABgBABNHZXRPYmplY3RQcm9wZXJ0aWVzAAAmAQAhU3BlY2lm
aWVzIEFuYWx5c2lzIFNlcnZpY2VzIGN1YmUuAAANAQAIR2V0Q3ViZXMAACoBACVTcGVjaWZpZXMg
QW5hbHlzaXMgU2VydmljZXMgZGF0YWJhc2UuAAARAQAMR2V0RGF0YWJhc2VzAAAGIAEBEYEZKAEA
I1NwZWNpZmllcyBhbmFseXNpcyBzZXJ2aWNlcyBvYmplY3QuAAAMAQAHCU9iamVjdAAACAEACAAA
AAAAHgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAQwBAAcxLjAuMC4wAAApAQAkYjZhNGNl
MTAtMzQ1OS00Mjg1LWE3OGUtODNlYjdkOTNlMzczAAAFAQABAAAfAQAaQ29weXJpZ2h0IEAgTWlj
cm9zb2Z0IDIwMTAAADcBADJTY3JpcHRUYXNrXzk4MmUyOTU4NzAxYjQ3NGU4NWI1YzE5OWFhZTM2
OGYwLnZicHJvagAADgEACU1pY3Jvc29mdAAAYFgAAAAAAAAAAAAAflgAAAAgAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAHBYAAAAAAAAAAAAAAAAAAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/
JQAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAMAAAAoAACADgAAAEgA
AIAQAAAAYAAAgAAAAAAAAAAAAAAAAAAAAgACAAAAeAAAgAMAAACQAACAAAAAAAAAAAAAAAAAAAAB
AAB/AACoAACAAAAAAAAAAAAAAAAAAAABAAEAAADAAACAAAAAAAAAAAAAAAAAAAABAAAAAADYAAAA
AAAAAAAAAAAAAAAAAAABAAAAAADoAAAAAAAAAAAAAAAAAAAAAAABAAAAAAD4AAAAAAAAAAAAAAAA
AAAAAAABAAAAAAAIAQAAYGUAAOgCAAAAAAAAAAAAAEhoAAAoAQAAAAAAAAAAAABwaQAAIgAAAAAA
AAAAAAAAGGEAAEgEAAAAAAAAAAAAAEgENAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBP
AAAAAAC9BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAA
RAAAAAEAVgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBv
AG4AAAAAAAAAsASoAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAACEAwAAAQAwADAA
MAAwADAANABiADAAAAA0AAoAAQBDAG8AbQBwAGEAbgB5AE4AYQBtAGUAAAAAAE0AaQBjAHIAbwBz
AG8AZgB0AAAAkAAzAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAYwByAGkA
cAB0AFQAYQBzAGsAXwA5ADgAMgBlADIAOQA1ADgANwAwADEAYgA0ADcANABlADgANQBiADUAYwAx
ADkAOQBhAGEAZQAzADYAOABmADAALgB2AGIAcAByAG8AagAAAAAAMAAIAAEARgBpAGwAZQBWAGUA
cgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAkAA3AAEASQBuAHQAZQByAG4AYQBsAE4AYQBt
AGUAAABTAGMAcgBpAHAAdABUAGEAcwBrAF8AOQA4ADIAZQAyADkANQA4ADcAMAAxAGIANAA3ADQA
ZQA4ADUAYgA1AGMAMQA5ADkAYQBhAGUAMwA2ADgAZgAwAC4AdgBiAHAAcgBvAGoALgBkAGwAbAAA
AAAAXAAbAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQByAGkAZwBoAHQA
IABAACAATQBpAGMAcgBvAHMAbwBmAHQAIAAyADAAMQAwAAAAAACYADcAAQBPAHIAaQBnAGkAbgBh
AGwARgBpAGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAVABhAHMAawBfADkAOAAyAGUAMgA5ADUA
OAA3ADAAMQBiADQANwA0AGUAOAA1AGIANQBjADEAOQA5AGEAYQBlADMANgA4AGYAMAAuAHYAYgBw
AHIAbwBqAC4AZABsAGwAAAAAAIgAMwABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBjAHIA
aQBwAHQAVABhAHMAawBfADkAOAAyAGUAMgA5ADUAOAA3ADAAMQBiADQANwA0AGUAOAA1AGIANQBj
ADEAOQA5AGEAYQBlADMANgA4AGYAMAAuAHYAYgBwAHIAbwBqAAAAAAA0AAgAAQBQAHIAbwBkAHUA
YwB0AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5
ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAoAAAAIAAAAEAAAAABAAQAAAAAAIAC
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/
AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd3d3d3d3d3d3d3d3d3dwBERERERERERE
REREREREcAT/////////////////9HAE//////////////////RwBP/////////////////0cAT/
////////////////9HAE//////////////////RwBP/////////////////0cAT/////////////
////9HAE//////////////////RwBP/////////////////0cAT/////////////////9HAE////
//////////////RwBP/////////////////0cAT/////////////////9HAE////////////////
//RwBP/////////////////0cAT/////////////////9HAE//////////////////RwBP//////
///////////0cASIiIiIiIiIiIiIiIiIhHAERERERERERERERERERERwBExMTExMTExMTE7Ozkl0
cATMzMzMzMzMzMzMzMzMxAAAREREREREREREREREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////8AAAAGAAAABgAAAAYAAAAGA
AAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAA
AAGAAAABgAAAAYAAAAGAAAABgAAAA8AAAAf///////////////8oAAAAEAAAACAAAAABAAQAAAAA
AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAA
AAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAB3d3d3d3d3dERERERERER0//////
//hHT///////+EdP///////4R0////////hHT///////+EdP///////4R0////////hHT///////
+EdIiIiIiIiIR0zMzMzMzMxHxERERERERMAAAAAAAAAAAAAAAAAAAAAA//8AAIAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAD//wAA//8AAAAAAQACACAg
EAABAAQA6AIAAAIAEBAQAAEABAAoAQAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAMAAAAkDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA