<component id="2" name="Dynamics CRM Incident State" componentClassID="{874F7595-FB5F-40FF-96AF-FBFF8250E3EF}" description="Executes a custom script." localeId="1033" version="7" 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="30"><arrayElement dataType="System.String"><![CDATA[My Project\Settings.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></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[scriptcomponent_82cf52728b294a71aa89a04d7f7b1fe1.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">
  <!-- 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>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ScriptComponent_82cf52728b294a71aa89a04d7f7b1fe1.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_82cf52728b294a71aa89a04d7f7b1fe1.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{EB31B939-4C0B-42C6-B383-8CAA033837EB}</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,42353,42354,42355</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,42353,42354,42355</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.2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\110\SDK\Assemblies\CozyRoc.SSISPlus.2012.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SqlServer.ManagedDTS\v4.0_11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.ManagedDTS.dll</HintPath>
    </Reference>
    <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=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=11.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="{30D016F9-3734-4E33-A861-5E7D899E18F3}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{B3A685AA-7EAF-4BC6-9940-57959FA5AC07}" ApplicationType="usd" Language="vb" TemplatesPath="" DebugInfoExeName="devenv.exe" DebugInfoCommandLine="/vstaHostDebugUri:&quot;vstadebugbf1962e6-802e-404d-b931-5d75ced89bf4/e7d09d16-5542-4588-b6af-145bb4fe5c7d&quot;" />
        <Host Name="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC110</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <PropertyGroup>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
  </PropertyGroup>
  <PropertyGroup>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
  </PropertyGroup>
</Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\AssemblyInfo.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></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_82cf52728b294a71aa89a04d7f7b1fe1.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_82cf52728b294a71aa89a04d7f7b1fe1.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2012")> 
<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("b3467dac-d5d5-4361-a37b-0c841cf1469c")> 

' 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[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[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[main.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-2012 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
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


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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Class Consts
        Public Const Incident As String = "incident"
        Public Const IncidentResolution As String = "incidentresolution"
        Public Const IncidentState As String = "incidentstatecode"
        Public Const IncidentStatus As String = "incidentstatuscode"
        Public Const ReferenceType As String = "ReferenceType"
        Public Const IncidentId As String = "incidentid"
    End Class


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Try
            If Not m_service2011 Is Nothing Then
                Call Process2011_(Row.Buffer)
            ElseIf Not m_service4 Is Nothing Then
                Call Process4_(Row.Buffer)
            Else
                Call Process3_(Row.Buffer)
            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

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        m_resolutionEntity = m_connection.ConstructEntity(Consts.IncidentResolution)

        ' Get input column indexes.
        Dim colsCount As Integer = input.InputColumnCollection.Count
        m_inputIdx = New Integer(colsCount - 1) {}
        For colIndex As Integer = 0 To colsCount - 1
            Dim inputCol As IDTSInputColumn100 = Input.InputColumnCollection(colIndex)

            Dim extColumn As IDTSExternalMetadataColumn100 = Input.ExternalMetadataColumnCollection.GetObjectByID( _
                    inputCol.ExternalMetadataColumnID)

            If extColumn.Name = Consts.IncidentState Then
                m_stateIdx = colIndex
            ElseIf extColumn.Name = Consts.IncidentStatus Then
                m_statusIdx = colIndex
            Else
                Dim refType As String = CStr(extColumn.CustomPropertyCollection(Consts.ReferenceType).Value)
                Call m_resolutionEntity.SetupAttribute(extColumn.Name, refType)
            End If

            m_inputIdx(colIndex) = MyBase.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                inputCol.LineageID)
        Next

        If m_stateIdx = -1 Then
            Throw New Exception(Consts.IncidentState + " not mapped.")
        End If
    End Sub ' PreExecute


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

        Call m_connection.Close()
        m_resolutionEntity = Nothing
        m_inputIdx = Nothing
        m_stateIdx = -1
        m_statusIdx = -1
    End Sub ' PostExecute


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

        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 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
        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

        If String.IsNullOrEmpty(Me.CrmConnection) Then
            Throw New Exception("Connection not selected.")
        End If

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

        ' Get incidentresolution attributes.
        Dim connection As ICrmConnection = Nothing
        Dim attributes As ICrmAttribute()
        Try
            Dim manager As ConnectionManager = Me.DesignConnections(Me.CrmConnection)
            connection = CType(manager.AcquireConnection(Nothing), ICrmConnection)
            Call connection.Connect()

            attributes = connection.GetEntityAttributes(Consts.IncidentResolution)
        Finally
            If Not connection Is Nothing Then
                Call connection.Close()
            End If
        End Try

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

        Dim extColumn As IDTSExternalMetadataColumn100

        ' Setup column metadata.
        For Each attribute As ICrmAttribute In attributes
            extColumn = input.ExternalMetadataColumnCollection.[New]()
            extColumn.Name = attribute.Name
            extColumn.DataType = CType(attribute.AttributeType, DataType)
            extColumn.Length = attribute.Length
            extColumn.Precision = attribute.Precision
            extColumn.Scale = attribute.Scale
            extColumn.CodePage = 0

            ' Setup reference type property.
            Dim prop As IDTSCustomProperty100 = extColumn.CustomPropertyCollection.[New]()
            prop.Name = Consts.ReferenceType
            prop.Value = attribute.Reference
        Next

        ' Include incident state column.
        extColumn = input.ExternalMetadataColumnCollection.[New]()
        extColumn.Name = Consts.IncidentState
        extColumn.DataType = DataType.DT_I4

        ' Include incident status column.
        extColumn = input.ExternalMetadataColumnCollection.[New]()
        extColumn.Name = Consts.IncidentStatus
        extColumn.DataType = DataType.DT_I4
    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
#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 Incident State", _
            message, _
            String.Empty, _
            0, _
            cancel)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub GetValues_( _
        ByRef buffer As PipelineBuffer, _
        ByRef state As Integer, _
        ByRef status As Integer)

        state = -1
        status = -1

        Dim entityIndex As Integer = 0
        Dim colsCount As Integer = m_inputIdx.Length
        For colIndex As Integer = 0 To colsCount - 1
            Dim bufIndex As Integer = m_inputIdx(colIndex)

            ' Get value.
            Dim value As Object = Nothing
            If Not buffer.IsNull(bufIndex) Then
                value = buffer(bufIndex)

                If TypeOf value Is BlobColumn Then
                    value = buffer.GetString(bufIndex)
                End If
            End If

            If colIndex = m_stateIdx Then
                state = Convert.ToInt32(value)
            ElseIf colIndex = m_statusIdx Then
                status = Convert.ToInt32(value)
            Else
                m_resolutionEntity.SetAttributeValue(entityIndex, value)
                entityIndex += 1
            End If
        Next

        If state < 0 OrElse state > 2 Then
            Throw New Exception("Unhandled incident state.")
        End If
    End Sub ' GetValues_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub Process2011_(ByVal buffer As PipelineBuffer)
        Dim req As CRM2011.OrganizationRequest = New CRM2011.OrganizationRequest()

        Dim state, status As Integer
        Call GetValues_(buffer, state, status)

        Dim osv As CRM2011.OptionSetValue

        ' Setup status.
        osv = New CRM2011.OptionSetValue()
        osv.Value = status
        req("Status") = osv

        Select Case state
            Case 0, 2
                req.RequestName = "SetState"

                ' Setup state.
                osv = New CRM2011.OptionSetValue()
                osv.Value = state
                req("State") = osv

                ' Setup entity
                Dim entityRef As CRM2011.EntityReference = New CRM2011.EntityReference()
                entityRef.LogicalName = Consts.Incident
                entityRef.Id = New Guid(m_resolutionEntity.GetAttributeValue(Consts.IncidentId).ToString())
                req("EntityMoniker") = entityRef

            Case 1
                req.RequestName = "CloseIncident"
                req("IncidentResolution") = m_resolutionEntity.ConstructDynamicEntity()
        End Select

        Call m_service2011.Execute(req)
    End Sub ' Process2011_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub Process4_(ByVal buffer As PipelineBuffer)
        Dim req As CRM4.Request = Nothing

        Dim state, status As Integer
        Call GetValues_(buffer, state, status)

        Select Case CType(state, CRM4.IncidentState)
            Case CRM4.IncidentState.Active, CRM4.IncidentState.Canceled
                Dim stateReq As CRM4.SetStateDynamicEntityRequest = New CRM4.SetStateDynamicEntityRequest()

                ' Setup state.
                stateReq.State = CStr(CType(state, CRM4.IncidentState))

                ' Setup status.
                stateReq.Status = status

                ' Setup entity.
                Dim moniker As CRM4.Moniker = New CRM4.Moniker()
                moniker.Name = Consts.Incident
                moniker.Id = New Guid(m_resolutionEntity.GetAttributeValue(Consts.IncidentId).ToString())
                stateReq.Entity = moniker

                req = stateReq

            Case CRM4.IncidentState.Resolved
                Dim closeReq As CRM4.CloseIncidentRequest = New CRM4.CloseIncidentRequest()
                closeReq.Status = status
                closeReq.IncidentResolution = CType( _
                    m_resolutionEntity.ConstructDynamicEntity(), _
                    CRM4.BusinessEntity)

                req = closeReq
        End Select

        Call m_service4.Execute(req)
    End Sub ' Process4_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub Process3_(ByVal buffer As PipelineBuffer)
        Dim req As CRM3.Request = Nothing

        Dim state, status As Integer
        Call GetValues_(buffer, state, status)

        Select Case CType(state, CRM3.IncidentState)
            Case CRM3.IncidentState.Active, CRM3.IncidentState.Canceled
                Dim stateReq As CRM3.SetStateDynamicEntityRequest = New CRM3.SetStateDynamicEntityRequest()

                ' Setup state.
                stateReq.State = CStr(CType(state, CRM4.IncidentState))

                ' Setup status.
                stateReq.Status = status

                ' Setup entity.
                Dim moniker As CRM3.Moniker = New CRM3.Moniker()
                moniker.Name = Consts.Incident
                moniker.Id = New Guid(m_resolutionEntity.GetAttributeValue(Consts.IncidentId).ToString())
                stateReq.Entity = moniker

                req = stateReq

            Case CRM3.IncidentState.Resolved
                Dim closeReq As CRM3.CloseIncidentRequest = New CRM3.CloseIncidentRequest()
                closeReq.Status = status
                closeReq.IncidentResolution = CType( _
                    m_resolutionEntity.ConstructDynamicEntity(), _
                    CRM3.BusinessEntity)

                req = closeReq
        End Select

        Call m_service3.Execute(req)
    End Sub ' Process3_
#End Region ' Internals


#Region "Attributes"
    Private m_crmConnection As String

    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_resolutionEntity As ICrmEntity
    Private m_inputIdx() As Integer
    Private m_stateIdx As Integer = -1
    Private m_statusIdx As Integer = -1
#End Region ' Attributes

End Class   ' ScriptMain
]]></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:Language>msBuild</msb:Language>
		<msb:NoContent>Reference;Import;Folder</msb:NoContent>
		<msb:ProjectId>{4F7E0E5C-D31D-4CF0-8A93-D820E1C12CC8}</msb:ProjectId>
		<msb:DisplayName>scriptcomponent_82cf52728b294a71aa89a04d7f7b1fe1</msb:DisplayName>
		<msb:CodeName>scriptcomponent_82cf52728b294a71aa89a04d7f7b1fe1</msb:CodeName>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="main.vb"/>
		<msb:File Include="My Project\AssemblyInfo.vb"/>
		<msb:File Include="My Project\Resources.Designer.vb"/>
		<msb:File Include="My Project\Settings.Designer.vb"/>
		<msb:File Include="My Project\Resources.resx"/>
		<msb:File Include="My Project\Settings.settings"/>
		<msb:Project Include="scriptcomponent_82cf52728b294a71aa89a04d7f7b1fe1.vbproj"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Settings.settings]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></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[My Project\Resources.resx]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></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[My Project\Resources.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></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></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_82cf52728b294a71aa89a04d7f7b1fe1.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
BC0yfhwAAAQoEQAACiiZAAAKfhsAAAQtHHMxAAAGgBsAAATeEH4cAAAEKBEAAAoomgAACtx+GwAA
BCoAARAAAAIAHQAMKQAQAAAAAbQAAADOyu++AQAAAJEAAABsU3lzdGVtLlJlc291cmNlcy5SZXNv
dXJjZVJlYWRlciwgbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQ
dWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5I1N5c3RlbS5SZXNvdXJjZXMuUnVudGltZVJl
c291cmNlU2V0AgAAAAAAAAAAAAAAUEFEUEFEULQAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMx
OQAAAAAFAGwAAAB8DwAAI34AAOgPAAAMFQAAI1N0cmluZ3MAAAAA9CQAAEADAAAjVVMANCgAABAA
AAAjR1VJRAAAAEQoAAD0BgAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAABAAAAZQAA
AA4AAAAcAAAAMgAAABsAAACmAAAABgAAAD4AAAAeAAAABwAAAA0AAAAPAAAACQAAAAEAAAANAAAA
AQAAAAMAAAADAAAAAgAAAAAAzxQBAAAAAAAKALABhgEKAOQBxgEGAPQB7QEKAEwChgEGAMoC7QEK
AEwDIgMOAJ4DhwMSAO0DzAMWAB4EzAMSAC0EzAMOANEEhwMaAIwFZAUOAJYGhwMeAPAGwwYeADUH
GAceADUHSwcOAHQHhwMGACkIGAgGAFYIQQgiAL0IqAgiAAoJ9AgiACMJ9AgiAFAJOAkGAHoJZwkK
ALkJkgkKANEJEwAiAAYK6QkGADsKGwoGAFkK7QEGAH0K7QEKAJYKEwAGANoKuwoGAO4K7QESAPUK
zAMGAAIL7QEmAGULPAsmAJQLPAsmAL8LPAsmANwLPAsmAB8MPAsqAIAMYgwGAI4M7QEKAKMMkgku
AMoMvwwmAAgNPAsmACYNPAsGAF4N7QEmAHQNPAsmALUNPAsKADYOkgkmAE4OPAsmAIsOPAsKAKEO
kgkWALwOzAMmAOAOPAsGAD8P7QEOAHsPhwMyAMgPqA8yAAIBqA8aADgQZAUWAMYQzAMGANsQ7QEe
AP0QwwYeAAwRwwYeACARwwYGADAR7QE2ADAR7QEeAI4RwwYeAKsRGAceALMRGAceALsRGAceANgR
GAceAOIHGAceAA0SGAceADMSGAceAKsRSwceALMRSwceALsRSwceANgRSwceAOIHSwceAA0SSwce
ADMSSwcSADwSzAMOAIUSYxIOAKESYxIOALkSYxIiAM0S9AgGAPQS4hIGABsTChMGAC4TZwkGAJcT
GwoGALcTGwoGAO8T1RMGAAgU4hIGACUUuwoGADMU4hIGAE4U4hIGAGkU4hIGAIIU4hIGAJsU4hIG
ALgU4hIAAAAAAQAAAAAAAQABAAAAAAApADcABQABAAEAAAAAAHIANwAJAAEAAgAAARAAfQA3AA0A
AQADAAUBAACHAAAADQAFAAgABQEAAJUAAAANAAUADwABAAAAsAC8AB0ABgARAAEAAAD0ALwALQAG
ABYAAQAAAAIBvAANAAgAGgABAAAADgG8AA0ACQAcAAEAAAAYAbwAIAAKAB0AAwAAACMBAAANABMA
KwAAAAAAKgE2AQ0AGQAsAAABEAB7AbwAUQAbADAAMQAPAiAAMQA4Ai0AMQBaAjoAMQB/AkcAIQBb
A5AABgACAckABgAOAc0AAQAxBeEAAQAxBeEAAQCGBhEBAQClBhQBAQAKBxgBAQBABxwBAQBpByAB
AQB/ByQBAQCSBygBAQCdBywBAQCoBywBVoDGBxEBVoDPBxEBVoDiBxEBVoDwBxEBVoD/BxEBVoAN
CBEBEQA5COEBEQBiCOUBEQDVCAMCEQDdCAcCUCAAAAAABhjAARMAAQBYIAAAAAAGGMABEwABAGAg
AAAAABEY+wEXAAEAjCAAAAAAEwgCAhsAAQCkIAAAAAATCCgCKAABALwgAAAAABMIUQI1AAEA1CAA
AAAAEwhvAkIAAQDsIAAAAABGArUCYwABAAghAAAAAEYCvgJoAAIAHCEAAAAAgwDPAmwAAgA0IQAA
AABGAtcCcQACAEghAAAAABEA4AJ4AAIAZCEAAAAAAQD+AoAAAwCAIQAAAAAGGMABEwAEAIghAAAA
AAMIEgOLAAQAvCEAAAAABhjAARMABADQIQAAAAAGGMABrwAEAOAhAAAAAEYKZwS7AAkA9CEAAAAA
Rgp+BLsACQAIIgAAAACGAJYEwAAJACAiAAAAAIYAngTAAAkAOCIAAAAABhjAARMACQBYIgAAAABG
AuUE0QAJAIgiAAAAAEYDBAXbAA0AnCIAAAAARgMXBdsADgCgIgAAAAAGGMAB5QAPALAiAAAAAAYI
pQXrABAA3CIAAAAABhjAAeUAEADsIgAAAAAGGMABEwARAAQjAAAAAEYCFwXbABEAoCMAAAAARgLF
BRMAEgBkJQAAAABGAtAFEwASAJQlAAAAAAYA3AX1ABIAQCYAAAAARgLwBRMAEwDwJwAAAAAGCKUF
cQATAAgoAAAAAAYIBQb7ABMAFCgAAAAAAQgdBrsAFAA0KAAAAAABADMG+wAUAGAoAAAAAAEARgYA
ARUALCkAAAAAAQBlBgsBGAAcKgAAAAABAHIGCwEZAOQqAAAAAAEAfAYLARoArCsAAAAABhjAARMA
GwC0KwAAAAADGMABEwAbALwrAAAAABYIbgjpARsA+CsAAAAAFgiCCO4BGwAMLAAAAAAWCI4I8wEb
ABQsAAAAABEY+wEXABwAKCwAAAAABhjAARMAHAAwLAAAAAAWCOoICgIcAAAAAQC8AgAAAQD1AgAA
AQD1AgAAAQA7BAAAAgBFBAAAAwBOBAAABABWBAAABQBdBAAAAQDyBAAAAgD6BAAAAwBWBAAABABd
BAAAAQBWBAAAAQAtBQAAAQA7BAAAAQA7BAAAAQAtBQAAAQDlBQAAAQAXBgAAAQA+BgAAAQBRBgAA
AgBYBgAAAwBeBgAAAQBRBgAAAQBRBgAAAQBRBgAAAQCaCAkAwAETAKkAwAEUArkAwAEjAhEAwAET
AMEAwAETACQAwAETACwAwAETADQAwAETADwAwAETACQAEgOLACwAEgOLADQAEgOLADwAEgOLAMkA
wAETANEAwAETANkAwAH7AOEASgq9AhkAtQJjABkAvgJoACkAawrKAhkA1wJxAPEAhwraAhkAwAET
APkAwAHqAkQAWwOQAEwA6giLAEwAsQpnA0wAwAETAAEBwAF2AzkAwAGvABEBlgTAABEBngTAABkB
wAF2A1kAwAETAEEAfguGAyEBqwuMAykBzAuSAzEB1QtoACEB/wuZAzkBzAufA0EBOAzrADkAmAyr
A1kBrwywA0kB0gy3A2EB3QxxAFkB6gwXAFEB/AxxAEEAxQUTAGEAOQ3GA2kASw0TAGkAUw3LA1EB
wAH7AGkAZA3QAzEBkQ3WA4EBqw1oAIEBzAvcAzEB3Q3jA3EBAg5oAIkBHw7pA2kBLQ5xAJEBQA7w
A2kBbg73A5kBzAv9A6EB6ggEBKkB1wIIBIkArQ4NBFkAzg4TBLEB9Q4ZBDEBmAxoAHEBBw9oALkB
FQ8fBEEA0AUTAGkAKw8TAAkBMQ82BMEBwAH7ADEBVA/AAEEBYw/7AFkA8AUTACkBqw1oAFkA2g9G
BNkBzAtMBNEBOQ3GA2kA8A9TBIkBBBB2A4EBDxATAIkBDxATAIkBGRBbBMkBLQ5xAGkBHRD7AMkB
JhBoAGkBQRBhBMkBThBoAGkBWRBoBMkBZBBoAGkBchBoBMkBgBBoAGkBihBoBGkBlBBoBJkBGRBt
BKEBHRD7AMkBoRBxAKEBsQpzBAkBrxARASEBtRCcBEkAvxCnBEkAzAvLA0kA0RCsBPEB4xCxBIkA
6xC2BAECwAETAPkBwAETAPkBsQpoBAECNRHFBAECPhH7AAkCwAETAAkCThH7AIkAXhHLBBECwAH7
AAkCcBHQBIkAdxEEBHEAoxHXBDkCwAETAKkB1wL1BDkC7RH7ADkC9xFoBDECwAETADECHRD7ADEC
cBHQBDkCAhL6BEECwAETAEEC9xFoBEECHBIBBXkAoxEIBXECwAETAHEC7RH7AHEC9xFoBGkCwAET
AGkCHRD7AGkCcBHQBHECAhIrBXkCwAETAHkC9xFoBHkCHBIyBYEAoxE5BZkCwAETAKECwAH7AKkC
wAETALECwAH7ALkCwAH7ACkA/RKuBZEAwAG0BaEAwAETAMkCIxPRBckCKRPRBdECwAETANkCwAFo
BOECwAETAOkCwAH7APECwAH7APkCwAH7AAEDwAH7AAkDwAH7ABEDwAH7ABkDwAH7ACEDwAH7ACkD
wAH7AA4ATAAzAQ4AUABEAQ4AVABpAQ4AWACMAQ4AXACxAQ4AYADMASkAgwB3Ai4AGwWoBi4AEwWI
Bi4AMwWoBi4ACwGCBi4A4wTbBS4A6wB7Ay4AKwV7Ay4ACwV7Ay4AIwXlBi4A6wTkBS4A8wQDBi4A
+wRLBi4AAwVYBkAAKwBCAkAAEwAaAkMAEwAaAkMAGwApAkkAgwCVAmMAGwApAmMAEwAaAmkAgwCI
AoAAKwBCAoMAGwApAoMAewBCAoMAcwBCAokAgwCpAqAAKwBCAqMAwwDyAqMAEwAaAsAAKwBCAsMA
EwAaAsMA6wB7A+AAKwBCAuMACwF7AwABKwBCAgABEwAaAgMBCwF7AyABKwBCAiABEwAaAikBqwSB
BSkBowRqBUABKwBCAkABEwAaAmABKwBCAmABEwAaAmMBCwF7A2MBiwRCAmMBkwRcBWMBmwRCAmkB
EwDIBYABKwBCAokBEwDIBaABKwBCAqkB2wRCAsABEwAaAsABKwBCAuABKwBCAgACEwAaAgACKwBC
AkADCwF7A4ADCwF7A2MCaAJtAnICwgLGAtEC1gLlAuUCbQOBA4EDwgLCAqYDvQMlBDsEeATWApUE
wgK8BOAEEQVCBbwFwwXWBQQAAQAGAAUABwAGAAkACAALAAkADQALAA4ADQAAAOQBTwAAAJ0CVAAA
AEwCWQAAAKkCXgAAAGUDmAAAAKoExAAAAL0ExAAAALcF8AAAALcFLwEAALQHxAAAACkI+QEAAKAI
/gEAAJoIDwICAAQAAwACAAUABQACAAYABwACAAcACQACAA8ACwACABIADQACABMADwACABsAEQAC
ACMAEwABACQAEwACACUAFQACAC0AFwACAC4AGQABAC8AGQACADIAGwB1AHUAiABHAk4CVQJcAlQD
WwMEgAAAAQAAAAAAAAAAAAAAAAC8AAAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAAAAAAAAAK
ABMAAAAAAAEAAAAAAAAAAAAAAJ0AcQMAAAAACwAAAAAAAAAAAAAApgCvAwAAAAALAAAAAAAAAAAA
AACmAP0DAAAAAAsAAAAAAAAAAAAAAKYAQQUAAAAAAQAAAAAAAAAAAAAAnQCyBgAAAAAEAAAAAAAA
AAAAAAABAO0BAAAAAAsAAAAAAAAAAAAAAKYAGAsAAAAABAAAAAAAAAAAAAAACgBODAAAAAAEAAAA
AAAAAAAAAAABAL8MAAAAAAsAAAAAAAAAAAAAAKYAiQ8AAAAAAgAAAAAAAAAAAAAAAQAKAAAAAAAA
AAAAAQAAAEsTAAAFAAQABgAEAAwACwAAABAADADzAgAAEAAZAPMCAAAAABsA8wItAOACLQBiAwAA
ADxNb2R1bGU+AG1zY29ybGliAE1pY3Jvc29mdC5WaXN1YWxCYXNpYwBNeUFwcGxpY2F0aW9uAFNj
cmlwdENvbXBvbmVudF84MmNmNTI3MjhiMjk0YTcxYWE4OWEwNGQ3ZjdiMWZlMS52YnByb2ouTXkA
TXlDb21wdXRlcgBNeVByb2plY3QATXlXZWJTZXJ2aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlk
ZXJgMQBJbnB1dEJ1ZmZlcgBTY3JpcHRDb21wb25lbnRfODJjZjUyNzI4YjI5NGE3MWFhODlhMDRk
N2Y3YjFmZTEudmJwcm9qAFVzZXJDb21wb25lbnQAQ29ubmVjdGlvbnMAVmFyaWFibGVzAFNjcmlw
dE1haW4AQ29uc3RzAE15UmVzb3VyY2VzAFNjcmlwdENvbXBvbmVudF84MmNmNTI3MjhiMjk0YTcx
YWE4OWEwNGQ3ZjdiMWZlMS52YnByb2ouTXkuUmVzb3VyY2VzAE15U2V0dGluZ3MATWljcm9zb2Z0
LlZpc3VhbEJhc2ljLkFwcGxpY2F0aW9uU2VydmljZXMAQXBwbGljYXRpb25CYXNlAC5jdG9yAE1p
Y3Jvc29mdC5WaXN1YWxCYXNpYy5EZXZpY2VzAENvbXB1dGVyAFN5c3RlbQBPYmplY3QALmNjdG9y
AGdldF9Db21wdXRlcgBtX0NvbXB1dGVyT2JqZWN0UHJvdmlkZXIAZ2V0X0FwcGxpY2F0aW9uAG1f
QXBwT2JqZWN0UHJvdmlkZXIAVXNlcgBnZXRfVXNlcgBtX1VzZXJPYmplY3RQcm92aWRlcgBnZXRf
V2ViU2VydmljZXMAbV9NeVdlYlNlcnZpY2VzT2JqZWN0UHJvdmlkZXIAQXBwbGljYXRpb24AV2Vi
U2VydmljZXMARXF1YWxzAG8AR2V0SGFzaENvZGUAVHlwZQBHZXRUeXBlAFRvU3RyaW5nAENyZWF0
ZV9fSW5zdGFuY2VfXwBUAGluc3RhbmNlAERpc3Bvc2VfX0luc3RhbmNlX18AZ2V0X0dldEluc3Rh
bmNlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5NeVNlcnZpY2VzLkludGVybmFsAENvbnRleHRWYWx1
ZWAxAG1fQ29udGV4dABHZXRJbnN0YW5jZQBDb3p5Um9jLlNTSVNQbHVzLjIwMTIAQ296eVJvYy5T
cWxTZXJ2ZXIuU1NJUwBTY3JpcHRCdWZmZXJQbHVzAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuVHhTY3Jp
cHQATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUGlwZWxpbmUAU2NyaXB0Q29tcG9uZW50AE1pY3Jv
c29mdC5TcWxTZXJ2ZXIuUGlwZWxpbmVIb3N0AFBpcGVsaW5lQnVmZmVyAE91dHB1dE5hbWVNYXAA
Q29tcG9uZW50AE9iamVjdElEAElzSW5wdXQAQnVmZmVyAE91dHB1dE1hcABnZXRfU3RhdGljSW5w
dXRDb2x1bW5zAGdldF9TdGF0aWNPdXRwdXRDb2x1bW5zAE5leHRSb3cARW5kT2ZSb3dzZXQAU3Rh
dGljSW5wdXRDb2x1bW5zAFN0YXRpY091dHB1dENvbHVtbnMAU2NyaXB0Q29tcG9uZW50UGx1cwBQ
cm9jZXNzSW5wdXQASW5wdXRJRABJbnB1dE5hbWUASW5wdXRfUHJvY2Vzc0lucHV0AElucHV0X1By
b2Nlc3NJbnB1dFJvdwBSb3cAUGFyZW50Q29tcG9uZW50AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRT
UnVudGltZVdyYXAATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZS5XcmFwcGVyAElEVFND
b25uZWN0aW9uTWFuYWdlcjEwMABnZXRfQ3JtQ29ubmVjdGlvbgBDcm1Db25uZWN0aW9uAFByZUV4
ZWN1dGUAUG9zdEV4ZWN1dGUAVmFsaWRhdGUAZXJyTWVzc2FnZQBSZWluaXRpYWxpemVNZXRhRGF0
YQBzZXRfQ3JtQ29ubmVjdGlvbgB2YWx1ZQBnZXRfQ3JtQ29ubmVjdGlvblR5cGUARmlyZUVycm9y
XwBtZXNzYWdlAEdldFZhbHVlc18AYnVmZmVyAHN0YXRlAHN0YXR1cwBQcm9jZXNzMjAxMV8AUHJv
Y2VzczRfAFByb2Nlc3MzXwBtX2NybUNvbm5lY3Rpb24ASUNybUNvbm5lY3Rpb24AbV9jb25uZWN0
aW9uAENvenlSb2MuRHluYW1pY3MAQ296eVJvYy5EeW5hbWljcy5Dcm0yMDExLk9yZ2FuaXphdGlv
blNlcnZpY2UAT3JnYW5pemF0aW9uU2VydmljZUNsaWVudABtX3NlcnZpY2UyMDExAENvenlSb2Mu
RHluYW1pY3MuQ3JtLlNlcnZpY2UAQ3JtU2VydmljZQBtX3NlcnZpY2U0AENvenlSb2MuRHluYW1p
Y3MuQ3JtMy5TZXJ2aWNlAG1fc2VydmljZTMASUNybUVudGl0eQBtX3Jlc29sdXRpb25FbnRpdHkA
bV9pbnB1dElkeABtX3N0YXRlSWR4AG1fc3RhdHVzSWR4AENybUNvbm5lY3Rpb25UeXBlAEluY2lk
ZW50AEluY2lkZW50UmVzb2x1dGlvbgBJbmNpZGVudFN0YXRlAEluY2lkZW50U3RhdHVzAFJlZmVy
ZW5jZVR5cGUASW5jaWRlbnRJZABTeXN0ZW0uUmVzb3VyY2VzAFJlc291cmNlTWFuYWdlcgBfcmVz
TWdyAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAF9yZXNDdWx0dXJlAGdldF9SZXNv
dXJjZU1hbmFnZXIAZ2V0X0N1bHR1cmUAc2V0X0N1bHR1cmUAVmFsdWUAQ3VsdHVyZQBTeXN0ZW0u
Q29uZmlndXJhdGlvbgBBcHBsaWNhdGlvblNldHRpbmdzQmFzZQBtX1ZhbHVlAG1fU3luY09iamVj
dABnZXRfVmFsdWUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJyb3dzYWJsZUF0dHJpYnV0
ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21waWxlcgBHZW5lcmF0ZWRD
b2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhpZGRlbkF0dHJpYnV0ZQBN
aWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFuZGFyZE1vZHVsZUF0dHJp
YnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwuRGVzaWdu
AEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2VydmljZXMAUnVu
dGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5kbGUAR2V0VHlwZUZyb21I
YW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xsZWN0aW9uQXR0cmlidXRl
AHNldF9WYWx1ZQBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMAQ29tVmlzaWJsZUF0dHJp
YnV0ZQBTdHJpbmcAU2NyaXB0QnVmZmVyAENMU0NvbXBsaWFudEF0dHJpYnV0ZQBNaWNyb3NvZnQu
U3FsU2VydmVyLkRUU1BpcGVsaW5lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBlbGlu
ZS5XcmFwcGVyAElEVFNDb21wb25lbnRNZXRhRGF0YTEwMABnZXRfQ29tcG9uZW50TWV0YURhdGEA
SURUU0lucHV0Q29sbGVjdGlvbjEwMABnZXRfSW5wdXRDb2xsZWN0aW9uAElEVFNJbnB1dDEwMABn
ZXRfSXRlbQBnZXRfSUQASURUU1J1bnRpbWVDb25uZWN0aW9uQ29sbGVjdGlvbjEwMABnZXRfUnVu
dGltZUNvbm5lY3Rpb25Db2xsZWN0aW9uAElEVFNSdW50aW1lQ29ubmVjdGlvbjEwMABnZXRfQ29u
bmVjdGlvbk1hbmFnZXIAU3lzdGVtLldlYi5TZXJ2aWNlcwBTeXN0ZW0uV2ViLlNlcnZpY2VzLlBy
b3RvY29scwBTb2FwRXhjZXB0aW9uAEV4Y2VwdGlvbgBnZXRfQnVmZmVyAFByb2plY3REYXRhAFNl
dFByb2plY3RFcnJvcgBTeXN0ZW0uWG1sAFhtbE5vZGUAZ2V0X0RldGFpbABnZXRfSW5uZXJYbWwA
Q2xlYXJQcm9qZWN0RXJyb3IAZ2V0X01lc3NhZ2UASURUU0V4dGVybmFsTWV0YWRhdGFDb2x1bW4x
MDAASURUU0lucHV0Q29sdW1uMTAwAEFjcXVpcmVDb25uZWN0aW9uAENvbm5lY3QAR2V0U2Vydmlj
ZQBJbnQzMgBDb25zdHJ1Y3RFbnRpdHkASURUU0lucHV0Q29sdW1uQ29sbGVjdGlvbjEwMABnZXRf
SW5wdXRDb2x1bW5Db2xsZWN0aW9uAGdldF9Db3VudABJRFRTRXh0ZXJuYWxNZXRhZGF0YUNvbHVt
bkNvbGxlY3Rpb24xMDAAZ2V0X0V4dGVybmFsTWV0YWRhdGFDb2x1bW5Db2xsZWN0aW9uAGdldF9F
eHRlcm5hbE1ldGFkYXRhQ29sdW1uSUQAR2V0T2JqZWN0QnlJRABnZXRfTmFtZQBPcGVyYXRvcnMA
Q29tcGFyZVN0cmluZwBJRFRTQ3VzdG9tUHJvcGVydHlDb2xsZWN0aW9uMTAwAGdldF9DdXN0b21Q
cm9wZXJ0eUNvbGxlY3Rpb24ASURUU0N1c3RvbVByb3BlcnR5MTAwAENvbnZlcnNpb25zAFNldHVw
QXR0cmlidXRlAFBpcGVsaW5lQ29tcG9uZW50AGdldF9Ib3N0Q29tcG9uZW50AElEVFNCdWZmZXJN
YW5hZ2VyMTAwAGdldF9CdWZmZXJNYW5hZ2VyAGdldF9MaW5lYWdlSUQARmluZENvbHVtbkJ5TGlu
ZWFnZUlEAENsb3NlAElzTnVsbE9yRW1wdHkAQXBwbGljYXRpb25FeGNlcHRpb24AZ2V0X0lzQXR0
YWNoZWQAc2V0X0Nvbm5lY3Rpb25NYW5hZ2VySUQASUNybUF0dHJpYnV0ZQBNaWNyb3NvZnQuU3Fs
U2VydmVyLk1hbmFnZWREVFMATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZQBDb25uZWN0
aW9uTWFuYWdlcgBnZXRfRGVzaWduQ29ubmVjdGlvbnMAR2V0RW50aXR5QXR0cmlidXRlcwBzZXRf
SXNVc2VkAFJlbW92ZUFsbABOZXcAc2V0X05hbWUAZ2V0X0F0dHJpYnV0ZVR5cGUARGF0YVR5cGUA
c2V0X0RhdGFUeXBlAGdldF9MZW5ndGgAc2V0X0xlbmd0aABnZXRfUHJlY2lzaW9uAHNldF9QcmVj
aXNpb24AZ2V0X1NjYWxlAHNldF9TY2FsZQBzZXRfQ29kZVBhZ2UAZ2V0X1JlZmVyZW5jZQBFbXB0
eQBGaXJlRXJyb3IASXNOdWxsAEJsb2JDb2x1bW4AR2V0U3RyaW5nAENvbnZlcnQAVG9JbnQzMgBT
ZXRBdHRyaWJ1dGVWYWx1ZQBPcHRpb25TZXRWYWx1ZQBPcmdhbml6YXRpb25SZXF1ZXN0AEVudGl0
eVJlZmVyZW5jZQBHdWlkAHNldF9JdGVtAHNldF9SZXF1ZXN0TmFtZQBzZXRfTG9naWNhbE5hbWUA
R2V0QXR0cmlidXRlVmFsdWUAc2V0X0lkAENvbnN0cnVjdER5bmFtaWNFbnRpdHkAT3JnYW5pemF0
aW9uUmVzcG9uc2UARXhlY3V0ZQBSZXF1ZXN0AE1vbmlrZXIAU2V0U3RhdGVEeW5hbWljRW50aXR5
UmVxdWVzdABDbG9zZUluY2lkZW50UmVxdWVzdABzZXRfU3RhdGUAc2V0X1N0YXR1cwBzZXRfRW50
aXR5AEJ1c2luZXNzRW50aXR5AHNldF9JbmNpZGVudFJlc29sdXRpb24AUmVzcG9uc2UAU1NJU1Nj
cmlwdENvbXBvbmVudEVudHJ5UG9pbnRBdHRyaWJ1dGUAQ296eVJvYy5TcWxTZXJ2ZXIuU1NJUy5B
dHRyaWJ1dGVzAFZhbGlkYXRlUHJvcGVydGllc0F0dHJpYnV0ZQBDb2x1bW5NYXBwaW5nc0F0dHJp
YnV0ZQBDb25uZWN0aW9uQXR0cmlidXRlAERlc2NyaXB0aW9uQXR0cmlidXRlAFN5c3RlbS5SZWZs
ZWN0aW9uAEFzc2VtYmx5AGdldF9Bc3NlbWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50
ZXIARXhpdABEZWJ1Z2dlck5vblVzZXJDb2RlQXR0cmlidXRlAFNjcmlwdENvbXBvbmVudF84MmNm
NTI3MjhiMjk0YTcxYWE4OWEwNGQ3ZjdiMWZlMS52YnByb2ouUmVzb3VyY2VzLnJlc291cmNlcwBD
b21waWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmli
dXRlAFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3b3JrQXR0cmlidXRlAEFz
c2VtYmx5RmlsZVZlcnNpb25BdHRyaWJ1dGUAR3VpZEF0dHJpYnV0ZQBBc3NlbWJseVRyYWRlbWFy
a0F0dHJpYnV0ZQBBc3NlbWJseUNvcHlyaWdodEF0dHJpYnV0ZQBBc3NlbWJseVByb2R1Y3RBdHRy
aWJ1dGUAQXNzZW1ibHlDb21wYW55QXR0cmlidXRlAEFzc2VtYmx5RGVzY3JpcHRpb25BdHRyaWJ1
dGUAQXNzZW1ibHlUaXRsZUF0dHJpYnV0ZQBTY3JpcHRDb21wb25lbnRfODJjZjUyNzI4YjI5NGE3
MWFhODlhMDRkN2Y3YjFmZTEudmJwcm9qLmRsbAAAAAtJAG4AcAB1AHQAABtDAHIAbQBDAG8AbgBu
AGUAYwB0AGkAbwBuAAAzVQBuAGgAYQBuAGQAbABlAGQAIABzAGUAcgB2AGkAYwBlACAAbwBiAGoA
ZQBjAHQALgAAJWkAbgBjAGkAZABlAG4AdAByAGUAcwBvAGwAdQB0AGkAbwBuAAAjaQBuAGMAaQBk
AGUAbgB0AHMAdABhAHQAZQBjAG8AZABlAAAlaQBuAGMAaQBkAGUAbgB0AHMAdABhAHQAdQBzAGMA
bwBkAGUAABtSAGUAZgBlAHIAZQBuAGMAZQBUAHkAcABlAAA7aQBuAGMAaQBkAGUAbgB0AHMAdABh
AHQAZQBjAG8AZABlACAAbgBvAHQAIABtAGEAcABwAGUAZAAuAAA/UwBlAGwAZQBjAHQAIABEAHkA
bgBhAG0AaQBjAHMAIABDAFIATQAgAGMAbwBuAG4AZQBjAHQAaQBvAG4ALgAAJU0AYQBwACAAaQBu
AHAAdQB0ACAAYwBvAGwAdQBtAG4AcwAuAAAVTgBvACAAaQBuAHAAdQB0AHMALgAAMUMAbwBuAG4A
ZQBjAHQAaQBvAG4AIABuAG8AdAAgAHMAZQBsAGUAYwB0AGUAZAAuAAAZRABZAE4AQQBNAEkAQwBT
AC0AQwBSAE0AATdEAHkAbgBhAG0AaQBjAHMAIABDAFIATQAgAEkAbgBjAGkAZABlAG4AdAAgAFMA
dABhAHQAZQAAM1UAbgBoAGEAbgBkAGwAZQBkACAAaQBuAGMAaQBkAGUAbgB0ACAAcwB0AGEAdABl
AC4AAA1TAHQAYQB0AHUAcwAAEVMAZQB0AFMAdABhAHQAZQAAC1MAdABhAHQAZQAAEWkAbgBjAGkA
ZABlAG4AdAAAFWkAbgBjAGkAZABlAG4AdABpAGQAABtFAG4AdABpAHQAeQBNAG8AbgBpAGsAZQBy
AAAbQwBsAG8AcwBlAEkAbgBjAGkAZABlAG4AdAAAJUkAbgBjAGkAZABlAG4AdABSAGUAcwBvAGwA
dQB0AGkAbwBuAAAxTQB5AC4AUgBlAHMAbwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBl
AHMAAAAAAFnm4NNp6LNCjPCFwp+6w8YACLd6XFYZNOCJCLA/X38R1Qo6AyAAAQMAAAEEAAASDAcG
FRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAASFAcGFRIYARIUBAgAEgwECAASCAQI
ABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAeAAcwAQEBEB4AAhMABCAAEwAHBhUS
GQETAAQoABMACBbPSQu4DDTqCImEXc2AgMyRCyAFARIhCAISJRIpBCAAHQ4DIAACBCgAHQ4DBhIk
AwYSKAkgBAEIDhIlEikFIAEBEhwDBhIhBSABARIhBCAAEjEEKAASMQUgAQIQDgQgAQEOCiADARAS
JRAIEAgFIAEBEiUCBg4DBhI1AwYSOQMGEj0DBhJBAwYSRQMGHQgCBggDKAAOEGkAbgBjAGkAZABl
AG4AdAAkaQBuAGMAaQBkAGUAbgB0AHIAZQBzAG8AbAB1AHQAaQBvAG4AImkAbgBjAGkAZABlAG4A
dABzAHQAYQB0AGUAYwBvAGQAZQAkaQBuAGMAaQBkAGUAbgB0AHMAdABhAHQAdQBzAGMAbwBkAGUA
GlIAZQBmAGUAcgBlAG4AYwBlAFQAeQBwAGUAFGkAbgBjAGkAZABlAG4AdABpAGQAAwYSSQMGEk0E
AAASSQQAABJNBQABARJNBAgAEkkECAASTQMGEjgCBhwEAAASOAQIABI4BSABARFZCAEAAQAAAAAA
BSACAQ4OGAEACk15VGVtcGxhdGUIMTAuMC4wLjAAAAQBAAAABhUSGAESDAYVEhgBEggGFRIYARIR
BhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUEAEAC015LkNvbXB1dGVyAAAMAQAHTXkuVXNlcgAA
EwEADk15LkFwcGxpY2F0aW9uAAATAQAOTXkuV2ViU2VydmljZXMAAAQAARwcAwcBAgMHAQgGAAES
FRF1BAcBEhUDBwEOBRABAB4ABAoBHgAEBwEeAAcgBAEODg4OYQEANFN5c3RlbS5XZWIuU2Vydmlj
ZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9jb2wSQ3JlYXRlX19JbnN0YW5jZV9fE0Rp
c3Bvc2VfX0luc3RhbmNlX18AAAAGFRIYARMABhUSGQETAAQKARMABSABARMACAcDEwATABMABCAB
AQIFAQAAAAAEBwEdDgUgABKAkQUgABKAlQYgARKAmRwFIAASgJ0GIAESgKEcBAcBEjEEIAASJQYA
AQESgKkFIAASgLEIBwISgKUSgKkEIAEcHAQgARwIBSABEkUOBSAAEoDBBiABEoC5HAUgABKAxQYg
ARKAtQgGAAMIDg4CBSAAEoDNBiABEoDRHAMgABwEAAEOHAUgAggODgUgABKA2QUgABKA3QUgAggI
CBAHCAgSgJkcCBKAtRKAuQ4IBAABAg4KBwQCAhKAmRKAqQUgABKA7QYgARKA6RwHIAEdEoDlDgUg
ABKAtQYgAQERgPEEIAEBCAUgABKA0QQgAQEcHAcJHRKA5RI1EoC1EoCZEoDpEoDlEoDRCB0SgOUG
BwIdDh0OCiAGAQgODg4IEAIEIAECCAQgAQ4IBAABCBwFIAIBCBwIBwYICAgIHAgFIAIBDhwEIAEc
DgYgAQERgQ0IIAESgRESgQEUBwgSgP0SgQEICBKBBQgRgQkRgQkEAAEOCAYgAQESgRkGIAEBEoEp
CCABEoEtEoEVGQcJEoEVCAgSgRkSgR0SgSERgSURgQkRgQkGIAEBEoE1BiABARKBRQggARKBSRKB
MRkHCRKBMQgIEoE1EoE5EoE9EYFBEYEJEYEJDQEACFZhbGlkYXRlAAAWAQARQ3JtQ29ubmVjdGlv
blR5cGUAACwBACdTZWxlY3QgRHluYW1pY3MgQ1JNIENvbm5lY3Rpb24gTWFuYWdlci4AAAUgABKB
YQcgAgEOEoFhBgcCEkkSSQQHARJNCAEAAgAAAAAABAABARwEBwESOAgBAAgAAAAAAB4BAAEAVAIW
V3JhcE5vbkV4Y2VwdGlvblRocm93cwFHAQAaLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjABAFQO
FEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQMAQAHMS4wLjAuMAAAKQEAJGIz
NDY3ZGFjLWQ1ZDUtNDM2MS1hMzdiLTBjODQxY2YxNDY5YwAABQEAAQAAHwEAGkNvcHlyaWdodCBA
IE1pY3Jvc29mdCAyMDEyAAA8AQA3U2NyaXB0Q29tcG9uZW50XzgyY2Y1MjcyOGIyOTRhNzFhYTg5
YTA0ZDdmN2IxZmUxLnZicHJvagAADgEACU1pY3Jvc29mdAAApFwAAAAAAAAAAAAAvlwAAAAgAAAA
AAAAAAAAAAAAAAAAAAAAAAAAALBcAAAAAAAAAAAAAAAAX0NvckRsbE1haW4AbXNjb3JlZS5kbGwA
AAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAAAAAAAAAA
AAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAABoBAAAAAAAAAAAAABo
BDQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEAAAAAAAAA
AQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYAaQBsAGUASQBu
AGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAEyAMAAAEAUwB0AHIA
aQBuAGcARgBpAGwAZQBJAG4AZgBvAAAApAMAAAEAMAAwADAAMAAwADQAYgAwAAAANAAKAAEAQwBv
AG0AcABhAG4AeQBOAGEAbQBlAAAAAABNAGkAYwByAG8AcwBvAGYAdAAAAJgAOAABAEYAaQBsAGUA
RABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABf
ADgAMgBjAGYANQAyADcAMgA4AGIAMgA5ADQAYQA3ADEAYQBhADgAOQBhADAANABkADcAZgA3AGIA
MQBmAGUAMQAuAHYAYgBwAHIAbwBqAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBuAAAAAAAx
AC4AMAAuADAALgAwAAAAmAA8AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAGMAcgBpAHAA
dABDAG8AbQBwAG8AbgBlAG4AdABfADgAMgBjAGYANQAyADcAMgA4AGIAMgA5ADQAYQA3ADEAYQBh
ADgAOQBhADAANABkADcAZgA3AGIAMQBmAGUAMQAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAABcABsA
AQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAgAEAAIABN
AGkAYwByAG8AcwBvAGYAdAAgADIAMAAxADIAAAAAAKAAPAABAE8AcgBpAGcAaQBuAGEAbABGAGkA
bABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADgAMgBjAGYANQAy
ADcAMgA4AGIAMgA5ADQAYQA3ADEAYQBhADgAOQBhADAANABkADcAZgA3AGIAMQBmAGUAMQAuAHYA
YgBwAHIAbwBqAC4AZABsAGwAAACQADgAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAYwBy
AGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8AOAAyAGMAZgA1ADIANwAyADgAYgAyADkANABhADcA
MQBhAGEAOAA5AGEAMAA0AGQANwBmADcAYgAxAGYAZQAxAC4AdgBiAHAAcgBvAGoAAAA0AAgAAQBQ
AHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMA
ZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAMAAAA0DwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></arrayElement></arrayElements></property><property id="9" name="UserComponentTypeName" dataType="System.String">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</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_82cf52728b294a71aa89a04d7f7b1fe1</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=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><connections><connection id="14" name="CrmConnection" connectionManagerID="{1EF8207F-6837-412B-A950-DE53791DCC34}" /></connections><inputs><input id="15" name="Input" hasSideEffects="true"><externalMetadataColumns isUsed="True" /></input></inputs></component>