<component id="42" name="XPath Transform" componentClassID="Microsoft.ManagedComponentHost" description="Executes a custom script." localeId="1033" version="9" 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="43" 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[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

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 WriteOnly Property [Result]() As String
        Set
            Me(0) = Value
        End Set
    End Property
    Public WriteOnly Property [Result_IsNull] As Boolean
        Set
            If (value)
                SetNull(0)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {"Result"}
        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[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-2011 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.Xml
Imports System.Xml.XPath

Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS.Attributes


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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Dim xml As String
        If Not Row.Buffer.IsNull(m_columnIndex) Then
            xml = Row.Buffer.GetString(m_columnIndex)
        End If

        If String.IsNullOrEmpty(xml) Then
            ' No data to process.
            Return
        End If

        Try
            Call m_document.LoadXml(xml)

            ' Load result.
            Dim result As String
            Dim iter As XPathNodeIterator = m_navigator.Select(m_expr)
            While iter.MoveNext()
                If Not String.IsNullOrEmpty(result) Then
                    result += Me.ResultSeparator
                End If

                result += CType(iter.Current, IHasXmlNode).GetNode().Value
            End While

            Row.Result = result
        Catch ex As Exception
            Dim cancel As Boolean = False
            Call MyBase.ComponentMetaData.FireError( _
                0, _
                "XPath Transform", _
                ex.Message, _
                String.Empty, _
                0, _
                cancel)
        End Try
    End Sub ' Input_ProcessInputRow


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

        Try
            ' Setup XML document, XPath navigator and expression.
            ' They will be used during processing.
            m_document = New XmlDocument()
            m_navigator = m_document.CreateNavigator()
            m_expr = m_navigator.Compile(Me.XPath)
            If Not String.IsNullOrEmpty(Me.Namespaces) Then
                ' Setup namespaces.
                Dim ns As XmlNamespaceManager = New XmlNamespaceManager(m_document.NameTable)
                Dim nsList() As String = Me.Namespaces.Split( _
                    New String() {"\r\n"}, _
                    StringSplitOptions.None)
                For Each nsCombo As String In nsList
                    If String.IsNullOrEmpty(nsCombo) Then
                        Continue For
                    End If

                    Dim equalIndex As Integer = nsCombo.IndexOf("=")
                    Dim prefix As String = nsCombo.Substring(0, equalIndex)
                    Dim uri As String = nsCombo.Substring(equalIndex + 1)
                    Call ns.AddNamespace(prefix, uri)
                Next

                Call m_expr.SetContext(ns)
            End If

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

            ' Find input column index.
            m_columnIndex = Me.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                input.InputColumnCollection(Me.InputColumn).LineageID)
        Catch ex As Exception
            Dim cancel As Boolean = False
            Call MyBase.ComponentMetaData.FireError( _
                0, _
                "XPath Transform", _
                ex.Message, _
                String.Empty, _
                0, _
                cancel)
        End Try
    End Sub ' PreExecute


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

        m_document = Nothing
        m_columnIndex = -1
    End Sub ' PostExecute


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

        Try
            If String.IsNullOrEmpty(Me.InputColumn) Then
                Throw New ApplicationException("Select input column.")
            End If

            If String.IsNullOrEmpty(Me.XPath) Then
                Throw New ApplicationException("Specify XPath statement.")
            End If

            Dim managedComponent As CManagedComponentWrapper = Me.ComponentMetaData.Instantiate()
            Dim input As IDTSInput100 = Me.ComponentMetaData.InputCollection(0)
            Dim virtInput As IDTSVirtualInput100 = input.GetVirtualInput()

            Call input.InputColumnCollection.RemoveAll()

            ' Setup selected input column.
            Dim inputColumn As IDTSInputColumn100 = managedComponent.SetUsageType( _
                input.ID, _
                virtInput, _
                virtInput.VirtualInputColumnCollection(Me.InputColumn).LineageID, _
                DTSUsageType.UT_READONLY)

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

        Validate = result
    End Function    'Validate


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select input column.")> _
    <InputVirtualColumn()> _
    Public Property InputColumn() As String
        Get
            InputColumn = m_inputColumn
        End Get
        Set(ByVal value As String)
            m_inputColumn = value
        End Set
    End Property    ' InputColumn


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify XPath statement.")> _
    <TextDialog("Specify XPath statement")> _
    Public Property XPath() As String
        Get
            XPath = m_xpath
        End Get
        Set(ByVal value As String)
            m_xpath = value
        End Set
    End Property    ' XPath


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify XPath namespaces. The format is <namespace prefix>=<namespace>. Separate each namespace with newline.")> _
    <TextDialog("Specify XPath namespaces")> _
    Public Property Namespaces() As String
        Get
            Namespaces = m_namespace
        End Get
        Set(ByVal value As String)
            m_namespace = value
        End Set
    End Property    ' Namespaces


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify result separator string.")> _
    Public Property ResultSeparator() As String
        Get
            ResultSeparator = m_resultSep
        End Get
        Set(ByVal value As String)
            m_resultSep = value
        End Set
    End Property    ' ResultSeparator
#End Region ' Properties


#Region "Attributes"
    Private m_inputColumn As String
    Private m_xpath As String
    Private m_namespace As String
    Private m_resultSep As String

    Private m_document As XmlDocument
    Private m_navigator As XPathNavigator
    Private m_expr As XPathExpression
    Private m_columnIndex As Integer
#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:CodeName>ScriptComponent_7d26cd9cb56d49a1866dc132266ba065</msb:CodeName>
		<msb:DisplayName>ScriptComponent_7d26cd9cb56d49a1866dc132266ba065</msb:DisplayName>
		<msb:ProjectId>{9BEF5E65-58D5-49B9-ABEF-6CB0C775BAEA}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="ScriptComponent_7d26cd9cb56d49a1866dc132266ba065.vbproj"/>
		<msb:Folder Include="My Project\"/>
		<msb:File Include="ScriptMain.vb"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ScriptComponent_7d26cd9cb56d49a1866dc132266ba065.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>{90236C0A-85EA-4CA7-87CC-C2B5AF07FD37}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptComponent_7d26cd9cb56d49a1866dc132266ba065</RootNamespace>
    <AssemblyName>ScriptComponent_7d26cd9cb56d49a1866dc132266ba065</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <OptionCompare>Binary</OptionCompare>
    <OptionExplicit>On</OptionExplicit>
    <OptionStrict>On</OptionStrict>
  </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.2014, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\120\SDK\Assemblies\CozyRoc.SSISPlus.2014.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=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="System">
      <Private>False</Private>
    </Reference>
    <Reference Include="System.Data">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.ManagedDTS">
      <Private>False</Private>
    </Reference>
    <Reference Include="System.Xml">
      <Private>False</Private>
    </Reference>
  </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_SC120" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC120</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>
</Project>]]></arrayElement></arrayElements></property><property id="44" 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_7d26cd9cb56d49a1866dc132266ba065.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
cQAXAKgmAAAAAAYIfAXAABcAtCYAAAAABgiLBXEAGADMJgAAAAAGCJ8FwAAYAAAAAQBLAgAAAQCE
AgAAAQCEAgAAAQDKAwAAAgDUAwAAAwDdAwAABADlAwAABQDsAwAAAQAYBAAAAQAYBAAAAQC5BAAA
AgDBBAAAAwDlAwAABADsAwAAAQDlAwAAAQD0BAAAAQDKAwAAAQDKAwAAAQD0BAAAAQAoBQAAAQBT
BQAAAQBTBQAAAQBTBQAAAQBTBQkATwETAHkATwEVAYkATwEkAREATwETAJEATwETACQATwETACwA
TwETADQATwETADwATwETACQAoQKLACwAoQKLADQAoQKLADwAoQKLAJkATwETAKEATwETAKkATwHA
ALEA1we+ARkARAJjABkATQJoACkA+AfLARkAZgJxAMEAFAjbARkATwETAMkATwHrAUQA6gKQAEwA
PgiLAEwASAhoAkwATwETANEATwHFADkATwGvADkAjAiCAjkAlQiIAuEATwHAAOkASATKAOkAUATK
APEATwHFAFkATwETAEEAQAmUAvkAbQmZAgEBjgmfAgkBlwloADkAugmmAkkAxQmrAkkAzAmwAtkA
1gm1AmEA5AnAAGkA7Am6AtkA8wnCAhEB+gnIAiEBGgrNAikBPghxABEBIgrKADEBNwrTAhkBRwpx
ANkAUwoDAfkAWQraAjEBYwoXAEEACAUTAGEATwETAGEAiQrIAmkAmQrxAmEArgr3AjkBTwH9AtkA
zwoEA9kA1QoOA9kA3QoTA9kA3QqwAjkB5wokAXEA9AoZA1kAFwsgA1kBPgsmAwkBugloAAkBbQss
A2kBjgkyA3EBmgtoAGEBqAs5A0EAEwUTAIkBTwHAAPkAAAxXAwkBDAxdA2kBHAwTAIEBSgxjA5EB
jglpA5kBmgtoAKEBrQxwA7EBTwETALkBTwHAAMEBTwGgA8kBTwETANEBTwHAANkBTwHAAOEBTwGI
AukBTwETAPEBTwHAACkAgwB4AS4A4wLoBC4A6wLxBC4A8wIQBUAAEwAbAUAAKwBDAUMAGwAqAUMA
EwAbAUkAgwCqAWMAEwAbAWMAGwAqAWkAgwCJAYAAKwBDAYMAewBDAYMAGwAqAYMAcwBDAYkAgwCW
AaAAKwBDAaMAwwDzAaMAEwAbAcAAKwBDAcMA6wB3AsMAEwAbAeAAKwBDAeMAIwF3AgABEwAbAQAB
KwBDAQMBIwF3AiABKwBDASABEwAbAUABEwAbAUABKwBDAUkBywJDAUkB0wLcA2ABKwBDAWABEwAb
AWMBswJDAWMBuwKSA2MBIwF3AmMBwwKmA2kB2wKHBGkB0wKkBIABKwBDAYkB2wL2A4kB0wIUBKAB
KwBDAakB0wLCBMABKwBDAcABEwAbAeABKwBDAQACKwBDAQACEwAbAYADIwF3AqADIwF3AmQBaQFu
AXMBwwHHAdIB1wHmAeYBbgJ9Ao0CwwHDAeUCPwN+A9cB1wHXAdcBBAABAAYABQAHAAYACwAKAAAA
cwFPAAAALAJUAAAA2wFZAAAAOAJeAAAA9AKYAAAAXATOAAAAbwTTAAAAdgTXAAAAhATOAAAAVAbT
AAAAYAbTAAAAZgbTAAAAcQbTAAIABAADAAIABQAFAAIABgAHAAIABwAJAAIADwALAAIAEgANAAEA
EwAPAAEAFAARAAIAFQATAAIAIwAVAAEAJAAVAAEAJgAXAAIAJQAXAAEAKAAZAAIAJwAZAAIAKQAb
AAEAKgAbAHUAdQCIAEgBTwFWAV0BVQJcAgSAAAAAAAAAAAAAAAAAAAAAALUAAAAEAAAAAAAAAAAA
AAABAAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAAAAAAAQAAAAAAAAAAAAAAnQAAAwAAAAAMAAAAAAAA
AAAAAACmAD4DAAAAAAwAAAAAAAAAAAAAAKYAjAMAAAAABAAAAAAAAAAAAAAAAQDhBQAAAAAEAAAA
AAAAAAAAAAABAHwBAAAAAAwAAAAAAAAAAAAAAKYA2ggAAAAABQAEAAYABAAAABAADACCAgAAEAAZ
AIICAAAAABsAggItAOEBLQBjAgAAADxNb2R1bGU+AG1zY29ybGliAE1pY3Jvc29mdC5WaXN1YWxC
YXNpYwBNeUFwcGxpY2F0aW9uAFNjcmlwdENvbXBvbmVudF83ZDI2Y2Q5Y2I1NmQ0OWExODY2ZGMx
MzIyNjZiYTA2NS5NeQBNeUNvbXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNh
ZmVPYmplY3RQcm92aWRlcmAxAElucHV0QnVmZmVyAFNjcmlwdENvbXBvbmVudF83ZDI2Y2Q5Y2I1
NmQ0OWExODY2ZGMxMzIyNjZiYTA2NQBVc2VyQ29tcG9uZW50AENvbm5lY3Rpb25zAFZhcmlhYmxl
cwBTY3JpcHRNYWluAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5BcHBsaWNhdGlvblNlcnZpY2VzAEFw
cGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuRGV2aWNlcwBDb21wdXRl
cgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0ZXIAbV9Db21wdXRlck9iamVjdFByb3Zp
ZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFByb3ZpZGVyAFVzZXIAZ2V0X1VzZXIAbV9V
c2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2VzAG1fTXlXZWJTZXJ2aWNlc09iamVjdFBy
b3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVxdWFscwBvAEdldEhhc2hDb2RlAFR5cGUA
R2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNlX18AVABpbnN0YW5jZQBEaXNwb3NlX19J
bnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuTXlTZXJ2aWNl
cy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRleHQAR2V0SW5zdGFuY2UAQ296eVJvYy5T
U0lTUGx1cy4yMDE0AENvenlSb2MuU3FsU2VydmVyLlNTSVMAU2NyaXB0QnVmZmVyUGx1cwBNaWNy
b3NvZnQuU3FsU2VydmVyLlR4U2NyaXB0AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5l
AFNjcmlwdENvbXBvbmVudABNaWNyb3NvZnQuU3FsU2VydmVyLlBpcGVsaW5lSG9zdABQaXBlbGlu
ZUJ1ZmZlcgBPdXRwdXROYW1lTWFwAENvbXBvbmVudABPYmplY3RJRABJc0lucHV0AEJ1ZmZlcgBP
dXRwdXRNYXAAZ2V0X1N0YXRpY0lucHV0Q29sdW1ucwBzZXRfUmVzdWx0AFZhbHVlAHNldF9SZXN1
bHRfSXNOdWxsAGdldF9TdGF0aWNPdXRwdXRDb2x1bW5zAE5leHRSb3cARW5kT2ZSb3dzZXQAU3Rh
dGljSW5wdXRDb2x1bW5zAFJlc3VsdABSZXN1bHRfSXNOdWxsAFN0YXRpY091dHB1dENvbHVtbnMA
U2NyaXB0Q29tcG9uZW50UGx1cwBQcm9jZXNzSW5wdXQASW5wdXRJRABJbnB1dE5hbWUASW5wdXRf
UHJvY2Vzc0lucHV0AElucHV0X1Byb2Nlc3NJbnB1dFJvdwBSb3cAUGFyZW50Q29tcG9uZW50AFBy
ZUV4ZWN1dGUAUG9zdEV4ZWN1dGUAVmFsaWRhdGUAZXJyTWVzc2FnZQBnZXRfSW5wdXRDb2x1bW4A
c2V0X0lucHV0Q29sdW1uAHZhbHVlAGdldF9YUGF0aABzZXRfWFBhdGgAZ2V0X05hbWVzcGFjZXMA
c2V0X05hbWVzcGFjZXMAZ2V0X1Jlc3VsdFNlcGFyYXRvcgBzZXRfUmVzdWx0U2VwYXJhdG9yAG1f
aW5wdXRDb2x1bW4AbV94cGF0aABtX25hbWVzcGFjZQBtX3Jlc3VsdFNlcABTeXN0ZW0uWG1sAFht
bERvY3VtZW50AG1fZG9jdW1lbnQAU3lzdGVtLlhtbC5YUGF0aABYUGF0aE5hdmlnYXRvcgBtX25h
dmlnYXRvcgBYUGF0aEV4cHJlc3Npb24AbV9leHByAG1fY29sdW1uSW5kZXgASW5wdXRDb2x1bW4A
WFBhdGgATmFtZXNwYWNlcwBSZXN1bHRTZXBhcmF0b3IAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVk
aXRvckJyb3dzYWJsZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURv
bS5Db21waWxlcgBHZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1
Z2dlckhpZGRlbkF0dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNl
cwBTdGFuZGFyZE1vZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0u
Q29tcG9uZW50TW9kZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1l
LkNvbXBpbGVyU2VydmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5
cGVIYW5kbGUAR2V0VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3Jv
dXBDb2xsZWN0aW9uQXR0cmlidXRlAGdldF9WYWx1ZQBzZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUu
SW50ZXJvcFNlcnZpY2VzAENvbVZpc2libGVBdHRyaWJ1dGUAU3RyaW5nAHNldF9JdGVtAFNldE51
bGwASW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbgBTY3JpcHRCdWZmZXIAQ0xTQ29tcGxpYW50QXR0
cmlidXRlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUGlwZWxpbmVXcmFwAE1pY3Jvc29mdC5TcWxT
ZXJ2ZXIuRHRzLlBpcGVsaW5lLldyYXBwZXIASURUU0NvbXBvbmVudE1ldGFEYXRhMTAwAGdldF9D
b21wb25lbnRNZXRhRGF0YQBJRFRTSW5wdXRDb2xsZWN0aW9uMTAwAGdldF9JbnB1dENvbGxlY3Rp
b24ASURUU0lucHV0MTAwAGdldF9JdGVtAGdldF9JRABYUGF0aE5vZGVJdGVyYXRvcgBFeGNlcHRp
b24AZ2V0X0J1ZmZlcgBJc051bGwAR2V0U3RyaW5nAElzTnVsbE9yRW1wdHkATG9hZFhtbABTZWxl
Y3QAQ29uY2F0AGdldF9DdXJyZW50AElIYXNYbWxOb2RlAFhtbE5vZGUAR2V0Tm9kZQBNb3ZlTmV4
dABQcm9qZWN0RGF0YQBTZXRQcm9qZWN0RXJyb3IAZ2V0X01lc3NhZ2UARW1wdHkARmlyZUVycm9y
AENsZWFyUHJvamVjdEVycm9yAFhtbE5hbWVzcGFjZU1hbmFnZXIAQ3JlYXRlTmF2aWdhdG9yAENv
bXBpbGUAWG1sTmFtZVRhYmxlAGdldF9OYW1lVGFibGUAU3RyaW5nU3BsaXRPcHRpb25zAFNwbGl0
AEluZGV4T2YAU3Vic3RyaW5nAEFkZE5hbWVzcGFjZQBTZXRDb250ZXh0AEludDMyAFBpcGVsaW5l
Q29tcG9uZW50AGdldF9Ib3N0Q29tcG9uZW50AElEVFNCdWZmZXJNYW5hZ2VyMTAwAGdldF9CdWZm
ZXJNYW5hZ2VyAElEVFNJbnB1dENvbHVtbkNvbGxlY3Rpb24xMDAAZ2V0X0lucHV0Q29sdW1uQ29s
bGVjdGlvbgBJRFRTSW5wdXRDb2x1bW4xMDAAZ2V0X0xpbmVhZ2VJRABGaW5kQ29sdW1uQnlMaW5l
YWdlSUQAQ01hbmFnZWRDb21wb25lbnRXcmFwcGVyAElEVFNWaXJ0dWFsSW5wdXQxMDAAQXBwbGlj
YXRpb25FeGNlcHRpb24ASW5zdGFudGlhdGUAR2V0VmlydHVhbElucHV0AFJlbW92ZUFsbABJRFRT
VmlydHVhbElucHV0Q29sdW1uQ29sbGVjdGlvbjEwMABnZXRfVmlydHVhbElucHV0Q29sdW1uQ29s
bGVjdGlvbgBJRFRTVmlydHVhbElucHV0Q29sdW1uMTAwAElEVFNEZXNpZ250aW1lQ29tcG9uZW50
MTAwAERUU1VzYWdlVHlwZQBTZXRVc2FnZVR5cGUAU1NJU1NjcmlwdENvbXBvbmVudEVudHJ5UG9p
bnRBdHRyaWJ1dGUAQ296eVJvYy5TcWxTZXJ2ZXIuU1NJUy5BdHRyaWJ1dGVzAFZhbGlkYXRlUHJv
cGVydGllc0F0dHJpYnV0ZQBTb3J0UHJvcGVydGllc0F0dHJpYnV0ZQBJbnB1dFZpcnR1YWxDb2x1
bW5BdHRyaWJ1dGUARGVzY3JpcHRpb25BdHRyaWJ1dGUAVGV4dERpYWxvZ0F0dHJpYnV0ZQBDb21w
aWxhdGlvblJlbGF4YXRpb25zQXR0cmlidXRlAFJ1bnRpbWVDb21wYXRpYmlsaXR5QXR0cmlidXRl
AFN5c3RlbS5SdW50aW1lLlZlcnNpb25pbmcAVGFyZ2V0RnJhbWV3b3JrQXR0cmlidXRlAFNjcmlw
dENvbXBvbmVudF83ZDI2Y2Q5Y2I1NmQ0OWExODY2ZGMxMzIyNjZiYTA2NS5kbGwAAAAAgJtJAHMA
TgB1AGwAbAAgAHAAcgBvAHAAZQByAHQAeQAgAGMAYQBuAG4AbwB0ACAAYgBlACAAcwBlAHQAIAB0
AG8AIABGAGEAbABzAGUALgAgAEEAcwBzAGkAZwBuACAAYQAgAHYAYQBsAHUAZQAgAHQAbwAgAHQA
aABlACAAYwBvAGwAdQBtAG4AIABpAG4AcwB0AGUAYQBkAC4AAA1SAGUAcwB1AGwAdAAAC0kAbgBw
AHUAdAAAH1gAUABhAHQAaAAgAFQAcgBhAG4AcwBmAG8AcgBtAAAJXAByAFwAbgAAAz0AAClTAGUA
bABlAGMAdAAgAGkAbgBwAHUAdAAgAGMAbwBsAHUAbQBuAC4AADFTAHAAZQBjAGkAZgB5ACAAWABQ
AGEAdABoACAAcwB0AGEAdABlAG0AZQBuAHQALgAAAACSPsyojio2Q6wZ+m3CwrFbAAi3elxWGTTg
iQiwP19/EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIR
BAAAEhQHBhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxAB
AR4AHgAHMAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAgWz0kLuAw06giJhF3NgIDMkQsgBQES
IQgCEiUSKQQgAB0OBCABAQ4EIAEBAgMgAAIEKAAdDgMoAA4DKAACAwYSJAMGEigJIAQBCA4SJRIp
BSABARIcAwYSIQUgAQESIQUgAQIQDgIGDgMGEjEDBhI1AwYSOQIGCAUgAQERQQgBAAEAAAAAAAUg
AgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAEAQAAAAYVEhgBEgwGFRIYARIIBhUSGAESEQYV
EhgBEhQEBwESDAQHARIIBAcBEhEEBwESFBABAAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIAABMB
AA5NeS5XZWJTZXJ2aWNlcwAAEwEADk15LkFwcGxpY2F0aW9uAAAEAAEcHAMHAQIDBwEIBgABEhUR
XQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZpY2Vz
LlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNEaXNw
b3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMAEwATAAUBAAAA
AAQHAR0OBSACAQgcBCABAQgGBwIdDh0OBCAAEn0FIAASgIEGIAESgIUcBCAAEiUEIAECCAQgAQ4I
BAABAg4HIAESgIkSOQUAAg4ODgQgABI1BSAAEoCVBgABARKAjQogBgEIDg4OCBACCwcFDhKAiQ4C
EoCNBSABEjkOBSAAEoChBiABARKAoQkgAh0OHQ4RgKUEIAEIDgUgAg4ICAYgAQESgJ0FIAASgK0F
IAASgLEFIAASgLUGIAESgLkcBSACCAgIFwcMEoCFEoCdHQ4IDg4OAhKAjR0OCB0OBSAAEoC9BSAA
EoDBBSAAEoDJBiABEoDNHA0gBBKAuQgSgMEIEYDVEwcHAgISgIUSgLkSgL0SgMESgI0NAQAIVmFs
aWRhdGUAAAUgAQEdDjUBAAQAAAALSW5wdXRDb2x1bW4FWFBhdGgKTmFtZXNwYWNlcw9SZXN1bHRT
ZXBhcmF0b3IAABkBABRTZWxlY3QgaW5wdXQgY29sdW1uLgAAHQEAGFNwZWNpZnkgWFBhdGggbmFt
ZXNwYWNlcwAAcgEAbVNwZWNpZnkgWFBhdGggbmFtZXNwYWNlcy4gVGhlIGZvcm1hdCBpcyA8bmFt
ZXNwYWNlIHByZWZpeD49PG5hbWVzcGFjZT4uIFNlcGFyYXRlIGVhY2ggbmFtZXNwYWNlIHdpdGgg
bmV3bGluZS4AABwBABdTcGVjaWZ5IFhQYXRoIHN0YXRlbWVudAAAHQEAGFNwZWNpZnkgWFBhdGgg
c3RhdGVtZW50LgAAJQEAIFNwZWNpZnkgcmVzdWx0IHNlcGFyYXRvciBzdHJpbmcuAAAIAQAIAAAA
AAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lv
bj12NC4wAQBUDhRGcmFtZXdvcmtEaXNwbGF5TmFtZRAuTkVUIEZyYW1ld29yayA0UEcAAAAAAAAA
AAAAbkcAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBHAAAAAAAAAAAAAAAAAAAAAF9Db3JEbGxN
YWluAG1zY29yZWUuZGxsAAAAAAD/JQAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAAAAY
AACAAAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAAWGAAAOwC
AAAAAAAAAAAAAOwCNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9BO/+AAAB
AAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEAVgBhAHIA
RgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAAAAAsARM
AgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAAoAgAAAQAwADAAMAAwADAANABiADAA
AAAsAAIAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAIAAAADAACAABAEYAaQBs
AGUAVgBlAHIAcwBpAG8AbgAAAAAAMAAuADAALgAwAC4AMAAAAIwANQABAEkAbgB0AGUAcgBuAGEA
bABOAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwA3AGQAMgA2AGMAZAA5
AGMAYgA1ADYAZAA0ADkAYQAxADgANgA2AGQAYwAxADMAMgAyADYANgBiAGEAMAA2ADUALgBkAGwA
bAAAAAAAKAACAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAIAAAAJQANQABAE8AcgBp
AGcAaQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4A
dABfADcAZAAyADYAYwBkADkAYwBiADUANgBkADQAOQBhADEAOAA2ADYAZABjADEAMwAyADIANgA2
AGIAYQAwADYANQAuAGQAbABsAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4A
AAAwAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAA
ADAALgAwAC4AMAAuADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAMAAAAgDcAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></arrayElement></arrayElements></property><property id="49" name="UserComponentTypeName" dataType="System.String">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2014, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property><property id="51" 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_7d26cd9cb56d49a1866dc132266ba065</property><property id="52" 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><inputs><input id="54" name="Input" hasSideEffects="true"><externalMetadataColumns /></input></inputs><outputs><output id="56" name="Output" synchronousInputId="54"><outputColumns><outputColumn id="57" name="Result" lineageId="57" length="250" dataType="wstr" /></outputColumns><externalMetadataColumns /></output></outputs></component>