<component id="1" name="File Properties" componentClassID="{2E42D45B-F83C-400F-8D77-61DDE6A7DF29}" description="Executes a custom script." localeId="1033" usesDispositions="false" validateExternalMetadata="True" version="4" pipelineVersion="0" 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="5" name="SourceCode" dataType="System.String" state="cdata" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None"><arrayElements arrayElementCount="18"><arrayElement dataType="System.String"><![CDATA[\my project\settings.designer.vb]]></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[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_9eb4ecf4b601439f9be30e7291a2ec60.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_9eb4ecf4b601439f9be30e7291a2ec60.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2010")> 
<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("2a5cf2a9-9697-4cb2-a84c-68d2c746bc70")> 

' 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[\my project\settings.settings]]></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[\bufferwrapper.vb]]></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 OutputBuffer
    Inherits ScriptBufferPlus

    Public Sub New(ByVal Component As ScriptComponent, ByVal ObjectID As Integer, ByVal IsInput As Boolean, ByVal Buffer As PipelineBuffer)
        MyBase.New(Component, ObjectID, IsInput, Buffer)
    End Sub

    Public Overrides ReadOnly Property StaticInputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public WriteOnly Property [Attributes]() As Int32
        Set
            Me(0) = Value
        End Set
    End Property
    Public WriteOnly Property [Attributes_IsNull] As Boolean
        Set
            If (value)
                SetNull(0)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [CreationTime]() As DateTime
        Set
            Me(1) = Value
        End Set
    End Property
    Public WriteOnly Property [CreationTime_IsNull] As Boolean
        Set
            If (value)
                SetNull(1)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [Extension]() As String
        Set
            Me(2) = Value
        End Set
    End Property
    Public WriteOnly Property [Extension_IsNull] As Boolean
        Set
            If (value)
                SetNull(2)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [FullName]() As String
        Set
            Me(3) = Value
        End Set
    End Property
    Public WriteOnly Property [FullName_IsNull] As Boolean
        Set
            If (value)
                SetNull(3)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [LastAccessTime]() As DateTime
        Set
            Me(4) = Value
        End Set
    End Property
    Public WriteOnly Property [LastAccessTime_IsNull] As Boolean
        Set
            If (value)
                SetNull(4)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [LastWriteTime]() As DateTime
        Set
            Me(5) = Value
        End Set
    End Property
    Public WriteOnly Property [LastWriteTime_IsNull] As Boolean
        Set
            If (value)
                SetNull(5)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [Name]() As String
        Set
            Me(6) = Value
        End Set
    End Property
    Public WriteOnly Property [Name_IsNull] As Boolean
        Set
            If (value)
                SetNull(6)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public WriteOnly Property [Length]() As UInt64
        Set
            Me(7) = Value
        End Set
    End Property
    Public WriteOnly Property [Length_IsNull] As Boolean
        Set
            If (value)
                SetNull(7)
            Else
                Throw new InvalidOperationException("IsNull property cannot be set to False. Assign a value to the column instead.")
            End If
        End Set
    End Property

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {"Attributes", "CreationTime", "Extension", "FullName", "LastAccessTime", "LastWriteTime", "Name", "Length"}
        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\resources.designer.vb]]></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><arrayElement dataType="System.String"><![CDATA[\componentwrapper.vb]]></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

    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)

        For I As Integer = 0 To Outputs - 1
            If OutputIDs(I) = MyBase.ComponentMetaData.OutputCollection("Output").ID Then
                OutputBuffer = New OutputBuffer(Me, OutputIDs(I), False, Buffers(I))
            End If
        Next

        CreateNewOutputRows()

        FinishOutputs()
        MarkOutputsFinished()

    End Sub

    Public Overridable Sub CreateNewOutputRows()
    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[\scriptcomponent_9eb4ecf4b601439f9be30e7291a2ec60.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<Project ToolsVersion="3.5" 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>{A860303F-1F3F-4691-B57E-529FC101A107};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <OutputType>Library</OutputType>
    <RootNamespace>ScriptComponent_9eb4ecf4b601439f9be30e7291a2ec60.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_9eb4ecf4b601439f9be30e7291a2ec60.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{037C01D0-46A9-41B8-AFA9-A7EA011FE50F}</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</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</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.2008, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL" />
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.TxScript, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=10.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="{A860303F-1F3F-4691-B57E-529FC101A107}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{C1B21C64-9E6F-4923-A89D-9F958503C1CE}" ApplicationType="usd" Language="vb" TemplatesPath="" />
        <Host Name="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_ScriptComponent</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[\my project\resources.resx]]></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[\main.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' CozyRoc SQL Server Integration Services user script component
'
' Copyright (c) 2006-2009 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.IO
Imports System.Collections

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


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() {"IsSearchPathVariable", "SearchPathVariable", "SearchPath", "IncludeSubfolders"})> _
<ValidateProperties("Validate")> _
<FilterProperties("GetProperties")> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub CreateNewOutputRows()
        Dim filesCount As Integer = m_files.Length
        For fileIndex As Integer = 0 To filesCount - 1
            Dim fi As FileInfo = New FileInfo(m_files(fileIndex))

            With Me.OutputBuffer
                Call .AddRow()
                .Attributes = fi.Attributes
                .CreationTime = fi.CreationTime
                .Extension = fi.Extension
                .FullName = fi.FullName
                .LastAccessTime = fi.LastAccessTime
                .LastWriteTime = fi.LastWriteTime
                .Name = fi.Name
                .Length = CULng(fi.Length)
            End With
        Next

        Me.OutputBuffer.SetEndOfRowset()
    End Sub ' CreateNewOutputRows


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

        ' Get search path.
        Dim searchPath As String
        If Me.IsSearchPathVariable Then
            searchPath = GetVariable_(Me.SearchPathVariable).ToString()
        Else
            searchPath = Me.SearchPath
        End If

        ' Get search specification.
        Dim pathSpec As String = Path.GetFullPath(searchPath.Substring( _
            0, _
            1 + searchPath.LastIndexOfAny("\\/".ToCharArray())))
        Dim fileSpec As String = Path.GetFileName(searchPath)
        Dim fullSpec As String = Path.Combine(pathSpec, fileSpec)

        ' Get search option.
        Dim searchOpt As SearchOption
        If Me.IncludeSubfolders Then
            searchOpt = SearchOption.AllDirectories
        Else
            searchOpt = SearchOption.TopDirectoryOnly
        End If

        If File.Exists(fullSpec) Then
            ' Specified file.
            m_files = New String() {fullSpec}
        ElseIf Directory.Exists(fullSpec) Then
            ' Specified folder.
            m_files = Directory.GetFiles(fullSpec, "*", searchOpt)
        Else
            ' Specified files.
            m_files = Directory.GetFiles(pathSpec, fileSpec, searchOpt)
        End If
    End Sub ' PreExecute


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

        Try
            If String.IsNullOrEmpty(Me.SearchPath) Then
                Throw New ApplicationException("Specify search path.")
            End If

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

        Validate = result
    End Function    'Validate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function GetProperties() As String()
        Dim result As New ArrayList()

        ' Include base settings.
        Call result.Add("IsSearchPathVariable")
        Call result.Add("IncludeSubfolders")

        If Me.IsSearchPathVariable Then
            Call result.Add("SearchPathVariable")
        Else
            Call result.Add("SearchPath")
        End If

        Return CType(result.ToArray(GetType(String)), String())
    End Function    ' GetProperties


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies if SearchPath property references package variable.")> _
    <RefreshProperties(RefreshProperties.All)> _
    Public Property IsSearchPathVariable() As Boolean
        Get
            IsSearchPathVariable = m_isSearchPathVariable
        End Get
        Set(ByVal value As Boolean)
            If m_isSearchPathVariable <> value Then
                m_isSearchPathVariable = value
                m_searchPath = String.Empty
            End If
        End Set
    End Property    ' IsSearchPathVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies variable containing search path.")> _
    <Variable()> _
    Public Property SearchPathVariable() As String
        Get
            SearchPathVariable = m_searchPath
        End Get
        Set(ByVal value As String)
            m_searchPath = value
        End Set
    End Property    ' SearchPathVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies search path.")> _
    Public Property SearchPath() As String
        Get
            SearchPath = m_searchPath
        End Get
        Set(ByVal value As String)
            m_searchPath = value
        End Set
    End Property    ' SearchPath


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies if subfolders are to be included.")> _
    Public Property IncludeSubfolders() As Boolean
        Get
            IncludeSubfolders = m_includeSubfolders
        End Get
        Set(ByVal value As Boolean)
            m_includeSubfolders = value
        End Set
    End Property    ' IncludeSubfolders
