<component id="2" name="Date Format" componentClassID="{874F7595-FB5F-40FF-96AF-FBFF8250E3EF}" description="Executes a custom script." localeId="1033" version="7" contactInfo="Executes a custom script.;Microsoft Corporation;Microsoft SqlServer v9; © 2004 Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;0"><properties><property id="3" name="SourceCode" state="cdata" dataType="System.String" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="30"><arrayElement dataType="System.String"><![CDATA[My Project\Settings.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On



Partial Friend NotInheritable Class MySettings
    Inherits System.Configuration.ApplicationSettingsBase

    Private Shared m_Value As MySettings

    Private Shared m_SyncObject As Object = New Object

    <System.Diagnostics.DebuggerNonUserCode()> _
    Public Shared ReadOnly Property Value() As MySettings
        Get
            If (MySettings.m_Value Is Nothing) Then
                System.Threading.Monitor.Enter(MySettings.m_SyncObject)
                If (MySettings.m_Value Is Nothing) Then
                    Try
                        MySettings.m_Value = New MySettings
                    Finally
                        System.Threading.Monitor.Exit(MySettings.m_SyncObject)
                    End Try
                End If
            End If
            Return MySettings.m_Value
        End Get
    End Property
End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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_734833735a85416a916be11bd46904d1.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_734833735a85416a916be11bd46904d1.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2013")> 
<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("9d8c397a-12c9-483c-ba91-5bb1b0578fe5")> 

' Version information for an assembly consists of the following four values:
'
'      Major Version
'      Minor Version 
'      Build Number
'      Revision
'
' You can specify all the values or you can default the Build and Revision Numbers 
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>

<Assembly: AssemblyVersion("1.0.0.0")> 
<Assembly: AssemblyFileVersion("1.0.0.0")> 
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ComponentWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services component wrapper
' This module defines the base class for your component
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class UserComponent
    Inherits ScriptComponentPlus

    Public Connections As New Connections(Me)
    Public Variables As New Variables(Me)

    Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal InputName As String, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        If InputID = MyBase.ComponentMetaData.InputCollection("Input").ID Then
            Input_ProcessInput(New InputBuffer(Me, InputID, True, Buffer, OutputMap))
        End If

    End Sub

    Public Overridable Sub Input_ProcessInput(ByVal Buffer As InputBuffer)

        While Buffer.NextRow()
            Input_ProcessInputRow(Buffer)
        End While

    End Sub

    Public Overridable Sub Input_ProcessInputRow(ByVal Row As InputBuffer)

    End Sub

End Class

Public Class Connections

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

End Class

Public Class Variables

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[BufferWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services buffer wrappers
' This module defines classes for accessing data flow buffers
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!


Option Strict Off   ' This allows usage of PipelineBuffer typed accessors.

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class InputBuffer
    Inherits ScriptBufferPlus

    Public Sub New(ByVal Component As ScriptComponent, ByVal ObjectID As Integer, ByVal IsInput As Boolean, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)
        MyBase.New(Component, ObjectID, IsInput, Buffer, OutputMap)
    End Sub

    Public Overrides ReadOnly Property StaticInputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overloads Function NextRow() As Boolean
        NextRow = MyBase.NextRow()
    End Function

    Public Overloads Function EndOfRowset() As Boolean
        EndOfRowset = MyBase.EndOfRowset
    End Function

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[scriptcomponent_734833735a85416a916be11bd46904d1.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_734833735a85416a916be11bd46904d1.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_734833735a85416a916be11bd46904d1.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{EFF50CEF-089C-4DE2-AF4C-7BBABC2C825F}</ProjectGuid>
  </PropertyGroup>
  <!-- This section defines properties that are set when the "Debug" configuration is
       selected.

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

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

       Compile - Specifies a source file to compile.
       EmbeddedResource - Specifies a .resx file for embedded resources.
       None - Specifies a file that is not to be passed to the compiler (for instance,
              a text file or XML file).
       AppDesigner - Specifies the directory where the application properties files can
                     be found.
  -->
  <ItemGroup>
    <AppDesigner Include="My Project\" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
    <Compile Include="main.vb" />
    <Compile Include="My Project\AssemblyInfo.vb">
      <SubType>Code</SubType>
    </Compile>
    <EmbeddedResource Include="My Project\Resources.resx">
      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
      <CustomToolNamespace>My.Resources</CustomToolNamespace>
    </EmbeddedResource>
    <Compile Include="My Project\Resources.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <None Include="My Project\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.vb</LastGenOutput>
    </None>
    <Compile Include="My Project\Settings.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <SubType>Code</SubType>
    </Compile>
    <!-- Include the default configuration information and metadata files for the add-in.
         These files are copied to the build output directory when the project is
         built, and the path to the configuration file is passed to add-in on the command
         line when debugging.
    -->
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <!-- This section defines VSTA properties that describe the host-changable project properties. -->
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{30D016F9-3734-4E33-A861-5E7D899E18F3}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{B3A685AA-7EAF-4BC6-9940-57959FA5AC07}" ApplicationType="usd" Language="vb" TemplatesPath="" DebugInfoExeName="devenv.exe" DebugInfoCommandLine="/vstaHostDebugUri:&quot;vstadebug397bc392-381e-4bc9-8116-f631c9f29dc1/8ab260c8-2167-42ab-8b8e-d6109ff0485a&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[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-2013 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.Globalization
Imports System.Collections

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


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() {"Columns", "InputCulture", "Options", "OutputCulture", "Format"})> _
<ValidateProperties("Validate")> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    Private Const ColumnSeparator As String = "," + vbLf


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Dim colsCount As Integer = m_inputIdx.Length

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

            If Row.Buffer.IsNull(bufIndex) Then
                Continue For
            End If

            Try
                Dim colValue As String = Row.Buffer.GetString(bufIndex)

                Dim dt As DateTime
                If DateTime.TryParse(colValue, m_inCulture, m_dts, dt) Then
                    Call Row.Buffer.SetString(bufIndex, dt.ToString(Me.Format, m_outCulture))
                Else
                    Call FireWarning_(String.Format("Failed to parse date: {0}",  colValue))
                End If
            Catch ex As Exception
                Call FireError_(ex.Message)
            End Try
        Next
    End Sub ' Input_ProcessInputRow


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

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

        ' Setup dynamic input columns indexes.
        Dim colsCount As Integer = input.InputColumnCollection.Count
        m_inputIdx = New Integer(colsCount - 1) {}
        For colIndex As Integer = 0 To colsCount - 1
            m_inputIdx(colIndex) = Me.HostComponent.BufferManager.FindColumnByLineageID( _
                input.Buffer, _
                input.InputColumnCollection(colIndex).LineageID)
        Next

        m_inCulture = CultureInfo.GetCultureInfo(m_icid)
        m_outCulture = CultureInfo.GetCultureInfo(m_ocid)

        ' Initialize parse options.
        m_dts = DateTimeStyles.None
        Dim optionsList() As String = CStr(Me.Options).Split( _
            New String() {ColumnSeparator}, _
            StringSplitOptions.None)
        For Each opt As String In optionsList
            m_dts = m_dts Or CType( _
                System.Enum.Parse(GetType(DateTimeStyles), opt), _
                DateTimeStyles)
        Next
    End Sub ' PreExecute


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

        Try
            If String.IsNullOrEmpty(Me.Columns) Then
                Throw New Exception("Select input columns.")
            End If

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

            ' Setup input columns based on selection.
            Dim selectedCols() As String = CStr(Me.Columns).Split( _
                New String() {ColumnSeparator}, _
                StringSplitOptions.None)
            Dim virtInput As IDTSVirtualInput100 = input.GetVirtualInput()

            Call input.InputColumnCollection.RemoveAll()

            For Each col As String In selectedCols
                If Not String.IsNullOrEmpty(col) Then
                    Dim virtColumn As IDTSVirtualInputColumn100 = virtInput.VirtualInputColumnCollection(col)
                    Call virtInput.SetUsageType(virtColumn.LineageID, DTSUsageType.UT_READWRITE)
                End If
            Next

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

        Validate = result
    End Function    'Validate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Returns list of available cultures.
    Public Function GetCultures() As Object()
        Dim result As New ArrayList()

        Dim cultures() As CultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures)
        For Each culture As CultureInfo In cultures
            Call result.Add(culture.DisplayName)
        Next

        GetCultures = result.ToArray()
    End Function    ' GetCultures


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function GetDateParseOptions() As Object()
        GetDateParseOptions = System.Enum.GetNames(GetType(DateTimeStyles))
    End Function    ' GetDateParseOptions


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Input")> _
    <Description("Select input columns you want to process.")> _
    <InputVirtualColumn("", False)> _
    Public Property Columns() As String
        Get
            Columns = m_inputCols
        End Get
        Set(ByVal value As String)
            m_inputCols = value
        End Set
    End Property    ' Columns


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Input")> _
    <Description("Select input date parse culture.")> _
    <List("GetCultures")> _
    Public Property InputCulture() As String
        Get
            InputCulture = CultureInfo.GetCultureInfo(m_icid).DisplayName
        End Get
        Set(ByVal value As String)
            m_icid = GetIdFromDisplayName_(value)
        End Set
    End Property    ' InputCulture


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Input")> _
    <Description("Specify date parse options.")> _
    <List("GetDateParseOptions", True, False)> _
    <DefaultValue("None")> _
    Public Property Options() As String
        Get
            Options = m_options
        End Get
        Set(ByVal value As String)
            m_options = value
        End Set
    End Property    ' Options


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Output")> _
    <Description("Select output date format culture.")> _
    <List("GetCultures")> _
    Public Property OutputCulture() As String
        Get
            OutputCulture = CultureInfo.GetCultureInfo(m_ocid).DisplayName
        End Get
        Set(ByVal value As String)
            m_ocid = GetIdFromDisplayName_(value)
        End Set
    End Property    ' OutputCulture


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Output")> _
    <Description("Specify output date format.")> _
    Public Property Format() As String
        Get
            Format = m_format
        End Get
        Set(ByVal value As String)
            m_format = value
        End Set
    End Property    ' Format
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub FireError_(ByVal message As String)
        Dim cancel As Boolean = False
        Call MyBase.ComponentMetaData.FireError( _
            0, _
            "Date Format", _
            message, _
            String.Empty, _
            0, _
            cancel)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub FireWarning_(ByVal message As String)
        Call MyBase.ComponentMetaData.FireWarning( _
            0, _
            "Date Format", _
            message, _
            String.Empty, _
            0)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetIdFromDisplayName_(ByVal displayName As String) As Integer
        Dim result As Integer = CultureInfo.CurrentCulture.LCID

        If Not String.IsNullOrEmpty(displayName) Then
            Dim cultures() As CultureInfo = CultureInfo.GetCultures(CultureTypes.AllCultures)
            For Each culture As CultureInfo In cultures
                If culture.DisplayName.Equals(displayName) Then
                    ' Found culture.
                    result = culture.LCID
                    Exit For
                End If
            Next
        End If

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


#Region "Attributes"
    Private m_inputCols As String = String.Empty
    Private m_icid As Integer = CultureInfo.CurrentCulture.LCID
    Private m_options As String
    Private m_ocid As Integer = CultureInfo.CurrentCulture.LCID
    Private m_format As String
    Private m_inputIdx() As Integer
    Private m_inCulture As CultureInfo
    Private m_outCulture As CultureInfo
    Private m_dts As DateTimeStyles
#End Region ' Attributes

End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Project]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<c:Project xmlns:c="http://schemas.microsoft.com/codeprojectml/2010/08/main" xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003" runtimeVersion="4.0" schemaVersion="1.0">
	<msb:PropertyGroup>
		<msb:Language>msBuild</msb:Language>
		<msb:NoContent>Reference;Import;Folder</msb:NoContent>
		<msb:ProjectId>{B674D30D-6547-45F1-8FA9-31ECA05124B3}</msb:ProjectId>
		<msb:DisplayName>scriptcomponent_734833735a85416a916be11bd46904d1</msb:DisplayName>
		<msb:CodeName>scriptcomponent_734833735a85416a916be11bd46904d1</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_734833735a85416a916be11bd46904d1.vbproj"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Settings.settings]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version='1.0' encoding='iso-8859-1'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)" GeneratedClassNamespace="" GeneratedClassName="MySettings">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Resources.resx]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\Resources.Designer.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA['------------------------------------------------------------------------------
' <autogenerated>
'     This code was generated by a tool.
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </autogenerated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On


Namespace My.Resources
    
    '''<summary>
    '''   A strongly-typed resource class, for looking up localized strings, etc.
    '''</summary>
    'This class was auto-generated by the Strongly Typed Resource Builder
    'class via a tool like ResGen or Visual Studio.NET.
    'To add or remove a member, edit your .ResX file then rerun ResGen
    'with the /str option, or rebuild your VS project.
    Class MyResources
        
        Private Shared _resMgr As System.Resources.ResourceManager
        
        Private Shared _resCulture As System.Globalization.CultureInfo
        
        Friend Sub New()
            MyBase.New
        End Sub
        
        '''<summary>
        '''   Returns the cached ResourceManager instance used by this class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared ReadOnly Property ResourceManager() As System.Resources.ResourceManager
            Get
                If (_resMgr Is Nothing) Then
                    Dim temp As System.Resources.ResourceManager = New System.Resources.ResourceManager("My.Resources.MyResources", GetType(MyResources).Assembly)
                    _resMgr = temp
                End If
                Return _resMgr
            End Get
        End Property
        
        '''<summary>
        '''   Overrides the current thread's CurrentUICulture property for all
        '''   resource lookups using this strongly typed resource class.
        '''</summary>
        <System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)>  _
        Public Shared Property Culture() As System.Globalization.CultureInfo
            Get
                Return _resCulture
            End Get
            Set
                _resCulture = value
            End Set
        End Property
    End Class
End Namespace
]]></arrayElement></arrayElements></property><property id="4" name="BinaryCode" state="cdata" dataType="System.String" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[ScriptComponent_734833735a85416a916be11bd46904d1.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
aWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdh
NWM1NjE5MzRlMDg5I1N5c3RlbS5SZXNvdXJjZXMuUnVudGltZVJlc291cmNlU2V0AgAAAAAAAAAA
AAAAUEFEUEFEULQAAABCU0pCAQABAAAAAAAMAAAAdjQuMC4zMDMxOQAAAAAFAGwAAABQDQAAI34A
ALwNAACgEAAAI1N0cmluZ3MAAAAAXB4AAMAAAAAjVVMAHB8AABAAAAAjR1VJRAAAACwfAACoBgAA
I0Jsb2IAAAAAAAAAAgAAAVcdogkJDwAAAPolMwAWAAABAAAASQAAAA0AAAAXAAAANQAAABsAAABr
AAAAAQAAAEsAAAAeAAAABgAAAA8AAAAVAAAACQAAAAEAAAAHAAAAAQAAAAIAAAADAAAAAgAAAAAA
ZBABAAAAAAAKAKkBfwEKAN0BvwEGAO0B5gEKAEUCfwEGAMMC5gEKAEUDGwMOAJcDgAMSAOYDxQMW
ABcExQMSACYExQMOAMoEgAMGAKoGlQYGAM8GlQYGACcHFgcaAJoHhQcaAOcH0QcaAAAI0QcaAC0I
FQgGAFcIRAgKAJYIbwgKAK4IEwAaAOMIxggGABgJ+AgGADYJ5gEGAFoJ5gEKAHMJEwAGALcJmAkG
AMsJ5gESANIJxQMGAN8J5gEeAEIKGQoeAHEKGQoeAJwKGQoGANsK5gEGAOQK5gEGAAoL5gEKAC0L
bwgGAGcL5gEeAG0LGQoWAK4LxQMeANILGQoeAPkLGQoGAD8M5gEGAFgM5gEKAGMMbwgeAHkMGQoe
AI0MGQoeAM8MGQoeABQNGQoGAEENLg0GAEsNlQYSAJMNxQMOANwNug0OAPgNug0OABAOug0aAB4O
0QcaADMO0QcOAEUOug0aAGEO0QcGAIkOdw4GALAOnw4GAMMORAgGACwP+AgGAEwP+AgGAIQPag8G
AJ0Pdw4GALoPmAkGAMgPdw4GAOMPdw4GAP4Pdw4GABcQdw4GADAQdw4GAE0Qdw4AAAAAAQAAAAAA
AQABAAAAAAApADcABQABAAEAAAAAAHIANwAJAAEAAgAAARAAfQA3AA0AAQADAAUBAACHAAAADQAF
AAgABQEAAJUAAAANAAUADwABAAAAsAC8AB0ABgARAAEAAAD0ALwALQAGABYAAQAAAAIBvAANAAgA
GgABAAAADgG8AA0ACQAbAAEAAAAYAbwAIAAKABwAAAAAACMBLwENABQALwAAARAAdAG8AD0AFgAz
ADEACAIgADEAMQItADEAUwI6ADEAeAJHACEAVAOQAAYAAgHJAAYADgHNAAEAKgXhAAEAKgXhAFGA
OgXrAAEAXQbrAAEAaQYIAQEAcAbrAAEAegYIAQEAgQbrAAEAigYLAQEAtgYPAQEAwgYPAQEA3gYT
AREANwcbAREAPwcPAREAsgc5AREAugc9AVAgAAAAAAYYuQETAAEAWCAAAAAABhi5ARMAAQBgIAAA
AAARGPQBFwABAIwgAAAAABMI+wEbAAEApCAAAAAAEwghAigAAQC8IAAAAAATCEoCNQABANQgAAAA
ABMIaAJCAAEA7CAAAAAARgKuAmMAAQAIIQAAAABGArcCaAACABwhAAAAAIMAyAJsAAIANCEAAAAA
RgLQAnEAAgBIIQAAAAARANkCeAACAGQhAAAAAAEA9wKAAAMAgCEAAAAABhi5ARMABACIIQAAAAAD
CAsDiwAEALwhAAAAAAYYuQETAAQA0CEAAAAABhi5Aa8ABADgIQAAAABGCmAEuwAJAPQhAAAAAEYK
dwS7AAkACCIAAAAAhgCPBMAACQAgIgAAAACGAJcEwAAJADgiAAAAAAYYuQETAAkAWCIAAAAARgLe
BNEACQCIIgAAAABGA/0E2wANAJwiAAAAAEYDEAXbAA4AoCIAAAAABhi5AeUADwCwIgAAAAAGGLkB
5QAQAMAiAAAAAAYYuQETABEA9CIAAAAARgIQBdsAEQDAIwAAAABGAkoFEwASANgkAAAAAAYAVQXz
ABIAwCUAAAAABgBpBfkAEwAMJgAAAAAGAHUF+QATACwmAAAAAAYIiQVxABMARCYAAAAABgiVBf4A
EwBQJgAAAAAGCKcFcQAUAHAmAAAAAAYIuAX+ABQAgCYAAAAABgjJBXEAFQCYJgAAAAAGCNUF/gAV
AKQmAAAAAAYI4QVxABYAxCYAAAAABgjzBf4AFgDUJgAAAAAGCAUGcQAXAOwmAAAAAAYIEAb+ABcA
+CYAAAAAAQAbBv4AGAAkJwAAAAABAC4G/gAZAEAnAAAAAAEAOwYDARoAoCcAAAAAAxi5ARMAGwCo
JwAAAAAWCEsHHwEbAOQnAAAAABYIXwckARsA+CcAAAAAFghrBykBGwAAKAAAAAARGPQBFwAcABQo
AAAAAAYYuQETABwAHCgAAAAAFgjHB0ABHAAAAAEAtQIAAAEA7gIAAAEA7gIAAAEANAQAAAIAPgQA
AAMARwQAAAQATwQAAAUAVgQAAAEA6wQAAAIA8wQAAAMATwQAAAQAVgQAAAEATwQAAAEAJgUAAAEA
NAQAAAEANAQAAAEAJgUAAAEAXgUAAAEAoQUAAAEAoQUAAAEAoQUAAAEAoQUAAAEAoQUAAAEAJgYA
AAEAJgYAAAEAUQYAAAEAdwcJALkBEwCBALkBSgGRALkBWQERALkBEwCZALkBEwAkALkBEwAsALkB
EwA0ALkBEwA8ALkBEwAkAAsDiwAsAAsDiwA0AAsDiwA8AAsDiwChALkBEwCpALkBEwCxALkB/gC5
ACcJ8wEZAK4CYwAZALcCaAApAEgJAAIZANACcQDJAGQJEAIZALkBEwDRALkBIAJEAFQDkABMAMcH
iwBMAI4JnQJMALkBEwDZALkBrAI5ALkBrwDpAI8EwADpAJcEwADxALkBrAJZALkBEwBBAFsKvAL5
AIgKwQIBAakKxwIJAbIKaADhALkK6wBhAL8KJAFhANIKaAA5AO4KzgJJAPkK0wJJAAAL2AIRARoL
3QIRAdAC6wJJACML8wLhAA8H+QIpATkL/wIZAUkLcQApAVULFwBBAEoFEwAJAYoLFAM5AaQLaABZ
AMALGgNBAecLIAMJAe4KaAA5AakKJgNRAQwMaABJARoMLQNhADAMMwPhAFIMOQNhAV0MQwNpAW8M
SgPhAKcMYAMZAbkB/gAJAbUMZQM5AcUMEwBxAfMMawOBAakKcQN5AQwMaABxASENeAORAbkBEwBh
AGkFmQNhAFgNcQCRAWgNogORAWwN+QBhAXQNuAP5AH0NxAP5AIcNzwPhAK4C2AOhAbkBEwCpAbkB
/gCxAbkB+QO5AbkB/gDBAbkB/gDJAbkB/gDRAbkBsATZAbkB/gC5AbkB9gQpAJIOWgVxALkBYAV5
ALkBEwDpAbgOfQXpAb4OfQXxAbkBEwD5AbkBhwUBArkBEwAJArkB/gARArkB/gAZArkB/gAhArkB
/gApArkB/gAxArkB/gA5ArkB/gBBArkB/gBJArkB/gAOACgA7gApAIMA1QEuAEsDlgYuAEMDWQYu
ABsDtAUuADsDOQYuAFMDsQIuAFsDWQYuAAsDjAUuABMDlQUuACMD/AUuACsDCQYuAOsAsQIuAAsB
MwYuADMDsQJAACsAeAFAABMAUAFDABMAUAFDABsAXwFJAIMArQFjABsAXwFjABMAUAFpAIMA5gGA
ACsAeAGDAHsAeAGDAHMAeAGDABsAXwGJAIMAwQGgACsAeAGjABMAUAGjAMMAKALAACsAeAHDABMA
UAHDAOsAsQLgACsAeAHjAAsBsQIAASsAeAEAARMAUAEDAQsBsQIJAcMCtgQJAbMCvQQJAbsCcQQg
ARMAUAEgASsAeAEpAbMCSwQpAbsCcQQpAasCOgRAASsAeAFAARMAUAFJAbsCcQRJAdMC/QRJAbMC
GAVJAcsC7ARgARMAUAFgASsAeAFjAZsC6wNjAQsBsQJjAZMCeAFjAaMC/wNpAbMCfARpAbsCpARp
AasCOgSAASsAeAGJAbsCpASJAbMCOQWgASsAeAGpARMAdAXAARMAUAHAASsAeAHJARMAdAXgASsA
eAHpAQMDeAEAAhMAUAEAAisAeAFAAwsBsQJgAwsBsQKZAZ4BowGoAfgB/AEHAgwCGwIbAqMCtwK3
AvgB+AEGA08DgAOnA78DDAIMAgwCDAIMAvgB3QNoBW8FggUEAAEABgAFAAcABgALAAgADAANAA0A
DwAAAN0BTwAAAJYCVAAAAEUCWQAAAKICXgAAAF4DmAAAAKMExAAAALYExAAAAOQGFwEAAOwGFwEA
APkGFwEAAAEHFwEAAA8HFwEAACcHLwEAAH0HNAEAAHcHRQECAAQAAwACAAUABQACAAYABwACAAcA
CQACAA8ACwACABIADQACABMADwACACIAEQABACMAEQABACUAEwACACQAEwABACcAFQACACYAFQAC
ACgAFwABACkAFwACACoAGQABACsAGQACADAAGwACADEAHQABADIAHQACADUAHwB1AHUAiAB9AYQB
iwGSAYoCkQIEgAAAAQAAAAAAAAAAAAAAAAC8AAAABAAAAAAAAAAAAAAAAQAKAAAAAAAKAAAAAAAA
AAAAAAAKABMAAAAAAAEAAAAAAAAAAAAAAJ0AagMAAAAACwAAAAAAAAAAAAAApgCoAwAAAAALAAAA
AAAAAAAAAACmAPYDAAAAAAQAAAAAAAAAAAAAAAEA5gEAAAAACwAAAAAAAAAAAAAApgD1CQAAAAAA
AAAAAQAAAOAOAAAFAAQABgAEAAAAEAAMAOwCAAAQABkA7AIAAAAAGwDsAi0AFgItAJgCAAAAPE1v
ZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2ljAE15QXBwbGljYXRpb24AU2NyaXB0
Q29tcG9uZW50XzczNDgzMzczNWE4NTQxNmE5MTZiZTExYmQ0NjkwNGQxLnZicHJvai5NeQBNeUNv
bXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAx
AElucHV0QnVmZmVyAFNjcmlwdENvbXBvbmVudF83MzQ4MzM3MzVhODU0MTZhOTE2YmUxMWJkNDY5
MDRkMS52YnByb2oAVXNlckNvbXBvbmVudABDb25uZWN0aW9ucwBWYXJpYWJsZXMAU2NyaXB0TWFp
bgBNeVJlc291cmNlcwBTY3JpcHRDb21wb25lbnRfNzM0ODMzNzM1YTg1NDE2YTkxNmJlMTFiZDQ2
OTA0ZDEudmJwcm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAE1pY3Jvc29mdC5WaXN1YWxCYXNp
Yy5BcHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBNaWNyb3NvZnQuVmlz
dWFsQmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3RvcgBnZXRfQ29tcHV0
ZXIAbV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBtX0FwcE9iamVjdFBy
b3ZpZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0X1dlYlNlcnZpY2Vz
AG1fTXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdlYlNlcnZpY2VzAEVx
dWFscwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVhdGVfX0luc3RhbmNl
X18AVABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0YW5jZQBNaWNyb3Nv
ZnQuVmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFsdWVgMQBtX0NvbnRl
eHQAR2V0SW5zdGFuY2UAQ296eVJvYy5TU0lTUGx1cy4yMDEyAENvenlSb2MuU3FsU2VydmVyLlNT
SVMAU2NyaXB0QnVmZmVyUGx1cwBNaWNyb3NvZnQuU3FsU2VydmVyLlR4U2NyaXB0AE1pY3Jvc29m
dC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lAFNjcmlwdENvbXBvbmVudABNaWNyb3NvZnQuU3FsU2Vy
dmVyLlBpcGVsaW5lSG9zdABQaXBlbGluZUJ1ZmZlcgBPdXRwdXROYW1lTWFwAENvbXBvbmVudABP
YmplY3RJRABJc0lucHV0AEJ1ZmZlcgBPdXRwdXRNYXAAZ2V0X1N0YXRpY0lucHV0Q29sdW1ucwBn
ZXRfU3RhdGljT3V0cHV0Q29sdW1ucwBOZXh0Um93AEVuZE9mUm93c2V0AFN0YXRpY0lucHV0Q29s
dW1ucwBTdGF0aWNPdXRwdXRDb2x1bW5zAFNjcmlwdENvbXBvbmVudFBsdXMAUHJvY2Vzc0lucHV0
AElucHV0SUQASW5wdXROYW1lAElucHV0X1Byb2Nlc3NJbnB1dABJbnB1dF9Qcm9jZXNzSW5wdXRS
b3cAUm93AFBhcmVudENvbXBvbmVudABDb2x1bW5TZXBhcmF0b3IAUHJlRXhlY3V0ZQBWYWxpZGF0
ZQBlcnJNZXNzYWdlAEdldEN1bHR1cmVzAEdldERhdGVQYXJzZU9wdGlvbnMAZ2V0X0NvbHVtbnMA
c2V0X0NvbHVtbnMAdmFsdWUAZ2V0X0lucHV0Q3VsdHVyZQBzZXRfSW5wdXRDdWx0dXJlAGdldF9P
cHRpb25zAHNldF9PcHRpb25zAGdldF9PdXRwdXRDdWx0dXJlAHNldF9PdXRwdXRDdWx0dXJlAGdl
dF9Gb3JtYXQAc2V0X0Zvcm1hdABGaXJlRXJyb3JfAG1lc3NhZ2UARmlyZVdhcm5pbmdfAEdldElk
RnJvbURpc3BsYXlOYW1lXwBkaXNwbGF5TmFtZQBtX2lucHV0Q29scwBtX2ljaWQAbV9vcHRpb25z
AG1fb2NpZABtX2Zvcm1hdABtX2lucHV0SWR4AFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJ
bmZvAG1faW5DdWx0dXJlAG1fb3V0Q3VsdHVyZQBEYXRlVGltZVN0eWxlcwBtX2R0cwBDb2x1bW5z
AElucHV0Q3VsdHVyZQBPcHRpb25zAE91dHB1dEN1bHR1cmUARm9ybWF0AFN5c3RlbS5SZXNvdXJj
ZXMAUmVzb3VyY2VNYW5hZ2VyAF9yZXNNZ3IAX3Jlc0N1bHR1cmUAZ2V0X1Jlc291cmNlTWFuYWdl
cgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBWYWx1ZQBDdWx0dXJlAFN5c3RlbS5Db25maWd1cmF0
aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5jT2JqZWN0AGdldF9WYWx1
ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJy
b3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1
dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5W
aXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVN
b2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdv
cmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVy
cwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3Rp
dmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVl
AFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAFN0cmlu
ZwBTY3JpcHRCdWZmZXIAQ0xTQ29tcGxpYW50QXR0cmlidXRlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIu
RFRTUGlwZWxpbmVXcmFwAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lLldyYXBwZXIA
SURUU0NvbXBvbmVudE1ldGFEYXRhMTAwAGdldF9Db21wb25lbnRNZXRhRGF0YQBJRFRTSW5wdXRD
b2xsZWN0aW9uMTAwAGdldF9JbnB1dENvbGxlY3Rpb24ASURUU0lucHV0MTAwAGdldF9JdGVtAGdl
dF9JRABFbXB0eQBnZXRfQ3VycmVudEN1bHR1cmUAZ2V0X0xDSUQARGF0ZVRpbWUARXhjZXB0aW9u
AGdldF9CdWZmZXIASXNOdWxsAEdldFN0cmluZwBJRm9ybWF0UHJvdmlkZXIAVHJ5UGFyc2UAU2V0
U3RyaW5nAFByb2plY3REYXRhAFNldFByb2plY3RFcnJvcgBnZXRfTWVzc2FnZQBDbGVhclByb2pl
Y3RFcnJvcgBJbnQzMgBJRFRTSW5wdXRDb2x1bW5Db2xsZWN0aW9uMTAwAGdldF9JbnB1dENvbHVt
bkNvbGxlY3Rpb24AZ2V0X0NvdW50AFBpcGVsaW5lQ29tcG9uZW50AGdldF9Ib3N0Q29tcG9uZW50
AElEVFNCdWZmZXJNYW5hZ2VyMTAwAGdldF9CdWZmZXJNYW5hZ2VyAElEVFNJbnB1dENvbHVtbjEw
MABnZXRfTGluZWFnZUlEAEZpbmRDb2x1bW5CeUxpbmVhZ2VJRABHZXRDdWx0dXJlSW5mbwBTdHJp
bmdTcGxpdE9wdGlvbnMAU3BsaXQARW51bQBQYXJzZQBDb252ZXJzaW9ucwBUb0ludGVnZXIASURU
U1ZpcnR1YWxJbnB1dDEwMABJRFRTVmlydHVhbElucHV0Q29sdW1uMTAwAElzTnVsbE9yRW1wdHkA
R2V0VmlydHVhbElucHV0AFJlbW92ZUFsbABJRFRTVmlydHVhbElucHV0Q29sdW1uQ29sbGVjdGlv
bjEwMABnZXRfVmlydHVhbElucHV0Q29sdW1uQ29sbGVjdGlvbgBEVFNVc2FnZVR5cGUAU2V0VXNh
Z2VUeXBlAFN5c3RlbS5Db2xsZWN0aW9ucwBBcnJheUxpc3QAQ3VsdHVyZVR5cGVzAGdldF9EaXNw
bGF5TmFtZQBBZGQAVG9BcnJheQBHZXROYW1lcwBGaXJlRXJyb3IARmlyZVdhcm5pbmcAU1NJU1Nj
cmlwdENvbXBvbmVudEVudHJ5UG9pbnRBdHRyaWJ1dGUAQ296eVJvYy5TcWxTZXJ2ZXIuU1NJUy5B
dHRyaWJ1dGVzAFZhbGlkYXRlUHJvcGVydGllc0F0dHJpYnV0ZQBTb3J0UHJvcGVydGllc0F0dHJp
YnV0ZQBMaXN0QXR0cmlidXRlAERlc2NyaXB0aW9uQXR0cmlidXRlAENhdGVnb3J5QXR0cmlidXRl
AElucHV0VmlydHVhbENvbHVtbkF0dHJpYnV0ZQBEZWZhdWx0VmFsdWVBdHRyaWJ1dGUAU3lzdGVt
LlJlZmxlY3Rpb24AQXNzZW1ibHkAZ2V0X0Fzc2VtYmx5AFN5c3RlbS5UaHJlYWRpbmcATW9uaXRv
cgBFbnRlcgBFeGl0AERlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUAU2NyaXB0Q29tcG9uZW50
XzczNDgzMzczNWE4NTQxNmE5MTZiZTExYmQ0NjkwNGQxLnZicHJvai5SZXNvdXJjZXMucmVzb3Vy
Y2VzAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlB
dHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1
dGUAQXNzZW1ibHlGaWxlVmVyc2lvbkF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VHJh
ZGVtYXJrQXR0cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5UHJvZHVj
dEF0dHJpYnV0ZQBBc3NlbWJseUNvbXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0
dHJpYnV0ZQBBc3NlbWJseVRpdGxlQXR0cmlidXRlAFNjcmlwdENvbXBvbmVudF83MzQ4MzM3MzVh
ODU0MTZhOTE2YmUxMWJkNDY5MDRkMS52YnByb2ouZGxsAAALSQBuAHAAdQB0AAAzRgBhAGkAbABl
AGQAIAB0AG8AIABwAGEAcgBzAGUAIABkAGEAdABlADoAIAB7ADAAfQAABSwACgAAK1MAZQBsAGUA
YwB0ACAAaQBuAHAAdQB0ACAAYwBvAGwAdQBtAG4AcwAuAAAXRABhAHQAZQAgAEYAbwByAG0AYQB0
AAAxTQB5AC4AUgBlAHMAbwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIAYwBlAHMAAAAAAP6o
XmmV1+hFmZ8VONZ05/kACLd6XFYZNOCJCLA/X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIMBAAA
EggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAASFAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgAEhQE
IAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAeAAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQoABMA
CBbPSQu4DDTqCImEXc2AgMyRCyAFARIhCAISJRIpBCAAHQ4DIAACBCgAHQ4DBhIkAwYSKAkgBAEI
DhIlEikFIAEBEhwDBhIhBSABARIhAgYOBCwACgAFIAECEA4EIAAdHAQgAQEOBCABCA4CBggDBh0I
AwYSMQMGETUDKAAOAwYSOQQAABI5BAAAEjEFAAEBEjEECAASOQQIABIxAwYSNAIGHAQAABI0BAgA
EjQFIAEBEUUIAQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABAEAAAAGFRIY
ARIMBhUSGAESCAYVEhgBEhEGFRIYARIUBAcBEgwEBwESCAQHARIRBAcBEhQTAQAOTXkuQXBwbGlj
YXRpb24AABMBAA5NeS5XZWJTZXJ2aWNlcwAAEAEAC015LkNvbXB1dGVyAAAMAQAHTXkuVXNlcgAA
BAABHBwDBwECAwcBCAYAARIVEWEEBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0
U3lzdGVtLldlYi5TZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVh
dGVfX0luc3RhbmNlX18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAF
IAEBEwAIBwMTABMAEwAEIAEBAgUBAAAAAAQHAR0OBCAAEn0FIAASgIEGIAESgIUcBCAAEiUEIAEC
CAQgAQ4IDQAEAg4SgJERNRARgIkHIAIODhKAkQUgAgEIDgUAAg4OHAYAAQESgI0NBwcICAgOEYCJ
EoCNCAUgABKAnQUgABKAoQUgABKApQYgARKAqRwFIAIICAgFAAESMQgJIAIdDh0OEYCtBgACHBIV
DgQAAQgcEAcJCBKAhR0OCA4IHQ4IHQ4EAAECDgUgABKAuQUgABKAwQYgARKAvRwHIAIICBGAxRgH
CwICEoCFHQ4SgLkOEoC9EoCNHQ4IHQ4IAAEdEjERgM0EIAEIHBAHBh0SMR0cEoDJEjEIHRIxBgAB
HQ4SFQQHAR0cCiAGAQgODg4IEAIIIAUBCA4ODggEIAECDg0HBggIHRIxEjEIHRIxDQEACFZhbGlk
YXRlAAAFIAEBHQ46AQAFAAAAB0NvbHVtbnMMSW5wdXRDdWx0dXJlB09wdGlvbnMNT3V0cHV0Q3Vs
dHVyZQZGb3JtYXQAABABAAtHZXRDdWx0dXJlcwAAJQEAIFNlbGVjdCBpbnB1dCBkYXRlIHBhcnNl
IGN1bHR1cmUuAAAKAQAFSW5wdXQAACcBACJTZWxlY3Qgb3V0cHV0IGRhdGUgZm9ybWF0IGN1bHR1
cmUuAAALAQAGT3V0cHV0AAAFIAIBDgIGAQAAAAAALgEAKVNlbGVjdCBpbnB1dCBjb2x1bW5zIHlv
dSB3YW50IHRvIHByb2Nlc3MuAAAJAQAETm9uZQAABiADAQ4CAhoBABNHZXREYXRlUGFyc2VPcHRp
b25zAQAAACABABtTcGVjaWZ5IGRhdGUgcGFyc2Ugb3B0aW9ucy4AACABABtTcGVjaWZ5IG91dHB1
dCBkYXRlIGZvcm1hdC4AAAUgABKA8QcgAgEOEoDxBgcCEjkSOQQHARIxCAEAAgAAAAAABAABARwE
BwESNAQgAQEICAEACAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVU
RnJhbWV3b3JrLFZlcnNpb249djQuMAEAVA4URnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFt
ZXdvcmsgNAwBAAcxLjAuMC4wAAApAQAkOWQ4YzM5N2EtMTJjOS00ODNjLWJhOTEtNWJiMWIwNTc4
ZmU1AAAFAQABAAAfAQAaQ29weXJpZ2h0IEAgTWljcm9zb2Z0IDIwMTMAADwBADdTY3JpcHRDb21w
b25lbnRfNzM0ODMzNzM1YTg1NDE2YTkxNmJlMTFiZDQ2OTA0ZDEudmJwcm9qAAAOAQAJTWljcm9z
b2Z0AAAAAAAsTwAAAAAAAAAAAABOTwAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQE8AAAAAAAAA
AAAAAAAAAAAAAAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAgQAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAEAAAABgAAIAA
AAAAAAAAAAAAAAAAAAEAAQAAADAAAIAAAAAAAAAAAAAAAAAAAAEAAAAAAEgAAABYYAAAaAQAAAAA
AAAAAAAAaAQ0AAAAVgBTAF8AVgBFAFIAUwBJAE8ATgBfAEkATgBGAE8AAAAAAL0E7/4AAAEAAAAB
AAAAAAAAAAEAAAAAAD8AAAAAAAAABAAAAAIAAAAAAAAAAAAAAAAAAABEAAAAAQBWAGEAcgBGAGkA
bABlAEkAbgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEAdABpAG8AbgAAAAAAAACwBMgDAAAB
AFMAdAByAGkAbgBnAEYAaQBsAGUASQBuAGYAbwAAAKQDAAABADAAMAAwADAAMAA0AGIAMAAAADQA
CgABAEMAbwBtAHAAYQBuAHkATgBhAG0AZQAAAAAATQBpAGMAcgBvAHMAbwBmAHQAAACYADgAAQBG
AGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4A
ZQBuAHQAXwA3ADMANAA4ADMAMwA3ADMANQBhADgANQA0ADEANgBhADkAMQA2AGIAZQAxADEAYgBk
ADQANgA5ADAANABkADEALgB2AGIAcAByAG8AagAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8A
bgAAAAAAMQAuADAALgAwAC4AMAAAAJgAPAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBj
AHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwA3ADMANAA4ADMAMwA3ADMANQBhADgANQA0ADEA
NgBhADkAMQA2AGIAZQAxADEAYgBkADQANgA5ADAANABkADEALgB2AGIAcAByAG8AagAuAGQAbABs
AAAAXAAbAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQByAGkAZwBoAHQA
IABAACAATQBpAGMAcgBvAHMAbwBmAHQAIAAyADAAMQAzAAAAAACgADwAAQBPAHIAaQBnAGkAbgBh
AGwARgBpAGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwA3ADMA
NAA4ADMAMwA3ADMANQBhADgANQA0ADEANgBhADkAMQA2AGIAZQAxADEAYgBkADQANgA5ADAANABk
ADEALgB2AGIAcAByAG8AagAuAGQAbABsAAAAkAA4AAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAA
AABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADcAMwA0ADgAMwAzADcAMwA1AGEAOAA1
ADQAMQA2AGEAOQAxADYAYgBlADEAMQBiAGQANAA2ADkAMAA0AGQAMQAuAHYAYgBwAHIAbwBqAAAA
NAAIAAEAUAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAAADgACAAB
AEEAcwBzAGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAADAAAAGA/AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></arrayElement></arrayElements></property><property id="9" name="UserComponentTypeName" dataType="System.String">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2012, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property><property id="11" name="VSTAProjectName" dataType="System.String" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE">ScriptComponent_734833735a85416a916be11bd46904d1</property><property id="12" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><inputs><input id="14" name="Input" hasSideEffects="true"></input></inputs><outputs><output id="16" name="Output" synchronousInputId="14"><externalMetadataColumns /></output></outputs></component>