<component id="2" name="Dynamics CRM Team Members" componentClassID="Microsoft.ManagedComponentHost" description="Executes a custom script." localeId="1033" version="10" contactInfo="Executes a custom script.;Microsoft Corporation;Microsoft SqlServer v9; © 2004 Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;0"><properties><property id="3" name="SourceCode" state="cdata" dataType="System.String" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="15"><arrayElement dataType="System.String"><![CDATA[ScriptMain.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' COZYROC SQL Server Integration Services user script component
'
' Copyright (c) 2006-2013 COZYROC LLC
' 
' Permission is hereby granted, free of charge, to any person
' obtaining a copy of this software and associated documentation
' files (the "Software"), to deal in the Software without
' restriction, including without limitation the rights to use,
' copy, modify, merge, publish, distribute, sublicense, and/or sell
' copies of the Software, and to permit persons to whom the
' Software is furnished to do so, subject to the following
' conditions:
' 
' The above copyright notice and this permission notice shall be
' included in all copies or substantial portions of the Software.
' 
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
' EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
' OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
' NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
' HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
' WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
' FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
' OTHER DEALINGS IN THE SOFTWARE.

Imports System
Imports System.ComponentModel
Imports System.Web.Services.Protocols

Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS
Imports CozyRoc.SqlServer.SSIS.Attributes
Imports CRM2011 = CozyRoc.Dynamics.Crm2011.OrganizationService
Imports CRM4 = CozyRoc.Dynamics.Crm.Service
Imports CRM3 = CozyRoc.Dynamics.Crm3.Service


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<ValidateProperties("Validate")> _
<ColumnMappings()> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Try
            Dim teamId As Guid = New Guid(Row.Buffer(m_tiIndex).ToString())
            Dim memberId As Guid = New Guid(Row.Buffer(m_miIndex).ToString())

            If Not m_service2011 Is Nothing Then
                ' CRM 2011
                Dim req As New CRM2011.OrganizationRequest
                req.RequestName = m_requestName
                req("TeamId") = teamId
                req("MemberIds") = New Guid() {memberId}

                ' Execute action.
                Call m_service2011.Execute(req)
            ElseIf Not m_service4 Is Nothing Then
                ' CRM 4.0

                ' Execute action.
                Select Case Me.Action
                    Case ActionTypes.Add
                        Dim addReq As New CRM4.AddMembersTeamRequest
                        addReq.TeamId = teamId
                        addReq.MemberIds = New Guid() {memberId}
                        Call m_service4.Execute(addReq)

                    Case ActionTypes.Remove
                        Dim removeReq As New CRM4.RemoveMembersTeamRequest
                        removeReq.TeamId = teamId
                        removeReq.MemberIds = New Guid() {memberId}
                        Call m_service4.Execute(removeReq)

                    Case Else
                        Throw New ApplicationException("Unhandled action type.")
                End Select
            Else
                ' CRM 3.0

                ' Execute action.
                Select Case Me.Action
                    Case ActionTypes.Add
                        Dim addReq As New CRM3.AddMembersTeamRequest
                        addReq.TeamId = teamId
                        addReq.MemberIds = New Guid() {memberId}
                        Call m_service3.Execute(addReq)

                    Case ActionTypes.Remove
                        Dim removeReq As New CRM3.RemoveMembersTeamRequest
                        removeReq.TeamId = teamId
                        removeReq.MemberIds = New Guid() {memberId}
                        Call m_service3.Execute(removeReq)

                    Case Else
                        Throw New ApplicationException("Unhandled action type.")
                End Select
            End If
        Catch ex As SoapException
            Call FireError_(ex.Detail.InnerXml)
        Catch ex As Exception
            Call FireError_(ex.Message)
        End Try
    End Sub ' Input_ProcessInputRow


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub PreExecute()
        Call MyBase.PreExecute()

        ' Setup CRM service.
        m_connection = CType( _
            Me.Connections.CrmConnection.AcquireConnection(Nothing), _
            ICrmConnection)
        Call m_connection.Connect()

        Dim service As Object = m_connection.GetService(0)   ' 0 - CRM Service
        m_service2011 = TryCast(service, CRM2011.OrganizationServiceClient)
        If m_service2011 Is Nothing Then
            m_service4 = TryCast(service, CRM4.CrmService)
            If m_service4 Is Nothing Then
                m_service3 = TryCast(service, CRM3.CrmService)
                If m_service3 Is Nothing Then
                    Throw New Exception("Unhandled service object.")
                End If
            End If
        End If

        ' Setup request for CRM 2011.
        Select Case Me.Action
            Case ActionTypes.Add
                m_requestName = "AddMembersTeam"

            Case ActionTypes.Remove
                m_requestName = "RemoveMembersTeam"

            Case Else
                Throw New ApplicationException("Unhandled action type.")
        End Select

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim inputCol As IDTSInputColumn100

        ' Get input column indexes.
        inputCol = GetInputColumn_("TeamId")
        m_tiIndex = Me.HostComponent.BufferManager.FindColumnByLineageID( _
            input.Buffer, _
            inputCol.LineageID)

        inputCol = GetInputColumn_("MemberId")
        m_miIndex = Me.HostComponent.BufferManager.FindColumnByLineageID( _
            input.Buffer, _
            inputCol.LineageID)
    End Sub ' PreExecute


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub PostExecute()
        Call MyBase.PostExecute()

        Call m_connection.Close()
        m_tiIndex = -1
        m_miIndex = -1
    End Sub ' PostExecute


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function Validate(ByRef errMessage As String) As Boolean
        Dim result As Boolean

        Try
            If String.IsNullOrEmpty(Me.CrmConnection) Then
                Throw New Exception("Select Dynamics CRM Connection.")
            End If

            Dim input As IDTSInput100 = Me.ComponentMetaData.InputCollection(0)
            If input.IsAttached AndAlso input.InputColumnCollection.Count < 2 Then
                Throw New Exception("Map input columns.")
            End If

            ' Store connection information in the runtime connection collection, too.
            ' Cannot directly use RuntimeConnectionCollection in the property get/set
            ' because of issues with multi-threading.
            Me.ComponentMetaData.RuntimeConnectionCollection("CrmConnection").ConnectionManagerID = Me.CrmConnection

            result = True
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        End Try

        Validate = result
    End Function    'Validate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub ReinitializeMetaData()
        Call MyBase.ReinitializeMetaData()

        If MyBase.ComponentMetaData.InputCollection.Count = 0 Then
            ' At least one input must exist.
            Throw New Exception("No inputs.")
        End If

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)

        ' Cleanup.
        input.ExternalMetadataColumnCollection.IsUsed = True
        Call input.InputColumnCollection.RemoveAll()
        Call input.ExternalMetadataColumnCollection.RemoveAll()

        Dim column As IDTSExternalMetadataColumn100

        ' Setup team id column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "TeamId"
        column.DataType = DataType.DT_GUID

        ' Setup member id column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "MemberId"
        column.DataType = DataType.DT_GUID
    End Sub ' ReinitializeMetaData


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select Dynamics CRM Connection Manager.")> _
    <Connection("CrmConnectionType")> _
    Public Property CrmConnection() As String
        Get
            CrmConnection = m_crmConnection
        End Get
        Set(ByVal value As String)
            m_crmConnection = value
        End Set
    End Property    ' CrmConnection


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select action.")> _
    <DefaultValue(ActionTypes.Add)> _
    Public Property Action() As ActionTypes
        Get
            Action = m_action
        End Get
        Set(ByVal value As ActionTypes)
            m_action = value
        End Set
    End Property    ' Action
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private ReadOnly Property CrmConnectionType() As String()
        Get
            CrmConnectionType = New String() {"DYNAMICS-CRM"}
        End Get
    End Property    ' CrmConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub FireError_(ByVal message As String)
        Dim cancel As Boolean = False
        Call MyBase.ComponentMetaData.FireError( _
            0, _
            "Dynamics CRM Team Members", _
            message, _
            String.Empty, _
            0, _
            cancel)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetInputColumn_(ByVal externalName As String) As IDTSInputColumn100
        Dim result As IDTSInputColumn100 = Nothing
        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim extColumn As IDTSExternalMetadataColumn100 = input.ExternalMetadataColumnCollection(externalName)

        ' Find input column for specified external column.
        For Each inputCol As IDTSInputColumn100 In input.InputColumnCollection
            If inputCol.ExternalMetadataColumnID = extColumn.ID Then
                ' Found input column.
                result = inputCol
                Exit For
            End If
        Next

        If result Is Nothing Then
            Throw New Exception("Input column not found.")
        End If

        GetInputColumn_ = result
    End Function    ' GetInputColumn_
#End Region ' Internals


#Region "Attributes"
    Enum ActionTypes
        Add
        Remove
    End Enum    ' ActionTypes

    Private m_crmConnection As String
    Private m_action As ActionTypes

    Private m_connection As ICrmConnection
    Private m_service2011 As CRM2011.OrganizationServiceClient
    Private m_service4 As CRM4.CrmService
    Private m_service3 As CRM3.CrmService
    Private m_requestName As String
    Private m_tiIndex As Integer
    Private m_miIndex As Integer
#End Region ' Attributes

End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[BufferWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services buffer wrappers
' This module defines classes for accessing data flow buffers
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!


Option Strict Off   ' This allows usage of PipelineBuffer typed accessors.

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class InputBuffer
    Inherits ScriptBufferPlus

    Public Sub New(ByVal Component As ScriptComponent, ByVal ObjectID As Integer, ByVal IsInput As Boolean, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)
        MyBase.New(Component, ObjectID, IsInput, Buffer, OutputMap)
    End Sub

    Public Overrides ReadOnly Property StaticInputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overloads Function NextRow() As Boolean
        NextRow = MyBase.NextRow()
    End Function

    Public Overloads Function EndOfRowset() As Boolean
        EndOfRowset = MyBase.EndOfRowset
    End Function

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ScriptComponent_d71427b860f44c8684d501170bb21100.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-16"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.30703</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{3E570604-3218-4064-95C7-C4FCB46D5432}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptComponent_05a6c496c45c42c9963913db0b6084b4</RootNamespace>
    <AssemblyName>ScriptComponent_05a6c496c45c42c9963913db0b6084b4</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>.\bin\Debug\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>.\bin\Release\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.SSISPlus.2016, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\130\SDK\Assemblies\CozyRoc.SSISPlus.2016.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.TxScript, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS" />
    <Reference Include="CozyRoc.Dynamics" />
    <Reference Include="System.Web.Services" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <!-- Visual Basic supports Importing namespaces (equivalent to using statements in C#).-->
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Data" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <ItemGroup>
    <AppDesigner Include="My Project\" />
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <!-- This section defines VSTA properties that describe the host-changable project properties. -->
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{30D016F9-3734-4E33-A861-5E7D899E18F3}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{B3A685AA-7EAF-4BC6-9940-57959FA5AC07}" ApplicationType="usd" Language="vb" TemplatesPath="" />
        <Host Name="SSIS_SC110" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC130</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <ItemGroup>
    <Compile Include="ScriptMain.vb" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="My Project\" />
  </ItemGroup>
  <PropertyGroup>
    <OptionCompare>Binary</OptionCompare>
  </PropertyGroup>
  <PropertyGroup>
    <OptionExplicit>On</OptionExplicit>
  </PropertyGroup>
  <PropertyGroup>
    <OptionStrict>On</OptionStrict>
  </PropertyGroup>
</Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ComponentWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services component wrapper
' This module defines the base class for your component
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class UserComponent
    Inherits ScriptComponentPlus

    Public Connections As New Connections(Me)
    Public Variables As New Variables(Me)

    Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal InputName As String, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        If InputID = MyBase.ComponentMetaData.InputCollection("Input").ID Then
            Input_ProcessInput(New InputBuffer(Me, InputID, True, Buffer, OutputMap))
        End If

    End Sub

    Public Overridable Sub Input_ProcessInput(ByVal Buffer As InputBuffer)

        While Buffer.NextRow()
            Input_ProcessInputRow(Buffer)
        End While

    End Sub

    Public Overridable Sub Input_ProcessInputRow(ByVal Row As InputBuffer)

    End Sub

End Class

Public Class Connections

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

    Public ReadOnly Property CrmConnection() As IDTSConnectionManager100
        Get
            Return ParentComponent.ComponentMetaData.RuntimeConnectionCollection("CrmConnection").ConnectionManager
        End Get
    End Property

End Class

Public Class Variables

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Project]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<c:Project xmlns:c="http://schemas.microsoft.com/codeprojectml/2010/08/main" xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003" runtimeVersion="4.0" schemaVersion="1.0">
	<msb:PropertyGroup>
		<msb:NoContent>Reference;Import;Folder</msb:NoContent>
		<msb:ProjectId>{74364D91-DA98-434F-BC80-106434E6793A}</msb:ProjectId>
		<msb:CodeName>ScriptComponent_d71427b860f44c8684d501170bb21100</msb:CodeName>
		<msb:Language>msBuild</msb:Language>
		<msb:DisplayName>ScriptComponent_d71427b860f44c8684d501170bb21100</msb:DisplayName>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Folder Include="My Project\"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="ScriptMain.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:Project Include="ScriptComponent_d71427b860f44c8684d501170bb21100.vbproj"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement></arrayElements></property><property id="4" name="BinaryCode" state="cdata" dataType="System.String" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[ScriptComponent_05a6c496c45c42c9963913db0b6084b4.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
I0dVSUQAAACMHQAAhAQAACNCbG9iAAAAAAAAAAIAAAFXHaIJCQ4AAAD6ATMAFgAAAQAAAEoAAAAM
AAAAFQAAACkAAAAWAAAAcQAAAAIAAAA0AAAACgAAAAUAAAALAAAADQAAAAgAAAABAAAACwAAAAMA
AAADAAAAAgAAAAAAlAcBAAAAAAAGAFoGUQwGALcGUQwGACoFcAsPAHEMAAAGALEFHAcKACYGlgwK
AEIGlgwOAJAGYQQGAHoG8wcKAOkIMwISAIQNYAMSAFUDOAMSAFUDGgMGABUD8wcSAFIOYAMSACMO
OAMSADkOOAMSACMOGgMSADkOGgMWAE4JvwwGAFIJ8wcGAF8N8wcaABEBuAoaADgAuAoaABoAuAoG
AC4LDA0GAPoH8wceABEGaQcKAP0FlgweAJsFaQcKADoNMwIOAM4NYQQiACgKYQQOAF4JYQQKAEsN
MwImAOMAkAoeABMFeAoeAOkEaQceAD4FaQcqAK0E4QsqAPkKkQsGAMoFcAsqAGsFKgwqAIMF1gIq
AOUK4QsqAOIF1gIGAKgE8wcGAFcFCwwqACwBPwceAP4E/wcSAL0EYAMSAMkEOAMSAF4OOAMGADkJ
8wcSAMkEGgMSAF4OGgMqAMECKgwuAMwDyQcGACsNUQwaAAEAuAoaALMAuAoGAFYB8wciAJ4NYQQa
APwAuAoGADgH8wcaAHMAuAoaAJAAuAoaAMoAuAoaAEsAuAomAIYEkAoGAPMD8wcOADcKYQQGAP8D
8wcGAEgL8wcAAAAAuQEAAAAAAQABAAEAAAAcCGcBEAABAAEAAQAAAEQKZwF9AAoADgABAAAAsA1n
AY0ACgATAAEAAAAfDWcBWQAMABcAAQAAAIAMZwFZAA0AGQAAAAAANwjrDqEADgAaAAAAAAD3CusO
pQAOABsAAAEQAGYN6w5ZAA4AHAACAQAAigwAAG0AEgAhAAUBAADTCwAAWQAVACEABQEAADsBAABZ
ABUAKAABABwJGQEBAFsI9gEBACwJ+gEBAB4B/gEBAJgBAgIBAFwBBgIBAEkEGQEBAOEOCgIBANcO
CgIGAB8NDQIGAIAMEQIBAL4NFQIBAL4NFQIxAOYJGgIxAL0JIgIxANEJKgIxAP8JMwIGBnMCCgJW
gPcC9gFWgBUH9gEhAKsOqQFQIAAAAAAGGFILBgABAFggAAAAAMYCuQ47AgEAgCIAAAAAxgLVBgYA
AgC7IwAAAADGAuAGBgACANwjAAAAAAYA4ARBAgIAiCQAAAAAxgKWAgYAAwAsJQAAAAAGCPgIUwAD
AEElAAAAAAYICgkQAAMATCUAAAAABghFCEcCBABhJQAAAAAGCFAITAIEAGwlAAAAAAEIjwRSAgUA
jCUAAAAAAQCLAhAABQC4JQAAAAABAHsCVwIGAGAmAAAAAAYYUgtFAQcAbyYAAAAAxgrdDFICDABv
JgAAAADGCvQMUgIMAHgmAAAAAIYAzw7eAAwAkCYAAAAAhgB4Dd4ADAClJgAAAAAGGFILBgAMAMUm
AAAAAMYClQ5dAgwA9SYAAAAARgOPDjsCEAAIJwAAAABGA7kOOwIRAAonAAAAAAYYUgtpAhIAGScA
AAAABgj4CFQBEwA6JwAAAAAGGFILaQITAEknAAAAAAYYUgsGABQAUScAAAAABhhSCwYAFABZJwAA
AAATCOoKcAIUAGUnAAAAABMIJwh1AhQAcScAAAAAEwjhCnoCFAB9JwAAAAATCMMLgAIUAIknAAAA
ABEYWAuQABQAsycAAAAAxgK4DHwBFADBJwAAAADGAsADxgAVAMknAAAAAIMApQSFAhUA1ScAAAAA
xgI2B1MAFQDgJwAAAAARAGACiwIVAAAoAAAAAAEATAKTAhYACSgAAAAABhhSCwYAFwAUKAAAAAAD
CKcDYQEXAEgoAAAAAAYYUgsGABcAAAABANMOAAABAOADAAABAA8HAAABAA8HAAABAOsDAAABACwE
AAABAOYNAAACACICAAADAIcOAAAEAEkKAAAFAGwJAAABACsCAAACAFcEAAADAEkKAAAEAGwJAAAB
AEkKAAABANMOAAABAOYNAAABAOYNAAABAFwJAAABALcDAAABALcDCQBSCwEAEQBSCwYAGQBSCwoA
KQBSCxAAMQBSCxAAOQBSCwYAQQBSCwYASQBSCxUA4QBSCxAA6QBSCxAA8QBSCwEAKQFSCxoAOQFS
CyAAUQFSCwYAWQFSCwYAYQFSCwYAcQFSCycAgQFSCxUAkQFSCxAA+QAdCkgACQHhB04AsQA2B1MA
cQBSCxAAeQBSCwYAeQA5BBAAeQDqB1cAWQDkBl0AgQBSCwYAgQDsAmUAgQCDC2sAYQDkBnIAiQBS
CwYAiQDsAmUAiQCDC2sAsQFSCxAAkQBSCwYAkQDsAmUAkQCDC2sAaQDkBnsAmQBSCwYAmQDsAmUA
mQCDC2sAyQEeC4QAoQB/B4oA0QHUB1MAyQEMC5AAqQDUA1MAAQHVBgYAIQHXCJ4AUQBwDQYAUQCN
A04A2QEAB6MAqQBSCxAAAQGrAqgA4QHDCK4A6QHhB7QAGQHeDboA+QFmCsAAuQAdCsYAwQDJAcYA
AQLXAcoAAQHgBgYAUQDSBAYACQIfD9kAuQD7At4AuQCJCOIAEQL8DcYA4QGjCOgAGQLhB+4AIQIK
AhAAGQGWAgYA6QH8DcYAuQBkCPUAKQIKAxUAEQKKBwYAKQKKBwYAKQK1DvsAyQAjBBAAyQCCBAAB
CQInDxkB4QECCxwBKQLhBzYBEQI6CzwB0QDwDUEBwQDtAcYAyQDCAcYA0QCiDt4AOQLYBAYA+QBS
C0UBQQLPDt4AQQJ4Dd4AGQFSCwYAuQDCAcYAsQBSCwYAIQJQClQBQQFSCwYASQFSCwYADACnA2EB
FACnA2EBHACnA2EBJACnA2EBDABSCwYAFABSCwYAHABSCwYAJABSCwYAsQC4DHwBsQDAA8YAeQER
BIEBUQKYA5IBNACrDqkBPADsBmEBPAD2BsIBPABSCwYACABMAOwBCABQAPEBKQBLANoDKQBTAAcE
LgALAMkCLgATANICLgAbAPECLgAjAPoCQwArAFEDQwAzAPEBQwA7APEBQwBDAEIDSQBLAB4ESQBb
ADIEYwBDAEIDgwBDAEID4wBjAF8D4wBrAEgD6QCbADsEAwFjAF8DAwFrAEgDCQGbAEwEIwF7APEB
IwGDAPEBIwFjAF8DKQGbAGAESQGbAG0EYwFrAEgDYwGLAHgDgwFrAEgDgwGTAEID4AJDAEIDIAND
AEIDYANzAPEBYANrAEgDgANzAPEBoANzAPEBwANzAPEB4ANzAPEBIARrAEgDIARzAPEBQARrAEgD
QARzAPEBYARrAEgDYARzAPEBgARrAEgDgARzAPEBoARzAPEBwARzAPEB4ARzAPEB4ARrAEgDAAVz
APEBIAVzAPEBIAVrAEgDLwCUANAABwELARABFQEnAYoBnQECAAEAAwAEAAUABgAJAAcADAALAAAA
DgmbAgAAVAifAgAAkwSkAgAA4QykAgAA+AykAgAADgmpAgAA+QqvAgAAOQi0AgAA5Qq5AgAA1Qu/
AgAAqwPEAgIABwADAAEACAADAAIACQAFAAEACgAFAAIACwAHAAIADwAJAAIAEAALAAIAGAANAAIA
HAAPAAIAHQARAAIAHgATAAIAHwAVAAIAKAAXAFoBZgFtAXUBjwGiAbIBugEEgAAAAAAAAAAAAAAA
AAAAAABnAQAABAAAAAAAAAAAAAAAyAHNAgAAAAABAAAAAAAAAAAAAADRAaMBAAAAAA0AAAAAAAAA
AAAAANoBBg4AAAAAAQAAAAAAAAAAAAAA0QFfCwAAAAAEAAAAAAAAAAAAAADjAa8LAAAAAA0AAAAA
AAAAAAAAANoBmQkAAAAABAAAAAAAAAAAAAAAyAHzBwAAAAANAAAAAAAAAAAAAADaAWYOAAAAAA0A
AAAAAAAAAAAAANoBdgkAAAAACgAAAAAAAAAAAAAA4wHWAgAAAAAEAAAAAAAAAAAAAADIAckHAAAA
AAoAAgALAAkADAAJAAAAEAAYAEoCAAAQAEsASgIAAAAATQBKAtsAmAHbAL0BAAAASURUU0NvbXBv
bmVudE1ldGFEYXRhMTAwAElEVFNFeHRlcm5hbE1ldGFkYXRhQ29sdW1uMTAwAElEVFNJbnB1dENv
bHVtbjEwMABJRFRTRXh0ZXJuYWxNZXRhZGF0YUNvbHVtbkNvbGxlY3Rpb24xMDAASURUU0lucHV0
Q29sdW1uQ29sbGVjdGlvbjEwMABJRFRTUnVudGltZUNvbm5lY3Rpb25Db2xsZWN0aW9uMTAwAElE
VFNJbnB1dENvbGxlY3Rpb24xMDAASURUU1J1bnRpbWVDb25uZWN0aW9uMTAwAElEVFNDb25uZWN0
aW9uTWFuYWdlcjEwMABJRFRTQnVmZmVyTWFuYWdlcjEwMABJRFRTSW5wdXQxMDAAbV9zZXJ2aWNl
MjAxMQBDb250ZXh0VmFsdWVgMQBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBJbnQzMgBtX3Nl
cnZpY2UzAFNjcmlwdENvbXBvbmVudF8wNWE2YzQ5NmM0NWM0MmM5OTYzOTEzZGIwYjYwODRiNABt
X3NlcnZpY2U0AENvenlSb2MuU1NJU1BsdXMuMjAxNgA8TW9kdWxlPgBnZXRfSUQAZ2V0X0xpbmVh
Z2VJRABGaW5kQ29sdW1uQnlMaW5lYWdlSUQAZ2V0X0V4dGVybmFsTWV0YWRhdGFDb2x1bW5JRABz
ZXRfQ29ubmVjdGlvbk1hbmFnZXJJRABPYmplY3RJRABJbnB1dElEAENvenlSb2MuU3FsU2VydmVy
LlNTSVMAVABEaXNwb3NlX19JbnN0YW5jZV9fAENyZWF0ZV9fSW5zdGFuY2VfXwB2YWx1ZV9fAEdl
dElucHV0Q29sdW1uXwBGaXJlRXJyb3JfAFJlaW5pdGlhbGl6ZU1ldGFEYXRhAGdldF9Db21wb25l
bnRNZXRhRGF0YQBQcm9qZWN0RGF0YQBtc2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMAc2V0
X1RlYW1JZABBZGQAZ2V0X0lzQXR0YWNoZWQAc2V0X0lzVXNlZABHdWlkAENvenlSb2MuRHluYW1p
Y3MuQ3JtMy5TZXJ2aWNlAENvenlSb2MuRHluYW1pY3MuQ3JtLlNlcnZpY2UAQ3JtU2VydmljZQBD
b3p5Um9jLkR5bmFtaWNzLkNybTIwMTEuT3JnYW5pemF0aW9uU2VydmljZQBHZXRTZXJ2aWNlAENy
ZWF0ZUluc3RhbmNlAGdldF9HZXRJbnN0YW5jZQBpbnN0YW5jZQBHZXRIYXNoQ29kZQBYbWxOb2Rl
AGdldF9NZXNzYWdlAGVyck1lc3NhZ2UAbWVzc2FnZQBJRGlzcG9zYWJsZQBSdW50aW1lVHlwZUhh
bmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBzZXRfTmFtZQBleHRlcm5hbE5hbWUAc2V0X1JlcXVlc3RO
YW1lAG1fcmVxdWVzdE5hbWUASW5wdXROYW1lAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVs
aW5lAHNldF9EYXRhVHlwZQBnZXRfQ3JtQ29ubmVjdGlvblR5cGUAR2V0VHlwZQBBcHBsaWNhdGlv
bkJhc2UAT3JnYW5pemF0aW9uUmVzcG9uc2UAQ2xvc2UARGlzcG9zZQBWYWxpZGF0ZQBFZGl0b3JC
cm93c2FibGVTdGF0ZQBIZWxwS2V5d29yZEF0dHJpYnV0ZQBHZW5lcmF0ZWRDb2RlQXR0cmlidXRl
AERlYnVnZ2FibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlAENvbVZpc2libGVB
dHRyaWJ1dGUAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUASGlkZU1vZHVsZU5hbWVBdHRyaWJ1dGUA
RGVmYXVsdFZhbHVlQXR0cmlidXRlAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBEZWJ1Z2dlckhp
ZGRlbkF0dHJpYnV0ZQBNeUdyb3VwQ29sbGVjdGlvbkF0dHJpYnV0ZQBDb25uZWN0aW9uQXR0cmli
dXRlAERlc2NyaXB0aW9uQXR0cmlidXRlAFZhbGlkYXRlUHJvcGVydGllc0F0dHJpYnV0ZQBDb2x1
bW5NYXBwaW5nc0F0dHJpYnV0ZQBDb21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAENMU0Nv
bXBsaWFudEF0dHJpYnV0ZQBTU0lTU2NyaXB0Q29tcG9uZW50RW50cnlQb2ludEF0dHJpYnV0ZQBS
dW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBQcmVFeGVjdXRlAFBvc3RFeGVjdXRlAGdldF9W
YWx1ZQBzZXRfVmFsdWUAR2V0T2JqZWN0VmFsdWUAdmFsdWUAUmVtb3ZlAFN5c3RlbS5SdW50aW1l
LlZlcnNpb25pbmcAVG9TdHJpbmcATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50
ZXJuYWwAU3lzdGVtLkNvbXBvbmVudE1vZGVsAGdldF9EZXRhaWwAUmVtb3ZlQWxsAFNjcmlwdENv
bXBvbmVudF8wNWE2YzQ5NmM0NWM0MmM5OTYzOTEzZGIwYjYwODRiNC5kbGwAU3lzdGVtLlhtbABn
ZXRfSW5uZXJYbWwAZ2V0X0l0ZW0Ac2V0X0l0ZW0AU3lzdGVtAEVudW0AU3lzdGVtLkNvbXBvbmVu
dE1vZGVsLkRlc2lnbgBTY3JpcHRNYWluAGdldF9BcHBsaWNhdGlvbgBNeUFwcGxpY2F0aW9uAGdl
dF9BY3Rpb24Ac2V0X0FjdGlvbgBtX2FjdGlvbgBnZXRfRXh0ZXJuYWxNZXRhZGF0YUNvbHVtbkNv
bGxlY3Rpb24AZ2V0X0lucHV0Q29sdW1uQ29sbGVjdGlvbgBnZXRfUnVudGltZUNvbm5lY3Rpb25D
b2xsZWN0aW9uAGdldF9JbnB1dENvbGxlY3Rpb24AQWNxdWlyZUNvbm5lY3Rpb24ASUNybUNvbm5l
Y3Rpb24AZ2V0X0NybUNvbm5lY3Rpb24Ac2V0X0NybUNvbm5lY3Rpb24AbV9jcm1Db25uZWN0aW9u
AG1fY29ubmVjdGlvbgBBcHBsaWNhdGlvbkV4Y2VwdGlvbgBTb2FwRXhjZXB0aW9uAG8AT3V0cHV0
TmFtZU1hcABPdXRwdXRNYXAATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNSdW50aW1lV3JhcABNaWNy
b3NvZnQuU3FsU2VydmVyLkRUU1BpcGVsaW5lV3JhcABtX0FwcE9iamVjdFByb3ZpZGVyAG1fVXNl
ck9iamVjdFByb3ZpZGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBtX015V2ViU2VydmljZXNP
YmplY3RQcm92aWRlcgBnZXRfQnVmZmVyAFBpcGVsaW5lQnVmZmVyAFNjcmlwdEJ1ZmZlcgBJbnB1
dEJ1ZmZlcgBnZXRfQ29ubmVjdGlvbk1hbmFnZXIAZ2V0X0J1ZmZlck1hbmFnZXIAU3lzdGVtLkNv
ZGVEb20uQ29tcGlsZXIATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZS5XcmFwcGVyAE1p
Y3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lLldyYXBwZXIAZ2V0X1VzZXIAZ2V0X0NvbXB1
dGVyAE15Q29tcHV0ZXIARmlyZUVycm9yAENsZWFyUHJvamVjdEVycm9yAFNldFByb2plY3RFcnJv
cgBJRW51bWVyYXRvcgBHZXRFbnVtZXJhdG9yAEFjdGl2YXRvcgAuY3RvcgAuY2N0b3IAQ296eVJv
Yy5EeW5hbWljcwBTeXN0ZW0uRGlhZ25vc3RpY3MAc2V0X01lbWJlcklkcwBNaWNyb3NvZnQuVmlz
dWFsQmFzaWMuRGV2aWNlcwBTeXN0ZW0uV2ViLlNlcnZpY2VzAGdldF9XZWJTZXJ2aWNlcwBNeVdl
YlNlcnZpY2VzAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5BcHBsaWNhdGlvblNlcnZpY2VzAFN5c3Rl
bS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJT
ZXJ2aWNlcwBTeXN0ZW0uUnVudGltZS5Db21waWxlclNlcnZpY2VzAERlYnVnZ2luZ01vZGVzAFZh
cmlhYmxlcwBBY3Rpb25UeXBlcwBDb3p5Um9jLlNxbFNlcnZlci5TU0lTLkF0dHJpYnV0ZXMARXF1
YWxzAFN5c3RlbS5XZWIuU2VydmljZXMuUHJvdG9jb2xzAGdldF9TdGF0aWNJbnB1dENvbHVtbnMA
Z2V0X1N0YXRpY091dHB1dENvbHVtbnMAU3lzdGVtLkNvbGxlY3Rpb25zAENvbm5lY3Rpb25zAFJ1
bnRpbWVIZWxwZXJzAFNjcmlwdEJ1ZmZlclBsdXMAU2NyaXB0Q29tcG9uZW50UGx1cwBPYmplY3QA
TXlQcm9qZWN0AENvbm5lY3QARW5kT2ZSb3dzZXQAT3JnYW5pemF0aW9uU2VydmljZUNsaWVudABQ
aXBlbGluZUNvbXBvbmVudABVc2VyQ29tcG9uZW50AFBhcmVudENvbXBvbmVudABTY3JpcHRDb21w
b25lbnQAZ2V0X0hvc3RDb21wb25lbnQAZ2V0X0N1cnJlbnQAZ2V0X0NvdW50AE1pY3Jvc29mdC5T
cWxTZXJ2ZXIuVHhTY3JpcHQAQWRkTWVtYmVyc1RlYW1SZXF1ZXN0AFJlbW92ZU1lbWJlcnNUZWFt
UmVxdWVzdABPcmdhbml6YXRpb25SZXF1ZXN0AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuUGlwZWxpbmVI
b3N0AElzSW5wdXQASW5wdXRfUHJvY2Vzc0lucHV0AE1vdmVOZXh0AG1fQ29udGV4dABOZXcASW5w
dXRfUHJvY2Vzc0lucHV0Um93AE5leHRSb3cAbV9taUluZGV4AG1fdGlJbmRleABTY3JpcHRDb21w
b25lbnRfMDVhNmM0OTZjNDVjNDJjOTk2MzkxM2RiMGI2MDg0YjQuTXkASXNOdWxsT3JFbXB0eQAA
AAAADVQAZQBhAG0ASQBkAAATTQBlAG0AYgBlAHIASQBkAHMAAC1VAG4AaABhAG4AZABsAGUAZAAg
AGEAYwB0AGkAbwBuACAAdAB5AHAAZQAuAAAzVQBuAGgAYQBuAGQAbABlAGQAIABzAGUAcgB2AGkA
YwBlACAAbwBiAGoAZQBjAHQALgAAHUEAZABkAE0AZQBtAGIAZQByAHMAVABlAGEAbQAAI1IAZQBt
AG8AdgBlAE0AZQBtAGIAZQByAHMAVABlAGEAbQAAEU0AZQBtAGIAZQByAEkAZAAAP1MAZQBsAGUA
YwB0ACAARAB5AG4AYQBtAGkAYwBzACAAQwBSAE0AIABDAG8AbgBuAGUAYwB0AGkAbwBuAC4AACVN
AGEAcAAgAGkAbgBwAHUAdAAgAGMAbwBsAHUAbQBuAHMALgAAG0MAcgBtAEMAbwBuAG4AZQBjAHQA
aQBvAG4AABVOAG8AIABpAG4AcAB1AHQAcwAuAAAZRABZAE4AQQBNAEkAQwBTAC0AQwBSAE0AATNE
AHkAbgBhAG0AaQBjAHMAIABDAFIATQAgAFQAZQBhAG0AIABNAGUAbQBiAGUAcgBzAAAvSQBuAHAA
dQB0ACAAYwBvAGwAdQBtAG4AIABuAG8AdAAgAGYAbwB1AG4AZAAuAAALSQBuAHAAdQB0AAAAi3CO
C3S4QkW9fCoq64E3ZQAEIAEBCAMgAAEFIAEBEREEIAEBDgQgAQECBSACAQ4OBiABARGAmQcgBAEO
Dg4OGAcLETkRORI9ESgSQRJFESgSSRJNElESVQUgABKAhQQgARwIAyAADgUgAgEOHAcgARKAzRI9
BSABARE5BiABAR0ROQggARKA0RKA1QggARKA3RKA4QUAAQESVQUgABKA6QMAAAEJBwQcEl0SYREo
BCABHBwEAAEcHAUgABKA8QUgABKA9QUgARJdHAUgABKA/QUgABKBAQMgAAgFIAIICAgIBwQCAhJd
ElUEAAECDgMgAAIFIAASgQkFIAASgQ0GIAESgREcBSAAEoEVBCAAEmUGIAEBEYEZAwcBDgQHAREo
BAcBHQ4DBwECAgYOCiAGAQgODg4IEAIOBwYSYRJhEl0SZRJpEmEFIAESZRwEIAASaQMgABwOIAUB
EoCBCAISgIUSgIkFIAASgJEGFRIwARIgBCAAEwAGFRIwARIcBxUSMAESgLUGFRIwARIsBCABAhwI
AAESgL0RgSUEBwEeAAIeAAUQAQAeAAQKAR4ABAcBEwAGFRIwARMACAYVEoDFARMABxUSgMUBEwAC
EwAECgETAAUgAQETAAi3elxWGTTgiQgWz0kLuAw06giJhF3NgIDMkQiwP19/EdUKOgQAAAAABAEA
AAADBhEoAwYSKQMGEi0DBhIxAwYSNQIGCAMGEhQDBhIYBAYSgIEHBhUSMAESIAcGFRIwARIcCAYV
EjABEoC1BwYVEjABEiwFIAEBEgwFIAECEA4EIAARKAUgAQERKAQgAB0OBSABEmEOCyAEAQgOEoCF
EoCJBiABARKAgQQAABIgBAAAEhwFAAASgLUEAAASLAUgABKAvQcQAQEeAB4ABzABAQEQHgADKAAO
BCgAESgEKAAdDgUoABKAkQQIABIgBAgAEhwFCAASgLUECAASLAQoABMACAEACAAAAAAAHgEAAQBU
AhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAQgBAAIAAAAAAEcBABouTkVURnJhbWV3b3JrLFZlcnNp
b249djQuMAEAVA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNAUBAAAAAAgB
AAEAAAAAAA0BAAhWYWxpZGF0ZQAAGAEACk15VGVtcGxhdGUIMTEuMC4wLjAAAGEBADRTeXN0ZW0u
V2ViLlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5z
dGFuY2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAALAEAJ1NlbGVjdCBEeW5hbWljcyBDUk0gQ29u
bmVjdGlvbiBNYW5hZ2VyLgAAFgEAEUNybUNvbm5lY3Rpb25UeXBlAAATAQAOU2VsZWN0IGFjdGlv
bi4AAAgBAAAAAAAAABABAAtNeS5Db21wdXRlcgAAEwEADk15LkFwcGxpY2F0aW9uAAAMAQAHTXku
VXNlcgAAEwEADk15LldlYlNlcnZpY2VzAAAAAACUSgAAAAAAAAAAAACuSgAAACAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAoEoAAAAAAAAAAAAAAABfQ29yRGxsTWFpbgBtc2NvcmVlLmRsbAAAAAAA/yUA
IAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAA
gAAAAAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAADsAgAA
AAAAAAAAAADsAjQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAA
AAAAAAAAAAAAAAAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYA
aQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAETAIA
AAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAAKAIAAAEAMAAwADAAMAAwADQAYgAwAAAA
LAACAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAACAAAAAwAAgAAQBGAGkAbABl
AFYAZQByAHMAaQBvAG4AAAAAADAALgAwAC4AMAAuADAAAACKADUAAQBJAG4AdABlAHIAbgBhAGwA
TgBhAG0AZQAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8AMAA1AGEANgBjADQAOQA2
AGMANAA1AGMANAAyAGMAOQA5ADYAMwA5ADEAMwBkAGIAMABiADYAMAA4ADQAYgA0AC4AZABsAGwA
AAAAACgAAgABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAAACAAAACSADUAAQBPAHIAaQBn
AGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQA
XwAwADUAYQA2AGMANAA5ADYAYwA0ADUAYwA0ADIAYwA5ADkANgAzADkAMQAzAGQAYgAwAGIANgAw
ADgANABiADQALgBkAGwAbAAAAAAANAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAA
MAAuADAALgAwAC4AMAAAADgACAABAEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAw
AC4AMAAuADAALgAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADAAAAMA6AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></arrayElement></arrayElements></property><property id="9" name="UserComponentTypeName" dataType="System.String">CozyRoc.ScriptComponentHostPlus</property><property id="11" name="VSTAProjectName" dataType="System.String" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE">ScriptComponent_d71427b860f44c8684d501170bb21100</property><property id="12" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><connections><connection id="15" name="CrmConnection" connectionManagerID="{EB1EB761-DB8F-4F1C-96A3-1EF8BB8AE919}" /></connections><inputs><input id="16" name="Input" hasSideEffects="true"><externalMetadataColumns isUsed="True"><externalMetadataColumn id="44" name="TeamId" dataType="guid" /><externalMetadataColumn id="45" name="MemberId" dataType="guid" /></externalMetadataColumns></input></inputs></component>