#End Region ' SearchPath


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Get variable with specified name.
    Private Function GetVariable_(ByVal varName As String) As Object
        Dim result As Object

        Dim vars As IDTSVariables100
        Call Me.VariableDispenser.LockOneForRead(varName, vars)
        Try
            result = vars(varName).Value
        Finally
            Call vars.Unlock()
        End Try

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


#Region "Attributes"
    Private m_isSearchPathVariable As Boolean
    Private m_searchPath As String
    Private m_includeSubfolders As Boolean

    Private m_files() As String
#End Region ' Attributes
End Class   ' ScriptMain
]]></arrayElement></arrayElements></property>
<property id="6" name="BinaryCode" dataType="System.String" state="cdata" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[\bin\scriptcomponent_9eb4ecf4b601439f9be30e7291a2ec60.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
CweADwAABH4PAAAEKgAAABMwAQAGAAAAGgAAEX4QAAAEKgAAHgKAEAAABCpCcxcAAAooEQAACoAS
AAAEKgAAAB4CKFUAAAoqGzABAD8AAAAbAAARfhEAAAQtMn4SAAAEKBEAAAooVgAACn4RAAAELRxz
QQAABoARAAAE3hB+EgAABCgRAAAKKFcAAArcfhEAAAQqAAEMAAACAB0ADCkAEAAAAAFCU0pCAQAB
AAAAAAAMAAAAdjIuMC41MDcyNwAAAAAFAGwAAABUDgAAI34AAMAOAAAMEgAAI1N0cmluZ3MAAAAA
zCAAAEgCAAAjVVMAFCMAABAAAAAjR1VJRAAAACQjAADEBQAAI0Jsb2IAAAAAAAAAAgAAAVcVogkJ
DwAAAPoBMwAWAAABAAAARwAAAA0AAAASAAAAQgAAACMAAABiAAAAQgAAABsAAAAGAAAAHgAAACMA
AAAKAAAAAQAAAAgAAAABAAAAAgAAAAMAAAACAAAAAADNEQEAAAAAAAoAqgGAAQoA3gHAAQYA7gHn
AQoARgKAAQYAxALnAQoARgMcAw4AmAOBAxIA5wPGAxYAGATGAwYAiwTnAQ4A0AaBAwYA2AjHCAYA
BQnwCBoAZglRCRoAswmdCRoAzAmdCRoA+QnhCQYAIwoQCgoAYgo7CgoAegoTABoArwqSCgYA5ArE
CgYAAgvnAQYAJgvnAQoAPwsTAAYAgwtkCwYAlwvnAQYAngvnAQYAtQvnAQYAzwvnARIA1gvGAwYA
4wvnAR4ARgwdDB4AdQwdDB4AogwdDAYAygzADAYA0wzADAYA4gzADAYAZQ3ADAYAlw3ADAYAvA3A
DAYAyA3ADAYA2w3nAQYA8w3nAQoACA47CgYAVQ5CDgYAYw7nASIAwg6aDiIA0w6aDiIAEQ+aDhIA
KA/GAw4AcQ9PDw4Aiw9PDw4Apw9PDw4Avw9PDxoA0Q+dCRoA5g+dCRoAARCdCQYAJRATEAYATBA7
EAYAXxAQCgYAyBDECgYA6BDECgYABhETEAYAIxFkCwYAMRETEAYATBETEAYAZxETEAYAgBETEAYA
mRETEAYAthETEAAAAAABAAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAcgA3AAkAAQACAAABEAB9
ADcADQABAAMABQEAAIcAAAANAAUACAAFAQAAlQAAAA0ABQAPAAEAAACwAL0AHQAGABEAAQAAAPUA
vQAtAAYAJwABAAAAAwG9AA0ACQAsAAEAAAAPAb0ADQAKAC0AAQAAABkBvQAgAAsALgAAAAAAJAEw
AQ0ADwA8AAABEAB1Ab0AOQARAEAAMQAJAiAAMQAyAi0AMQBUAjoAMQB5AkcAIQBVA5AABgADAfYA
BgAPAfoABgCwAP4AAQBABwwBAQBABwwBAQBCCCEBAQBZCCQBAQBmCCEBAQB6CCcBEQDoCCsBEQAR
CS8BEQB+CU0BEQCGCVEBCCEAAAAABhi6ARMAAQAQIQAAAAAGGLoBEwABABghAAAAABEY9QEXAAEA
RCEAAAAAEwj8ARsAAQBcIQAAAAATCCICKAABAHQhAAAAABMISwI1AAEAjCEAAAAAEwhpAkIAAQCk
IQAAAABGAq8CYwABAMAhAAAAAEYCuAJoAAIA1CEAAAAAgwDJAmwAAgDsIQAAAABGAtECcQACAAAi
AAAAABEA2gJ4AAIAHCIAAAAAAQD4AoAAAwA4IgAAAAAGGLoBEwAEAEAiAAAAAAMIDAOLAAQAdCIA
AAAABhi6ARMABACIIgAAAAAGGLoBrwAEAJgiAAAAAEYKSQS5AAgArCIAAAAABghgBL4ACAC8IgAA
AAAGCHUEwwAJANgiAAAAAAYIlATIAAoA6CIAAAAABgilBMMACwAEIwAAAAAGCL0EzgAMABAjAAAA
AAYIywTDAA0ALCMAAAAABgjgBM4ADgA4IwAAAAAGCO0EwwAPAFQjAAAAAAYIAQXIABAAZCMAAAAA
BggUBcMAEQCAIwAAAAAGCC4FyAASAJAjAAAAAAYIQAXDABMArCMAAAAABghZBc4AFAC4IwAAAAAG
CGIFwwAVANQjAAAAAAYIcgXTABYA5CMAAAAABgh9BcMAFwAAJAAAAABGCo8FuQAYAFgkAAAAAIYA
pwUTABgAYCQAAAAAhgCuBRMAGABoJAAAAACGAL0F2AAYAIAkAAAAAAYYugETABgAoCQAAAAARgPk
BhMAGACkJAAAAAABAPIGEwAYAMAkAAAAAEYCBgcCARgAJCUAAAAARgMsBxMAGwAoJQAAAAAGGLoB
EAEbADglAAAAAAYYugEQARwASCUAAAAABhi6ARMAHQBQJQAAAABGAiwHEwAdABAmAAAAAEYCUAcT
AB0A0CYAAAAABgBbBxYBHQAkJwAAAAAGAG8HuQAeAIgnAAAAAAYIfQfYAB4AoCcAAAAABgiWB8MA
HgDAJwAAAAAGCLUHcQAfANgnAAAAAAYIzAfOAB8A5CcAAAAABgjjB3EAIAD8JwAAAAAGCPIHzgAg
AAgoAAAAAAYIAQjYACEAICgAAAAABggXCMMAIQAsKAAAAAABAC0IHAEiAHwoAAAAAAMYugETACMA
hCgAAAAAFggdCTMBIwDAKAAAAAAWCDEJOAEjANQoAAAAABYIPQk9ASMA3CgAAAAAERj1ARcAJADw
KAAAAAAGGLoBEwAkAPgoAAAAABYIkwlUASQAAAABALYCAAABAO8CAAABAO8CAAABACcEAAACADEE
AAADADoEAAAEAEIEAAABAG8EAAABAG8EAAABAG8EAAABAG8EAAABAG8EAAABAG8EAAABAG8EAAAB
AG8EAAABAG8EAAABAG8EAAABAG8EAAABAG8EAAABAG8EAAABAG8EAAABAG8EAAABAG8EAAABABIH
AAACABoHAAADACQHAAABACcEAAABACcEAAABAGQHAAABAK8HAAABAK8HAAABAK8HAAABAK8HAAAB
ADoIAAABAG8ECQC6ARMAeQC6AV4BiQC6AW0BEQC6ARMAkQC6ARMAJAC6ARMALAC6ARMANAC6ARMA
PAC6ARMAJAAMA4sALAAMA4sANAAMA4sAPAAMA4sAmQC6ARMAoQC6ARMAqQC6Ac4AsQDzCgYCGQCv
AmMAGQC4AmgAKQAUCxMCGQDRAnEAwQAwCyMCGQC6ARMAyQC6ATMCRABVA5AATACTCYsATABaC7AC
TAC6ARMA0QC6AcMAOQC6Aa8AOQCkC8gCOQCtC74A6QC6Ac4A+QCnBRMA+QCuBRMA+QC9BdgAAQG6
AcMAWQC6ARMAQQBfDNUCCQGNDNsCEQGwDOECGQG5DGgAIQG6Ac4AKQHxDO0CKQEADfMCKQERDXEA
KQEfDXEAKQEsDfMCKQE/DfMCIQFRDXEAIQFaDfgCQQBQBxMA2QByDQcD2QB+DQwD2QCNDRIDQQGc
DRgDQQGoDRgDQQG0DR0DSQHBDSMDUQHBDSMDUQHSDSgD2QDlDSMDYQG6Ac4AaQEUDj4DWQEkDnEA
aQEwDhcAcQG6ARMAcQFfDk0DcQFpDlID2QBxDiQBQQDsDmUDiQECD2sDgQGwDHQDkQGTCXsDgQEh
DxMAmQG6ARMAoQG6Ac4AqQG6Ac4AsQG6AagDuQG6ARMAwQG6Ac4AyQG6AXkEKQAuEMMEYQC6AckE
cQC6ARMA4QFUEOYE4QFaEOYE6QG6ARMA8QG6Ab4A+QG6ARMAAQK6Ac4ACQK6Ac4AEQK6Ac4AGQK6
Ac4AIQK6Ac4AKQK6Ac4AMQK6Ac4AOQK6Ac4AKQCDANQBLgALA70CLgD7AnUFLgDTAvkELgDbAhgF
LgDzAlUFLgADA7IFLgDLAvAELgATA3UFLgDjAiUFLgDrAL0CLgArAU8FLgDrAr0CQAArAIsBQAAT
AGQBQwATAGQBQwAbAHMBSQCDAMABYwATAGQBYwAbAHMBaQCDAOUBgAArAIsBgwAbAHMBgwB7AIsB
gwBzAIsBiQCDAPIBoAArAIsBowATAGQBowDDADsCwAArAIsBwwATAGQBwwDrAL0C4AArAIsB4wAr
Ab0CAAErAIsBAAETAGQBAwErAb0CIAETAGQBIAErAIsBQAErAIsBQAETAGQBYAETAGQBYAErAIsB
YwFzApoDYwFjAosBYwFrAocDYwF7Aq4DYwErAb0CgAErAIsBoAErAIsBwAETAGQBwAErAIsB4AEr
AIsBAAIrAIsBAAITAGQBCQOTAmQBCQOLAoAEKQOLAvwDKQODAosBSQOLAiwEaQOLAkgEiQMTAN0E
qQMTAN0EyQPDAosBgAUrAb0CoAUrAb0CrAGxAbYBuwELAg8CGgIfAi4CLgK2AsMCzgILAugC/AIy
A0UDXQMLAh8CHwILAn8D0QTYBOsEBAABAAYABQAHAAYACwAYAAwAHAANAB4AAADeAU8AAACXAlQA
AABGAlkAAACjAl4AAABfA5gAAADJBdwAAADcBeEAAADnBeUAAAD5BekAAAAGBuUAAAAaBu4AAAAk
BuUAAAA1Bu4AAAA+BuUAAABOBukAAABdBuUAAABzBukAAACBBuUAAACWBu4AAACbBuUAAACnBvIA
AACuBuUAAAC8BtwAAACCCOUAAACXCO4AAACqCO4AAAC1COUAAADYCEMBAABJCUgBAABvBFkBAgAE
AAMAAgAFAAUAAgAGAAcAAgAHAAkAAgAPAAsAAgASAA0AAQATAA8AAQAUABEAAQAVABMAAQAWABUA
AQAXABcAAQAYABkAAQAZABsAAQAaAB0AAQAbAB8AAQAcACEAAQAdACMAAQAeACUAAQAfACcAAQAg
ACkAAQAhACsAAQAiAC0AAgAjAC8AAgAzADEAAQA0ADEAAQA2ADMAAgA1ADMAAgA3ADUAAQA4ADUA
AQA6ADcAAgA5ADcAAgA9ADkAAgA+ADsAAQA/ADsAAgBCAD0AdQB1AIgAkAGXAZ4BpQGdAqQCWgME
gAAAAQAAAAAAAAAAAAAAAAC9AAAAAgAAAAAAAAAAAAAAAQAKAAAAAAAIAAAAAAAAAAAAAAAKABMA
AAAAAAEAAAAAAAAAAAAAAJ0AawMAAAAACgAAAAAAAAAAAAAApgCpAwAAAAAKAAAAAAAAAAAAAACm
APcDAAAAAAIAAAAAAAAAAAAAAAEA5wEAAAAACgAAAAAAAAAAAAAApgD5CwAAAAAKAAAAAAAAAAAA
AACmAHcOAAAAAAAAAAABAAAAfBAAAAUABAAGAAQAAAAQAAwA7QIAABAAGQDtAgAAAAAbAO0CLQAp
Ai0AqwIAAAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNh
dGlvbgBTY3JpcHRDb21wb25lbnRfOWViNGVjZjRiNjAxNDM5ZjliZTMwZTcyOTFhMmVjNjAudmJw
cm9qLk15AE15Q29tcHV0ZXIATXlQcm9qZWN0AE15V2ViU2VydmljZXMAVGhyZWFkU2FmZU9iamVj
dFByb3ZpZGVyYDEAT3V0cHV0QnVmZmVyAFNjcmlwdENvbXBvbmVudF85ZWI0ZWNmNGI2MDE0Mzlm
OWJlMzBlNzI5MWEyZWM2MC52YnByb2oAVXNlckNvbXBvbmVudABDb25uZWN0aW9ucwBWYXJpYWJs
ZXMAU2NyaXB0TWFpbgBNeVJlc291cmNlcwBTY3JpcHRDb21wb25lbnRfOWViNGVjZjRiNjAxNDM5
ZjliZTMwZTcyOTFhMmVjNjAudmJwcm9qLk15LlJlc291cmNlcwBNeVNldHRpbmdzAE1pY3Jvc29m
dC5WaXN1YWxCYXNpYy5BcHBsaWNhdGlvblNlcnZpY2VzAEFwcGxpY2F0aW9uQmFzZQAuY3RvcgBN
aWNyb3NvZnQuVmlzdWFsQmFzaWMuRGV2aWNlcwBDb21wdXRlcgBTeXN0ZW0AT2JqZWN0AC5jY3Rv
cgBnZXRfQ29tcHV0ZXIAbV9Db21wdXRlck9iamVjdFByb3ZpZGVyAGdldF9BcHBsaWNhdGlvbgBt
X0FwcE9iamVjdFByb3ZpZGVyAFVzZXIAZ2V0X1VzZXIAbV9Vc2VyT2JqZWN0UHJvdmlkZXIAZ2V0
X1dlYlNlcnZpY2VzAG1fTXlXZWJTZXJ2aWNlc09iamVjdFByb3ZpZGVyAEFwcGxpY2F0aW9uAFdl
YlNlcnZpY2VzAEVxdWFscwBvAEdldEhhc2hDb2RlAFR5cGUAR2V0VHlwZQBUb1N0cmluZwBDcmVh
dGVfX0luc3RhbmNlX18AVABpbnN0YW5jZQBEaXNwb3NlX19JbnN0YW5jZV9fAGdldF9HZXRJbnN0
YW5jZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuTXlTZXJ2aWNlcy5JbnRlcm5hbABDb250ZXh0VmFs
dWVgMQBtX0NvbnRleHQAR2V0SW5zdGFuY2UAQ296eVJvYy5TU0lTUGx1cy4yMDA4AENvenlSb2Mu
U3FsU2VydmVyLlNTSVMAU2NyaXB0QnVmZmVyUGx1cwBNaWNyb3NvZnQuU3FsU2VydmVyLlR4U2Ny
aXB0AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lAFNjcmlwdENvbXBvbmVudABNaWNy
b3NvZnQuU3FsU2VydmVyLlBpcGVsaW5lSG9zdABQaXBlbGluZUJ1ZmZlcgBDb21wb25lbnQAT2Jq
ZWN0SUQASXNJbnB1dABCdWZmZXIAZ2V0X1N0YXRpY0lucHV0Q29sdW1ucwBzZXRfQXR0cmlidXRl
cwBWYWx1ZQBzZXRfQXR0cmlidXRlc19Jc051bGwARGF0ZVRpbWUAc2V0X0NyZWF0aW9uVGltZQBz
ZXRfQ3JlYXRpb25UaW1lX0lzTnVsbABzZXRfRXh0ZW5zaW9uAHNldF9FeHRlbnNpb25fSXNOdWxs
AHNldF9GdWxsTmFtZQBzZXRfRnVsbE5hbWVfSXNOdWxsAHNldF9MYXN0QWNjZXNzVGltZQBzZXRf
TGFzdEFjY2Vzc1RpbWVfSXNOdWxsAHNldF9MYXN0V3JpdGVUaW1lAHNldF9MYXN0V3JpdGVUaW1l
X0lzTnVsbABzZXRfTmFtZQBzZXRfTmFtZV9Jc051bGwAc2V0X0xlbmd0aABzZXRfTGVuZ3RoX0lz
TnVsbABnZXRfU3RhdGljT3V0cHV0Q29sdW1ucwBBZGRSb3cAU2V0RW5kT2ZSb3dzZXQARW5kT2ZS
b3dzZXQAU3RhdGljSW5wdXRDb2x1bW5zAEF0dHJpYnV0ZXMAQXR0cmlidXRlc19Jc051bGwAQ3Jl
YXRpb25UaW1lAENyZWF0aW9uVGltZV9Jc051bGwARXh0ZW5zaW9uAEV4dGVuc2lvbl9Jc051bGwA
RnVsbE5hbWUARnVsbE5hbWVfSXNOdWxsAExhc3RBY2Nlc3NUaW1lAExhc3RBY2Nlc3NUaW1lX0lz
TnVsbABMYXN0V3JpdGVUaW1lAExhc3RXcml0ZVRpbWVfSXNOdWxsAE5hbWUATmFtZV9Jc051bGwA
TGVuZ3RoAExlbmd0aF9Jc051bGwAU3RhdGljT3V0cHV0Q29sdW1ucwBTY3JpcHRDb21wb25lbnRQ
bHVzAEZpbmlzaE91dHB1dHMATWFya091dHB1dHNGaW5pc2hlZABQcmltZU91dHB1dABPdXRwdXRz
AE91dHB1dElEcwBCdWZmZXJzAENyZWF0ZU5ld091dHB1dFJvd3MAUGFyZW50Q29tcG9uZW50AFBy
ZUV4ZWN1dGUAVmFsaWRhdGUAZXJyTWVzc2FnZQBHZXRQcm9wZXJ0aWVzAGdldF9Jc1NlYXJjaFBh
dGhWYXJpYWJsZQBzZXRfSXNTZWFyY2hQYXRoVmFyaWFibGUAdmFsdWUAZ2V0X1NlYXJjaFBhdGhW
YXJpYWJsZQBzZXRfU2VhcmNoUGF0aFZhcmlhYmxlAGdldF9TZWFyY2hQYXRoAHNldF9TZWFyY2hQ
YXRoAGdldF9JbmNsdWRlU3ViZm9sZGVycwBzZXRfSW5jbHVkZVN1YmZvbGRlcnMAR2V0VmFyaWFi
bGVfAHZhck5hbWUAbV9pc1NlYXJjaFBhdGhWYXJpYWJsZQBtX3NlYXJjaFBhdGgAbV9pbmNsdWRl
U3ViZm9sZGVycwBtX2ZpbGVzAElzU2VhcmNoUGF0aFZhcmlhYmxlAFNlYXJjaFBhdGhWYXJpYWJs
ZQBTZWFyY2hQYXRoAEluY2x1ZGVTdWJmb2xkZXJzAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3VyY2VN
YW5hZ2VyAF9yZXNNZ3IAU3lzdGVtLkdsb2JhbGl6YXRpb24AQ3VsdHVyZUluZm8AX3Jlc0N1bHR1
cmUAZ2V0X1Jlc291cmNlTWFuYWdlcgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBDdWx0dXJlAFN5
c3RlbS5Db25maWd1cmF0aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5j
T2JqZWN0AGdldF9WYWx1ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0
cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVy
YXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlkZGVuQXR0cmli
dXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5kYXJkTW9kdWxl
QXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25lbnRNb2RlbC5E
ZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNl
cwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRsZQBHZXRUeXBl
RnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxlY3Rpb25BdHRy
aWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxl
QXR0cmlidXRlAFN0cmluZwBJbnQzMgBzZXRfSXRlbQBTZXROdWxsAEludmFsaWRPcGVyYXRpb25F
eGNlcHRpb24AVUludDY0AFNjcmlwdEJ1ZmZlcgBDTFNDb21wbGlhbnRBdHRyaWJ1dGUATWljcm9z
b2Z0LlNxbFNlcnZlci5EVFNQaXBlbGluZVdyYXAATWljcm9zb2Z0LlNxbFNlcnZlci5EdHMuUGlw
ZWxpbmUuV3JhcHBlcgBJRFRTQ29tcG9uZW50TWV0YURhdGExMDAAZ2V0X0NvbXBvbmVudE1ldGFE
YXRhAElEVFNPdXRwdXRDb2xsZWN0aW9uMTAwAGdldF9PdXRwdXRDb2xsZWN0aW9uAElEVFNPdXRw
dXQxMDAAZ2V0X0l0ZW0AZ2V0X0lEAFN5c3RlbS5JTwBGaWxlSW5mbwBGaWxlU3lzdGVtSW5mbwBG
aWxlQXR0cmlidXRlcwBnZXRfQXR0cmlidXRlcwBnZXRfQ3JlYXRpb25UaW1lAGdldF9FeHRlbnNp
b24AZ2V0X0Z1bGxOYW1lAGdldF9MYXN0QWNjZXNzVGltZQBnZXRfTGFzdFdyaXRlVGltZQBnZXRf
TmFtZQBnZXRfTGVuZ3RoAFNlYXJjaE9wdGlvbgBUb0NoYXJBcnJheQBMYXN0SW5kZXhPZkFueQBT
dWJzdHJpbmcAUGF0aABHZXRGdWxsUGF0aABHZXRGaWxlTmFtZQBDb21iaW5lAEZpbGUARXhpc3Rz
AERpcmVjdG9yeQBHZXRGaWxlcwBFeGNlcHRpb24ASXNOdWxsT3JFbXB0eQBBcHBsaWNhdGlvbkV4
Y2VwdGlvbgBQcm9qZWN0RGF0YQBTZXRQcm9qZWN0RXJyb3IAZ2V0X01lc3NhZ2UAQ2xlYXJQcm9q
ZWN0RXJyb3IAU3lzdGVtLkNvbGxlY3Rpb25zAEFycmF5TGlzdABBZGQAQXJyYXkAVG9BcnJheQBF
bXB0eQBNaWNyb3NvZnQuU3FsU2VydmVyLkRUU1J1bnRpbWVXcmFwAE1pY3Jvc29mdC5TcWxTZXJ2
ZXIuRHRzLlJ1bnRpbWUuV3JhcHBlcgBJRFRTVmFyaWFibGVzMTAwAElEVFNWYXJpYWJsZURpc3Bl
bnNlcjEwMABnZXRfVmFyaWFibGVEaXNwZW5zZXIATG9ja09uZUZvclJlYWQASURUU1ZhcmlhYmxl
MTAwAFVubG9jawBTU0lTU2NyaXB0Q29tcG9uZW50RW50cnlQb2ludEF0dHJpYnV0ZQBDb3p5Um9j
LlNxbFNlcnZlci5TU0lTLkF0dHJpYnV0ZXMARmlsdGVyUHJvcGVydGllc0F0dHJpYnV0ZQBWYWxp
ZGF0ZVByb3BlcnRpZXNBdHRyaWJ1dGUAU29ydFByb3BlcnRpZXNBdHRyaWJ1dGUAVmFyaWFibGVB
dHRyaWJ1dGUARGVzY3JpcHRpb25BdHRyaWJ1dGUAUmVmcmVzaFByb3BlcnRpZXNBdHRyaWJ1dGUA
UmVmcmVzaFByb3BlcnRpZXMAU3lzdGVtLlJlZmxlY3Rpb24AQXNzZW1ibHkAZ2V0X0Fzc2VtYmx5
AFN5c3RlbS5UaHJlYWRpbmcATW9uaXRvcgBFbnRlcgBFeGl0AERlYnVnZ2VyTm9uVXNlckNvZGVB
dHRyaWJ1dGUAU2NyaXB0Q29tcG9uZW50XzllYjRlY2Y0YjYwMTQzOWY5YmUzMGU3MjkxYTJlYzYw
LnZicHJvai5SZXNvdXJjZXMucmVzb3VyY2VzAENvbXBpbGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1
dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUAQXNzZW1ibHlGaWxlVmVyc2lvbkF0dHJp
YnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0cmlidXRlAEFzc2VtYmx5Q29w
eXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0ZQBBc3NlbWJseUNvbXBhbnlB
dHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBBc3NlbWJseVRpdGxlQXR0cmli
dXRlAFNjcmlwdENvbXBvbmVudF85ZWI0ZWNmNGI2MDE0MzlmOWJlMzBlNzI5MWEyZWM2MC52YnBy
b2ouZGxsAAAAAACAm0kAcwBOAHUAbABsACAAcAByAG8AcABlAHIAdAB5ACAAYwBhAG4AbgBvAHQA
IABiAGUAIABzAGUAdAAgAHQAbwAgAEYAYQBsAHMAZQAuACAAQQBzAHMAaQBnAG4AIABhACAAdgBh
AGwAdQBlACAAdABvACAAdABoAGUAIABjAG8AbAB1AG0AbgAgAGkAbgBzAHQAZQBhAGQALgAAFUEA
dAB0AHIAaQBiAHUAdABlAHMAABlDAHIAZQBhAHQAaQBvAG4AVABpAG0AZQAAE0UAeAB0AGUAbgBz
AGkAbwBuAAARRgB1AGwAbABOAGEAbQBlAAAdTABhAHMAdABBAGMAYwBlAHMAcwBUAGkAbQBlAAAb
TABhAHMAdABXAHIAaQB0AGUAVABpAG0AZQAACU4AYQBtAGUAAA1MAGUAbgBnAHQAaAAADU8AdQB0
AHAAdQB0AAAHXABcAC8AAAMqAAApUwBwAGUAYwBpAGYAeQAgAHMAZQBhAHIAYwBoACAAcABhAHQA
aAAuAAApSQBzAFMAZQBhAHIAYwBoAFAAYQB0AGgAVgBhAHIAaQBhAGIAbABlAAAjSQBuAGMAbAB1
AGQAZQBTAHUAYgBmAG8AbABkAGUAcgBzAAAlUwBlAGEAcgBjAGgAUABhAHQAaABWAGEAcgBpAGEA
YgBsAGUAABVTAGUAYQByAGMAaABQAGEAdABoAAAxTQB5AC4AUgBlAHMAbwB1AHIAYwBlAHMALgBN
AHkAUgBlAHMAbwB1AHIAYwBlAHMAAAAAiiejZ2V3T0i98g7j1pp4vAAIt3pcVhk04IkIsD9ffxHV
CjoDIAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcGFRIYARIIBAAAEhEHBhUSGAESEQQAABIUBwYV
EhgBEhQECAASDAQIABIIBAgAEhEECAASFAQgAQIcAyAACAQgABIVAyAADgIeAAcQAQEeAB4ABzAB
AQEQHgACEwAEIAATAAcGFRIZARMABCgAEwAIFs9JC7gMNOoIiYRdzYCAzJEJIAQBEiEIAhIlBCAA
HQ4EIAEBCAQgAQECBSABAREpBCABAQ4EIAEBCwMgAAIEKAAdDgMoAAgDKAACBCgAESkDKAAOAygA
CwMGEiQDBhIoAwYSHAkgAwEIHQgdEiUDBhIhBSABARIhBSABAhAOBCABHA4CBgICBg4DBh0OAwYS
MQMGEjUEAAASMQQAABI1BQABARI1BAgAEjEECAASNQMGEjQCBhwEAAASNAQIABI0BSABARFBCAEA
AQAAAAAABSACAQ4OFwEACk15VGVtcGxhdGUHOC4wLjAuMAAABAEAAAAGFRIYARIMBhUSGAESCAYV
EhgBEhEGFRIYARIUBAcBEgwEBwESCAQHARIRBAcBEhQTAQAOTXkuQXBwbGljYXRpb24AABABAAtN
eS5Db21wdXRlcgAADAEAB015LlVzZXIAABMBAA5NeS5XZWJTZXJ2aWNlcwAABAABHBwDBwECAwcB
CAYAARIVEV0EBwESFQMHAQ4FEAEAHgAECgEeAAQHAR4AByAEAQ4ODg5hAQA0U3lzdGVtLldlYi5T
ZXJ2aWNlcy5Qcm90b2NvbHMuU29hcEh0dHBDbGllbnRQcm90b2NvbBJDcmVhdGVfX0luc3RhbmNl
X18TRGlzcG9zZV9fSW5zdGFuY2VfXwAAAAYVEhgBEwAGFRIZARMABAoBEwAFIAEBEwAGBwITABMA
BQEAAAAABAcBHQ4FIAIBCBwGBwIdDh0OBSAAEoCFBSAAEoCJBiABEoCNHAQHAggIBSAAEYCZBCAA
ESkDIAAKCgcFCBKAkQgIEhwEIAAdAwUgAQgdAwUgAg4ICAQAAQ4OBQACDg4OBAABAg4JAAMdDg4O
EYCdCwcGDg4OEYCdDh0OBgABARKArQcHAwICEoCtBCABCBwHIAESgL0SFQIdDgcHAh0OEoC5BSAA
EoDFCCACAQ4QEoDBBiABEoDJHAMgABwHBwMcHBKAwRIBAA1HZXRQcm9wZXJ0aWVzAAANAQAIVmFs
aWRhdGUAAAUgAQEdDk0BAAQAAAAUSXNTZWFyY2hQYXRoVmFyaWFibGUSU2VhcmNoUGF0aFZhcmlh
YmxlClNlYXJjaFBhdGgRSW5jbHVkZVN1YmZvbGRlcnMAAC8BACpTcGVjaWZpZXMgdmFyaWFibGUg
Y29udGFpbmluZyBzZWFyY2ggcGF0aC4AABsBABZTcGVjaWZpZXMgc2VhcmNoIHBhdGguAAAwAQAr
U3BlY2lmaWVzIGlmIHN1YmZvbGRlcnMgYXJlIHRvIGJlIGluY2x1ZGVkLgAABiABARGA6UIBAD1T
cGVjaWZpZXMgaWYgU2VhcmNoUGF0aCBwcm9wZXJ0eSByZWZlcmVuY2VzIHBhY2thZ2UgdmFyaWFi
bGUuAAAFIAASgO0HIAIBDhKA7QYHAhIxEjEEBwESNQgBAAIAAAAAAAQAAQEcBAcBEjQIAQAIAAAA
AAAeAQABAFQCFldyYXBOb25FeGNlcHRpb25UaHJvd3MBDAEABzEuMC4wLjAAACkBACQyYTVjZjJh
OS05Njk3LTRjYjItYTg0Yy02OGQyYzc0NmJjNzAAAAUBAAEAAB8BABpDb3B5cmlnaHQgQCBNaWNy
b3NvZnQgMjAxMAAAPAEAN1NjcmlwdENvbXBvbmVudF85ZWI0ZWNmNGI2MDE0MzlmOWJlMzBlNzI5
MWEyZWM2MC52YnByb2oAAA4BAAlNaWNyb3NvZnQAAAAAAGRSAAAAAAAAAAAAAH5SAAAAIAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABwUgAAAAAAAAAAAAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAA
AAD/JQAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAMAAAAoAACADgAA
AEgAAIAQAAAAYAAAgAAAAAAAAAAAAAAAAAAAAgACAAAAeAAAgAMAAACQAACAAAAAAAAAAAAAAAAA
AAABAAB/AACoAACAAAAAAAAAAAAAAAAAAAABAAEAAADAAACAAAAAAAAAAAAAAAAAAAABAAAAAADY
AAAAAAAAAAAAAAAAAAAAAAABAAAAAADoAAAAAAAAAAAAAAAAAAAAAAABAAAAAAD4AAAAAAAAAAAA
AAAAAAAAAAABAAAAAAAIAQAAgGUAAOgCAAAAAAAAAAAAAGhoAAAoAQAAAAAAAAAAAACQaQAAIgAA
AAAAAAAAAAAAGGEAAGgEAAAAAAAAAAAAAGgENAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4A
RgBPAAAAAAC9BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAA
AAAARAAAAAEAVgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQA
aQBvAG4AAAAAAAAAsATIAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAACkAwAAAQAw
ADAAMAAwADAANABiADAAAAA0AAoAAQBDAG8AbQBwAGEAbgB5AE4AYQBtAGUAAAAAAE0AaQBjAHIA
bwBzAG8AZgB0AAAAmAA4AAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAYwBy
AGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8AOQBlAGIANABlAGMAZgA0AGIANgAwADEANAAzADkA
ZgA5AGIAZQAzADAAZQA3ADIAOQAxAGEAMgBlAGMANgAwAC4AdgBiAHAAcgBvAGoAAAAwAAgAAQBG
AGkAbABlAFYAZQByAHMAaQBvAG4AAAAAADEALgAwAC4AMAAuADAAAACYADwAAQBJAG4AdABlAHIA
bgBhAGwATgBhAG0AZQAAAFMAYwByAGkAcAB0AEMAbwBtAHAAbwBuAGUAbgB0AF8AOQBlAGIANABl
AGMAZgA0AGIANgAwADEANAAzADkAZgA5AGIAZQAzADAAZQA3ADIAOQAxAGEAMgBlAGMANgAwAC4A
dgBiAHAAcgBvAGoALgBkAGwAbAAAAFwAGwABAEwAZQBnAGEAbABDAG8AcAB5AHIAaQBnAGgAdAAA
AEMAbwBwAHkAcgBpAGcAaAB0ACAAQAAgAE0AaQBjAHIAbwBzAG8AZgB0ACAAMgAwADEAMAAAAAAA
oAA8AAEATwByAGkAZwBpAG4AYQBsAEYAaQBsAGUAbgBhAG0AZQAAAFMAYwByAGkAcAB0AEMAbwBt
AHAAbwBuAGUAbgB0AF8AOQBlAGIANABlAGMAZgA0AGIANgAwADEANAAzADkAZgA5AGIAZQAzADAA
ZQA3ADIAOQAxAGEAMgBlAGMANgAwAC4AdgBiAHAAcgBvAGoALgBkAGwAbAAAAJAAOAABAFAAcgBv
AGQAdQBjAHQATgBhAG0AZQAAAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwA5AGUA
YgA0AGUAYwBmADQAYgA2ADAAMQA0ADMAOQBmADkAYgBlADMAMABlADcAMgA5ADEAYQAyAGUAYwA2
ADAALgB2AGIAcAByAG8AagAAADQACAABAFAAcgBvAGQAdQBjAHQAVgBlAHIAcwBpAG8AbgAAADEA
LgAwAC4AMAAuADAAAAA4AAgAAQBBAHMAcwBlAG0AYgBsAHkAIABWAGUAcgBzAGkAbwBuAAAAMQAu
ADAALgAwAC4AMAAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD/
//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAB3d3d3d3d3d3d3d3d3d3AERERERERERERERERERERwBP/////////////////0
cAT/////////////////9HAE//////////////////RwBP/////////////////0cAT/////////
////////9HAE//////////////////RwBP/////////////////0cAT/////////////////9HAE
//////////////////RwBP/////////////////0cAT/////////////////9HAE////////////
//////RwBP/////////////////0cAT/////////////////9HAE//////////////////RwBP//
///////////////0cAT/////////////////9HAE//////////////////RwBIiIiIiIiIiIiIiI
iIiEcARERERERERERERERERERHAETExMTExMTExMTs7OSXRwBMzMzMzMzMzMzMzMzMzEAABERERE
REREREREREREQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD/////////////////////wAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAA
AYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAD
wAAAB////////////////ygAAAAQAAAAIAAAAAEABAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AAD///8AAAAAAAAAAAAHd3d3d3d3d0RERERERERHT///////+EdP///////4R0////////hHT///
////+EdP///////4R0////////hHT///////+EdP///////4R0iIiIiIiIhHTMzMzMzMzEfERERE
REREwAAAAAAAAAAAAAAAAAAAAAD//wAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAEAAP//AAD//wAAAAABAAIAICAQAAEABADoAgAAAgAQEBAAAQAEACgB
AAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAMAAAAkDIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></arrayElement></arrayElements></property>
<property id="13" name="UserComponentTypeName" dataType="System.String" state="default" isArray="false" description="" typeConverter="" UITypeEditor="" containsID="false" expressionType="None">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2008, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property>
<property id="139" name="VSTAProjectName" dataType="System.String" state="default" isArray="false" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE" UITypeEditor="" containsID="false" expressionType="None">ScriptComponent_9eb4ecf4b601439f9be30e7291a2ec60</property>
<property id="140" name="ScriptLanguage" dataType="System.String" state="default" isArray="false" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" UITypeEditor="" containsID="false" expressionType="None">VisualBasic</property></properties>
<outputs>
<output id="4" name="Output" description="" exclusionGroup="0" synchronousInputId="0" deleteOutputOnPathDetached="false" hasSideEffects="true" dangling="false" isErrorOut="false" isSorted="false" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed"><outputColumns>
<outputColumn id="25" name="Attributes" description="" lineageId="25" precision="0" scale="0" length="0" dataType="i4" codePage="0" sortKeyPosition="0" comparisonFlags="0" specialFlags="0" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed" externalMetadataColumnId="0" mappedColumnId="0" />
<outputColumn id="38" name="CreationTime" description="" lineageId="38" precision="0" scale="0" length="0" dataType="dbTimeStamp" codePage="0" sortKeyPosition="0" comparisonFlags="0" specialFlags="0" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed" externalMetadataColumnId="0" mappedColumnId="0" />
<outputColumn id="39" name="Extension" description="" lineageId="39" precision="0" scale="0" length="260" dataType="wstr" codePage="0" sortKeyPosition="0" comparisonFlags="0" specialFlags="0" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed" externalMetadataColumnId="0" mappedColumnId="0" />
<outputColumn id="40" name="FullName" description="" lineageId="40" precision="0" scale="0" length="4000" dataType="wstr" codePage="0" sortKeyPosition="0" comparisonFlags="0" specialFlags="0" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed" externalMetadataColumnId="0" mappedColumnId="0" />
<outputColumn id="41" name="LastAccessTime" description="" lineageId="41" precision="0" scale="0" length="0" dataType="dbTimeStamp" codePage="0" sortKeyPosition="0" comparisonFlags="0" specialFlags="0" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed" externalMetadataColumnId="0" mappedColumnId="0" />
<outputColumn id="42" name="LastWriteTime" description="" lineageId="42" precision="0" scale="0" length="0" dataType="dbTimeStamp" codePage="0" sortKeyPosition="0" comparisonFlags="0" specialFlags="0" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed" externalMetadataColumnId="0" mappedColumnId="0" />
<outputColumn id="43" name="Name" description="" lineageId="43" precision="0" scale="0" length="260" dataType="wstr" codePage="0" sortKeyPosition="0" comparisonFlags="0" specialFlags="0" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed" externalMetadataColumnId="0" mappedColumnId="0" />
<outputColumn id="44" name="Length" description="" lineageId="44" precision="0" scale="0" length="0" dataType="ui8" codePage="0" sortKeyPosition="0" comparisonFlags="0" specialFlags="0" errorOrTruncationOperation="" errorRowDisposition="NotUsed" truncationRowDisposition="NotUsed" externalMetadataColumnId="0" mappedColumnId="0" /></outputColumns><externalMetadataColumns isUsed="False" /></output>
</outputs>
</component>