<component id="40" name="Dynamics CRM Merge" componentClassID="{2E42D45B-F83C-400F-8D77-61DDE6A7DF29}" description="Executes a custom script." localeId="1033" usesDispositions="false" validateExternalMetadata="True" version="4" pipelineVersion="0" 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="44" name="SourceCode" dataType="System.String" state="cdata" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None"><arrayElements arrayElementCount="18"><arrayElement dataType="System.String"><![CDATA[\my project\settings.designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

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

    <System.Diagnostics.DebuggerNonUserCode()> _
    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
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\my project\assemblyinfo.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices

' General Information about an assembly is controlled through the following 
' set of attributes. Change these attribute values to modify the information
' associated with an assembly.

' Review the values of the assembly attributes

<Assembly: AssemblyTitle("ScriptComponent_425ddf477f3d4f97b01ee607dc05c767.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_425ddf477f3d4f97b01ee607dc05c767.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2015")> 
<Assembly: AssemblyTrademark("")> 
<Assembly: CLSCompliant(True)> 

<Assembly: ComVisible(False)> 

'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("1208f72e-77b2-4753-ab36-a64212ceecf5")> 

' 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:
' <Assembly: AssemblyVersion("1.0.*")>

<Assembly: AssemblyVersion("1.0.0.0")> 
<Assembly: AssemblyFileVersion("1.0.0.0")> 
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\my project\settings.settings]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version='1.0' encoding='iso-8859-1'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)" GeneratedClassNamespace="" GeneratedClassName="MySettings">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\bufferwrapper.vb]]></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)
        MyBase.New(Component, ObjectID, IsInput, Buffer)
    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[\my project\resources.designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On


Namespace My.Resources
    
    '''<summary>
    '''   A strongly-typed resource class, for looking up localized strings, etc.
    '''</summary>
    '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
        
        '''<summary>
        '''   Returns the cached ResourceManager instance used by this class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        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
        
        '''<summary>
        '''   Overrides the current thread's CurrentUICulture property for all
        '''   resource lookups using this strongly typed resource class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared Property Culture() As System.Globalization.CultureInfo
            Get
                Return _resCulture
            End Get
            Set
                _resCulture = value
            End Set
        End Property
    End Class
End Namespace
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\componentwrapper.vb]]></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 Buffer As PipelineBuffer)

        If InputID = MyBase.ComponentMetaData.InputCollection("Input").ID Then
            Input_ProcessInput(New InputBuffer(Me, InputID, True, Buffer))
        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[\my project\resources.resx]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\main.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' CozyRoc SQL Server Integration Services user script component
'
' Copyright (c) 2006-2015 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.Collections
Imports System.Web.Services.Protocols

Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS
Imports CozyRoc.SqlServer.SSIS.Attributes
Imports CozyRoc.Dynamics.Crm2011.OrganizationService


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<ColumnMappings()> _
<SortProperties(New String() {"CrmConnection", "Entity"})> _
<ValidateProperties("Validate")> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Try
            Dim req As New OrganizationRequest
            req.RequestName = "Merge"
            req("SubordinateId") = New Guid(Row.Buffer(m_seiIndex).ToString())
            req("PerformParentingChecks") = Convert.ToBoolean(Row.Buffer(m_cpIndex))

            ' Setup UpdateContent.
            Dim entity As New Entity
            entity.LogicalName = Me.Entity
            req("UpdateContent") = entity

            ' Setup target.
            Dim target As New EntityReference
            target.LogicalName = Me.Entity
            target.Id = New Guid(Row.Buffer(m_teiIndex).ToString())
            req("Target") = target

            ' Execute action.
            Call m_service.Execute(req)
        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()
        m_service = CType(m_connection.GetService(0), OrganizationServiceClient)

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

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

        inputCol = GetInputColumn_("SubordinateId")
        m_seiIndex = Me.HostComponent.BufferManager.FindColumnByLineageID( _
            input.Buffer, _
            inputCol.LineageID)

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


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

        Call m_connection.Close()
    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 ApplicationException("Select Dynamics CRM connection.")
            End If

            Dim input As IDTSInput100 = Me.ComponentMetaData.InputCollection(0)
            If input.IsAttached AndAlso _
                (input.InputColumnCollection.Count = 0 OrElse _
                input.InputColumnCollection.Count < 3) 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 TargetId.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "TargetId"
        column.DataType = DataType.DT_GUID

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

        ' Setup CheckParent.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "CheckParent"
        column.DataType = DataType.DT_BOOL
    End Sub ' ReinitializeMetaData


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")> _
    <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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Settings")> _
    <Description("Select merge entity.")> _
    <List(New Object() {"account", "contact", "lead", "incident"})> _
    Public Property Entity() As String
        Get
            Entity = m_entity
        End Get
        Set(ByVal value As String)
            m_entity = value
        End Set
    End Property    ' Entity
#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 Merge", _
            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"
    Private m_crmConnection As String
    Private m_entity As String

    Private m_connection As ICrmConnection
    Private m_service As OrganizationServiceClient
    Private m_teiIndex As Integer
    Private m_seiIndex As Integer
    Private m_cpIndex As Integer
#End Region ' Attributes

