<component id="57" name="Split" componentClassID="{874F7595-FB5F-40FF-96AF-FBFF8250E3EF}" description="Executes a custom script" localeId="1033" version="7" contactInfo="Executes a custom script.;Microsoft Corporation;Microsoft SqlServer v9; © 2004 Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;0"><properties><property id="58" 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[scriptcomponent_946f5164af91439fadfea81b2e4f1106.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-16"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!-- This section defines project-level properties.

       Configuration - Specifies whether the default configuration is Release or Debug.
       Platform - Specifies what CPU the output of this project can run on.
       OutputType - Must be "Library" for VSTA.
       NoStandardLibraries - Set to "false" for VSTA.
       RootNamespace - In C#, this specifies the namespace given to new files.
                       In Visual Basic, all objects are wrapped in this namespace at runtime.
       AssemblyName - Name of the output assembly.
  -->
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ScriptComponent_946f5164af91439fadfea81b2e4f1106.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_946f5164af91439fadfea81b2e4f1106.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{6E1470A4-EA16-4B9B-9D11-906F9FA18E4E}</ProjectGuid>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Debug" configuration is
       selected.

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

       DebugSymbols - If true, create symbols (.pdb). If false, do not create symbols.
       Optimize - If true, optimize the build output. If false, do not optimize.
       OutputPath - Output path of the project relative to the project file.
       EnableUnmanagedDebugging - If true, starting the debugger will attach both managed and unmanaged debuggers.
       DefineConstants - Constants defined for the preprocessor.
       Warning Level - Warning level for the compiler.
  -->
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DefineConstants>
    </DefineConstants>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <RegisterForComInterop>false</RegisterForComInterop>
    <RemoveIntegerChecks>false</RemoveIntegerChecks>
    <NoWarn>42016,42017,42018,42019,42032,42353,42354,42355</NoWarn>
  </PropertyGroup>
  <!-- This section enables pre- and post-build steps. However,
       it is recommended that MSBuild tasks be used instead of these properties.
  -->
  <PropertyGroup>
    <PreBuildEvent>
    </PreBuildEvent>
    <PostBuildEvent>
    </PostBuildEvent>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SqlServer.ManagedDTS\v4.0_11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.ManagedDTS.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.TxScript, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=11.0.0.0, Culture=Neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="CozyRoc.SSISPlus.2012, Version=1.0.0.0, Culture=Neutral, PublicKeyToken=16cf490bb80c34ea" />
  </ItemGroup>
  <!-- Visual Basic supports Importing namespaces (equivalent to using statements in C#).-->
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Data" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <!-- This section defines the user source files that are part of the
       project.

       Compile - Specifies a source file to compile.
       EmbeddedResource - Specifies a .resx file for embedded resources.
       None - Specifies a file that is not to be passed to the compiler (for instance,
              a text file or XML file).
       AppDesigner - Specifies the directory where the application properties files can
                     be found.
  -->
  <ItemGroup>
    <AppDesigner Include="My Project\" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
    <Compile Include="main.vb" />
    <Compile Include="My Project\AssemblyInfo.vb">
      <SubType>Code</SubType>
    </Compile>
    <EmbeddedResource Include="My Project\Resources.resx">
      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
      <CustomToolNamespace>My.Resources</CustomToolNamespace>
    </EmbeddedResource>
    <Compile Include="My Project\Resources.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <None Include="My Project\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.vb</LastGenOutput>
    </None>
    <Compile Include="My Project\Settings.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <!-- Include the default configuration information and metadata files for the add-in.
         These files are copied to the build output directory when the project is
         built, and the path to the configuration file is passed to add-in on the command
         line when debugging.
    -->
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <!-- This section defines VSTA properties that describe the host-changable project properties. -->
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{30D016F9-3734-4E33-A861-5E7D899E18F3}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{B3A685AA-7EAF-4BC6-9940-57959FA5AC07}" ApplicationType="usd" Language="vb" TemplatesPath="" DebugInfoExeName="devenv.exe" DebugInfoCommandLine="/vstaHostDebugUri:&quot;vstadebugc01d4bc0-2bcb-4541-b579-e1c68cc5aa63/3130ff5b-4010-4e33-b941-abed7ede3b04&quot;" />
        <Host Name="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC110</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <PropertyGroup>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
  </PropertyGroup>
  <PropertyGroup>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
  </PropertyGroup>
</Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\AssemblyInfo.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices

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

' Review the values of the assembly attributes

<Assembly: AssemblyTitle("ScriptComponent_946f5164af91439fadfea81b2e4f1106.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_946f5164af91439fadfea81b2e4f1106.vbproj")> 
<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("d78683d0-2aac-4a43-8c44-49791d5e634c")> 

' 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[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[My Project\Settings.settings]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version='1.0' encoding='iso-8859-1'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)" GeneratedClassNamespace="" GeneratedClassName="MySettings">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\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[Project]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<c:Project xmlns:c="http://schemas.microsoft.com/codeprojectml/2010/08/main" xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003" runtimeVersion="4.0" schemaVersion="1.0">
	<msb:PropertyGroup>
		<msb:Language>msBuild</msb:Language>
		<msb:NoContent>Reference;Import;Folder</msb:NoContent>
		<msb:ProjectId>{71DE4FA1-450C-44B2-9DF1-C897A1B81D8C}</msb:ProjectId>
		<msb:DisplayName>scriptcomponent_946f5164af91439fadfea81b2e4f1106</msb:DisplayName>
		<msb:CodeName>scriptcomponent_946f5164af91439fadfea81b2e4f1106</msb:CodeName>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:File Include="BufferWrapper.vb"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="main.vb"/>
		<msb:File Include="My Project\AssemblyInfo.vb"/>
		<msb:File Include="My Project\Resources.Designer.vb"/>
		<msb:File Include="My Project\Settings.Designer.vb"/>
		<msb:File Include="My Project\Resources.resx"/>
		<msb:File Include="My Project\Settings.settings"/>
		<msb:Project Include="scriptcomponent_946f5164af91439fadfea81b2e4f1106.vbproj"/>
	</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="59" 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_946f5164af91439fadfea81b2e4f1106.vbproj.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/A0AALQRAAAjU3Ry
aW5ncwAAAACwHwAApAAAACNVUwBUIAAAEAAAACNHVUlEAAAAZCAAAIwFAAAjQmxvYgAAAAAAAAAC
AAABVxWiCQkPAAAA+iUzABYAAAEAAABLAAAADgAAABQAAAA2AAAAIQAAAHsAAAA/AAAAHAAAAAcA
AAAOAAAAEQAAAAkAAAABAAAACAAAAAEAAAACAAAAAwAAAAIAAAAAAHcRAQAAAAAACgC2AYwBCgDq
AcwBBgD6AfMBCgBSAowBBgDQAvMBCgBSAygDDgCkA40DEgDzA9IDFgAkBNIDEgAzBNIDDgDtBI0D
BgCmBpMGBgDlBtQGBgASB/0GGgB5B2QHGgDGB7AHGgDfB7AHGgAMCPQHBgA2CCMICgB1CE4ICgCN
CBMAGgDCCKUIBgD3CNcIBgAVCfMBBgA5CfMBCgBSCRMABgCWCXcJBgCqCfMBEgCxCdIDBgC+CfMB
HgAhCvgJHgBQCvgJHgB7CvgJBgC0CpMGBgDECpMGBgD/CpMGCgAfC04IFgA1C9IDHgBlC/gJHgBz
C/gJBgCGC/MBHgCMC/gJFgC5C9IDHgDdC/gJHgAEDPgJGgB+DF8MHgCjDPgJHgDlDPgJHgD5DPgJ
BgANDfMBHgAnDfgJCgB6DU4IHgC0DfgJHgDNDfgJHgALDvgJHgAmDvgJIgCYDnAOEgD0DtIDDgA9
DxsPDgBZDxsPGgB1D7AHBgCcD4oPBgDDD7IPBgDWDyMIBgA/ENcIBgBfENcIBgCXEH0QBgCwEIoP
BgDNEHcJBgDbEIoPBgD2EIoPBgAREYoPBgAqEYoPBgBDEYoPBgBgEYoPAAAAAAEAAAAAAAEAAQAA
AAAAKQA3AAUAAQABAAAAAAByADcACQABAAIAAAEQAH0ANwANAAEAAwAFAQAAhwAAAA0ABQAIAAUB
AACVAAAADQAFAA8AAQAAALAAvAAdAAYAEQABAAAA9AC8AB0ABgAWAAEAAAABAbwALQAGABwAAQAA
AA8BvAANAAoAJAABAAAAGwG8AA0ACwAlAAEAAAAlAbwAJAAMACYAAAAAADABPAENABEAMAAAARAA
gQG8AD0AEwA0ADEAFQIgADEAPgItADEAYAI6ADEAhQJHACEAYQOQAAYADwHJAAYAGwHNAAYA9ADR
AAEAAQXVAAEAuAX0AAEAuAX0AAEAXQYVAQEAawYVAQEAeQbVAAEAhgYYAQEAsAYcAREA9QYkAREA
HgcoAREAkQdGAREAmQdKAVAgAAAAAAYYxgETAAEAWCAAAAAABhjGARMAAQBgIAAAAAARGAECFwAB
AIwgAAAAABMICAIbAAEApCAAAAAAEwguAigAAQC8IAAAAAATCFcCNQABANQgAAAAABMIdQJCAAEA
7CAAAAAARgK7AmMAAQAIIQAAAABGAsQCaAACABwhAAAAAIMA1QJsAAIANCEAAAAARgLdAnEAAgBI
IQAAAAARAOYCeAACAGQhAAAAAAEABAOAAAMAgCEAAAAABhjGARMABACIIQAAAAADCBgDiwAEALwh
AAAAAAYYxgETAAQA0CEAAAAABhjGAa8ABADgIQAAAABGCm0EuwAJAPQhAAAAAEYKhAS7AAkACCIA
AAAAhgCcBMAACQAgIgAAAACGAKQEwAAJADgiAAAAAAYYxgGvAAkASCIAAAAARgptBLsADgBcIgAA
AABGCoQEuwAOAHAiAAAAAIYA1wQTAA4AeCIAAAAAhgDeBBMADgCAIgAAAACGAKQEwAAOAJgiAAAA
AAYYxgETAA4AwCIAAAAARgIQBdgADgAoIwAAAABGAy8FEwASACwjAAAAAAEAPQUTABIASCMAAAAA
RgJRBeIAEgCUIwAAAABGA3cFEwAWAJgjAAAAAEYDiwXuABYArCMAAAAARgOeBe4AFwCwIwAAAAAG
GMYB+AAYAMAjAAAAAAYYxgH4ABkA0CMAAAAABhjGARMAGgDYIwAAAABGAhAF/gAaACQlAAAAAEYC
yAUTABwAVCYAAAAABgDTBQUBHADwJgAAAABGAucFCwEdABQoAAAAAEYCAwYLAR4AaCgAAAAABggX
BnEAHwCAKAAAAAAGCCcGEAEfAIwoAAAAAAYIPQZxACAApCgAAAAABghNBhABIACwKAAAAAADGMYB
EwAhALgoAAAAABYIKgcsASEA9CgAAAAAFgg+BzEBIQAIKQAAAAAWCEoHNgEhABApAAAAABEYAQIX
ACIAJCkAAAAABhjGARMAIgAsKQAAAAAWCKYHTQEiAAAAAQDCAgAAAQD7AgAAAQD7AgAAAQBBBAAA
AgBLBAAAAwBUBAAABABcBAAABQBjBAAAAQBBBAAAAgBLBAAAAwBUBAAABABcBAAABQBjBAAAAQAd
BQAAAgAlBQAAAwBcBAAABABjBAAAAQBdBQAAAgBlBQAAAwBvBQAABABjBAAAAQBcBAAAAQC0BQAA
AQBBBAAAAQBBBAAAAQAdBQAAAgBcBAAAAQDcBQAAAQD7BQAAAQD7BQAAAQA3BgAAAQA3BgAAAQBW
BwkAxgETAIEAxgFXAZEAxgFmAREAxgETAJkAxgETACQAxgETACwAxgETADQAxgETADwAxgETACQA
GAOLACwAGAOLADQAGAOLADwAGAOLAKEAxgETAKkAxgETALEAxgEQAbkABgkAAhkAuwJjABkAxAJo
ACkAJwkNAhkA3QJxAMkAQwkdAhkAxgETANEAxgEtAkQAYQOQAEwApgeLAEwAbQmqAkwAxgETANkA
xgG5AjkAxgGvAOkAnATAAOkApATAAPEAxgG5AukA1wQTAOkA3gQTAFkAxgETAEEAOgrJAvkAZwrO
AgEBiArUAgkBkQpoAEkAmArAAEEAqArbAkkA2grnAkkA4QrsAuEA6wrxAmEA8Qr4AiEBCwv+AhEB
Fwv+AikBKwsCAxEBpgf+AkkAiAoHAzkAQAsMA0kASwsLAUkAUwsRAyEBXAvAAEkAnATAAEEAyAUT
APkApAsrA1EBiAoxA1kAyws4A1kB8gs+AwkBQAtoAAkBIQxEA2kBiApKA0EBOwxoAGEBSQxRA3EB
hAxXA+EAjQxcA2kBmQxoAGEAxgETADkBQAtoADkBwQxhA0EB3AxxAHkBiApnA4EBOwxoAGEAUwtu
AwkBFw2FA4kBSw2LA5kBmQxoAOEAbA2RA5EBxgEQAaEBhg2WA5EBlg1xAKEBog0XAFkA5wULAWkB
5w0TAHkB5w0TAAEB8Q2rA/kA/w2yA5kBiAq4A7EBOwxoALkBMw6/A3kBQA7NA7EB3AxxAIEBRA4Q
AbEBoQ7TA7EBrg5oALEBuQ5oALEBxw5oALEB0Q5oAIEB3g7ZA1kAAwYLAdEBxgETANkBxgEQAeEB
xgETAOkBxgEQASkApQ9FBGkAxgFLBHkAxgETAPkByw9oBPkB0Q9oBAECxgETAAkCxgELARECxgET
ABkCxgEQASECxgEQASkCxgEQATECxgEQATkCxgEQAUECxgEQAUkCxgEQAVECxgEQAVkCxgEQASkA
gwC6AS4AywN8BS4AwwM/BS4AmwOaBC4AuwMfBS4A0wO+Ai4A2wM/BS4AiwNyBC4AkwN7BC4AowPi
BC4AqwPvBC4A6wC+Ai4ACwEZBS4AswO+AkAAKwCFAUAAEwBdAUMAEwBdAUMAGwBsAUkAgwDLAWMA
GwBsAWMAEwBdAWkAgwDfAYAAKwCFAYMAGwBsAYMAewCFAYMAcwCFAYkAgwDsAaAAKwCFAaMAwwA1
AqMAEwBdAcAAKwCFAcMA6wC+AsMAEwBdAeAAKwCFAeMACwG+AgABEwBdAQABKwCFAQMBCwG+AiAB
EwBdASABKwCFASMBCwG+AkABEwBdAUABKwCFAUkBSwOFAUkBUwMKBGABEwBdAWABKwCFAWkBUwMq
BIABKwCFAYMBCwG+AoMBQwP8A4MBOwOFAYkBEwBfBKABKwCFAakBEwBfBMABEwBdAcABKwCFAckB
gwOFAeABKwCFAQACKwCFAQACEwBdAYAECwG+AqAECwG+AqYBqwGwAbUBBQIJAhQCGQIoAigCsALE
AsQCBQIFAsQCxAIFAuICFwN0A50D5AMZAhkCUwRaBG0EBAABAAYABQAHAAYACAAIAAwACgANAAwA
DgAOAAAA6gFPAAAAowJUAAAAUgJZAAAArwJeAAAAawOYAAAAsATEAAAAwwTEAAAAsATEAAAAwwTE
AAAAvAYgAQAAyAYgAQAA5QY8AQAAXAdBAQAAVgdSAQIABAADAAIABQAFAAIABgAHAAIABwAJAAIA
DwALAAIAEgANAAIAEwAPAAIAFwARAAIAGAATAAIALAAVAAEALQAVAAEALwAXAAIALgAXAAIAMQAZ
AAIAMgAbAAEAMwAbAAIANgAdAHUAdQCIAIoBkQGYAZ8BlwKeAgSAAAABAAAAAAAAAAAAAAAAALwA
AAAEAAAAAAAAAAAAAAABAAoAAAAAAAoAAAAAAAAAAAAAAAoAEwAAAAAAAQAAAAAAAAAAAAAAnQB3
AwAAAAALAAAAAAAAAAAAAACmALUDAAAAAAsAAAAAAAAAAAAAAKYAAwQAAAAABAAAAAAAAAAAAAAA
AQDzAQAAAAALAAAAAAAAAAAAAACmANQJAAAAAAsAAAAAAAAAAAAAAKYATQ4AAAAAAAAAAAEAAADz
DwAABQAEAAYABAAAABAADAD5AgAAEAAZAPkCAAAAABsA+QItACMCLQClAgAAAAAAPE1vZHVsZT4A
bXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRpb24AU2NyaXB0Q29tcG9u
ZW50Xzk0NmY1MTY0YWY5MTQzOWZhZGZlYTgxYjJlNGYxMTA2LnZicHJvai5NeQBNeUNvbXB1dGVy
AE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAxAElucHV0
QnVmZmVyAFNjcmlwdENvbXBvbmVudF85NDZmNTE2NGFmOTE0MzlmYWRmZWE4MWIyZTRmMTEwNi52
YnByb2oAT3V0cHV0QnVmZmVyAFVzZXJDb21wb25lbnQAQ29ubmVjdGlvbnMAVmFyaWFibGVzAFNj
cmlwdE1haW4ATXlSZXNvdXJjZXMAU2NyaXB0Q29tcG9uZW50Xzk0NmY1MTY0YWY5MTQzOWZhZGZl
YTgxYjJlNGYxMTA2LnZicHJvai5NeS5SZXNvdXJjZXMATXlTZXR0aW5ncwBNaWNyb3NvZnQuVmlz
dWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9z
b2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0
X0NvbXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBP
YmplY3RQcm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJT
ZXJ2aWNlcwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2
aWNlcwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19J
bnN0YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UA
TWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEA
bV9Db250ZXh0AEdldEluc3RhbmNlAENvenlSb2MuU1NJU1BsdXMuMjAxMgBDb3p5Um9jLlNxbFNl
cnZlci5TU0lTAFNjcmlwdEJ1ZmZlclBsdXMATWljcm9zb2Z0LlNxbFNlcnZlci5UeFNjcmlwdABN
aWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZQBTY3JpcHRDb21wb25lbnQATWljcm9zb2Z0
LlNxbFNlcnZlci5QaXBlbGluZUhvc3QAUGlwZWxpbmVCdWZmZXIAT3V0cHV0TmFtZU1hcABDb21w
b25lbnQAT2JqZWN0SUQASXNJbnB1dABCdWZmZXIAT3V0cHV0TWFwAGdldF9TdGF0aWNJbnB1dENv
bHVtbnMAZ2V0X1N0YXRpY091dHB1dENvbHVtbnMATmV4dFJvdwBFbmRPZlJvd3NldABTdGF0aWNJ
bnB1dENvbHVtbnMAU3RhdGljT3V0cHV0Q29sdW1ucwBBZGRSb3cAU2V0RW5kT2ZSb3dzZXQAU2Ny
aXB0Q29tcG9uZW50UGx1cwBJbnB1dHNGaW5pc2hlZABQcm9jZXNzSW5wdXQASW5wdXRJRABJbnB1
dE5hbWUARmluaXNoT3V0cHV0cwBNYXJrT3V0cHV0c0ZpbmlzaGVkAFByaW1lT3V0cHV0AE91dHB1
dHMAT3V0cHV0SURzAEJ1ZmZlcnMAQ3JlYXRlTmV3T3V0cHV0Um93cwBJbnB1dF9Qcm9jZXNzSW5w
dXQASW5wdXRfUHJvY2Vzc0lucHV0Um93AFJvdwBQYXJlbnRDb21wb25lbnQAUHJlRXhlY3V0ZQBW
YWxpZGF0ZQBlcnJNZXNzYWdlAE9uSW5wdXRQYXRoQXR0YWNoZWQAaW5wdXRJRABPbklucHV0UGF0
aERldGFjaGVkAGdldF9TcGxpdENvbHVtbgBzZXRfU3BsaXRDb2x1bW4AdmFsdWUAZ2V0X1NwbGl0
U3ltYm9sAHNldF9TcGxpdFN5bWJvbABtX3NwbGl0Q29sdW1uAG1fc3BsaXRTeW1ib2wAbV9zcGxp
dEluZGV4AG1fc3BsaXRDaGFycwBTeXN0ZW0uQ29sbGVjdGlvbnMASGFzaHRhYmxlAG1fY29sc0lu
ZGV4AFNwbGl0Q29sdW1uAFNwbGl0U3ltYm9sAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5h
Z2VyAF9yZXNNZ3IAU3lzdGVtLkdsb2JhbGl6YXRpb24AQ3VsdHVyZUluZm8AX3Jlc0N1bHR1cmUA
Z2V0X1Jlc291cmNlTWFuYWdlcgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBWYWx1ZQBDdWx0dXJl
AFN5c3RlbS5Db25maWd1cmF0aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9T
eW5jT2JqZWN0AGdldF9WYWx1ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxl
QXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdl
bmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0
cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9k
dWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2Rl
bC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2
aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRU
eXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25B
dHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNp
YmxlQXR0cmlidXRlAFN0cmluZwBTY3JpcHRCdWZmZXIAQ0xTQ29tcGxpYW50QXR0cmlidXRlAE1p
Y3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUGlwZWxpbmVXcmFwAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRz
LlBpcGVsaW5lLldyYXBwZXIASURUU0NvbXBvbmVudE1ldGFEYXRhMTAwAGdldF9Db21wb25lbnRN
ZXRhRGF0YQBJRFRTSW5wdXRDb2xsZWN0aW9uMTAwAGdldF9JbnB1dENvbGxlY3Rpb24ASURUU0lu
cHV0MTAwAGdldF9JdGVtAGdldF9JRABnZXRfRW5kT2ZSb3dzZXQAR2V0T3V0cHV0SUQARGljdGlv
bmFyeUVudHJ5AElEaWN0aW9uYXJ5RW51bWVyYXRvcgBJc051bGwAR2V0U3RyaW5nAFNwbGl0AEdl
dEVudW1lcmF0b3IASUVudW1lcmF0b3IAZ2V0X0N1cnJlbnQAZ2V0X0tleQBDb252ZXJzaW9ucwBU
b0ludGVnZXIAQmxvYkNvbHVtbgBnZXRfQnVmZmVyAFNldE51bGwAc2V0X0l0ZW0ATW92ZU5leHQA
SURUU091dHB1dDEwMABJRFRTSW5wdXRDb2x1bW4xMDAASW50MzIASURUU091dHB1dENvbGxlY3Rp
b24xMDAAZ2V0X091dHB1dENvbGxlY3Rpb24AUGlwZWxpbmVDb21wb25lbnQAZ2V0X0hvc3RDb21w
b25lbnQASURUU0J1ZmZlck1hbmFnZXIxMDAAZ2V0X0J1ZmZlck1hbmFnZXIASURUU0lucHV0Q29s
dW1uQ29sbGVjdGlvbjEwMABnZXRfSW5wdXRDb2x1bW5Db2xsZWN0aW9uAGdldF9MaW5lYWdlSUQA
RmluZENvbHVtbkJ5TGluZWFnZUlEAFN5c3RlbS5UZXh0LlJlZ3VsYXJFeHByZXNzaW9ucwBSZWdl
eABVbmVzY2FwZQBUb0NoYXJBcnJheQBnZXRfQ291bnQASURUU091dHB1dENvbHVtbkNvbGxlY3Rp
b24xMDAAZ2V0X091dHB1dENvbHVtbkNvbGxlY3Rpb24AZ2V0X05hbWUASURUU091dHB1dENvbHVt
bjEwMABJRFRTVmlydHVhbElucHV0MTAwAEV4Y2VwdGlvbgBHZXRWaXJ0dWFsSW5wdXQASURUU1Zp
cnR1YWxJbnB1dENvbHVtbkNvbGxlY3Rpb24xMDAAZ2V0X1ZpcnR1YWxJbnB1dENvbHVtbkNvbGxl
Y3Rpb24ASXNOdWxsT3JFbXB0eQBQcm9qZWN0RGF0YQBTZXRQcm9qZWN0RXJyb3IAZ2V0X01lc3Nh
Z2UAQ2xlYXJQcm9qZWN0RXJyb3IAQ01hbmFnZWRDb21wb25lbnRXcmFwcGVyAElEVFNWaXJ0dWFs
SW5wdXRDb2x1bW4xMDAAUmVtb3ZlQWxsAEdldE9iamVjdEJ5SUQASW5zdGFudGlhdGUASURUU0Rl
c2lnbnRpbWVDb21wb25lbnQxMDAARFRTVXNhZ2VUeXBlAFNldFVzYWdlVHlwZQBOZXcAc2V0X05h
bWUATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNSdW50aW1lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVy
LkR0cy5SdW50aW1lLldyYXBwZXIARGF0YVR5cGUAZ2V0X0RhdGFUeXBlAGdldF9MZW5ndGgAZ2V0
X1ByZWNpc2lvbgBnZXRfU2NhbGUAZ2V0X0NvZGVQYWdlAFNldERhdGFUeXBlUHJvcGVydGllcwBT
U0lTU2NyaXB0Q29tcG9uZW50RW50cnlQb2ludEF0dHJpYnV0ZQBDb3p5Um9jLlNxbFNlcnZlci5T
U0lTLkF0dHJpYnV0ZXMAVmFsaWRhdGVQcm9wZXJ0aWVzQXR0cmlidXRlAElucHV0VmlydHVhbENv
bHVtbkF0dHJpYnV0ZQBEZXNjcmlwdGlvbkF0dHJpYnV0ZQBTeXN0ZW0uUmVmbGVjdGlvbgBBc3Nl
bWJseQBnZXRfQXNzZW1ibHkAU3lzdGVtLlRocmVhZGluZwBNb25pdG9yAEVudGVyAEV4aXQARGVi
dWdnZXJOb25Vc2VyQ29kZUF0dHJpYnV0ZQBTY3JpcHRDb21wb25lbnRfOTQ2ZjUxNjRhZjkxNDM5
ZmFkZmVhODFiMmU0ZjExMDYudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGlsYXRpb25S
ZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBTeXN0ZW0u
UnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0dHJpYnV0ZQBBc3NlbWJseUZpbGVW
ZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUA
QXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2Vt
Ymx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFzc2VtYmx5
VGl0bGVBdHRyaWJ1dGUAU2NyaXB0Q29tcG9uZW50Xzk0NmY1MTY0YWY5MTQzOWZhZGZlYTgxYjJl
NGYxMTA2LnZicHJvai5kbGwAAAALSQBuAHAAdQB0AAANTwB1AHQAcAB1AHQAAClTAGUAbABlAGMA
dAAgAHMAcABsAGkAdAAgAGMAbwBsAHUAbQBuAC4AACtTAHAAZQBjAGkAZgB5ACAAcwBwAGwAaQB0
ACAAcwB5AG0AYgBvAGwALgAAMU0AeQAuAFIAZQBzAG8AdQByAGMAZQBzAC4ATQB5AFIAZQBzAG8A
dQByAGMAZQBzAAAAxUwZiOOJvkCDmiugW4LyWQAIt3pcVhk04IkIsD9ffxHVCjoDIAABAwAAAQQA
ABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAESEQQAABIUBwYVEhgBEhQECAASDAQI
ABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQAQEeAB4ABzABAQEQHgACEwAEIAAT
AAcGFRIZARMABCgAEwAIFs9JC7gMNOoIiYRdzYCAzJELIAUBEiEIAhIlEikEIAAdDgMgAAIEKAAd
DgMGEigDBhIsAwYSIAIGCAkgBAEIDhIlEikLIAQBCB0IHRIlEikFIAEBEhwDBhIhBSABARIhBiAC
AQgSJQUgAQIQDgQgAQEIBCABAQ4CBg4DBh0DAwYSMQMoAA4DBhI1AwYSOQQAABI1BAAAEjkFAAEB
EjkECAASNQQIABI5AwYSOAIGHAQAABI4BAgAEjgFIAEBEUUIAQABAAAAAAAFIAIBDg4YAQAKTXlU
ZW1wbGF0ZQgxMC4wLjAuMAAABAEAAAAGFRIYARIMBhUSGAESCAYVEhgBEhEGFRIYARIUBAcBEgwE
BwESCAQHARIRBAcBEhQQAQALTXkuQ29tcHV0ZXIAABMBAA5NeS5BcHBsaWNhdGlvbgAADAEAB015
LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNlcwAABAABHBwDBwECAwcBCAYAARIVEWEEBwESFQMHAQ4F
EAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90b2NvbHMu
U29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3RhbmNlX18TRGlzcG9zZV9fSW5zdGFu
Y2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAIBwMTABMAEwAEIAEBAgUBAAAAAAQHAR0O
BCAAEn0FIAASgIEGIAESgIUcBgACCBIpDgQHAggIBCABAggEIAEOCAYgAR0OHQMFIAASgI0DIAAc
BAABCBwEIAEcCAQgABIlBSACAQgcEwcKCB0OCAgIEYCJHAgSgI0RgIkFIAASgKkGIAESgJ0cBSAA
EoCtBSAAEoCxBSAAEoC1BiABEoChHAUgAggICAQAAQ4OBCAAHQMFIAASgL0GIAESgMEcBSACARwc
EAcICBKAhRKAnQgSgKEICAgFIAASgMUFIAASgM0EAAECDgYAAQESgMkNBwUCAhKAhRKAxRKAyQYg
ARKAhQgFIAASgNUGIAESgNkcDSAEEoChCBKAxQgRgOEFIAASgMEFIAARgOUKIAUBEYDlCAgICBcH
CQgSgNUSgL0SgMUIEoDZEoDBCBKA2Q0BAAhWYWxpZGF0ZQAAHwEAGlNlbGVjdCBpbnB1dCBzcGxp
dCBjb2x1bW4uAAAaAQAVU3BlY2lmeSBzcGxpdCBzeW1ib2wuAAAFIAASgPkHIAIBDhKA+QYHAhI1
EjUEBwESOQgBAAIAAAAAAAQAAQEcBAcBEjgIAQAIAAAAAAAeAQABAFQCFldyYXBOb25FeGNlcHRp
b25UaHJvd3MBRwEAGi5ORVRGcmFtZXdvcmssVmVyc2lvbj12NC4wAQBUDhRGcmFtZXdvcmtEaXNw
bGF5TmFtZRAuTkVUIEZyYW1ld29yayA0DAEABzEuMC4wLjAAACkBACRkNzg2ODNkMC0yYWFjLTRh
NDMtOGM0NC00OTc5MWQ1ZTYzNGMAAAUBAAEAAB8BABpDb3B5cmlnaHQgQCBNaWNyb3NvZnQgMjAx
NAAAPAEAN1NjcmlwdENvbXBvbmVudF85NDZmNTE2NGFmOTE0MzlmYWRmZWE4MWIyZTRmMTEwNi52
YnByb2oAAA4BAAlNaWNyb3NvZnQAAABYUAAAAAAAAAAAAABuUAAAACAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAYFAAAAAAAAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgABAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAQAAAAGAAAgAAA
AAAAAAAAAAAAAAAAAQABAAAAMAAAgAAAAAAAAAAAAAAAAAAAAQAAAAAASAAAAFhgAABoBAAAAAAA
AAAAAABoBDQAAABWAFMAXwBWAEUAUgBTAEkATwBOAF8ASQBOAEYATwAAAAAAvQTv/gAAAQAAAAEA
AAAAAAAAAQAAAAAAPwAAAAAAAAAEAAAAAgAAAAAAAAAAAAAAAAAAAEQAAAABAFYAYQByAEYAaQBs
AGUASQBuAGYAbwAAAAAAJAAEAAAAVAByAGEAbgBzAGwAYQB0AGkAbwBuAAAAAAAAALAEyAMAAAEA
UwB0AHIAaQBuAGcARgBpAGwAZQBJAG4AZgBvAAAApAMAAAEAMAAwADAAMAAwADQAYgAwAAAANAAK
AAEAQwBvAG0AcABhAG4AeQBOAGEAbQBlAAAAAABNAGkAYwByAG8AcwBvAGYAdAAAAJgAOAABAEYA
aQBsAGUARABlAHMAYwByAGkAcAB0AGkAbwBuAAAAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBl
AG4AdABfADkANAA2AGYANQAxADYANABhAGYAOQAxADQAMwA5AGYAYQBkAGYAZQBhADgAMQBiADIA
ZQA0AGYAMQAxADAANgAuAHYAYgBwAHIAbwBqAAAAMAAIAAEARgBpAGwAZQBWAGUAcgBzAGkAbwBu
AAAAAAAxAC4AMAAuADAALgAwAAAAmAA8AAEASQBuAHQAZQByAG4AYQBsAE4AYQBtAGUAAABTAGMA
cgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADkANAA2AGYANQAxADYANABhAGYAOQAxADQAMwA5
AGYAYQBkAGYAZQBhADgAMQBiADIAZQA0AGYAMQAxADAANgAuAHYAYgBwAHIAbwBqAC4AZABsAGwA
AABcABsAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABDAG8AcAB5AHIAaQBnAGgAdAAg
AEAAIABNAGkAYwByAG8AcwBvAGYAdAAgADIAMAAxADQAAAAAAKAAPAABAE8AcgBpAGcAaQBuAGEA
bABGAGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADkANAA2
AGYANQAxADYANABhAGYAOQAxADQAMwA5AGYAYQBkAGYAZQBhADgAMQBiADIAZQA0AGYAMQAxADAA
NgAuAHYAYgBwAHIAbwBqAC4AZABsAGwAAACQADgAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUAAAAA
AFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8AOQA0ADYAZgA1ADEANgA0AGEAZgA5ADEA
NAAzADkAZgBhAGQAZgBlAGEAOAAxAGIAMgBlADQAZgAxADEAMAA2AC4AdgBiAHAAcgBvAGoAAAA0
AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEA
QQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAMAAAAgDAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></arrayElement></arrayElements></property><property id="64" name="UserComponentTypeName" dataType="System.String">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property><property id="66" 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_946f5164af91439fadfea81b2e4f1106</property><property id="67" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><inputs><input id="69" name="Input" hasSideEffects="true"><externalMetadataColumns /></input></inputs><outputs><output id="82" name="Output" hasSideEffects="true"><externalMetadataColumns /></output></outputs></component>