<component id="2" name="Dynamics CRM Relationships" componentClassID="Microsoft.ManagedComponentHost" description="Executes a custom script." localeId="1033" version="10" contactInfo="Executes a custom script.;Microsoft Corporation;Microsoft SqlServer v9; © 2004 Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;0"><properties><property id="3" name="SourceCode" state="cdata" dataType="System.String" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="15"><arrayElement dataType="System.String"><![CDATA[ScriptMain.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' CozyRoc SQL Server Integration Services user script component
'
' Copyright (c) 2006-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.Data
Imports System.Data.Common
Imports System.Data.SqlClient
Imports System.Collections
Imports System.Reflection
Imports System.Diagnostics
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 CRM2011 = CozyRoc.Dynamics.Crm2011.OrganizationService
Imports CRM4 = CozyRoc.Dynamics.Crm.Service


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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Try
            If Not m_service2011 Is Nothing Then
                ' CRM 2011
                Dim req As New CRM2011.OrganizationRequest
                req.RequestName = m_requestName

                ' Setup relationship parameters.
                Dim entity1 As New CRM2011.EntityReference
                entity1.LogicalName = CStr(Row.Buffer(m_fenIndex))
                entity1.Id = New Guid(Row.Buffer(m_feiIndex).ToString())
                Dim entity2 As New CRM2011.EntityReference
                entity2.LogicalName = CStr(Row.Buffer(m_senIndex))
                entity2.Id = New Guid(Row.Buffer(m_seiIndex).ToString())

                req("Target") = New CRM2011.EntityReference() {entity1, entity2}

                ' Execute action.
                Call m_service2011.Execute(req)
            Else
                ' CRM 4.0

                ' Setup relationship parameters.
                Dim target As New CRM4.TargetRelatedDynamic
                target.Entity1Name = CStr(Row.Buffer(m_fenIndex))
                target.Entity1Id = New Guid(Row.Buffer(m_feiIndex).ToString())
                target.Entity2Name = CStr(Row.Buffer(m_senIndex))
                target.Entity2Id = New Guid(Row.Buffer(m_seiIndex).ToString())

                ' Execute action.
                Select Case Me.Action
                    Case ActionTypes.SetRelated
                        Dim addReq As New CRM4.SetRelatedRequest()
                        addReq.Target = target
                        Call m_service4.Execute(addReq)

                    Case ActionTypes.RemoveRelated
                        Dim removeReq As New CRM4.RemoveRelatedRequest()
                        removeReq.Target = target
                        Call m_service4.Execute(removeReq)

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


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

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

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

        ' Setup request name for CRM 2011.
        Select Case Me.Action
            Case ActionTypes.SetRelated
                m_requestName = "SetRelated"

            Case ActionTypes.RemoveRelated
                m_requestName = "RemoveRelated"

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

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

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

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

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

        inputCol = GetInputColumn_("SecondEntityId")
        m_seiIndex = 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 < 4) 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 first entity.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "FirstEntityName"
        column.DataType = DataType.DT_WSTR
        column.Length = 100

        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "FirstEntityId"
        column.DataType = DataType.DT_GUID

        ' Setup second entity.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "SecondEntityName"
        column.DataType = DataType.DT_WSTR
        column.Length = 100

        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "SecondEntityId"
        column.DataType = DataType.DT_GUID
    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 action to perform.")> _
    Public Property Action() As ActionTypes
        Get
            Action = m_action
        End Get
        Set(ByVal value As ActionTypes)
            m_action = value
        End Set
    End Property    ' Action
#End Region ' Properties


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


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


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

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

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

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


#Region "Attributes"
    Enum ActionTypes
        SetRelated
        RemoveRelated
    End Enum    ' ActionTypes

    Private m_crmConnection As String
    Private m_action As ActionTypes

    Private m_connection As ICrmConnection
    Private m_service2011 As CRM2011.OrganizationServiceClient
    Private m_service4 As CRM4.CrmService
    Private m_requestName As String
    Private m_fenIndex As Integer
    Private m_feiIndex As Integer
    Private m_senIndex As Integer
    Private m_seiIndex As Integer
#End Region ' Attributes
End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[BufferWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services buffer wrappers
' This module defines classes for accessing data flow buffers
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!


Option Strict Off   ' This allows usage of PipelineBuffer typed accessors.

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class InputBuffer
    Inherits ScriptBufferPlus

    Public Sub New(ByVal Component As ScriptComponent, ByVal ObjectID As Integer, ByVal IsInput As Boolean, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)
        MyBase.New(Component, ObjectID, IsInput, Buffer, OutputMap)
    End Sub

    Public Overrides ReadOnly Property StaticInputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overloads Function NextRow() As Boolean
        NextRow = MyBase.NextRow()
    End Function

    Public Overloads Function EndOfRowset() As Boolean
        EndOfRowset = MyBase.EndOfRowset
    End Function

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ScriptComponent_b1e7e4d58af2417a95074a992df9425f.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-16"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.30703</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{3BF352F7-D7F9-470F-BA4A-58F1454DEAC5}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptComponent_94a431126e834e959139035d1a744e5c</RootNamespace>
    <AssemblyName>ScriptComponent_94a431126e834e959139035d1a744e5c</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>.\bin\Debug\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>.\bin\Release\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.SSISPlus.2016, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\130\SDK\Assemblies\CozyRoc.SSISPlus.2016.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.TxScript, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=13.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS" />
    <Reference Include="CozyRoc.Dynamics" />
    <Reference Include="System.Web.Services" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <!-- Visual Basic supports Importing namespaces (equivalent to using statements in C#).-->
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Data" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <ItemGroup>
    <AppDesigner Include="My Project\" />
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <!-- This section defines VSTA properties that describe the host-changable project properties. -->
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{30D016F9-3734-4E33-A861-5E7D899E18F3}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{B3A685AA-7EAF-4BC6-9940-57959FA5AC07}" ApplicationType="usd" Language="vb" TemplatesPath="" />
        <Host Name="SSIS_SC110" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC130</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <ItemGroup>
    <Compile Include="ScriptMain.vb" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="My Project\" />
  </ItemGroup>
  <PropertyGroup>
    <OptionCompare>Binary</OptionCompare>
  </PropertyGroup>
  <PropertyGroup>
    <OptionExplicit>On</OptionExplicit>
  </PropertyGroup>
  <PropertyGroup>
    <OptionStrict>On</OptionStrict>
  </PropertyGroup>
</Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ComponentWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services component wrapper
' This module defines the base class for your component
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class UserComponent
    Inherits ScriptComponentPlus

    Public Connections As New Connections(Me)
    Public Variables As New Variables(Me)

    Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal InputName As String, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        If InputID = MyBase.ComponentMetaData.InputCollection("Input").ID Then
            Input_ProcessInput(New InputBuffer(Me, InputID, True, Buffer, OutputMap))
        End If

    End Sub

    Public Overridable Sub Input_ProcessInput(ByVal Buffer As InputBuffer)

        While Buffer.NextRow()
            Input_ProcessInputRow(Buffer)
        End While

    End Sub

    Public Overridable Sub Input_ProcessInputRow(ByVal Row As InputBuffer)

    End Sub

End Class

Public Class Connections

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

    Public ReadOnly Property CrmConnection() As IDTSConnectionManager100
        Get
            Return ParentComponent.ComponentMetaData.RuntimeConnectionCollection("CrmConnection").ConnectionManager
        End Get
    End Property

End Class

Public Class Variables

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Project]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<c:Project xmlns:c="http://schemas.microsoft.com/codeprojectml/2010/08/main" xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003" runtimeVersion="4.0" schemaVersion="1.0">
	<msb:PropertyGroup>
		<msb:NoContent>Reference;Import;Folder</msb:NoContent>
		<msb:ProjectId>{917EFE14-AB7A-4303-BC09-F520867D6FDC}</msb:ProjectId>
		<msb:CodeName>ScriptComponent_b1e7e4d58af2417a95074a992df9425f</msb:CodeName>
		<msb:Language>msBuild</msb:Language>
		<msb:DisplayName>ScriptComponent_b1e7e4d58af2417a95074a992df9425f</msb:DisplayName>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Folder Include="My Project\"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="ScriptMain.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:Project Include="ScriptComponent_b1e7e4d58af2417a95074a992df9425f.vbproj"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement></arrayElements></property><property id="4" name="BinaryCode" state="cdata" dataType="System.String" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[ScriptComponent_94a431126e834e959139035d1a744e5c.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
PgAAAW85AAAKJW9KAAAKF29LAAAKJW9DAAAKb0wAAAolb0oAAApvTQAACiVvSgAACm9OAAAKJXKj
AABwb08AAAolIIIAAABvUAAACh9kb1EAAAolb0oAAApvTgAACiVywwAAcG9PAAAKH0hvUAAACiVv
SgAACm9OAAAKJXLfAABwb08AAAolIIIAAABvUAAACh9kb1EAAApvSgAACm9OAAAKJXIBAQBwb08A
AAofSG9QAAAKKgAAABMwAQAJAAAABAAAEQJ7AQAABAoGKiICA30BAAAEKgAAEzABAAkAAAAFAAAR
AnsCAAAECgYqIgIDfQIAAAQqAAATMAQAEQAAAAYAABEXjUEAAAElFnK3AQBwogoGKgAAABMwBwAd
AAAABwAAERYKAig3AAAKFnLRAQBwA35SAAAKFhIAb1MAAAoqAAAAGzACAIgAAAAIAAARAig3AAAK
bzgAAAoWjD4AAAFvOQAACgwIb0oAAAoDb1QAAAoNCG9DAAAKb1UAAAoTBCsiEQRvVgAACnQXAAAB
EwURBW9XAAAKCW9YAAAKMwURBQveIREEb1kAAAot1d4WEQR1RwAAASwMEQR1RwAAAW9aAAAK3Act
C3IHAgBwczYAAAp6BwoGKgEQAAACACQAPGAAFgAAAAA6AgMEBQ4EDgUoWwAACioeFo1BAAABKgAT
MAEACQAAAAcAABECKFwAAAoKBioAAAATMAEACQAAAAcAABECKF0AAAoKBip+AiheAAAKAgJzFwAA
Bn0LAAAEAgJzGQAABn0MAAAEKr4DAig3AAAKbzgAAApyNwIAcG85AAAKb18AAAozEQICAxcFDgRz
DgAABm8VAAAGKkorBwIDbxYAAAYDbxEAAAYt8SoGKjoCKGAAAAoCA30NAAAEKoICew0AAARvNwAA
Cm9FAAAKcoUBAHBvRgAACm9hAAAKKjoCKGAAAAoCA30OAAAEKh4CKGIAAAoqHgIoYwAACioufg8A
AARvZAAACioufhAAAARvZQAACioufhEAAARvZgAACioufhIAAARvZwAACiqmc2gAAAqADwAABHNp
AAAKgBAAAARzagAACoARAAAEc2sAAAqAEgAABCo2AgMoNQAACihsAAAKKh4CKG0AAAoqLtALAAAC
KG4AAAoqHgIoHAAACioAAAATMAEAFAAAAAkAABECjAUAABstCCgBAAArCisCAgoGKiID/hUFAAAb
Kh4CKGAAAAoqAAAAEzACACgAAAAKAAARAntwAAAKb3EAAAoKBowIAAAbLRIoAgAAKwoCe3AAAAoG
b3IAAAoGKkoCKGAAAAoCc3MAAAp9cAAACioAQlNKQgEAAQAAAAAADAAAAHY0LjAuMzAzMTkAAAAA
BQBsAAAABAwAACN+AABwDAAAyA8AACNTdHJpbmdzAAAAADgcAABEAgAAI1VTAHweAAAQAAAAI0dV
SUQAAACMHgAAqAQAACNCbG9iAAAAAAAAAAIAAAFXHaIJCQ4AAAD6ATMAFgAAAQAAAEoAAAAMAAAA
FgAAACkAAAAWAAAAcwAAAAIAAAA2AAAACgAAAAUAAAALAAAADQAAAAgAAAABAAAACwAAAAMAAAAD
AAAAAgAAAAAAEwgBAAAAAAAGAMMGwgwGADIHwgwGAJEF7wsPAOIMAAAGAAIGkAcKAKsGBw0KAJMG
Bw0KAHcGBw0OAPkGyAQGAOMGcggKAGgJ9wESAAwOhwMSAHwDXwMSANIOhwMSAOcDhwMSAMsCXwMS
AMAOXwMSAKsOXwMWAM0JMA0GANEJcggGANwNcggaABEBNwsaADgANwsaABoANwsGAK0LiQ0GAHkI
cggeACAH6AceAGIG6AcKAE4GBw0KALcN9wEOAFYOyAQiAKcKyAQOAN0JyAQKAMgN9wEmAOMADwse
AHoF9woeAFAF6AceAKUF6AcqABQFUgwqAHgLAgwGABsG7wsqANIFmwwqAOoF4AIqAGQLUgwqADMG
4AIGAA8FcggGAL4FfAwqACwBvgceAGUFfggqAH0NmwwGAFoDcggSACQFhwMSAEwDXwMSADAFXwMS
AN4OXwMGALgJcggqAIUCmwwuAAMESAgGAKgNwgwaAAEANwsaALMANwsGAFYBcggiACYOyAQaAPwA
NwsGAKwHcggaAHMANwsaAJAANwsaAMoANwsaAEsANwsmAO0EDwsGACoEcggOALYKyAQGADYEcggG
AMcLcggAAAAAfQEAAAAAAQABAAEAAACbCJoCEAABAAEAAQAAAMMKmgJ5AAsADgABAAAAOA6aAokA
CwATAAEAAACcDZoCVQANABcAAQAAAPEMmgJVAA4AGQAAAAAAtgiDD50ADwAaAAAAAAB2C4MPoQAP
ABsAAAEQAOMNgw9VAA8AHAACAQAA+wwAAGkAEwAhAAUBAABEDAAAVQAWACEABQEAADsBAABVABYA
KAABAJsJGAEBANoI9AEBAKsJ+AEBAB4B/AEBAFwBAAIBALAEGAEBAG0PBAIBAFcPBAIBAHgPBAIB
AGIPBAIGAJwNBwIGAPEMCwIBAEYODwIBAEYODwIxAGUKEwIxADwKGwIxAFAKIwIxAH4KLAIGBjcC
BAJWgEED9AFWgDMD9AEhACsPpwFQIAAAAAAGGNELBgABAFggAAAAAMYCOQ80AgEAhCIAAAAAxgJQ
BwYAAgASJAAAAADGAlsHBgACACgkAAAAAAYARwU6AgIA5CQAAAAAxgJaAgYAAwDYJQAAAAAGCHcJ
WgADAO0lAAAAAAYIiQkQAAMA+CUAAAAABgjECEACBAANJgAAAAAGCM8IRQIEABgmAAAAAAEI9gRL
AgUAOCYAAAAAAQBPAhAABQBkJgAAAAABAD8CUAIGAAgnAAAAAAYY0QtEAQcAFycAAAAAxgpODUsC
DAAXJwAAAADGCmUNSwIMACAnAAAAAIYATw/dAAwAOCcAAAAAhgAADt0ADABNJwAAAAAGGNELBgAM
AG0nAAAAAMYCFQ9WAgwAnScAAAAARgMPDzQCEACwJwAAAABGAzkPNAIRALInAAAAAAYY0QtiAhIA
wScAAAAABgh3CVIBEwDiJwAAAAAGGNELYgITAPEnAAAAAAYY0QsGABQA+ScAAAAABhjRCwYAFAAB
KAAAAAATCGkLaAIUAA0oAAAAABMIpghtAhQAGSgAAAAAEwhgC3ICFAAlKAAAAAATCDQMeAIUADEo
AAAAABEY1wuPABQAWygAAAAAxgIpDXoBFABpKAAAAADGAvcDxQAVAHEoAAAAAIMADAV9AhUAfSgA
AAAAxgKqB1oAFQCIKAAAAAARACQCgwIVAKgoAAAAAAEAEAKLAhYAsSgAAAAABhjRCwYAFwC8KAAA
AAADCM4DXwEXAPAoAAAAAAYY0QsGABcAAAABAFMPAAABABcEAAABAIoHAAABAIoHAAABACIEAAAB
AJMEAAABAG4OAAACAOYBAAADAAcPAAAEAMgKAAAFAOsJAAABAO8BAAACAL4EAAADAMgKAAAEAOsJ
AAABAMgKAAABAFMPAAABAG4OAAABAG4OAAABANsJAAABAN4DAAABAN4DCQDRCwEAEQDRCwYAGQDR
CwoAKQDRCxAAMQDRCwYAOQDRCxUAQQDRCxAASQDRCwYAUQDRCxsA2QDRCxAA4QDRCxAA6QDRCxAA
IQHRCyAAMQHRCyYASQHRCwYAUQHRCwYAWQHRCwYAaQHRCy0AeQHRCxsAiQHRCxAAcQDRCwYAcQCg
BBAAeQDRCwYA8QCcCkoAAQFgCFAAkQGqB1UAeQCDBBAAqQCqB1oAmQHRCxAAeQASA14AcQBpCGUA
YQBfB2sAgQDRCwYAgQBaBBAAgQD2Al4AgQBqBBAAgQAEA14AiQDRCwYAiQD1DXMAaQBfB3oAkQDR
CwYAkQD1DXMAwQHRCxAAyQGdC4MAmQD+B4kA0QFTCFoAyQGLC48AoQALBFoA+QBQBwYAGQFWCZ0A
WQDtDQYAWQC0A1AA2QF7B6IAoQDRCxAA+QBvAqcA4QFCCa0A6QFgCLMAEQFmDrkA+QHlCr8AsQCc
CsUAuQCNAcUAAQKbAckA+QBbBwYAWQA5BQYACQK3D9gAsQAZA90AsQAICeEAEQKEDsUA4QEiCecA
GQJgCO0AIQLOARAAEQFaAgYA6QGEDsUAsQDjCPQAKQIoAxsAEQIJCAYAKQIJCAYAKQI1D/oAwQB6
BBAAwQDpBP8AwQCzBwEACQK/DxgB4QGBCxsBKQJgCDUBEQK5CzsByQB4DkABuQCxAcUAwQCGAcUA
yQAiD90AOQI/BQYA8QDRC0QBQQJPD90AQQIADt0AEQHRCwYAsQCGAcUAqQDRCwYAIQLPClIBOQHR
CwYAQQHRCwYADADOA18BFADOA18BHADOA18BJADOA18BDADRCwYAFADRCwYAHADRCwYAJADRCwYA
qQApDXoBqQD3A8UAcQFIBH8BUQK/A5ABNAArD6cBPABnB18BPABxB8ABPADRCwYACABQAOoBCABU
AO8BKQBTAPADKQBbAP4DKQBjACsELgALAMECLgATAMoCLgAbAOkCLgAjAPICQwArAO8BQwAzAEkD
QwA7AGcDQwBDAO8BQwBLADoDSQBTAPADSQBbAEIEYwBLADoDgwBLADoD4wBrAHUD4wBzAEAD6QCj
AGEEAwFrAHUDAwFzAEADCQGjAHIEIwGDAO8BIwGLAO8BIwFrAHUDKQGjAIYESQGjAJMEYwFzAEAD
YwGTAI4DgwFzAEADgwGbADoD4AJLADoDIANLADoDYAN7AO8BYANzAEADgAN7AO8BoAN7AO8BwAN7
AO8B4AN7AO8BIARzAEADIAR7AO8BQARzAEADQAR7AO8BYARzAEADYAR7AO8BgARzAEADgAR7AO8B
oAR7AO8BwAR7AO8B4AR7AO8B4ARzAEADAAV7AO8BIAV7AO8BIAVzAEADNQCTAM8ABgEKAQ8BFAEm
AYgBmwECAAEAAwAEAAUABgAJAAcADAALAAAAjQmTAgAA0wiXAgAA+gScAgAAUg2cAgAAaQ2cAgAA
jQmhAgAAeAunAgAAuAisAgAAZAuxAgAARgy3AgAA0gO8AgIABwADAAEACAADAAIACQAFAAEACgAF
AAIACwAHAAIADwAJAAIAEAALAAIAGAANAAIAHAAPAAIAHQARAAIAHgATAAIAHwAVAAIAKAAXAFgB
ZAFrAXMBjQGgAbABuAEEgAAAAAAAAAAAAAAAAAAAAACaAgAABAAAAAAAAAAAAAAAxgGRAgAAAAAB
AAAAAAAAAAAAAADPAWcBAAAAAA0AAAAAAAAAAAAAANgBjg4AAAAAAQAAAAAAAAAAAAAAzwHeCwAA
AAAEAAAAAAAAAAAAAADhASAMAAAAAA0AAAAAAAAAAAAAANgBGAoAAAAABAAAAAAAAAAAAAAAxgFy
CAAAAAANAAAAAAAAAAAAAADYAeYOAAAAAA0AAAAAAAAAAAAAANgB9QkAAAAACgAAAAAAAAAAAAAA
4QHgAgAAAAAEAAAAAAAAAAAAAADGAUgIAAAAAAoAAgALAAkADAAJAAAAEAAYAA4CAAAQAEsADgIA
AAAATQAOAt8AlgHfALsBAAAAAABJRFRTQ29tcG9uZW50TWV0YURhdGExMDAASURUU0V4dGVybmFs
TWV0YWRhdGFDb2x1bW4xMDAASURUU0lucHV0Q29sdW1uMTAwAElEVFNFeHRlcm5hbE1ldGFkYXRh
Q29sdW1uQ29sbGVjdGlvbjEwMABJRFRTSW5wdXRDb2x1bW5Db2xsZWN0aW9uMTAwAElEVFNSdW50
aW1lQ29ubmVjdGlvbkNvbGxlY3Rpb24xMDAASURUU0lucHV0Q29sbGVjdGlvbjEwMABJRFRTUnVu
dGltZUNvbm5lY3Rpb24xMDAASURUU0Nvbm5lY3Rpb25NYW5hZ2VyMTAwAElEVFNCdWZmZXJNYW5h
Z2VyMTAwAElEVFNJbnB1dDEwMABtX3NlcnZpY2UyMDExAENvbnRleHRWYWx1ZWAxAFRocmVhZFNh
ZmVPYmplY3RQcm92aWRlcmAxAEludDMyAG1fc2VydmljZTQAQ296eVJvYy5TU0lTUGx1cy4yMDE2
ADxNb2R1bGU+AGdldF9JRABnZXRfTGluZWFnZUlEAEZpbmRDb2x1bW5CeUxpbmVhZ2VJRABnZXRf
RXh0ZXJuYWxNZXRhZGF0YUNvbHVtbklEAHNldF9Db25uZWN0aW9uTWFuYWdlcklEAE9iamVjdElE
AElucHV0SUQAQ296eVJvYy5TcWxTZXJ2ZXIuU1NJUwBUAERpc3Bvc2VfX0luc3RhbmNlX18AQ3Jl
YXRlX19JbnN0YW5jZV9fAHZhbHVlX18AR2V0SW5wdXRDb2x1bW5fAEZpcmVFcnJvcl8AUmVpbml0
aWFsaXplTWV0YURhdGEAZ2V0X0NvbXBvbmVudE1ldGFEYXRhAFByb2plY3REYXRhAG1zY29ybGli
AFNjcmlwdENvbXBvbmVudF85NGE0MzExMjZlODM0ZTk1OTEzOTAzNWQxYTc0NGU1YwBUYXJnZXRS
ZWxhdGVkRHluYW1pYwBNaWNyb3NvZnQuVmlzdWFsQmFzaWMAc2V0X0VudGl0eTFJZABzZXRfRW50
aXR5MklkAHNldF9JZABnZXRfSXNBdHRhY2hlZABzZXRfSXNVc2VkAFJlbW92ZVJlbGF0ZWQAU2V0
UmVsYXRlZABUYXJnZXRSZWxhdGVkAEd1aWQAQ296eVJvYy5EeW5hbWljcy5Dcm0uU2VydmljZQBD
cm1TZXJ2aWNlAENvenlSb2MuRHluYW1pY3MuQ3JtMjAxMS5Pcmdhbml6YXRpb25TZXJ2aWNlAEdl
dFNlcnZpY2UAQ3JlYXRlSW5zdGFuY2UAZ2V0X0dldEluc3RhbmNlAGluc3RhbmNlAEVudGl0eVJl
ZmVyZW5jZQBHZXRIYXNoQ29kZQBYbWxOb2RlAGdldF9NZXNzYWdlAGVyck1lc3NhZ2UAbWVzc2Fn
ZQBJRGlzcG9zYWJsZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBzZXRfRW50
aXR5MU5hbWUAc2V0X0VudGl0eTJOYW1lAHNldF9OYW1lAHNldF9Mb2dpY2FsTmFtZQBleHRlcm5h
bE5hbWUAc2V0X1JlcXVlc3ROYW1lAG1fcmVxdWVzdE5hbWUASW5wdXROYW1lAE1pY3Jvc29mdC5T
cWxTZXJ2ZXIuRHRzLlBpcGVsaW5lAHNldF9EYXRhVHlwZQBnZXRfQ3JtQ29ubmVjdGlvblR5cGUA
R2V0VHlwZQBBcHBsaWNhdGlvbkJhc2UAT3JnYW5pemF0aW9uUmVzcG9uc2UAQ2xvc2UARGlzcG9z
ZQBWYWxpZGF0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBIZWxwS2V5d29yZEF0dHJpYnV0ZQBHZW5l
cmF0ZWRDb2RlQXR0cmlidXRlAERlYnVnZ2FibGVBdHRyaWJ1dGUARWRpdG9yQnJvd3NhYmxlQXR0
cmlidXRlAENvbVZpc2libGVBdHRyaWJ1dGUAU3RhbmRhcmRNb2R1bGVBdHRyaWJ1dGUASGlkZU1v
ZHVsZU5hbWVBdHRyaWJ1dGUAVGFyZ2V0RnJhbWV3b3JrQXR0cmlidXRlAERlYnVnZ2VySGlkZGVu
QXR0cmlidXRlAE15R3JvdXBDb2xsZWN0aW9uQXR0cmlidXRlAENvbm5lY3Rpb25BdHRyaWJ1dGUA
RGVzY3JpcHRpb25BdHRyaWJ1dGUAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0cmlidXRlAFNvcnRQcm9w
ZXJ0aWVzQXR0cmlidXRlAENvbHVtbk1hcHBpbmdzQXR0cmlidXRlAENvbXBpbGF0aW9uUmVsYXhh
dGlvbnNBdHRyaWJ1dGUAQ0xTQ29tcGxpYW50QXR0cmlidXRlAFNTSVNTY3JpcHRDb21wb25lbnRF
bnRyeVBvaW50QXR0cmlidXRlAENhdGVnb3J5QXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5
QXR0cmlidXRlAFByZUV4ZWN1dGUAUG9zdEV4ZWN1dGUAZ2V0X1ZhbHVlAHNldF9WYWx1ZQBHZXRP
YmplY3RWYWx1ZQB2YWx1ZQBTeXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRvU3RyaW5nAHNldF9M
ZW5ndGgATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAU3lzdGVtLkNv
bXBvbmVudE1vZGVsAGdldF9EZXRhaWwAUmVtb3ZlQWxsAFNjcmlwdENvbXBvbmVudF85NGE0MzEx
MjZlODM0ZTk1OTEzOTAzNWQxYTc0NGU1Yy5kbGwAU3lzdGVtLlhtbABnZXRfSW5uZXJYbWwAZ2V0
X0l0ZW0Ac2V0X0l0ZW0AU3lzdGVtAEVudW0AU3lzdGVtLkNvbXBvbmVudE1vZGVsLkRlc2lnbgBT
Y3JpcHRNYWluAGdldF9BcHBsaWNhdGlvbgBNeUFwcGxpY2F0aW9uAGdldF9BY3Rpb24Ac2V0X0Fj
dGlvbgBtX2FjdGlvbgBnZXRfRXh0ZXJuYWxNZXRhZGF0YUNvbHVtbkNvbGxlY3Rpb24AZ2V0X0lu
cHV0Q29sdW1uQ29sbGVjdGlvbgBnZXRfUnVudGltZUNvbm5lY3Rpb25Db2xsZWN0aW9uAGdldF9J
bnB1dENvbGxlY3Rpb24AQWNxdWlyZUNvbm5lY3Rpb24ASUNybUNvbm5lY3Rpb24AZ2V0X0NybUNv
bm5lY3Rpb24Ac2V0X0NybUNvbm5lY3Rpb24AbV9jcm1Db25uZWN0aW9uAG1fY29ubmVjdGlvbgBB
cHBsaWNhdGlvbkV4Y2VwdGlvbgBTb2FwRXhjZXB0aW9uAG8AT3V0cHV0TmFtZU1hcABPdXRwdXRN
YXAATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNSdW50aW1lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVy
LkRUU1BpcGVsaW5lV3JhcABtX0FwcE9iamVjdFByb3ZpZGVyAG1fVXNlck9iamVjdFByb3ZpZGVy
AG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBn
ZXRfQnVmZmVyAFBpcGVsaW5lQnVmZmVyAFNjcmlwdEJ1ZmZlcgBJbnB1dEJ1ZmZlcgBnZXRfQ29u
bmVjdGlvbk1hbmFnZXIAZ2V0X0J1ZmZlck1hbmFnZXIAU3lzdGVtLkNvZGVEb20uQ29tcGlsZXIA
TWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZS5XcmFwcGVyAE1pY3Jvc29mdC5TcWxTZXJ2
ZXIuRHRzLlBpcGVsaW5lLldyYXBwZXIAZ2V0X1VzZXIAZ2V0X0NvbXB1dGVyAE15Q29tcHV0ZXIA
RmlyZUVycm9yAENsZWFyUHJvamVjdEVycm9yAFNldFByb2plY3RFcnJvcgBJRW51bWVyYXRvcgBH
ZXRFbnVtZXJhdG9yAEFjdGl2YXRvcgAuY3RvcgAuY2N0b3IAQ296eVJvYy5EeW5hbWljcwBTeXN0
ZW0uRGlhZ25vc3RpY3MATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAU3lzdGVtLldlYi5T
ZXJ2aWNlcwBnZXRfV2ViU2VydmljZXMATXlXZWJTZXJ2aWNlcwBNaWNyb3NvZnQuVmlzdWFsQmFz
aWMuQXBwbGljYXRpb25TZXJ2aWNlcwBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXMATWlj
cm9zb2Z0LlZpc3VhbEJhc2ljLkNvbXBpbGVyU2VydmljZXMAU3lzdGVtLlJ1bnRpbWUuQ29tcGls
ZXJTZXJ2aWNlcwBEZWJ1Z2dpbmdNb2RlcwBWYXJpYWJsZXMAQWN0aW9uVHlwZXMAQ296eVJvYy5T
cWxTZXJ2ZXIuU1NJUy5BdHRyaWJ1dGVzAEVxdWFscwBTeXN0ZW0uV2ViLlNlcnZpY2VzLlByb3Rv
Y29scwBnZXRfU3RhdGljSW5wdXRDb2x1bW5zAGdldF9TdGF0aWNPdXRwdXRDb2x1bW5zAENvbnZl
cnNpb25zAFN5c3RlbS5Db2xsZWN0aW9ucwBDb25uZWN0aW9ucwBSdW50aW1lSGVscGVycwBTY3Jp
cHRCdWZmZXJQbHVzAFNjcmlwdENvbXBvbmVudFBsdXMAT2JqZWN0AE15UHJvamVjdABDb25uZWN0
AHNldF9UYXJnZXQARW5kT2ZSb3dzZXQAT3JnYW5pemF0aW9uU2VydmljZUNsaWVudABQaXBlbGlu
ZUNvbXBvbmVudABVc2VyQ29tcG9uZW50AFBhcmVudENvbXBvbmVudABTY3JpcHRDb21wb25lbnQA
Z2V0X0hvc3RDb21wb25lbnQAZ2V0X0N1cnJlbnQAZ2V0X0NvdW50AE1pY3Jvc29mdC5TcWxTZXJ2
ZXIuVHhTY3JpcHQAUmVtb3ZlUmVsYXRlZFJlcXVlc3QAU2V0UmVsYXRlZFJlcXVlc3QAT3JnYW5p
emF0aW9uUmVxdWVzdABNaWNyb3NvZnQuU3FsU2VydmVyLlBpcGVsaW5lSG9zdABJc0lucHV0AElu
cHV0X1Byb2Nlc3NJbnB1dABNb3ZlTmV4dABtX0NvbnRleHQATmV3AElucHV0X1Byb2Nlc3NJbnB1
dFJvdwBOZXh0Um93AG1fZmVpSW5kZXgAbV9zZWlJbmRleABtX2ZlbkluZGV4AG1fc2VuSW5kZXgA
U2NyaXB0Q29tcG9uZW50Xzk0YTQzMTEyNmU4MzRlOTU5MTM5MDM1ZDFhNzQ0ZTVjLk15AElzTnVs
bE9yRW1wdHkAAAAAAA1UAGEAcgBnAGUAdAAALVUAbgBoAGEAbgBkAGwAZQBkACAAYQBjAHQAaQBv
AG4AIAB0AHkAcABlAC4AADNVAG4AaABhAG4AZABsAGUAZAAgAHMAZQByAHYAaQBjAGUAIABvAGIA
agBlAGMAdAAuAAAVUwBlAHQAUgBlAGwAYQB0AGUAZAAAG1IAZQBtAG8AdgBlAFIAZQBsAGEAdABl
AGQAAB9GAGkAcgBzAHQARQBuAHQAaQB0AHkATgBhAG0AZQAAG0YAaQByAHMAdABFAG4AdABpAHQA
eQBJAGQAACFTAGUAYwBvAG4AZABFAG4AdABpAHQAeQBOAGEAbQBlAAAdUwBlAGMAbwBuAGQARQBu
AHQAaQB0AHkASQBkAAA/UwBlAGwAZQBjAHQAIABEAHkAbgBhAG0AaQBjAHMAIABDAFIATQAgAGMA
bwBuAG4AZQBjAHQAaQBvAG4ALgAAJU0AYQBwACAAaQBuAHAAdQB0ACAAYwBvAGwAdQBtAG4AcwAu
AAAbQwByAG0AQwBvAG4AbgBlAGMAdABpAG8AbgAAFU4AbwAgAGkAbgBwAHUAdABzAC4AABlEAFkA
TgBBAE0ASQBDAFMALQBDAFIATQABNUQAeQBuAGEAbQBpAGMAcwAgAEMAUgBNACAAUgBlAGwAYQB0
AGkAbwBuAHMAaABpAHAAcwAAL0kAbgBwAHUAdAAgAGMAbwBsAHUAbQBuACAAbgBvAHQAIABmAG8A
dQBuAGQALgAAC0kAbgBwAHUAdAAAAF7x+nCWr9BPlWo2ghhNFJkABCABAQgDIAABBSABARERBCAB
AQ4FIAEBHQ4EIAEBAgUgAgEODgYgAQERgJUHIAQBDg4ODhQHCRI5Ej0SPRJBESgSRRJJEk0SUQUg
ABKAgQQgARwIBAABDhwDIAAOBiABARGAzQUgAgEOHAcgARKA0RI5BiABARKA1QggARKA2RKA3QUA
AQESUQUgABKA6QMAAAEJBwQcElkSXREoBCABHBwEAAEcHAUgABKA8QUgABKA9QUgARJZHAUgABKA
/QUgABKBAQMgAAgFIAIICAgIBwQCAhJZElEEAAECDgMgAAIFIAASgQkFIAASgQ0GIAESgREcBSAA
EoEVBCAAEmEGIAEBEYEZAwcBDgQHAREoBAcBHQ4DBwECAgYOCiAGAQgODg4IEAIOBwYSXRJdElkS
YRJlEl0FIAESYRwEIAASZQMgABwNIAUBEn0IAhKAgRKAhQUgABKAjQYVEjABEiAEIAATAAYVEjAB
EhwHFRIwARKAsQYVEjABEiwEIAECHAgAARKAuRGBJQQHAR4AAh4ABRABAB4ABAoBHgAEBwETAAYV
EjABEwAIBhUSgMEBEwAHFRKAwQETAAITAAQKARMABSABARMACLd6XFYZNOCJCBbPSQu4DDTqCImE
Xc2AgMyRCLA/X38R1Qo6BAAAAAAEAQAAAAMGESgDBhItAwYSMQMGEjUCBggDBhIUAwYSGAMGEn0H
BhUSMAESIAcGFRIwARIcCAYVEjABEoCxBwYVEjABEiwFIAEBEgwFIAECEA4EIAARKAUgAQERKAQg
AB0OBSABEl0OCyAEAQgOEoCBEoCFBSABARJ9BAAAEiAEAAASHAUAABKAsQQAABIsBSAAEoC5BxAB
AR4AHgAHMAEBARAeAAMoAA4EKAARKAQoAB0OBSgAEoCNBAgAEiAECAASHAUIABKAsQQIABIsBCgA
EwAIAQAIAAAAAAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBCAEAAgAAAAAARwEAGi5O
RVRGcmFtZXdvcmssVmVyc2lvbj12NC4wAQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZy
YW1ld29yayA0BQEAAAAACAEAAQAAAAAAHQEAAgAAAA1Dcm1Db25uZWN0aW9uBkFjdGlvbgAADQEA
CFZhbGlkYXRlAAAYAQAKTXlUZW1wbGF0ZQgxMS4wLjAuMAAAYQEANFN5c3RlbS5XZWIuU2Vydmlj
ZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9jb2wSQ3JlYXRlX19JbnN0YW5jZV9fE0Rp
c3Bvc2VfX0luc3RhbmNlX18AAAANAQAIU2V0dGluZ3MAACwBACdTZWxlY3QgRHluYW1pY3MgQ1JN
IENvbm5lY3Rpb24gTWFuYWdlci4AABYBABFDcm1Db25uZWN0aW9uVHlwZQAAHgEAGVNlbGVjdCBh
Y3Rpb24gdG8gcGVyZm9ybS4AABABAAtNeS5Db21wdXRlcgAAEwEADk15LkFwcGxpY2F0aW9uAAAM
AQAHTXkuVXNlcgAAEwEADk15LldlYlNlcnZpY2VzAAAAYEwAAAAAAAAAAAAAekwAAAAgAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAGxMAAAAAAAAAAAAAAAAX0NvckRsbE1haW4AbXNjb3JlZS5kbGwAAAAA
AP8lACAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAAAAYAACA
AAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAAWGAAAOwCAAAA
AAAAAAAAAOwCNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9BO/+AAABAAAA
AAAAAAAAAAAAAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEAVgBhAHIARgBp
AGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAAAAAsARMAgAA
AQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAAoAgAAAQAwADAAMAAwADAANABiADAAAAAs
AAIAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAIAAAADAACAABAEYAaQBsAGUA
VgBlAHIAcwBpAG8AbgAAAAAAMAAuADAALgAwAC4AMAAAAIoANQABAEkAbgB0AGUAcgBuAGEAbABO
AGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwA5ADQAYQA0ADMAMQAxADIA
NgBlADgAMwA0AGUAOQA1ADkAMQAzADkAMAAzADUAZAAxAGEANwA0ADQAZQA1AGMALgBkAGwAbAAA
AAAAKAACAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAIAAAAJIANQABAE8AcgBpAGcA
aQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABf
ADkANABhADQAMwAxADEAMgA2AGUAOAAzADQAZQA5ADUAOQAxADMAOQAwADMANQBkADEAYQA3ADQA
NABlADUAYwAuAGQAbABsAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAw
AC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADAA
LgAwAC4AMAAuADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAMAAAAjDwAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></arrayElement></arrayElements></property><property id="9" name="UserComponentTypeName" dataType="System.String">CozyRoc.ScriptComponentHostPlus</property><property id="11" name="VSTAProjectName" dataType="System.String" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE">ScriptComponent_b1e7e4d58af2417a95074a992df9425f</property><property id="12" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><connections><connection id="15" name="CrmConnection" connectionManagerID="{EB1EB761-DB8F-4F1C-96A3-1EF8BB8AE919}" /></connections><inputs><input id="16" name="Input" hasSideEffects="true"><externalMetadataColumns isUsed="True"><externalMetadataColumn id="43" name="FirstEntityName" dataType="wstr" length="100" /><externalMetadataColumn id="44" name="FirstEntityId" dataType="guid" /><externalMetadataColumn id="45" name="SecondEntityName" dataType="wstr" length="100" /><externalMetadataColumn id="46" name="SecondEntityId" dataType="guid" /></externalMetadataColumns></input></inputs></component>