End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\scriptcomponent_425ddf477f3d4f97b01ee607dc05c767.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- This section defines project-level properties.

       Configuration - Specifies whether the default configuration is Release or Debug.
       Platform - Specifies what CPU the output of this project can run on.
       OutputType - Must be "Library" for VSTA.
       NoStandardLibraries - Set to "false" for VSTA.
       RootNamespace - In C#, this specifies the namespace given to new files.
                       In Visual Basic, all objects are wrapped in this namespace at runtime.
       AssemblyName - Name of the output assembly.
  -->
  <PropertyGroup>
    <ProjectTypeGuids>{A860303F-1F3F-4691-B57E-529FC101A107};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ScriptComponent_425ddf477f3d4f97b01ee607dc05c767.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_425ddf477f3d4f97b01ee607dc05c767.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{E62D7C3B-6558-4FE7-865A-78ADF1E715D3}</ProjectGuid>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Debug" configuration is
       selected.

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>true</DebugSymbols>
    <Optimize>false</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032</NoWarn>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Release" configuration is
       selected.

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032</NoWarn>
  </PropertyGroup>
  <!-- This section enables pre- and post-build steps. However,
       it is recommended that MSBuild tasks be used instead of these properties.
  -->
  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
    <PostBuildEvent>
    </PostBuildEvent>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.Dynamics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL" />
    <Reference Include="CozyRoc.SSISPlus.2008, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL" />
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Web.Services" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.TxScript, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
  </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>
  <!-- This section defines the user source files that are part of the
       project.

       Compile - Specifies a source file to compile.
       EmbeddedResource - Specifies a .resx file for embedded resources.
       None - Specifies a file that is not to be passed to the compiler (for instance,
              a text file or XML file).
       AppDesigner - Specifies the directory where the application properties files can
                     be found.
  -->
  <ItemGroup>
    <AppDesigner Include="My Project\" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
    <Compile Include="main.vb" />
    <Compile Include="My Project\AssemblyInfo.vb">
      <SubType>Code</SubType>
    </Compile>
    <EmbeddedResource Include="My Project\Resources.resx">
      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
      <CustomToolNamespace>My.Resources</CustomToolNamespace>
    </EmbeddedResource>
    <Compile Include="My Project\Resources.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <None Include="My Project\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.vb</LastGenOutput>
    </None>
    <Compile Include="My Project\Settings.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <!-- Include the default configuration information and metadata files for the add-in.
         These files are copied to the build output directory when the project is
         built, and the path to the configuration file is passed to add-in on the command
         line when debugging.
    -->
  </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="{A860303F-1F3F-4691-B57E-529FC101A107}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{C1B21C64-9E6F-4923-A89D-9F958503C1CE}" ApplicationType="usd" Language="vb" TemplatesPath="" />
        <Host Name="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_ScriptComponent</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>]]></arrayElement></arrayElements></property>
