<component id="2" name="Script Component" componentClassID="Microsoft.ManagedComponentHost" description="Includes and runs custom script code. For example, apply a business rule that limits the range of valid values in an &quot;income&quot; column or add values in two columns and calculate the average of the sum." localeId="1033" version="9" contactInfo="Includes and runs custom script code. For example, apply a business rule that limits the range of valid values in an &quot;income&quot; column or add values in two columns and calculate the average of the sum.;Microsoft Corporation; Microsoft SQL Server; Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;9"><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[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("SC_f3f4bacc0e9f476fbfbf37647de6760e")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("SC_f3f4bacc0e9f476fbfbf37647de6760e")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2014")> 
<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("5e933d87-8cb6-41cd-9f06-676edf04413b")> 

' 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 OutputBuffer As OutputBuffer

    Dim InputsFinished As Integer = 0

    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

        If Buffer.EndOfRowset Then
            InputsFinished = InputsFinished + 1
            If InputsFinished = 0 Then
                FinishOutputs()
                MarkOutputsFinished()
            End If
        End If

    End Sub

    Public Overridable Sub FinishOutputs()
    End Sub

    Private Sub MarkOutputsFinished()

        If OutputBuffer IsNot Nothing Then
            OutputBuffer.SetEndOfRowset
            OutputBuffer = Nothing
        End If

    End Sub

    Public Overrides Sub PrimeOutput(ByVal Outputs As Integer, ByVal OutputIDs() As Integer, ByVal Buffers() As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        For I As Integer = 0 To Outputs - 1
            If OutputIDs(I) = GetOutputID(OutputMap, "Output") Then
                OutputBuffer = New OutputBuffer(Me, OutputIDs(I), False, Buffers(I), OutputMap)
            End If
        Next

        CreateNewOutputRows()

    End Sub

    Public Overridable Sub CreateNewOutputRows()
    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[SC_f3f4bacc0e9f476fbfbf37647de6760e.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<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>{373DAEC3-0F5D-4788-9F4A-82C563A2D2AC}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>SC_f3f4bacc0e9f476fbfbf37647de6760e</RootNamespace>
    <AssemblyName>SC_f3f4bacc0e9f476fbfbf37647de6760e</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <ResolveAssemblyReferenceIgnoreTargetFrameworkAttributeVersionMismatch>true</ResolveAssemblyReferenceIgnoreTargetFrameworkAttributeVersionMismatch>
  </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" />
    <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" />
    <Compile Include="main.vb" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
  </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\" />
    <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>
  </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>
</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[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-2014 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.Text.RegularExpressions
Imports System.Collections

Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS.Attributes


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<ValidateProperties("Validate")> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub ProcessInput( _
        ByVal InputID As Integer, _
        ByVal Buffer As Microsoft.SqlServer.Dts.Pipeline.PipelineBuffer)

        While Buffer.NextRow()
            Dim splitValue() As String = New String() {}
            If Not Buffer.IsNull(m_splitIndex) Then
                splitValue = Buffer.GetString(m_splitIndex).Split(m_splitChars)
            End If
            Dim splitCount As Integer = splitValue.Length

            For splitItem As Integer = 0 To splitCount - 1
                Call MyBase.OutputBuffer.AddRow()

                For Each pair As DictionaryEntry In m_colsIndex
                    Dim iIndex As Integer = CInt(pair.Key)
                    Dim oIndex As Integer = CInt(pair.Value)

                    If iIndex <> m_splitIndex Then
                        Dim value As Object = Buffer(iIndex)
                        If TypeOf value Is BlobColumn Then
                            value = Buffer.GetString(iIndex)
                        End If

                        If value Is Nothing Then
                            Call MyBase.OutputBuffer.Buffer.SetNull(oIndex)
                        Else
                            MyBase.OutputBuffer.Buffer(oIndex) = value
                        End If
                    Else
                        ' Set current split value.
                        MyBase.OutputBuffer.Buffer(oIndex) = splitValue(splitItem)
                    End If
                Next
            Next
        End While

        If Buffer.EndOfRowset Then
            Call MyBase.OutputBuffer.SetEndOfRowset()
        End If
    End Sub ' ProcessInput


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub PreExecute()
        Call MyBase.PreExecute()

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim output As IDTSOutput100 = MyBase.ComponentMetaData.OutputCollection(0)

        ' Find split column index.
        m_splitIndex = MyBase.HostComponent.BufferManager.FindColumnByLineageID( _
            input.Buffer, _
            input.InputColumnCollection(Me.SplitColumn).LineageID)

        ' Get split chars.
        m_splitChars = Regex.Unescape(Me.SplitSymbol).ToCharArray()

        ' Find columns index from input to output.
        Dim colsCount As Integer = input.InputColumnCollection.Count
        m_colsIndex = New Hashtable()
        For colIndex As Integer = 0 To colsCount - 1
            Dim inColumn As IDTSInputColumn100 = input.InputColumnCollection(colIndex)

            Dim inIndex As Integer = MyBase.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                inColumn.LineageID)

            Dim outIndex As Integer = MyBase.HostComponent.BufferManager.FindColumnByLineageID( _
                output.Buffer, _
                output.OutputColumnCollection(inColumn.Name).LineageID)

            ' Set input -> output column index.
            m_colsIndex(inIndex) = outIndex
        Next
    End Sub ' PreExecute


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function Validate(ByRef errMessage As String) As Boolean
        Dim result As Boolean = True

        Try
            Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
            Dim virtInput As IDTSVirtualInput100 = input.GetVirtualInput()

            If virtInput.VirtualInputColumnCollection.Count > 0 AndAlso _
                String.IsNullOrEmpty(Me.SplitColumn) Then

                Throw New Exception("Select split column.")
            ElseIf String.IsNullOrEmpty(Me.SplitSymbol) Then
                Throw New Exception("Specify split symbol.")
            End If
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        End Try

        Validate = result
    End Function    'Validate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Copy input columns to the asynchronous output.
    Public Overrides Sub OnInputPathAttached(ByVal inputID As Integer)
        Call MyBase.OnInputPathAttached(inputID)

        Call MyBase.ComponentMetaData.InputCollection(0).InputColumnCollection.RemoveAll()
        Call MyBase.ComponentMetaData.OutputCollection(0).OutputColumnCollection.RemoveAll()

        Dim virtInput As IDTSVirtualInput100 = MyBase.ComponentMetaData.InputCollection.GetObjectByID(inputID).GetVirtualInput()

        Dim outputCols As IDTSOutputColumnCollection100
        outputCols = MyBase.ComponentMetaData.OutputCollection(0).OutputColumnCollection

        Dim managedComponent As CManagedComponentWrapper = MyBase.ComponentMetaData.Instantiate()

        Dim colsCount As Integer = virtInput.VirtualInputColumnCollection.Count
        For colIndex As Integer = 0 To colsCount - 1
            Dim inputCol As IDTSVirtualInputColumn100 = virtInput.VirtualInputColumnCollection(colIndex)

            ' Setup input column.
            Call managedComponent.SetUsageType( _
                inputID, _
                virtInput, _
                inputCol.LineageID, _
                DTSUsageType.UT_READONLY)

            ' Add output column.
            Dim outputCol As IDTSOutputColumn100 = outputCols.[New]()
            outputCol.Name = inputCol.Name
            With inputCol
                Call outputCol.SetDataTypeProperties(.DataType, .Length, .Precision, .Scale, .CodePage)
            End With
        Next
    End Sub ' OnInputPathAttached


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub OnInputPathDetached(ByVal inputID As Integer)
        Call MyBase.OnInputPathDetached(inputID)

        Call MyBase.ComponentMetaData.InputCollection(0).InputColumnCollection.RemoveAll()
        Call MyBase.ComponentMetaData.OutputCollection(0).OutputColumnCollection.RemoveAll()
    End Sub ' OnInputPathDetached


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select input split column.")> _
    <InputVirtualColumn()> _
    Public Property SplitColumn() As String
        Get
            SplitColumn = m_splitColumn
        End Get
        Set(ByVal value As String)
            m_splitColumn = value
        End Set
    End Property    ' SplitColumn


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify split symbol.")> _
    Public Property SplitSymbol() As String
        Get
            SplitSymbol = m_splitSymbol
        End Get
        Set(ByVal value As String)
            m_splitSymbol = value
        End Set
    End Property    ' SplitSymbol
#End Region ' Properties


#Region "Internals"

#End Region ' Internals


#Region "Attributes"
    Private m_splitColumn As String
    Private m_splitSymbol As String

    Private m_splitIndex As Integer
    Private m_splitChars() As Char
    Private m_colsIndex As Hashtable
#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

<CLSCompliant(False)> _
Public Class OutputBuffer
    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 Sub AddRow()
        MyBase.AddRow()
    End Sub

    Public Overloads Sub SetEndOfRowset()
        MyBase.SetEndOfRowset()
    End Sub

    Public Overloads Function EndOfRowset() As Boolean
        EndOfRowset = MyBase.EndOfRowset
    End Function

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="3.0" schemaVersion="1.0">
	<msb:PropertyGroup>
		<msb:CodeName>SC_f3f4bacc0e9f476fbfbf37647de6760e</msb:CodeName>
		<msb:Language>msBuild</msb:Language>
		<msb:DisplayName>SC_f3f4bacc0e9f476fbfbf37647de6760e</msb:DisplayName>
		<msb:ProjectId>{229E535F-3976-4581-8F2C-4B29E016A22A}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="SC_f3f4bacc0e9f476fbfbf37647de6760e.vbproj"/>
		<msb:File Include="My Project\AssemblyInfo.vb"/>
		<msb:File Include="My Project\Resources.resx"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="My Project\Resources.Designer.vb"/>
		<msb:File Include="My Project\Settings.settings"/>
		<msb:File Include="My Project\Settings.Designer.vb"/>
		<msb:File Include="main.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
	</msb:ItemGroup>
</c:Project>]]></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[SC_f3f4bacc0e9f476fbfbf37647de6760e.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
HgIoFwAACioTMAIALQAAABoAABF+EQAABC0gcnEAAHDQDQAAAigUAAAKb2sAAApzbAAACgsHgBEA
AAR+EQAABCoAAAATMAEABgAAABsAABF+EgAABCoAAB4CgBIAAAQqQnMXAAAKKBEAAAqAFAAABCoA
AAAeAihtAAAKKhswAQA/AAAAHAAAEX4TAAAELTJ+FAAABCgRAAAKKG4AAAp+EwAABC0cczUAAAaA
EwAABN4QfhQAAAQoEQAACihvAAAK3H4TAAAEKgABEAAAAgAdAAwpABAAAAAAtAAAAM7K774BAAAA
kQAAAGxTeXN0ZW0uUmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00
LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkj
U3lzdGVtLlJlc291cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAA
AEJTSkIBAAEAAAAAAAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAAJANAAAjfgAA/A0AAFARAAAjU3Ry
aW5ncwAAAABMHwAApAAAACNVUwDwHwAAEAAAACNHVUlEAAAAACAAAHgFAAAjQmxvYgAAAAAAAAAC
AAABVxWiCQkPAAAA+iUzABYAAAEAAABLAAAADgAAABQAAAA2AAAAIQAAAHsAAAA/AAAAHAAAAAcA
AAAOAAAAEQAAAAkAAAABAAAACAAAAAEAAAACAAAAAwAAAAIAAAAAACcRAQAAAAAACgB6AVABCgCu
AZABBgC+AbcBCgAWAlABBgCUArcBCgAWA+wCDgBoA1EDEgC3A5YDFgDoA5YDEgD3A5YDDgCxBFED
BgBqBlcGBgCpBpgGBgDWBsEGGgA9BygHGgCKB3QHGgCjB3QHGgDQB7gHBgD6B+cHCgA5CBIICgBR
CBMAGgCGCGkIBgC7CJsIBgDZCLcBBgD9CLcBCgAWCRMABgBaCTsJBgBuCbcBEgB1CZYDBgCCCbcB
HgDlCbwJHgAUCrwJHgA/CrwJBgB4ClcGBgCIClcGBgDDClcGCgDjChIIFgD5CpYDHgApC7wJHgA3
C7wJBgBKC7cBHgBQC7wJFgB9C5YDHgChC7wJHgDIC7wJGgBCDCMMHgBnDLwJHgCpDLwJHgC9DLwJ
BgDRDLcBHgDrDLwJCgA+DRIIHgB4DbwJHgCRDbwJHgDPDbwJHgDqDbwJIgBcDjQOEgC4DpYDDgAB
D98ODgAdD98OGgA5D3QHBgBgD04PBgCHD3YPBgCaD+cHBgDvD5sIBgAPEJsIBgBHEC0QBgBgEE4P
BgB9EDsJBgCLEE4PBgCmEE4PBgDBEE4PBgDaEE4PBgDzEE4PBgAQEU4PAAAAAAEAAAAAAAEAAQAA
AAAAKQA3AAUAAQABAAAAAABeADcACQABAAIAAAEQAGkANwANAAEAAwAFAQAAcwAAAA0ABQAIAAUB
AACBAAAADQAFAA8AAQAAAJwAqAAdAAYAEQABAAAAzACoAB0ABgAWAAEAAADZAKgALQAGABwAAQAA
AOcAqAANAAoAJAABAAAA8wCoAA0ACwAlAAEAAAD9AKgAJAAMACYAAAAAAAgBFAENABEAMAAAARAA
RQGoAD0AEwA0ADEA2QEgADEAAgItADEAJAI6ADEASQJHACEAJQOQAAYA5wDJAAYA8wDNAAYAzADR
AAEAxQTVAAEAfAX0AAEAfAX0AAEAIQYVAQEALwYVAQEAPQbVAAEASgYYAQEAdAYcAREAuQYkAREA
4gYoAREAVQdGAREAXQdKAVAgAAAAAAYYigETAAEAWCAAAAAABhiKARMAAQBgIAAAAAARGMUBFwAB
AIwgAAAAABMIzAEbAAEApCAAAAAAEwjyASgAAQC8IAAAAAATCBsCNQABANQgAAAAABMIOQJCAAEA
7CAAAAAARgJ/AmMAAQAIIQAAAABGAogCaAACABwhAAAAAIMAmQJsAAIANCEAAAAARgKhAnEAAgBI
IQAAAAARAKoCeAACAGQhAAAAAAEAyAKAAAMAgCEAAAAABhiKARMABACIIQAAAAADCNwCiwAEALwh
AAAAAAYYigETAAQA0CEAAAAABhiKAa8ABADgIQAAAABGCjEEuwAJAPQhAAAAAEYKSAS7AAkACCIA
AAAAhgBgBMAACQAgIgAAAACGAGgEwAAJADgiAAAAAAYYigGvAAkASCIAAAAARgoxBLsADgBcIgAA
AABGCkgEuwAOAHAiAAAAAIYAmwQTAA4AeCIAAAAAhgCiBBMADgCAIgAAAACGAGgEwAAOAJgiAAAA
AAYYigETAA4AwCIAAAAARgLUBNgADgAoIwAAAABGA/MEEwASACwjAAAAAAEAAQUTABIASCMAAAAA
RgIVBeIAEgCUIwAAAABGAzsFEwAWAJgjAAAAAEYDTwXuABYArCMAAAAARgNiBe4AFwCwIwAAAAAG
GIoB+AAYAMAjAAAAAAYYigH4ABkA0CMAAAAABhiKARMAGgDYIwAAAABGAtQE/gAaACQlAAAAAEYC
jAUTABwAVCYAAAAABgCXBQUBHADwJgAAAABGAqsFCwEdABQoAAAAAEYCxwULAR4AaCgAAAAABgjb
BXEAHwCAKAAAAAAGCOsFEAEfAIwoAAAAAAYIAQZxACAApCgAAAAABggRBhABIACwKAAAAAADGIoB
EwAhALgoAAAAABYI7gYsASEA9CgAAAAAFggCBzEBIQAIKQAAAAAWCA4HNgEhABApAAAAABEYxQEX
ACIAJCkAAAAABhiKARMAIgAsKQAAAAAWCGoHTQEiAAAAAQCGAgAAAQC/AgAAAQC/AgAAAQAFBAAA
AgAPBAAAAwAYBAAABAAgBAAABQAnBAAAAQAFBAAAAgAPBAAAAwAYBAAABAAgBAAABQAnBAAAAQDh
BAAAAgDpBAAAAwAgBAAABAAnBAAAAQAhBQAAAgApBQAAAwAzBQAABAAnBAAAAQAgBAAAAQB4BQAA
AQAFBAAAAQAFBAAAAQDhBAAAAgAgBAAAAQCgBQAAAQC/BQAAAQC/BQAAAQD7BQAAAQD7BQAAAQAa
BwkAigETAIEAigFXAZEAigFmAREAigETAJkAigETACQAigETACwAigETADQAigETADwAigETACQA
3AKLACwA3AKLADQA3AKLADwA3AKLAKEAigETAKkAigETALEAigEQAbkAyggAAhkAfwJjABkAiAJo
ACkA6wgNAhkAoQJxAMkABwkdAhkAigETANEAigEtAkQAJQOQAEwAageLAEwAMQmqAkwAigETANkA
igG5AjkAigGvAOkAYATAAOkAaATAAPEAigG5AukAmwQTAOkAogQTAFkAigETAEEA/gnJAvkAKwrO
AgEBTArUAgkBVQpoAEkAXArAAEEAbArbAkkAngrnAkkApQrsAuEArwrxAmEAtQr4AiEBzwr+AhEB
2wr+AikB7woCAxEBagf+AkkATAoHAzkABAsMA0kADwsLAUkAFwsRAyEBIAvAAEkAYATAAEEAjAUT
APkAaAsrA1EBTAoxA1kAjws4A1kBtgs+AwkBBAtoAAkB5QtEA2kBTApKA0EB/wtoAGEBDQxRA3EB
SAxXA+EAUQxcA2kBXQxoAGEAigETADkBBAtoADkBhQxhA0EBoAxxAHkBTApnA4EB/wtoAGEAFwtu
AwkB2wyFA4kBDw2LA5kBXQxoAOEAMA2RA5EBigEQAaEBSg2WA5EBWg1xAKEBZg0XAFkAqwULAWkB
qw0TAHkBqw0TAAEBtQ2rA/kAww2yA5kBTAq4A7EB/wtoALkB9w2/A3kBBA7NA7EBoAxxAIEBCA4Q
AbEBZQ7TA7EBcg5oALEBfQ5oALEBiw5oALEBlQ5oAIEBog7ZA1kAxwULAdEBigETANkBigEQAeEB
igETAOkBigEQASkAaQ9FBGkAigFLBHkAigETAPkBjw9oBPkBlQ9oBAECigETAAkCigELARECigET
ABkCigEQASECigEQASkCigEQATECigEQATkCigEQAUECigEQAUkCigEQAVECigEQAVkCigEQASkA
gwC6AS4AwwM/BS4A2wM/BS4AuwMfBS4AkwN7BC4AmwOaBC4AswO+Ai4A0wO+Ai4AiwNyBC4AywNo
BS4AowPiBC4AqwPvBC4A6wC+Ai4ACwEZBUAAKwCFAUAAEwBdAUMAEwBdAUMAGwBsAUkAgwDYAWMA
GwBsAWMAEwBdAWkAgwDLAYAAKwCFAYMAGwBsAYMAewCFAYMAcwCFAYkAgwDsAaAAKwCFAaMAwwA1
AqMAEwBdAcAAKwCFAcMA6wC+AsMAEwBdAeAAKwCFAeMACwG+AgABEwBdAQABKwCFAQMBCwG+AiAB
EwBdASABKwCFASMBCwG+AkABEwBdAUABKwCFAUkBSwOFAUkBUwMKBGABEwBdAWABKwCFAWkBUwMq
BIABKwCFAYMBCwG+AoMBQwP8A4MBOwOFAYkBEwBfBKABKwCFAakBEwBfBMABEwBdAcABKwCFAckB
gwOFAeABKwCFAQACKwCFAQACEwBdAYAECwG+AqAECwG+AqYBqwGwAbUBBQIJAhQCGQIoAigCsALE
AsQCBQIFAsQCxAIFAuICFwN0A50D5AMZAhkCUwRaBG0EBAABAAYABQAHAAYACAAIAAwACgANAAwA
DgAOAAAArgFPAAAAZwJUAAAAFgJZAAAAcwJeAAAALwOYAAAAdATEAAAAhwTEAAAAdATEAAAAhwTE
AAAAgAYgAQAAjAYgAQAAqQY8AQAAIAdBAQAAGgdSAQIABAADAAIABQAFAAIABgAHAAIABwAJAAIA
DwALAAIAEgANAAIAEwAPAAIAFwARAAIAGAATAAIALAAVAAEALQAVAAEALwAXAAIALgAXAAIAMQAZ
AAIAMgAbAAEAMwAbAAIANgAdAHUAdQCIAIoBkQGYAZ8BlwKeAgSAAAABAAAAAAAAAAAAAAAAAKgA
AAAEAAAAAAAAAAAAAAABAAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAAAAAAAQAAAAAAAAAAAAAAnQA7
AwAAAAAMAAAAAAAAAAAAAACmAHkDAAAAAAwAAAAAAAAAAAAAAKYAxwMAAAAABAAAAAAAAAAAAAAA
AQC3AQAAAAAMAAAAAAAAAAAAAACmAJgJAAAAAAwAAAAAAAAAAAAAAKYAEQ4AAAAAAAAAAAEAAAC3
DwAABQAEAAYABAAAABAADAC9AgAAEAAZAL0CAAAAABsAvQItACMCLQClAgAAAAAAPE1vZHVsZT4A
bXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRpb24AU0NfZjNmNGJhY2Mw
ZTlmNDc2ZmJmYmYzNzY0N2RlNjc2MGUuTXkATXlDb21wdXRlcgBNeVByb2plY3QATXlXZWJTZXJ2
aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBJbnB1dEJ1ZmZlcgBTQ19mM2Y0YmFjYzBl
OWY0NzZmYmZiZjM3NjQ3ZGU2NzYwZQBPdXRwdXRCdWZmZXIAVXNlckNvbXBvbmVudABDb25uZWN0
aW9ucwBWYXJpYWJsZXMAU2NyaXB0TWFpbgBNeVJlc291cmNlcwBTQ19mM2Y0YmFjYzBlOWY0NzZm
YmZiZjM3NjQ3ZGU2NzYwZS5NeS5SZXNvdXJjZXMATXlTZXR0aW5ncwBNaWNyb3NvZnQuVmlzdWFs
QmFzaWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9zb2Z0
LlZpc3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0X0Nv
bXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBPYmpl
Y3RQcm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJTZXJ2
aWNlcwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2aWNl
cwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19JbnN0
YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UATWlj
cm9zb2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEAbV9D
b250ZXh0AEdldEluc3RhbmNlAENvenlSb2MuU1NJU1BsdXMuMjAxNABDb3p5Um9jLlNxbFNlcnZl
ci5TU0lTAFNjcmlwdEJ1ZmZlclBsdXMATWljcm9zb2Z0LlNxbFNlcnZlci5UeFNjcmlwdABNaWNy
b3NvZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZQBTY3JpcHRDb21wb25lbnQATWljcm9zb2Z0LlNx
bFNlcnZlci5QaXBlbGluZUhvc3QAUGlwZWxpbmVCdWZmZXIAT3V0cHV0TmFtZU1hcABDb21wb25l
bnQAT2JqZWN0SUQASXNJbnB1dABCdWZmZXIAT3V0cHV0TWFwAGdldF9TdGF0aWNJbnB1dENvbHVt
bnMAZ2V0X1N0YXRpY091dHB1dENvbHVtbnMATmV4dFJvdwBFbmRPZlJvd3NldABTdGF0aWNJbnB1
dENvbHVtbnMAU3RhdGljT3V0cHV0Q29sdW1ucwBBZGRSb3cAU2V0RW5kT2ZSb3dzZXQAU2NyaXB0
Q29tcG9uZW50UGx1cwBJbnB1dHNGaW5pc2hlZABQcm9jZXNzSW5wdXQASW5wdXRJRABJbnB1dE5h
bWUARmluaXNoT3V0cHV0cwBNYXJrT3V0cHV0c0ZpbmlzaGVkAFByaW1lT3V0cHV0AE91dHB1dHMA
T3V0cHV0SURzAEJ1ZmZlcnMAQ3JlYXRlTmV3T3V0cHV0Um93cwBJbnB1dF9Qcm9jZXNzSW5wdXQA
SW5wdXRfUHJvY2Vzc0lucHV0Um93AFJvdwBQYXJlbnRDb21wb25lbnQAUHJlRXhlY3V0ZQBWYWxp
ZGF0ZQBlcnJNZXNzYWdlAE9uSW5wdXRQYXRoQXR0YWNoZWQAaW5wdXRJRABPbklucHV0UGF0aERl
dGFjaGVkAGdldF9TcGxpdENvbHVtbgBzZXRfU3BsaXRDb2x1bW4AdmFsdWUAZ2V0X1NwbGl0U3lt
Ym9sAHNldF9TcGxpdFN5bWJvbABtX3NwbGl0Q29sdW1uAG1fc3BsaXRTeW1ib2wAbV9zcGxpdElu
ZGV4AG1fc3BsaXRDaGFycwBTeXN0ZW0uQ29sbGVjdGlvbnMASGFzaHRhYmxlAG1fY29sc0luZGV4
AFNwbGl0Q29sdW1uAFNwbGl0U3ltYm9sAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2Vy
AF9yZXNNZ3IAU3lzdGVtLkdsb2JhbGl6YXRpb24AQ3VsdHVyZUluZm8AX3Jlc0N1bHR1cmUAZ2V0
X1Jlc291cmNlTWFuYWdlcgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBWYWx1ZQBDdWx0dXJlAFN5
c3RlbS5Db25maWd1cmF0aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5j
T2JqZWN0AGdldF9WYWx1ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0
cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVy
YXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0cmli
dXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9kdWxl
QXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2RlbC5E
ZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNl
cwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBl
RnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25BdHRy
aWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxl
QXR0cmlidXRlAFN0cmluZwBTY3JpcHRCdWZmZXIAQ0xTQ29tcGxpYW50QXR0cmlidXRlAE1pY3Jv
c29mdC5TcWxTZXJ2ZXIuRFRTUGlwZWxpbmVXcmFwAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBp
cGVsaW5lLldyYXBwZXIASURUU0NvbXBvbmVudE1ldGFEYXRhMTAwAGdldF9Db21wb25lbnRNZXRh
RGF0YQBJRFRTSW5wdXRDb2xsZWN0aW9uMTAwAGdldF9JbnB1dENvbGxlY3Rpb24ASURUU0lucHV0
MTAwAGdldF9JdGVtAGdldF9JRABnZXRfRW5kT2ZSb3dzZXQAR2V0T3V0cHV0SUQARGljdGlvbmFy
eUVudHJ5AElEaWN0aW9uYXJ5RW51bWVyYXRvcgBJc051bGwAR2V0U3RyaW5nAFNwbGl0AEdldEVu
dW1lcmF0b3IASUVudW1lcmF0b3IAZ2V0X0N1cnJlbnQAZ2V0X0tleQBDb252ZXJzaW9ucwBUb0lu
dGVnZXIAQmxvYkNvbHVtbgBnZXRfQnVmZmVyAFNldE51bGwAc2V0X0l0ZW0ATW92ZU5leHQASURU
U091dHB1dDEwMABJRFRTSW5wdXRDb2x1bW4xMDAASW50MzIASURUU091dHB1dENvbGxlY3Rpb24x
MDAAZ2V0X091dHB1dENvbGxlY3Rpb24AUGlwZWxpbmVDb21wb25lbnQAZ2V0X0hvc3RDb21wb25l
bnQASURUU0J1ZmZlck1hbmFnZXIxMDAAZ2V0X0J1ZmZlck1hbmFnZXIASURUU0lucHV0Q29sdW1u
Q29sbGVjdGlvbjEwMABnZXRfSW5wdXRDb2x1bW5Db2xsZWN0aW9uAGdldF9MaW5lYWdlSUQARmlu
ZENvbHVtbkJ5TGluZWFnZUlEAFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucwBSZWdleABV
bmVzY2FwZQBUb0NoYXJBcnJheQBnZXRfQ291bnQASURUU091dHB1dENvbHVtbkNvbGxlY3Rpb24x
MDAAZ2V0X091dHB1dENvbHVtbkNvbGxlY3Rpb24AZ2V0X05hbWUASURUU091dHB1dENvbHVtbjEw
MABJRFRTVmlydHVhbElucHV0MTAwAEV4Y2VwdGlvbgBHZXRWaXJ0dWFsSW5wdXQASURUU1ZpcnR1
YWxJbnB1dENvbHVtbkNvbGxlY3Rpb24xMDAAZ2V0X1ZpcnR1YWxJbnB1dENvbHVtbkNvbGxlY3Rp
b24ASXNOdWxsT3JFbXB0eQBQcm9qZWN0RGF0YQBTZXRQcm9qZWN0RXJyb3IAZ2V0X01lc3NhZ2UA
Q2xlYXJQcm9qZWN0RXJyb3IAQ01hbmFnZWRDb21wb25lbnRXcmFwcGVyAElEVFNWaXJ0dWFsSW5w
dXRDb2x1bW4xMDAAUmVtb3ZlQWxsAEdldE9iamVjdEJ5SUQASW5zdGFudGlhdGUASURUU0Rlc2ln
bnRpbWVDb21wb25lbnQxMDAARFRTVXNhZ2VUeXBlAFNldFVzYWdlVHlwZQBOZXcAc2V0X05hbWUA
TWljcm9zb2Z0LlNxbFNlcnZlci5EVFNSdW50aW1lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVyLkR0
cy5SdW50aW1lLldyYXBwZXIARGF0YVR5cGUAZ2V0X0RhdGFUeXBlAGdldF9MZW5ndGgAZ2V0X1By
ZWNpc2lvbgBnZXRfU2NhbGUAZ2V0X0NvZGVQYWdlAFNldERhdGFUeXBlUHJvcGVydGllcwBTU0lT
U2NyaXB0Q29tcG9uZW50RW50cnlQb2ludEF0dHJpYnV0ZQBDb3p5Um9jLlNxbFNlcnZlci5TU0lT
LkF0dHJpYnV0ZXMAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0cmlidXRlAElucHV0VmlydHVhbENvbHVt
bkF0dHJpYnV0ZQBEZXNjcmlwdGlvbkF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3NlbWJs
eQBnZXRfQXNzZW1ibHkAU3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVidWdn
ZXJOb25Vc2VyQ29kZUF0dHJpYnV0ZQBTQ19mM2Y0YmFjYzBlOWY0NzZmYmZiZjM3NjQ3ZGU2NzYw
ZS5SZXNvdXJjZXMucmVzb3VyY2VzAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVu
dGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJn
ZXRGcmFtZXdvcmtBdHRyaWJ1dGUAQXNzZW1ibHlGaWxlVmVyc2lvbkF0dHJpYnV0ZQBHdWlkQXR0
cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmli
dXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3NlbWJseUNvbXBhbnlBdHRyaWJ1dGUAQXNz
ZW1ibHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBBc3NlbWJseVRpdGxlQXR0cmlidXRlAFNDX2YzZjRi
YWNjMGU5ZjQ3NmZiZmJmMzc2NDdkZTY3NjBlLmRsbAAAAAtJAG4AcAB1AHQAAA1PAHUAdABwAHUA
dAAAKVMAZQBsAGUAYwB0ACAAcwBwAGwAaQB0ACAAYwBvAGwAdQBtAG4ALgAAK1MAcABlAGMAaQBm
AHkAIABzAHAAbABpAHQAIABzAHkAbQBiAG8AbAAuAAAxTQB5AC4AUgBlAHMAbwB1AHIAYwBlAHMA
LgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAABtCz+KOrQVQK4O8VfMbcrvAAi3elxWGTTgiQiwP19/
EdUKOgMgAAEDAAABBAAAEgwHBhUSGAESDAQAABIIBwYVEhgBEggEAAASEQcGFRIYARIRBAAAEhQH
BhUSGAESFAQIABIMBAgAEggECAASEQQIABIUBCABAhwDIAAIBCAAEhUDIAAOAh4ABxABAR4AHgAH
MAEBARAeAAITAAQgABMABwYVEhkBEwAEKAATAAgWz0kLuAw06giJhF3NgIDMkQsgBQESIQgCEiUS
KQQgAB0OAyAAAgQoAB0OAwYSKAMGEiwDBhIgAgYICSAEAQgOEiUSKQsgBAEIHQgdEiUSKQUgAQES
HAMGEiEFIAEBEiEGIAIBCBIlBSABAhAOBCABAQgEIAEBDgIGDgMGHQMDBhIxAygADgMGEjUDBhI5
BAAAEjUEAAASOQUAAQESOQQIABI1BAgAEjkDBhI4AgYcBAAAEjgECAASOAUgAQERRQgBAAEAAAAA
AAUgAgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAEAQAAAAYVEhgBEgwGFRIYARIIBhUSGAES
EQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFBABAAtNeS5Db21wdXRlcgAADAEAB015LlVzZXIA
ABMBAA5NeS5BcHBsaWNhdGlvbgAAEwEADk15LldlYlNlcnZpY2VzAAAEAAEcHAMHAQIDBwEIBgAB
EhURYQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZp
Y2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNE
aXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMAEwATAAQg
AQECBQEAAAAABAcBHQ4EIAASfQUgABKAgQYgARKAhRwGAAIIEikOBAcCCAgEIAECCAQgAQ4IBiAB
HQ4dAwUgABKAjQMgABwEAAEIHAQgARwIBCAAEiUFIAIBCBwTBwoIHQ4ICAgRgIkcCBKAjRGAiQUg
ABKAqQYgARKAnRwFIAASgK0FIAASgLEFIAASgLUGIAESgKEcBSACCAgIBAABDg4EIAAdAwUgABKA
vQYgARKAwRwFIAIBHBwQBwgIEoCFEoCdCBKAoQgICAUgABKAxQUgABKAzQQAAQIOBgABARKAyQ0H
BQICEoCFEoDFEoDJBiABEoCFCAUgABKA1QYgARKA2RwNIAQSgKEIEoDFCBGA4QUgABKAwQUgABGA
5QogBQERgOUICAgIFwcJCBKA1RKAvRKAxQgSgNkSgMEIEoDZDQEACFZhbGlkYXRlAAAfAQAaU2Vs
ZWN0IGlucHV0IHNwbGl0IGNvbHVtbi4AABoBABVTcGVjaWZ5IHNwbGl0IHN5bWJvbC4AAAUgABKA
+QcgAgEOEoD5BgcCEjUSNQQHARI5CAEAAgAAAAAABAABARwEBwESOAgBAAgAAAAAAB4BAAEAVAIW
V3JhcE5vbkV4Y2VwdGlvblRocm93cwFHAQAaLk5FVEZyYW1ld29yayxWZXJzaW9uPXY0LjABAFQO
FEZyYW1ld29ya0Rpc3BsYXlOYW1lEC5ORVQgRnJhbWV3b3JrIDQMAQAHMS4wLjAuMAAAKQEAJDVl
OTMzZDg3LThjYjYtNDFjZC05ZjA2LTY3NmVkZjA0NDEzYgAABQEAAQAAHwEAGkNvcHlyaWdodCBA
IE1pY3Jvc29mdCAyMDE0AAAoAQAjU0NfZjNmNGJhY2MwZTlmNDc2ZmJmYmYzNzY0N2RlNjc2MGUA
AA4BAAlNaWNyb3NvZnQAAADgTwAAAAAAAAAAAAD+TwAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
8E8AAAAAAAAAAAAAAAAAAAAAX0NvckRsbE1haW4AbXNjb3JlZS5kbGwAAAAAAP8lACAAEAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAA
AAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAADIAwAAAAAA
AAAAAADIAzQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEA
AAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYAaQBs
AGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAEKAMAAAEA
UwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAABAMAAAEAMAAwADAAMAAwADQAYgAwAAAANAAK
AAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAABNAGkAYwByAG8AcwBvAGYAdAAAAHAAJAABAEYA
aQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABTAEMAXwBmADMAZgA0AGIAYQBjAGMAMABl
ADkAZgA0ADcANgBmAGIAZgBiAGYAMwA3ADYANAA3AGQAZQA2ADcANgAwAGUAAAAwAAgAAQBGAGkA
bABlAFYAZQByAHMAaQBvAG4AAAAAADEALgAwAC4AMAAuADAAAABwACgAAQBJAG4AdABlAHIAbgBh
AGwATgBhAG0AZQAAAFMAQwBfAGYAMwBmADQAYgBhAGMAYwAwAGUAOQBmADQANwA2AGYAYgBmAGIA
ZgAzADcANgA0ADcAZABlADYANwA2ADAAZQAuAGQAbABsAAAAXAAbAAEATABlAGcAYQBsAEMAbwBw
AHkAcgBpAGcAaAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAATQBpAGMAcgBvAHMAbwBmAHQA
IAAyADAAMQA0AAAAAAB4ACgAAQBPAHIAaQBnAGkAbgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBD
AF8AZgAzAGYANABiAGEAYwBjADAAZQA5AGYANAA3ADYAZgBiAGYAYgBmADMANwA2ADQANwBkAGUA
NgA3ADYAMABlAC4AZABsAGwAAABoACQAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAAAFMAQwBf
AGYAMwBmADQAYgBhAGMAYwAwAGUAOQBmADQANwA2AGYAYgBmAGIAZgAzADcANgA0ADcAZABlADYA
NwA2ADAAZQAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAu
ADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4A
MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAMAAAAEDAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></arrayElement></arrayElements></property><property id="5" 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">SC_f3f4bacc0e9f476fbfbf37647de6760e</property><property id="6" 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><property id="13" name="UserComponentTypeName" dataType="System.String">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2014, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property></properties><inputs><input id="14" name="Input" hasSideEffects="true"><externalMetadataColumns /></input></inputs><outputs><output id="15" name="Output"><externalMetadataColumns /></output></outputs></component>