<property id="45" name="BinaryCode" dataType="System.String" state="cdata" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[\bin\scriptcomponent_425ddf477f3d4f97b01ee607dc05c767.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
AAAAAR4CKBcAAAoqEzACAC0AAAAaAAARfhEAAAQtIHK/AQBw0AwAAAIoFAAACm9oAAAKc2kAAAoL
B4ARAAAEfhEAAAQqAAAAEzABAAYAAAAbAAARfhIAAAQqAAAeAoASAAAEKkJzFwAACigRAAAKgBQA
AAQqAAAAHgIoagAACiobMAEAPwAAABwAABF+EwAABC0yfhQAAAQoEQAACihrAAAKfhMAAAQtHHMv
AAAGgBMAAATeEH4UAAAEKBEAAAoobAAACtx+EwAABCoAAQwAAAIAHQAMKQAQAAAAAUJTSkIBAAEA
AAAAAAwAAAB2Mi4wLjUwNzI3AAAAAAUAbAAAACwNAAAjfgAAmA0AANgRAAAjU3RyaW5ncwAAAABw
HwAA9AEAACNVUwBkIQAAEAAAACNHVUlEAAAAdCEAAHwFAAAjQmxvYgAAAAAAAAACAAABVxWiCQkP
AAAA+gEzABYAAAEAAABPAAAADQAAABQAAAAwAAAAFAAAAHcAAABCAAAAHAAAAAcAAAAOAAAAEQAA
AAkAAAABAAAACwAAAAEAAAACAAAAAwAAAAIAAAAAAJwRAQAAAAAACgCpAX8BCgDdAb8BBgDtAeYB
CgBFAn8BBgDDAuYBCgBFAxsDDgCXA4ADEgDmA8UDFgAXBMUDDgCyBIADGgBjBTsFHgCABlcGDgDJ
BoADIgAjB/YGBgCRB4AHBgC+B6kHJgAlCBAIJgByCFwIJgCLCFwIJgC4CKAIBgDiCM8ICgAhCfoI
CgA5CRMAJgBuCVEJBgCjCYMJBgDBCeYBBgDlCeYBCgD+CRMABgBCCiMKBgBWCuYBEgBdCsUDBgBq
CuYBHgCAClcGHgCvClcGHgDaClcGHgD3ClcGHgA6C1cGIgBnB/YGIgBpC/YGIgB9C/YGKgC/C6EL
BgDNC+YBBgDXC+YBBgAADOYBBgASDOYBIgAxDPYGCgBODPoILgB1DGoMBgDYDOYBFgDeDMUDHgAC
DVcGBgBhDeYBHgCFDVcGHgDeDVcGHgD8DVcGGgBrDjsFBgCkDpEOBgDwDuYBEgAED8UDDgBNDysP
DgBpDysPDgCBDysPDgCZDysPJgCtD1wIJgDCD1wIDgDUDysPBgD0D+IPBgAbEAoQBgAuEM8IBgCX
EIMJBgC3EIMJBgDVEOIPBgDyECMKBgAAEeIPBgAbEeIPBgA2EeIPBgBPEeIPBgBoEeIPBgCFEeIP
AAAAAAEAAAAAAAEAAQAAAAAAKQA3AAUAAQABAAAAAAByADcACQABAAIAAAEQAH0ANwANAAEAAwAF
AQAAhwAAAA0ABQAIAAUBAACVAAAADQAFAA8AAQAAALAAvAAdAAYAEQABAAAA9AC8ACkABgAWAAEA
AAACAbwADQAIABoAAQAAAA4BvAANAAkAHAABAAAAGAG8ACAACgAdAAAAAAAjAS8BDQARACoAAAEQ
AHQBvABFABMALgAxAAgCIAAxADECLQAxAFMCOgAxAHgCRwAhAFQDkAAGAAIBxwAGAA4BywABAAgF
3AABAAgF3AABALAGAQEBAMAGAQEBANgGBAEBAD0HCAEBAEcHDAEBAFIHDAEBAF0HDAERAKEHEwER
AMoHFwERAD0INQERAEUIOQEIIQAAAAAGGLkBEwABABAhAAAAAAYYuQETAAEAGCEAAAAAERj0ARcA
AQBEIQAAAAATCPsBGwABAFwhAAAAABMIIQIoAAEAdCEAAAAAEwhKAjUAAQCMIQAAAAATCGgCQgAB
AKQhAAAAAEYCrgJjAAEAwCEAAAAARgK3AmgAAgDUIQAAAACDAMgCbAACAOwhAAAAAEYC0AJxAAIA
ACIAAAAAEQDZAngAAgAcIgAAAAABAPcCgAADADgiAAAAAAYYuQETAAQAQCIAAAAAAwgLA4sABAB0
IgAAAAAGGLkBEwAEAIgiAAAAAAYYuQGvAAQAmCIAAAAARgpIBLkACACsIgAAAABGCl8EuQAIAMAi
AAAAAIYAdwS+AAgA2CIAAAAAhgB/BL4ACADwIgAAAAAGGLkBEwAIABAjAAAAAEYCxgTPAAgAQCMA
AAAARgPbBNYACgBUIwAAAABGA+4E1gALAFgjAAAAAAYYuQHgAAwAaCMAAAAABgh8BeYADQCUIwAA
AAAGGLkB4AANAKQjAAAAAAYYuQETAA4ArCMAAAAARgLuBNYADgDsJAAAAABGApwFEwAPAOAlAAAA
AEYCpwUTAA8A9CUAAAAABgCzBfAADwCwJgAAAABGAscFEwAQAHgnAAAAAAYIfAVxABAAkCcAAAAA
BgjcBfYAEACcJwAAAAAGCPQFcQARALQnAAAAAAYI/wX2ABEAwCcAAAAAAQgKBrkAEgDgJwAAAAAB
ACAG9gASAAwoAAAAAAEAkwb7ABMAtCgAAAAAAxi5ARMAFAC8KAAAAAAWCNYHGwEUAPgoAAAAABYI
6gcgARQADCkAAAAAFgj2ByUBFAAUKQAAAAARGPQBFwAVACgpAAAAAAYYuQETABUAMCkAAAAAFghS
CDwBFQAAAAEAtQIAAAEA7gIAAAEA7gIAAAEAJgQAAAIAMAQAAAMAOQQAAAQAQQQAAAEA0wQAAAIA
QQQAAAEAQQQAAAEABAUAAAEAJgQAAAEAJgQAAAEABAUAAAEAvAUAAAEA7gUAAAEA7gUAAAEAKwYA
AAEAowYAAAEAAggJALkBEwCRALkBRgGhALkBVQERALkBEwCpALkBEwAkALkBEwAsALkBEwA0ALkB
EwA8ALkBEwAkAAsDiwAsAAsDiwA0AAsDiwA8AAsDiwCxALkBEwC5ALkBEwDBALkB9gDJALIJ7gEZ
AK4CYwAZALcCaAApANMJ+wEZANACcQDZAO8JCwIZALkBEwDhALkBGwJEAFQDkABMAFIIiwBMABkK
mAJMALkBEwDpALkBpQI5ALkBrwD5AHcEvgD5AH8EvgABAbkBpQJRALkBEwBBAJkKtQIJAcYKuwIR
AecKwQIZAfAKaAAJARoLyAIhAecKzgIpAVML5gA5AbkBEwA5AdwL9gA5AOwL2gJJAOcK3wJZAbkB
9gA5AfcL5AJhAQgM6gIxAbkBEwAxARoM9gBBAbkBEwBBARoM9gBBASoM7wJxAEYM9gJ5AVoM/wJJ
AX0MBgOBAYgMcQB5AZUMFwBRAacMcQBBAJwFEwBZALMMIQNpAMUMEwBpAM0M3wJRAPAMJgORARcN
LAMZAewLaABhACkNaACZATcNMgNBAKcFEwBpAE0NEwDxAFMNQAOhAbkB9gAZAXYNvgAZAaINRQOp
AbwNaABRAbkB9gApAcYN9gBRAMcFEwARAbwNaAAZASQOVgO5AUkOpQKpAVQOEwC5AVQOEwC5AV4O
XAOxAWIO9gCxAXQOYgPxAIEOAQEJAYcOeQO5AecKhAOpAbAOiwPJAb4OkQNhAMoOaACxAfAKaADJ
AecOvgDRAfwOEwDZAbkBEwDhAbkB9gDpAbkBtQPxAbkBEwD5AbkB9gABArkB9gAJArkB9gARArkB
KwQpAP0PdgR5ALkBfASJALkBEwAhAiMQmQQhAikQmQQpArkBEwAxArkBowQ5ArkBEwBBArkB9gBJ
ArkB9gBRArkB9gBZArkB9gBhArkB9gBpArkB9gBxArkB9gB5ArkB9gApAIMAvAEuAKsDagUuAKMD
LQUuALsDLQUuAJsDDQUuAHsDsQQuALMDqgIuAIMD0AQuAHMDqAQuAIsD3QQuAOsAqgIuAJMDqgIu
AAsBBwVAACsAcwFAABMATAFDABMATAFDABsAWwFJAIMAqAFjABMATAFjABsAWwFpAIMAzQGAACsA
cwGDABsAWwGDAHsAcwGDAHMAcwGJAIMA2gGgACsAcwGjAMMAIwKjABMATAHAACsAcwHDABMATAHD
AOsAqgLgACsAcwHjAAsBqgIAASsAcwEAARMATAEDAQsBqgIgASsAcwEgARMATAEpATMDHQQpASMD
2QMpASsD8ANAASsAcwFAARMATAFJATsDMQRJASsDXARJATMDHQRgARMATAFgASsAcwFjAQsBqgJj
AQMDcwFjAQsDpwNjARMDuwNjARsDcwGAASsAcwGJARMAkASgASsAcwGpARMAkATAARMATAHAASsA
cwHJAWsDcwHgASsAcwEAAisAcwEAAhMATAFAAwsBqgKAAwsBqgKUAZkBngGjAfMB9wECAgcCFgIW
Ap4CsAKwAvMB8wHVAgwDOANLA2kDBwIHAnID8wGVA4QEiwSeBAQAAQAGAAUABwAGAAkACAALAAkA
DAAMAA0ADgAAAN0BTwAAAJYCVAAAAEUCWQAAAKICXgAAAF4DmAAAAIsEwgAAAJ4EwgAAAI4F6wAA
AI4FDwEAAGcHDwEAAG4HwgAAAJEHKwEAAAgIMAEAAAIIQQECAAQAAwACAAUABQACAAYABwACAAcA
CQACAA8ACwACABIADQACABMADwACABsAEQACACMAEwABACQAEwACACUAFQABACYAFQACACcAFwAC
ACsAGQACACwAGwABAC0AGwACADAAHQB1AHUAiAB4AX8BhgGNAYUCjAIEgAAAAQAAAAAAAAAAAAAA
AAC8AAAAAgAAAAAAAAAAAAAAAQAKAAAAAAAIAAAAAAAAAAAAAAAKABMAAAAAAAEAAAAAAAAAAAAA
AJ0AagMAAAAACgAAAAAAAAAAAAAApgCoAwAAAAAKAAAAAAAAAAAAAACmAPYDAAAAAAoAAAAAAAAA
AAAAAKYAGAUAAAAACgAAAAAAAAAAAAAApgAzBgAAAAABAAAAAAAAAAAAAACdAOUGAAAAAAIAAAAA
AAAAAAAAAAEA5gEAAAAAAgAAAAAAAAAAAAAACgCNCwAAAAACAAAAAAAAAAAAAAABAGoMAAAAAAAA
AAABAAAASxAAAAUABAAGAAQAAAAQAAwA7AIAABAAGQDsAgAAAAAbAOwCLQARAi0AkwIAAAA8TW9k
dWxlPgBtc2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlvbgBTY3JpcHRD
b21wb25lbnRfNDI1ZGRmNDc3ZjNkNGY5N2IwMWVlNjA3ZGMwNWM3NjcudmJwcm9qLk15AE15Q29t
cHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVjdFByb3ZpZGVyYDEA
SW5wdXRCdWZmZXIAU2NyaXB0Q29tcG9uZW50XzQyNWRkZjQ3N2YzZDRmOTdiMDFlZTYwN2RjMDVj
NzY3LnZicHJvagBVc2VyQ29tcG9uZW50AENvbm5lY3Rpb25zAFZhcmlhYmxlcwBTY3JpcHRNYWlu
AE15UmVzb3VyY2VzAFNjcmlwdENvbXBvbmVudF80MjVkZGY0NzdmM2Q0Zjk3YjAxZWU2MDdkYzA1
Yzc2Ny52YnByb2ouTXkuUmVzb3VyY2VzAE15U2V0dGluZ3MATWljcm9zb2Z0LlZpc3VhbEJhc2lj
LkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1pY3Jvc29mdC5WaXN1
YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9yAGdldF9Db21wdXRl
cgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1fQXBwT2JqZWN0UHJv
dmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRfV2ViU2VydmljZXMA
bV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2ViU2VydmljZXMARXF1
YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0ZV9fSW5zdGFuY2Vf
XwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3RhbmNlAE1pY3Jvc29m
dC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1ZWAxAG1fQ29udGV4
dABHZXRJbnN0YW5jZQBDb3p5Um9jLlNTSVNQbHVzLjIwMDgAQ296eVJvYy5TcWxTZXJ2ZXIuU1NJ
UwBTY3JpcHRCdWZmZXJQbHVzAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuVHhTY3JpcHQATWljcm9zb2Z0
LlNxbFNlcnZlci5EdHMuUGlwZWxpbmUAU2NyaXB0Q29tcG9uZW50AE1pY3Jvc29mdC5TcWxTZXJ2
ZXIuUGlwZWxpbmVIb3N0AFBpcGVsaW5lQnVmZmVyAENvbXBvbmVudABPYmplY3RJRABJc0lucHV0
AEJ1ZmZlcgBnZXRfU3RhdGljSW5wdXRDb2x1bW5zAGdldF9TdGF0aWNPdXRwdXRDb2x1bW5zAE5l
eHRSb3cARW5kT2ZSb3dzZXQAU3RhdGljSW5wdXRDb2x1bW5zAFN0YXRpY091dHB1dENvbHVtbnMA
U2NyaXB0Q29tcG9uZW50UGx1cwBQcm9jZXNzSW5wdXQASW5wdXRJRABJbnB1dF9Qcm9jZXNzSW5w
dXQASW5wdXRfUHJvY2Vzc0lucHV0Um93AFJvdwBQYXJlbnRDb21wb25lbnQATWljcm9zb2Z0LlNx
bFNlcnZlci5EVFNSdW50aW1lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lLldy
YXBwZXIASURUU0Nvbm5lY3Rpb25NYW5hZ2VyMTAwAGdldF9Dcm1Db25uZWN0aW9uAENybUNvbm5l
Y3Rpb24AUHJlRXhlY3V0ZQBQb3N0RXhlY3V0ZQBWYWxpZGF0ZQBlcnJNZXNzYWdlAFJlaW5pdGlh
bGl6ZU1ldGFEYXRhAHNldF9Dcm1Db25uZWN0aW9uAHZhbHVlAGdldF9FbnRpdHkAc2V0X0VudGl0
eQBnZXRfQ3JtQ29ubmVjdGlvblR5cGUARmlyZUVycm9yXwBtZXNzYWdlAE1pY3Jvc29mdC5TcWxT
ZXJ2ZXIuRFRTUGlwZWxpbmVXcmFwAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lLldy
YXBwZXIASURUU0lucHV0Q29sdW1uMTAwAEdldElucHV0Q29sdW1uXwBleHRlcm5hbE5hbWUAbV9j
cm1Db25uZWN0aW9uAG1fZW50aXR5AElDcm1Db25uZWN0aW9uAG1fY29ubmVjdGlvbgBDb3p5Um9j
LkR5bmFtaWNzAENvenlSb2MuRHluYW1pY3MuQ3JtMjAxMS5Pcmdhbml6YXRpb25TZXJ2aWNlAE9y
Z2FuaXphdGlvblNlcnZpY2VDbGllbnQAbV9zZXJ2aWNlAG1fdGVpSW5kZXgAbV9zZWlJbmRleABt
X2NwSW5kZXgARW50aXR5AENybUNvbm5lY3Rpb25UeXBlAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3Vy
Y2VNYW5hZ2VyAF9yZXNNZ3IAU3lzdGVtLkdsb2JhbGl6YXRpb24AQ3VsdHVyZUluZm8AX3Jlc0N1
bHR1cmUAZ2V0X1Jlc291cmNlTWFuYWdlcgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBWYWx1ZQBD
dWx0dXJlAFN5c3RlbS5Db25maWd1cmF0aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFs
dWUAbV9TeW5jT2JqZWN0AGdldF9WYWx1ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJv
d3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBp
bGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlk
ZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5k
YXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25l
bnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGls
ZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRs
ZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxl
Y3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBD
b21WaXNpYmxlQXR0cmlidXRlAFN0cmluZwBTY3JpcHRCdWZmZXIAQ0xTQ29tcGxpYW50QXR0cmli
dXRlAElEVFNDb21wb25lbnRNZXRhRGF0YTEwMABnZXRfQ29tcG9uZW50TWV0YURhdGEASURUU0lu
cHV0Q29sbGVjdGlvbjEwMABnZXRfSW5wdXRDb2xsZWN0aW9uAElEVFNJbnB1dDEwMABnZXRfSXRl
bQBnZXRfSUQASURUU1J1bnRpbWVDb25uZWN0aW9uQ29sbGVjdGlvbjEwMABnZXRfUnVudGltZUNv
bm5lY3Rpb25Db2xsZWN0aW9uAElEVFNSdW50aW1lQ29ubmVjdGlvbjEwMABnZXRfQ29ubmVjdGlv
bk1hbmFnZXIAT3JnYW5pemF0aW9uUmVxdWVzdABFbnRpdHlSZWZlcmVuY2UAU3lzdGVtLldlYi5T
ZXJ2aWNlcwBTeXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scwBTb2FwRXhjZXB0aW9uAEV4Y2Vw
dGlvbgBHdWlkAHNldF9SZXF1ZXN0TmFtZQBnZXRfQnVmZmVyAHNldF9JdGVtAENvbnZlcnQAVG9C
b29sZWFuAEJvb2xlYW4Ac2V0X0xvZ2ljYWxOYW1lAHNldF9JZABPcmdhbml6YXRpb25SZXNwb25z
ZQBFeGVjdXRlAFByb2plY3REYXRhAFNldFByb2plY3RFcnJvcgBTeXN0ZW0uWG1sAFhtbE5vZGUA
Z2V0X0RldGFpbABnZXRfSW5uZXJYbWwAQ2xlYXJQcm9qZWN0RXJyb3IAZ2V0X01lc3NhZ2UAQWNx
dWlyZUNvbm5lY3Rpb24AQ29ubmVjdABHZXRTZXJ2aWNlAEludDMyAFBpcGVsaW5lQ29tcG9uZW50
AGdldF9Ib3N0Q29tcG9uZW50AElEVFNCdWZmZXJNYW5hZ2VyMTAwAGdldF9CdWZmZXJNYW5hZ2Vy
AGdldF9MaW5lYWdlSUQARmluZENvbHVtbkJ5TGluZWFnZUlEAENsb3NlAElzTnVsbE9yRW1wdHkA
QXBwbGljYXRpb25FeGNlcHRpb24AZ2V0X0lzQXR0YWNoZWQASURUU0lucHV0Q29sdW1uQ29sbGVj
dGlvbjEwMABnZXRfSW5wdXRDb2x1bW5Db2xsZWN0aW9uAGdldF9Db3VudABzZXRfQ29ubmVjdGlv
bk1hbmFnZXJJRABJRFRTRXh0ZXJuYWxNZXRhZGF0YUNvbHVtbjEwMABJRFRTRXh0ZXJuYWxNZXRh
ZGF0YUNvbHVtbkNvbGxlY3Rpb24xMDAAZ2V0X0V4dGVybmFsTWV0YWRhdGFDb2x1bW5Db2xsZWN0
aW9uAHNldF9Jc1VzZWQAUmVtb3ZlQWxsAE5ldwBzZXRfTmFtZQBEYXRhVHlwZQBzZXRfRGF0YVR5
cGUARW1wdHkARmlyZUVycm9yAFN5c3RlbS5Db2xsZWN0aW9ucwBJRW51bWVyYXRvcgBHZXRFbnVt
ZXJhdG9yAGdldF9DdXJyZW50AGdldF9FeHRlcm5hbE1ldGFkYXRhQ29sdW1uSUQATW92ZU5leHQA
SURpc3Bvc2FibGUARGlzcG9zZQBTU0lTU2NyaXB0Q29tcG9uZW50RW50cnlQb2ludEF0dHJpYnV0
ZQBDb3p5Um9jLlNxbFNlcnZlci5TU0lTLkF0dHJpYnV0ZXMAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0
cmlidXRlAFNvcnRQcm9wZXJ0aWVzQXR0cmlidXRlAENvbHVtbk1hcHBpbmdzQXR0cmlidXRlAENv
bm5lY3Rpb25BdHRyaWJ1dGUARGVzY3JpcHRpb25BdHRyaWJ1dGUAQ2F0ZWdvcnlBdHRyaWJ1dGUA
TGlzdEF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJseQBnZXRfQXNzZW1ibHkAU3lz
dGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVidWdnZXJOb25Vc2VyQ29kZUF0dHJp
YnV0ZQBTY3JpcHRDb21wb25lbnRfNDI1ZGRmNDc3ZjNkNGY5N2IwMWVlNjA3ZGMwNWM3NjcudmJw
cm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBS
dW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBBc3NlbWJseUZpbGVWZXJzaW9uQXR0cmlidXRl
AEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUAQXNzZW1ibHlDb3B5cmln
aHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2VtYmx5Q29tcGFueUF0dHJp
YnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFzc2VtYmx5VGl0bGVBdHRyaWJ1dGUA
U2NyaXB0Q29tcG9uZW50XzQyNWRkZjQ3N2YzZDRmOTdiMDFlZTYwN2RjMDVjNzY3LnZicHJvai5k
bGwAAAtJAG4AcAB1AHQAABtDAHIAbQBDAG8AbgBuAGUAYwB0AGkAbwBuAAALTQBlAHIAZwBlAAAb
UwB1AGIAbwByAGQAaQBuAGEAdABlAEkAZAAALVAAZQByAGYAbwByAG0AUABhAHIAZQBuAHQAaQBu
AGcAQwBoAGUAYwBrAHMAABtVAHAAZABhAHQAZQBDAG8AbgB0AGUAbgB0AAANVABhAHIAZwBlAHQA
ABFUAGEAcgBnAGUAdABJAGQAABdDAGgAZQBjAGsAUABhAHIAZQBuAHQAAD9TAGUAbABlAGMAdAAg
AEQAeQBuAGEAbQBpAGMAcwAgAEMAUgBNACAAYwBvAG4AbgBlAGMAdABpAG8AbgAuAAAlTQBhAHAA
IABpAG4AcAB1AHQAIABjAG8AbAB1AG0AbgBzAC4AABVOAG8AIABpAG4AcAB1AHQAcwAuAAAZRABZ
AE4AQQBNAEkAQwBTAC0AQwBSAE0AASVEAHkAbgBhAG0AaQBjAHMAIABDAFIATQAgAE0AZQByAGcA
ZQAAL0kAbgBwAHUAdAAgAGMAbwBsAHUAbQBuACAAbgBvAHQAIABmAG8AdQBuAGQALgAAMU0AeQAu
AFIAZQBzAG8AdQByAGMAZQBzAC4ATQB5AFIAZQBzAG8AdQByAGMAZQBzAAAAAADoFG6ZtotBS58U
xlktsf0RAAi3elxWGTTgiQiwP19/EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgB
EggEAAASEQcGFRIYARIRBAAAEhQHBhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAI
BCAAEhUDIAAOAh4ABxABAR4AHgAHMAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAgWz0kLuAw0
6giJhF3NgIDMkQkgBAESIQgCEiUEIAAdDgMgAAIEKAAdDgMGEiQDBhIoBiACAQgSJQUgAQESHAMG
EiEFIAEBEiEEIAASLQQoABItBSABAhAOBCABAQ4FIAESMQ4CBg4DBhI1AwYSOQIGCAMoAA4DBhI9
AwYSQQQAABI9BAAAEkEFAAEBEkEECAASPQQIABJBAwYSNAIGHAQAABI0BAgAEjQFIAEBEU0IAQAB
AAAAAAAFIAIBDg4XAQAKTXlUZW1wbGF0ZQc4LjAuMC4wAAAEAQAAAAYVEhgBEgwGFRIYARIIBhUS
GAESEQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFBMBAA5NeS5BcHBsaWNhdGlvbgAAEAEAC015
LkNvbXB1dGVyAAAMAQAHTXkuVXNlcgAAEwEADk15LldlYlNlcnZpY2VzAAAEAAEcHAMHAQIDBwEI
BgABEhURaQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNl
cnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2Vf
XxNEaXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAYHAhMAEwAE
IAEBAgUBAAAAAAQHAR0OBSAAEoCFBSAAEoCJBiABEoCNHAUgABKAkQYgARKAlRwEBwESLQQgABIl
BCABHAgFIAIBDhwEAAECHAYgAQERgK0IIAESgLkSgJ0GAAEBEoCpBSAAEoDBFAcGEoCZEoCdEoCh
EoClEoCpEYCtBCABHBwFIAASgMkFIAASgM0FIAIICAgHBwISgI0SMQQAAQIOBSAAEoDVCgcEAgIS
gI0SgKkFIAASgN0FIAASgNkGIAEBEYDhCAcCEoDZEoCNBgcCHQ4dDgogBgEIDg4OCBACBiABEoDZ
HAUgABKA5QMgABwRBwYSgNkSMRKAjRIxEjESgOUNAQAIVmFsaWRhdGUAAAUgAQEdDh0BAAIAAAAN
Q3JtQ29ubmVjdGlvbgZFbnRpdHkAABYBABFDcm1Db25uZWN0aW9uVHlwZQAALAEAJ1NlbGVjdCBE
eW5hbWljcyBDUk0gQ29ubmVjdGlvbiBNYW5hZ2VyLgAADQEACFNldHRpbmdzAAAFIAEBHRwqAQAE
AAAADgdhY2NvdW50Dgdjb250YWN0DgRsZWFkDghpbmNpZGVudAAAGQEAFFNlbGVjdCBtZXJnZSBl
bnRpdHkuAAAFIAASgQ0HIAIBDhKBDQYHAhI9Ej0EBwESQQgBAAIAAAAAAAQAAQEcBAcBEjQEIAEB
CAgBAAgAAAAAAB4BAAEAVAIWV3JhcE5vbkV4Y2VwdGlvblRocm93cwEMAQAHMS4wLjAuMAAAKQEA
JDEyMDhmNzJlLTc3YjItNDc1My1hYjM2LWE2NDIxMmNlZWNmNQAABQEAAQAAHwEAGkNvcHlyaWdo
dCBAIE1pY3Jvc29mdCAyMDE1AAA8AQA3U2NyaXB0Q29tcG9uZW50XzQyNWRkZjQ3N2YzZDRmOTdi
MDFlZTYwN2RjMDVjNzY3LnZicHJvagAADgEACU1pY3Jvc29mdAAAAAAApFAAAAAAAAAAAAAAvlAA
AAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAALBQAAAAAAAAAAAAAAAAX0NvckRsbE1haW4AbXNjb3Jl
ZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwADAAAAKAAAgA4A
AABIAACAEAAAAGAAAIAAAAAAAAAAAAAAAAAAAAIAAgAAAHgAAIADAAAAkAAAgAAAAAAAAAAAAAAA
AAAAAQAAfwAAqAAAgAAAAAAAAAAAAAAAAAAAAQABAAAAwAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAA
2AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAA6AAAAAAAAAAAAAAAAAAAAAAAAQAAAAAA+AAAAAAAAAAA
AAAAAAAAAAAAAQAAAAAACAEAAIBlAADoAgAAAAAAAAAAAABoaAAAKAEAAAAAAAAAAAAAkGkAACIA
AAAAAAAAAAAAABhhAABoBAAAAAAAAAAAAABoBDQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBO
AEYATwAAAAAAvQTv/gAAAQAAAAEAAAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAA
AAAAAEQAAAABAFYAYQByAEYAaQBsAGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0
AGkAbwBuAAAAAAAAALAEyAMAAAEAUwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAApAMAAAEA
MAAwADAAMAAwADQAYgAwAAAANAAKAAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAABNAGkAYwBy
AG8AcwBvAGYAdAAAAJgAOAABAEYAaQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABTAGMA
cgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADQAMgA1AGQAZABmADQANwA3AGYAMwBkADQAZgA5
ADcAYgAwADEAZQBlADYAMAA3AGQAYwAwADUAYwA3ADYANwAuAHYAYgBwAHIAbwBqAAAAMAAIAAEA
RgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAmAA8AAEASQBuAHQAZQBy
AG4AYQBsAE4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADQAMgA1AGQA
ZABmADQANwA3AGYAMwBkADQAZgA5ADcAYgAwADEAZQBlADYAMAA3AGQAYwAwADUAYwA3ADYANwAu
AHYAYgBwAHIAbwBqAC4AZABsAGwAAABcABsAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQA
AABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIABNAGkAYwByAG8AcwBvAGYAdAAgADIAMAAxADUAAAAA
AKAAPAABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8A
bQBwAG8AbgBlAG4AdABfADQAMgA1AGQAZABmADQANwA3AGYAMwBkADQAZgA5ADcAYgAwADEAZQBl
ADYAMAA3AGQAYwAwADUAYwA3ADYANwAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAACQADgAAQBQAHIA
bwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8ANAAy
ADUAZABkAGYANAA3ADcAZgAzAGQANABmADkANwBiADAAMQBlAGUANgAwADcAZABjADAANQBjADcA
NgA3AC4AdgBiAHAAcgBvAGoAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAx
AC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEA
LgAwAC4AMAAuADAAAAAoAAAAIAAAAEAAAAABAAQAAAAAAIACAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA
////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAd3d3d3d3d3d3d3d3d3dwBEREREREREREREREREREcAT/////////////////
9HAE//////////////////RwBP/////////////////0cAT/////////////////9HAE////////
//////////RwBP/////////////////0cAT/////////////////9HAE//////////////////Rw
BP/////////////////0cAT/////////////////9HAE//////////////////RwBP//////////
///////0cAT/////////////////9HAE//////////////////RwBP/////////////////0cAT/
////////////////9HAE//////////////////RwBP/////////////////0cASIiIiIiIiIiIiI
iIiIhHAERERERERERERERERERERwBExMTExMTExMTE7Ozkl0cATMzMzMzMzMzMzMzMzMxAAARERE
REREREREREREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAA/////////////////////8AAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAA
AAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAA
A8AAAAf///////////////8oAAAAEAAAACAAAAABAAQAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD/
/wAA////AAAAAAAAAAAAB3d3d3d3d3dERERERERER0////////hHT///////+EdP///////4R0//
//////hHT///////+EdP///////4R0////////hHT///////+EdIiIiIiIiIR0zMzMzMzMxHxERE
RERERMAAAAAAAAAAAAAAAAAAAAAA//8AAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAABAAD//wAA//8AAAAAAQACACAgEAABAAQA6AIAAAIAEBAQAAEABAAo
AQAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAADAAAANAwAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></arrayElement></arrayElements></property>
<property id="52" name="UserComponentTypeName" dataType="System.String" state="default" isArray="false" description="" typeConverter="" UITypeEditor="" containsID="false" expressionType="None">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2008, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property>
<property id="86" name="VSTAProjectName" dataType="System.String" state="default" isArray="false" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None">ScriptComponent_425ddf477f3d4f97b01ee607dc05c767</property>
<property id="87" name="ScriptLanguage" dataType="System.String" state="default" isArray="false" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" UITypeEditor="" containsID="false" expressionType="None">VisualBasic</property></properties>
<connections>
<connection id="77" name="CrmConnection" description="" connectionManagerID="{9cab3e7c-579f-4fad-9af8-fc4294e51641}" /></connections>
<inputs>
<input id="42" name="Input" description="" hasSideEffects="true" dangling="false" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed"><externalMetadataColumns isUsed="True">
<externalMetadataColumn id="79" name="TargetId" description="" precision="0" scale="0" length="0" dataType="guid" codePage="0" mappedColumnId="0" />
<externalMetadataColumn id="80" name="SubordinateId" description="" precision="0" scale="0" length="0" dataType="guid" codePage="0" mappedColumnId="0" />
<externalMetadataColumn id="81" name="CheckParent" description="" precision="0" scale="0" length="0" dataType="bool" codePage="0" mappedColumnId="0" /></externalMetadataColumns></input>
</inputs>
</component>