<component id="2" name="Date Source" 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[scriptcomponent_7830bc2338254a8f9afe95661d7fcf28.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_7830bc2338254a8f9afe95661d7fcf28.vbproj</RootNamespace>
    <AssemblyName>ScriptComponent_7830bc2338254a8f9afe95661d7fcf28.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{FD4DAB91-9230-4447-B7B5-6F4E8D277F77}</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;vstadebugbe8a8dfd-846b-4aac-91e1-e46dd2701ef5/ba785c92-f145-486a-a719-b8a763b71b1e&quot;" />
        <Host Name="SSIS_ScriptComponent" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC110</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <PropertyGroup>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
  </PropertyGroup>
  <PropertyGroup>
    <TargetFrameworkProfile>
    </TargetFrameworkProfile>
  </PropertyGroup>
</Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[My Project\AssemblyInfo.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices

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

' Review the values of the assembly attributes

<Assembly: AssemblyTitle("ScriptComponent_7830bc2338254a8f9afe95661d7fcf28.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptComponent_7830bc2338254a8f9afe95661d7fcf28.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("8cd85204-eff8-4c6a-80dc-56a5e662b213")> 

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

<Assembly: AssemblyVersion("1.0.0.0")> 
<Assembly: AssemblyFileVersion("1.0.0.0")> 
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ComponentWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services component wrapper
' This module defines the base class for your component
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class UserComponent
    Inherits ScriptComponentPlus

    Public Connections As New Connections(Me)
    Public Variables As New Variables(Me)

    Public OutputBuffer As OutputBuffer

    Public Overridable Sub FinishOutputs()
    End Sub

    Private Sub MarkOutputsFinished()

        If OutputBuffer IsNot Nothing Then
            OutputBuffer.SetEndOfRowset
            OutputBuffer = Nothing
        End If

    End Sub

    Public Overrides Sub PrimeOutput(ByVal Outputs As Integer, ByVal OutputIDs() As Integer, ByVal Buffers() As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        For I As Integer = 0 To Outputs - 1
            If OutputIDs(I) = GetOutputID(OutputMap, "Output") Then
                OutputBuffer = New OutputBuffer(Me, OutputIDs(I), False, Buffers(I), OutputMap)
            End If
        Next

        CreateNewOutputRows()

        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[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 OutputBuffer
    Inherits ScriptBufferPlus

    Public Sub New(ByVal Component As ScriptComponent, ByVal ObjectID As Integer, ByVal IsInput As Boolean, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)
        MyBase.New(Component, ObjectID, IsInput, Buffer, OutputMap)
    End Sub

    Public Overrides ReadOnly Property StaticInputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public WriteOnly Property [Day]() As Int32
        Set
            Me(0) = Value
        End Set
    End Property
    Public WriteOnly Property [Day_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 [DayShortName]() As String
        Set
            Me(1) = Value
        End Set
    End Property
    Public WriteOnly Property [DayShortName_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 [DayName]() As String
        Set
            Me(2) = Value
        End Set
    End Property
    Public WriteOnly Property [DayName_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 [DayOfYear]() As Int32
        Set
            Me(3) = Value
        End Set
    End Property
    Public WriteOnly Property [DayOfYear_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 [Week]() As Int32
        Set
            Me(4) = Value
        End Set
    End Property
    Public WriteOnly Property [Week_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 [Month]() As Int32
        Set
            Me(5) = Value
        End Set
    End Property
    Public WriteOnly Property [Month_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 [MonthShortName]() As String
        Set
            Me(6) = Value
        End Set
    End Property
    Public WriteOnly Property [MonthShortName_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 [MonthName]() As String
        Set
            Me(7) = Value
        End Set
    End Property
    Public WriteOnly Property [MonthName_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 WriteOnly Property [Quarter]() As Int32
        Set
            Me(8) = Value
        End Set
    End Property
    Public WriteOnly Property [Quarter_IsNull] As Boolean
        Set
            If (value)
                SetNull(8)
            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 [Year]() As Int32
        Set
            Me(9) = Value
        End Set
    End Property
    Public WriteOnly Property [Year_IsNull] As Boolean
        Set
            If (value)
                SetNull(9)
            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() {"Day", "DayShortName", "DayName", "DayOfYear", "Week", "Month", "MonthShortName", "MonthName", "Quarter", "Year"}
        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[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.Collections
Imports System.Globalization

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


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() { _
    "IterationStep", "Culture", _
    "IsStartDateVariable", "StartDate", "StartDateVariable", _
    "IsEndDateVariable", "EndDate", "EndDateVariable"})> _
<ValidateProperties("Validate")> _
<FilterProperties("GetProperties")> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub CreateNewOutputRows()
        Dim culture As CultureInfo = CultureInfo.GetCultureInfo(MyBase.ComponentMetaData.LocaleID)
        Dim currentDate As Date = GetDate_(m_startDate, Me.IsStartDateVariable)
        Dim endDate As Date = GetDate_(m_endDate, Me.IsEndDateVariable)

        While currentDate <= endDate
            With MyBase.OutputBuffer
                Call .AddRow()

                .Day = currentDate.Day
                .DayShortName = culture.DateTimeFormat.GetAbbreviatedDayName(currentDate.DayOfWeek)
                .DayName = culture.DateTimeFormat.GetDayName(currentDate.DayOfWeek)
                .DayOfYear = currentDate.DayOfYear
                .Week = culture.Calendar.GetWeekOfYear( _
                    currentDate, _
                    culture.DateTimeFormat.CalendarWeekRule, _
                    culture.DateTimeFormat.FirstDayOfWeek)
                .Month = currentDate.Month
                .MonthShortName = culture.DateTimeFormat.GetAbbreviatedMonthName(currentDate.Month)
                .MonthName = culture.DateTimeFormat.GetMonthName(currentDate.Month)
                .Quarter = GetQuarter_(currentDate)
                .Year = currentDate.Year

                currentDate = currentDate.AddDays(Me.IterationStep)
            End With
        End While

        Call MyBase.OutputBuffer.SetEndOfRowset()
    End Sub ' CreateNewOutputRows


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

        Try
            If Me.IterationStep <= 0 Then
                Throw New ApplicationException("Specified iteration step is invalid.")
            End If

            If String.IsNullOrEmpty(m_startDate) Then
                Throw New ApplicationException("Specify start date.")
            End If

            If String.IsNullOrEmpty(m_endDate) Then
                Throw New ApplicationException("Specify end date.")
            End If

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

        Validate = result
    End Function    'Validate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Returns list of current properties based on current state.
    Public Function GetProperties() As String()
        Dim result As New ArrayList

        ' Setup static.
        Call result.Add("IterationStep")
        Call result.Add("Culture")

        ' Setup dynamic.
        Call result.Add("IsStartDateVariable")
        Call result.Add(IIf(Me.IsStartDateVariable, "StartDateVariable", "StartDate"))
        Call result.Add("IsEndDateVariable")
        Call result.Add(IIf(Me.IsEndDateVariable, "EndDateVariable", "EndDate"))

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


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' 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


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specified date iteration step (in days).")> _
    <DefaultValue(1)> _
    Public Property IterationStep() As Integer
        Get
            IterationStep = m_iterStep
        End Get
        Set(ByVal value As Integer)
            m_iterStep = value
        End Set
    End Property    ' IterationStep


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select date format culture.")> _
    <List("GetCultures")> _
    Public Property Culture() As String
        Get
            Culture = CultureInfo.GetCultureInfo(MyBase.ComponentMetaData.LocaleID).DisplayName
        End Get
        Set(ByVal value As String)
            MyBase.ComponentMetaData.LocaleID = GetIdFromDisplayName_(value)
        End Set
    End Property    ' Culture


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies if StartDate property references package variable.")> _
    <RefreshProperties(RefreshProperties.All)> _
    <NonEssential()> _
    Public Property IsStartDateVariable() As Boolean
        Get
            IsStartDateVariable = m_isStartDateVar
        End Get
        Set(ByVal value As Boolean)
            If m_isStartDateVar <> value Then
                m_isStartDateVar = value
                m_startDate = String.Empty
            End If
        End Set
    End Property    ' IsStartDateVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify start date.")> _
    Public Property StartDate() As DateTime
        Get
            Dim result As DateTime

            If Not String.IsNullOrEmpty(m_startDate) Then
                result = Convert.ToDateTime(m_startDate)
            End If

            StartDate = result
        End Get
        Set(ByVal value As DateTime)
            m_startDate = value.ToString()
        End Set
    End Property    ' StartDate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies variable containing start date.")> _
    <Variable()> _
    Public Property StartDateVariable() As String
        Get
            StartDateVariable = m_startDate
        End Get
        Set(ByVal value As String)
            m_startDate = value
        End Set
    End Property    ' StartDateVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies if EndDate property references package variable.")> _
    <RefreshProperties(RefreshProperties.All)> _
    <NonEssential()> _
    Public Property IsEndDateVariable() As Boolean
        Get
            IsEndDateVariable = m_isEndDateVar
        End Get
        Set(ByVal value As Boolean)
            If m_isEndDateVar <> value Then
                m_isEndDateVar = value
                m_endDate = String.Empty
            End If
        End Set
    End Property    ' IsEndDateVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specify end date.")> _
    Public Property EndDate() As DateTime
        Get
            Dim result As DateTime

            If Not String.IsNullOrEmpty(m_endDate) Then
                result = Convert.ToDateTime(m_endDate)
            End If

            EndDate = result
        End Get
        Set(ByVal value As DateTime)
            m_endDate = value.ToString()
        End Set
    End Property    ' EndDate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Specifies variable containing end date.")> _
    <Variable()> _
    Public Property EndDateVariable() As String
        Get
            EndDateVariable = m_endDate
        End Get
        Set(ByVal value As String)
            m_endDate = value
        End Set
    End Property    ' EndDateVariable
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetVariable_(ByVal varName As String) As Object
        Dim result As Object
        Dim vars As IDTSVariables100 = Nothing

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

        GetVariable_ = result
    End Function    ' GetVariable_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetDate_(ByVal dateStr As String, ByVal isVar As Boolean) As Date
        Dim result As Date

        If Not String.IsNullOrEmpty(dateStr) Then
            If isVar Then
                dateStr = GetVariable_(dateStr).ToString()
            End If

            result = Convert.ToDateTime(dateStr)
        End If

        GetDate_ = result
    End Function    ' GetDate_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    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_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetQuarter_(ByVal input As Date) As Integer
        Dim result As Integer

        If input.Month >= 4 AndAlso input.Month <= 6 Then
            result = 1
        ElseIf input.Month >= 7 AndAlso input.Month <= 9 Then
            result = 2
        ElseIf input.Month >= 10 AndAlso input.Month <= 12 Then
            result = 3
        Else
            result = 4
        End If

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


#Region "Attributes"
    Private m_iterStep As Integer
    Private m_isStartDateVar As Boolean
    Private m_startDate As String
    Private m_isEndDateVar As Boolean
    Private m_endDate As String
    Private m_culture As CultureInfo
#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>{FB38FE3A-4E11-46D8-BBE6-A93383400243}</msb:ProjectId>
		<msb:DisplayName>scriptcomponent_7830bc2338254a8f9afe95661d7fcf28</msb:DisplayName>
		<msb:CodeName>scriptcomponent_7830bc2338254a8f9afe95661d7fcf28</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_7830bc2338254a8f9afe95661d7fcf28.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_7830bc2338254a8f9afe95661d7fcf28.vbproj.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[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
AAAEAy4SAgN9DgAABAJ+SAAACn0PAAAEKgAAABMwAQAdAAAAGgAAEQJ7DwAABCg8AAAKLQwCew8A
AAQoSQAACgsHCgYqAAAAOgIPAShKAAAKfQ8AAAQqABMwAQAJAAAAGwAAEQJ7DwAABAoGKgAAACIC
A30PAAAEKgAAABswAwA0AAAAHAAAERQMAm9LAAAKAxICb0wAAAoIA29NAAAKb04AAAooEQAACgve
BwhvTwAACtwHKBEAAAoKBioBEAAAAgAQABQkAAcAAAABEzACACQAAAAdAAARAyg8AAAKLRgELA4C
A29HAAAGbxUAAAoQAQMoSQAACgsHCgYqEzACAFEAAAAeAAARKFAAAApvUQAACgsDKDwAAAotOh0o
RAAACgwIEwUWEwQrIxEFEQSaDQlvRQAACgNvUgAACiwJCW9RAAAKCysOEQQX1hMEEQQRBY63MtUH
CgYqAAAAEzACAFEAAAAfAAARDwEoNQAAChoyDg8BKDUAAAocMAQXCys1DwEoNQAACh0yDw8BKDUA
AAofCTAEGAsrHA8BKDUAAAofCjIPDwEoNQAACh8MMAQZCysCGgsHCgYqAAAAHgIoFwAACioTMAIA
LQAAACAAABF+EQAABC0gcsoCAHDQDAAAAigUAAAKb10AAApzXgAACgsHgBEAAAR+EQAABCoAAAAT
MAEABgAAACEAABF+EgAABCoAAB4CgBIAAAQqQnMXAAAKKBEAAAqAFAAABCoAAAAeAihfAAAKKhsw
AQA/AAAAIgAAEX4TAAAELTJ+FAAABCgRAAAKKGAAAAp+EwAABC0cc1AAAAaAEwAABN4QfhQAAAQo
EQAACihhAAAK3H4TAAAEKgABEAAAAgAdAAwpABAAAAABtAAAAM7K774BAAAAkQAAAGxTeXN0ZW0u
UmVzb3VyY2VzLlJlc291cmNlUmVhZGVyLCBtc2NvcmxpYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0
dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkjU3lzdGVtLlJlc291
cmNlcy5SdW50aW1lUmVzb3VyY2VTZXQCAAAAAAAAAAAAAABQQURQQURQtAAAAEJTSkIBAAEAAAAA
AAwAAAB2NC4wLjMwMzE5AAAAAAUAbAAAAJwQAAAjfgAACBEAANwTAAAjU3RyaW5ncwAAAADkJAAA
/AIAACNVUwDgJwAAEAAAACNHVUlEAAAA8CcAADwHAAAjQmxvYgAAAAAAAAACAAABVxWiCQkPAAAA
+iUzABYAAAEAAABJAAAADQAAABQAAABRAAAAMQAAAG0AAABNAAAAIgAAAAYAAAAmAAAALwAAAAoA
AAABAAAACAAAAAEAAAACAAAAAwAAAAIAAAAAAJ0TAQAAAAAACgCqAYABCgDeAcABBgDuAecBCgBG
AoABBgDEAucBCgBGAxwDDgCYA4EDEgDnA8YDFgAYBMYDEgAnBMYDDgALB4EDBgArCOcBBgCeCYkJ
BgA1CiQKGgCCCm0KGgDPCrkKGgDoCrkKGgAVC/0KBgA/CywLCgB+C1cLCgCWCxMAGgDLC64LBgAA
DOALBgAeDOcBBgBCDOcBCgBbDBMABgCfDIAMBgCzDOcBBgC6DOcBBgDRDOcBEgDrDMYDBgD4DOcB
HgBnDT4NBgC6DYkJBgDgDecBBgAnDokJBgA9DokJBgDMDucBBgDWDucBCgD5DlcLBgBGDzMPCgBU
DxMABgBkD+cBBgByD4kJBgCiD+cBIgAAENgPIgARENgPIgBPENgPEgCLEMYDDgDUELIQDgDuELIQ
DgAKEbIQGgAiEbkKGgA4EbkKDgBNEbIQDgBbEbIQGgBxEbkKGgCMEbkKDgCeEbIQBgDCEbARBgDp
EdgRBgD8ESwLBgBlEuALBgCFEuALBgC9EqMSBgDWErARBgDzEoAMBgABE7ARBgAcE7ARBgA3E7AR
BgBQE7ARBgBpE7ARBgCGE7ARAAAAAAEAAAAAAAEAAQAAAAAAKQA3AAUAAQABAAAAAAByADcACQAB
AAIAAAEQAH0ANwANAAEAAwAFAQAAhwAAAA0ABQAIAAUBAACVAAAADQAFAA8AAQAAALAAvQAdAAYA
EQABAAAA9QC9AC0ABgArAAEAAAADAb0ADQAJADAAAQAAAA8BvQANAAoAMQABAAAAGQG9ACAACwAy
AAAAAAAkATABDQARAEsAAAEQAHUBvQA9ABMATwAxAAkCIAAxADICLQAxAFQCOgAxAHkCRwAhAFUD
kAAGAAMB5AAGAA8B6AAGALAA7AABAHsH/AABAHsH/AABAEgJMwEBAFMJNgEBAGQJOQEBAHAJNgEB
AH8JOQEBAKoJPAERAEUKRQERAE0KPAERAJoKYwERAKIKZwFQIAAAAAAGGLoBEwABAFggAAAAAAYY
ugETAAEAYCAAAAAAERj1ARcAAQCMIAAAAAATCPwBGwABAKQgAAAAABMIIgIoAAEAvCAAAAAAEwhL
AjUAAQDUIAAAAAATCGkCQgABAOwgAAAAAEYCrwJjAAEACCEAAAAARgK4AmgAAgAcIQAAAACDAMkC
bAACADQhAAAAAEYC0QJxAAIASCEAAAAAEQDaAngAAgBkIQAAAAABAPgCgAADAIAhAAAAAAYYugET
AAQAiCEAAAAAAwgMA4sABAC8IQAAAAAGGLoBEwAEANAhAAAAAAYYugGvAAQA4CEAAAAARgphBLsA
CQD0IQAAAAAGCHgEwAAJAAQiAAAAAAYIhgTFAAoAICIAAAAABgiVBMoACwAsIgAAAAAGCKYExQAM
AEgiAAAAAAYIvgTKAA0AVCIAAAAABgjKBMUADgBwIgAAAAAGCN0EwAAPAIAiAAAAAAYI6wTFABAA
nCIAAAAABggABcAAEQCsIgAAAAAGCAkFxQASAMgiAAAAAAYIGQXAABMA2CIAAAAABggjBcUAFAD0
IgAAAAAGCDQFygAVAAAjAAAAAAYIRwXFABYAHCMAAAAABghhBcoAFwAoIwAAAAAGCG8FxQAYAEQj
AAAAAAYIhAXAABkAVCMAAAAABgiQBcUAGgBwIwAAAAAGCKMFwAAbAIAjAAAAAAYIrAXFABwAnCMA
AAAARgq8BbsAHQAEJAAAAACGANQFEwAdAAwkAAAAAIYA2wUTAB0AFCQAAAAAhgDqBc8AHQAsJAAA
AAAGGLoBEwAdAEwkAAAAAEYDHwcTAB0AUCQAAAAAAQAtBxMAHQBsJAAAAABGAkEH8AAdAMQkAAAA
AEYDZwcTACEAyCQAAAAABhi6AQABIQDYJAAAAAAGGLoBAAEiAOgkAAAAAAYYugETACMA8CQAAAAA
RgJnBxMAIwA4JgAAAAAGAIsHBgEjALgmAAAAAAYAnwe7ACQAVCcAAAAABgCtBwwBJACgJwAAAAAG
CLkHaAAkALgnAAAAAAYIywfAACQAxCcAAAAABgjjB3EAJQDoJwAAAAAGCO8HygAlAPwnAAAAAAYI
+wfPACYAFCgAAAAABggTCMUAJgA0KAAAAAAGCDQIEQEnAGAoAAAAAAYIQggWAScAcCgAAAAABghQ
CHEAKACIKAAAAAAGCGYIygAoAJQoAAAAAAYIfAjPACkArCgAAAAABgiSCMUAKQDMKAAAAAAGCKgI
EQEqAPgoAAAAAAYItAgWASoACCkAAAAABgjACHEAKwAgKQAAAAAGCNQIygArACwpAAAAAAEA6Agc
ASwAfCkAAAAAAQD9CCEBLQCsKQAAAAABABQJKAEvAAwqAAAAAAEANgktATAAbCoAAAAAAxi6ARMA
MQB0KgAAAAAWCFkKSQExALAqAAAAABYI4wdOATEAxCoAAAAAFgjvB1MBMQDMKgAAAAARGPUBFwAy
AOAqAAAAAAYYugETADIA6CoAAAAAFgivCmoBMgAAAAEAtgIAAAEA7wIAAAEA7wIAAAEANQQAAAIA
PwQAAAMASAQAAAQAUAQAAAUAVwQAAAEAgAQAAAEAgAQAAAEAgAQAAAEAgAQAAAEAgAQAAAEAgAQA
AAEAgAQAAAEAgAQAAAEAgAQAAAEAgAQAAAEAgAQAAAEAgAQAAAEAgAQAAAEAgAQAAAEAgAQAAAEA
gAQAAAEAgAQAAAEAgAQAAAEAgAQAAAEAgAQAAAEATQcAAAIAVQcAAAMAXwcAAAQAVwQAAAEANQQA
AAEANQQAAAEAlAcAAAEA3QcAAAEA3QcAAAEA3QcAAAEA3QcAAAEA3QcAAAEA3QcAAAEA3QcAAAEA
3QcAAAEA9QgAAAEABgkAAAIADgkAAAEAKgkAAAEAQgkAAAEAgAQJALoBEwCBALoBdAGRALoBgwER
ALoBEwCZALoBEwAkALoBEwAsALoBEwA0ALoBEwA8ALoBEwAkAAwDiwAsAAwDiwA0AAwDiwA8AAwD
iwChALoBEwCpALoBEwCxALoBygC5AA8MHQIZAK8CYwAZALgCaAApADAMKgIZANECcQDJAEwMOgIZ
ALoBEwDRALoBSgJEAFUDkABMAK8KiwBMAHYMxwJMALoBEwDZALoBxQA5ALoBrwA5AMAM4QI5AMkM
wADxALoBygD5ANQFEwD5ANsFEwD5AOoFzwABAboBxQBZALoBEwBBAA4N7gJBAIAN+gIJAZYNaABp
AKMNAANhALINaABpAM0NBgNhAOoNDAMRAfgNEgMRAQ4OEgNhABkOaABpADAOGQMRAU4OHwMRAWMO
DAMhAXYOJQNhAIQOaAARAY4OMQMRAaYOMQNhALMOaABhALwONgNhAMQOPAM5AboBygDhAOsOTwNB
AQUPVAMxARUPcQBBASEPFwBJAboBEwBJAVAPYwNRAWAPaANJAWoPbwNpAK0HggNpAH8PcQBJAWoP
DAEJAY8PwADhAJwPOQFpAaoPnANhANECcQBBACoQqQN5AUAQrwNxAV8QuAOBAa8KvwNxAWgQEwBp
AG8QTgFpAIIQaADhAK8CywOJAboBEwCRAboBygCZAboBygChAboB/wOpAboBwACxAboBygC5AboB
ygDBAboBEwDJAboB3gTZAboBEwApAMsR8wVxALoB+QV5ALoBEwDpAfERFgbpAfcRFgbxAboBEwD5
AboBwAABAroBEwAJAroBygARAroBygAZAroBygAhAroBygApAroBygAxAroBygA5AroBygBBAroB
ygBJAroBygApAIMA6wEuAFMD7QYuAGsD7QYuAEsDzQYuACMDKQYuACsDSAYuAEMD1gIuAGMD1gIu
ABsDIAYuAFsDKgcuADMDkAYuADsDnQYuAOsA1gIuACsBxwZAACsAogFAABMAegFDABMAegFDABsA
iQFJAIMA1wFjABMAegFjABsAiQFpAIMA/AGAACsAogGDAHMAogGDABsAiQGDAHsAogGJAIMACQKg
ACsAogGjABMAegGjAMMAUgLAACsAogHDABMAegHDAOsA1gLgACsAogHjACsB1gIAASsAogEAARMA
egEDASsB1gIgASsAogEgARMAegFAARMAegFAASsAogFgARMAegFgASsAogFjAbMCBQRjASsB1gJj
AasC8QNjAZsCogFjAaMC3gOAASsAogGgASsAogHAASsAogHAARMAegHgASsAogEAAhMAegEAAisA
ogGJA7sCegGJA8MCfgSpA8sCrASpA8MCvQTJA8MC5QTJA9sCegHJA9MCogHpA8MCPgUJBOMCogEJ
BMMClwUpBNsCegEpBMMCVwUpBNMCogFJBMMCJwVpBMMCxgVpBOMCogGJBBMADQapBBMADQbJBBMD
ogEABisB1gIgBisB1gLDAcgBzQHSASICJgIxAjYCRQJFAs0C3ALnAiIC9QJEA1sDegOLAyYCNgIi
AqIDNgIiAqIDNgLDA6ID0AP1AgEGCAYbBgQAAQAGAAUABwAGAAsAHAAMACQADQAmAAAA3gFPAAAA
lwJUAAAARgJZAAAAowJeAAAAXwOYAAAA9gXTAAAACQbYAAAADQbcAAAAGAbgAAAAJQbcAAAAOQbg
AAAAQQbcAAAAUAbYAAAAWgbcAAAAawbYAAAAcAbcAAAAfAbYAAAAggbcAAAAjwbgAAAAngbcAAAA
tAbgAAAAvgbcAAAAzwbYAAAA1wbcAAAA5gbYAAAA6wbcAAAA9wbTAAAAtAnYAAAAwgngAAAAygnc
AAAA3glAAQAA6AngAAAA+gncAAAADApAAQAAFArgAAAANQpZAQAAwgleAQAAgARvAQIABAADAAIA
BQAFAAIABgAHAAIABwAJAAIADwALAAIAEgANAAEAEwAPAAEAFAARAAEAFQATAAEAFgAVAAEAFwAX
AAEAGAAZAAEAGQAbAAEAGgAdAAEAGwAfAAEAHAAhAAEAHQAjAAEAHgAlAAEAHwAnAAEAIAApAAEA
IQArAAEAIgAtAAEAIwAvAAEAJAAxAAEAJQAzAAEAJgA1AAIAJwA3AAIANwA5AAEAOAA5AAIAOQA7
AAEAOgA7AAEAPAA9AAIAOwA9AAIAPQA/AAEAPgA/AAIAPwBBAAEAQABBAAEAQgBDAAIAQQBDAAIA
QwBFAAEARABFAAIARQBHAAEARgBHAAIATABJAAIATQBLAAEATgBLAAIAUQBNAHUAdQCIAKcBrgG1
AbwBtAK7AncDBIAAAAEAAAAAAAAAAAAAAAAAvQAAAAQAAAAAAAAAAAAAAAEACgAAAAAACgAAAAAA
AAAAAAAACgATAAAAAAABAAAAAAAAAAAAAACdAGsDAAAAAAsAAAAAAAAAAAAAAKYAqQMAAAAACwAA
AAAAAAAAAAAApgD3AwAAAAAEAAAAAAAAAAAAAAABAOcBAAAAAAsAAAAAAAAAAAAAAKYAGg0AAAAA
CwAAAAAAAAAAAAAApgC1DwAAAAAAAAAAAQAAABkSAAAFAAQABgAEAAAAEAAMAO0CAAAQABkA7QIA
AAAAGwDtAi0AQAItAMICAAAAPE1vZHVsZT4AbXNjb3JsaWIATWljcm9zb2Z0LlZpc3VhbEJhc2lj
AE15QXBwbGljYXRpb24AU2NyaXB0Q29tcG9uZW50Xzc4MzBiYzIzMzgyNTRhOGY5YWZlOTU2NjFk
N2ZjZjI4LnZicHJvai5NeQBNeUNvbXB1dGVyAE15UHJvamVjdABNeVdlYlNlcnZpY2VzAFRocmVh
ZFNhZmVPYmplY3RQcm92aWRlcmAxAE91dHB1dEJ1ZmZlcgBTY3JpcHRDb21wb25lbnRfNzgzMGJj
MjMzODI1NGE4ZjlhZmU5NTY2MWQ3ZmNmMjgudmJwcm9qAFVzZXJDb21wb25lbnQAQ29ubmVjdGlv
bnMAVmFyaWFibGVzAFNjcmlwdE1haW4ATXlSZXNvdXJjZXMAU2NyaXB0Q29tcG9uZW50Xzc4MzBi
YzIzMzgyNTRhOGY5YWZlOTU2NjFkN2ZjZjI4LnZicHJvai5NeS5SZXNvdXJjZXMATXlTZXR0aW5n
cwBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJh
c2UALmN0b3IATWljcm9zb2Z0LlZpc3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9i
amVjdAAuY2N0b3IAZ2V0X0NvbXB1dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBw
bGljYXRpb24AbV9BcHBPYmplY3RQcm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFBy
b3ZpZGVyAGdldF9XZWJTZXJ2aWNlcwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBs
aWNhdGlvbgBXZWJTZXJ2aWNlcwBFcXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9T
dHJpbmcAQ3JlYXRlX19JbnN0YW5jZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBn
ZXRfR2V0SW5zdGFuY2UATWljcm9zb2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwA
Q29udGV4dFZhbHVlYDEAbV9Db250ZXh0AEdldEluc3RhbmNlAENvenlSb2MuU1NJU1BsdXMuMjAx
MgBDb3p5Um9jLlNxbFNlcnZlci5TU0lTAFNjcmlwdEJ1ZmZlclBsdXMATWljcm9zb2Z0LlNxbFNl
cnZlci5UeFNjcmlwdABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZQBTY3JpcHRDb21w
b25lbnQATWljcm9zb2Z0LlNxbFNlcnZlci5QaXBlbGluZUhvc3QAUGlwZWxpbmVCdWZmZXIAT3V0
cHV0TmFtZU1hcABDb21wb25lbnQAT2JqZWN0SUQASXNJbnB1dABCdWZmZXIAT3V0cHV0TWFwAGdl
dF9TdGF0aWNJbnB1dENvbHVtbnMAc2V0X0RheQBWYWx1ZQBzZXRfRGF5X0lzTnVsbABzZXRfRGF5
U2hvcnROYW1lAHNldF9EYXlTaG9ydE5hbWVfSXNOdWxsAHNldF9EYXlOYW1lAHNldF9EYXlOYW1l
X0lzTnVsbABzZXRfRGF5T2ZZZWFyAHNldF9EYXlPZlllYXJfSXNOdWxsAHNldF9XZWVrAHNldF9X
ZWVrX0lzTnVsbABzZXRfTW9udGgAc2V0X01vbnRoX0lzTnVsbABzZXRfTW9udGhTaG9ydE5hbWUA
c2V0X01vbnRoU2hvcnROYW1lX0lzTnVsbABzZXRfTW9udGhOYW1lAHNldF9Nb250aE5hbWVfSXNO
dWxsAHNldF9RdWFydGVyAHNldF9RdWFydGVyX0lzTnVsbABzZXRfWWVhcgBzZXRfWWVhcl9Jc051
bGwAZ2V0X1N0YXRpY091dHB1dENvbHVtbnMAQWRkUm93AFNldEVuZE9mUm93c2V0AEVuZE9mUm93
c2V0AFN0YXRpY0lucHV0Q29sdW1ucwBEYXkARGF5X0lzTnVsbABEYXlTaG9ydE5hbWUARGF5U2hv
cnROYW1lX0lzTnVsbABEYXlOYW1lAERheU5hbWVfSXNOdWxsAERheU9mWWVhcgBEYXlPZlllYXJf
SXNOdWxsAFdlZWsAV2Vla19Jc051bGwATW9udGgATW9udGhfSXNOdWxsAE1vbnRoU2hvcnROYW1l
AE1vbnRoU2hvcnROYW1lX0lzTnVsbABNb250aE5hbWUATW9udGhOYW1lX0lzTnVsbABRdWFydGVy
AFF1YXJ0ZXJfSXNOdWxsAFllYXIAWWVhcl9Jc051bGwAU3RhdGljT3V0cHV0Q29sdW1ucwBTY3Jp
cHRDb21wb25lbnRQbHVzAEZpbmlzaE91dHB1dHMATWFya091dHB1dHNGaW5pc2hlZABQcmltZU91
dHB1dABPdXRwdXRzAE91dHB1dElEcwBCdWZmZXJzAENyZWF0ZU5ld091dHB1dFJvd3MAUGFyZW50
Q29tcG9uZW50AFZhbGlkYXRlAGVyck1lc3NhZ2UAR2V0UHJvcGVydGllcwBHZXRDdWx0dXJlcwBn
ZXRfSXRlcmF0aW9uU3RlcABzZXRfSXRlcmF0aW9uU3RlcAB2YWx1ZQBnZXRfQ3VsdHVyZQBzZXRf
Q3VsdHVyZQBnZXRfSXNTdGFydERhdGVWYXJpYWJsZQBzZXRfSXNTdGFydERhdGVWYXJpYWJsZQBE
YXRlVGltZQBnZXRfU3RhcnREYXRlAHNldF9TdGFydERhdGUAZ2V0X1N0YXJ0RGF0ZVZhcmlhYmxl
AHNldF9TdGFydERhdGVWYXJpYWJsZQBnZXRfSXNFbmREYXRlVmFyaWFibGUAc2V0X0lzRW5kRGF0
ZVZhcmlhYmxlAGdldF9FbmREYXRlAHNldF9FbmREYXRlAGdldF9FbmREYXRlVmFyaWFibGUAc2V0
X0VuZERhdGVWYXJpYWJsZQBHZXRWYXJpYWJsZV8AdmFyTmFtZQBHZXREYXRlXwBkYXRlU3RyAGlz
VmFyAEdldElkRnJvbURpc3BsYXlOYW1lXwBkaXNwbGF5TmFtZQBHZXRRdWFydGVyXwBpbnB1dABt
X2l0ZXJTdGVwAG1faXNTdGFydERhdGVWYXIAbV9zdGFydERhdGUAbV9pc0VuZERhdGVWYXIAbV9l
bmREYXRlAFN5c3RlbS5HbG9iYWxpemF0aW9uAEN1bHR1cmVJbmZvAG1fY3VsdHVyZQBJdGVyYXRp
b25TdGVwAEN1bHR1cmUASXNTdGFydERhdGVWYXJpYWJsZQBTdGFydERhdGUAU3RhcnREYXRlVmFy
aWFibGUASXNFbmREYXRlVmFyaWFibGUARW5kRGF0ZQBFbmREYXRlVmFyaWFibGUAU3lzdGVtLlJl
c291cmNlcwBSZXNvdXJjZU1hbmFnZXIAX3Jlc01ncgBfcmVzQ3VsdHVyZQBnZXRfUmVzb3VyY2VN
YW5hZ2VyAFN5c3RlbS5Db25maWd1cmF0aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFs
dWUAbV9TeW5jT2JqZWN0AGdldF9WYWx1ZQBTeXN0ZW0uQ29tcG9uZW50TW9kZWwARWRpdG9yQnJv
d3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3RlbS5Db2RlRG9tLkNvbXBp
bGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0aWNzAERlYnVnZ2VySGlk
ZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxlclNlcnZpY2VzAFN0YW5k
YXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRlAFN5c3RlbS5Db21wb25l
bnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVtLlJ1bnRpbWUuQ29tcGls
ZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBSdW50aW1lVHlwZUhhbmRs
ZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFuY2UATXlHcm91cENvbGxl
Y3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLkludGVyb3BTZXJ2aWNlcwBD
b21WaXNpYmxlQXR0cmlidXRlAFN0cmluZwBJbnQzMgBzZXRfSXRlbQBTZXROdWxsAEludmFsaWRP
cGVyYXRpb25FeGNlcHRpb24AU2NyaXB0QnVmZmVyAENMU0NvbXBsaWFudEF0dHJpYnV0ZQBHZXRP
dXRwdXRJRABNaWNyb3NvZnQuU3FsU2VydmVyLkRUU1BpcGVsaW5lV3JhcABNaWNyb3NvZnQuU3Fs
U2VydmVyLkR0cy5QaXBlbGluZS5XcmFwcGVyAElEVFNDb21wb25lbnRNZXRhRGF0YTEwMABnZXRf
Q29tcG9uZW50TWV0YURhdGEAZ2V0X0xvY2FsZUlEAEdldEN1bHR1cmVJbmZvAGdldF9EYXkARGF0
ZVRpbWVGb3JtYXRJbmZvAGdldF9EYXRlVGltZUZvcm1hdABEYXlPZldlZWsAZ2V0X0RheU9mV2Vl
awBHZXRBYmJyZXZpYXRlZERheU5hbWUAR2V0RGF5TmFtZQBnZXRfRGF5T2ZZZWFyAENhbGVuZGFy
AGdldF9DYWxlbmRhcgBDYWxlbmRhcldlZWtSdWxlAGdldF9DYWxlbmRhcldlZWtSdWxlAGdldF9G
aXJzdERheU9mV2VlawBHZXRXZWVrT2ZZZWFyAGdldF9Nb250aABHZXRBYmJyZXZpYXRlZE1vbnRo
TmFtZQBHZXRNb250aE5hbWUAZ2V0X1llYXIAQWRkRGF5cwBDb21wYXJlAEV4Y2VwdGlvbgBBcHBs
aWNhdGlvbkV4Y2VwdGlvbgBJc051bGxPckVtcHR5AFByb2plY3REYXRhAFNldFByb2plY3RFcnJv
cgBnZXRfTWVzc2FnZQBDbGVhclByb2plY3RFcnJvcgBTeXN0ZW0uQ29sbGVjdGlvbnMAQXJyYXlM
aXN0AEFkZABJbnRlcmFjdGlvbgBJSWYAQXJyYXkAVG9BcnJheQBDdWx0dXJlVHlwZXMAZ2V0X0Rp
c3BsYXlOYW1lAHNldF9Mb2NhbGVJRABFbXB0eQBDb252ZXJ0AFRvRGF0ZVRpbWUATWljcm9zb2Z0
LlNxbFNlcnZlci5EVFNSdW50aW1lV3JhcABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1l
LldyYXBwZXIASURUU1ZhcmlhYmxlczEwMABJRFRTVmFyaWFibGVEaXNwZW5zZXIxMDAAZ2V0X1Zh
cmlhYmxlRGlzcGVuc2VyAExvY2tPbmVGb3JSZWFkAElEVFNWYXJpYWJsZTEwMABnZXRfSXRlbQBV
bmxvY2sAZ2V0X0N1cnJlbnRDdWx0dXJlAGdldF9MQ0lEAFNTSVNTY3JpcHRDb21wb25lbnRFbnRy
eVBvaW50QXR0cmlidXRlAENvenlSb2MuU3FsU2VydmVyLlNTSVMuQXR0cmlidXRlcwBGaWx0ZXJQ
cm9wZXJ0aWVzQXR0cmlidXRlAFZhbGlkYXRlUHJvcGVydGllc0F0dHJpYnV0ZQBTb3J0UHJvcGVy
dGllc0F0dHJpYnV0ZQBEZWZhdWx0VmFsdWVBdHRyaWJ1dGUARGVzY3JpcHRpb25BdHRyaWJ1dGUA
TGlzdEF0dHJpYnV0ZQBOb25Fc3NlbnRpYWxBdHRyaWJ1dGUAUmVmcmVzaFByb3BlcnRpZXNBdHRy
aWJ1dGUAUmVmcmVzaFByb3BlcnRpZXMAVmFyaWFibGVBdHRyaWJ1dGUAU3lzdGVtLlJlZmxlY3Rp
b24AQXNzZW1ibHkAZ2V0X0Fzc2VtYmx5AFN5c3RlbS5UaHJlYWRpbmcATW9uaXRvcgBFbnRlcgBF
eGl0AERlYnVnZ2VyTm9uVXNlckNvZGVBdHRyaWJ1dGUAU2NyaXB0Q29tcG9uZW50Xzc4MzBiYzIz
MzgyNTRhOGY5YWZlOTU2NjFkN2ZjZjI4LnZicHJvai5SZXNvdXJjZXMucmVzb3VyY2VzAENvbXBp
bGF0aW9uUmVsYXhhdGlvbnNBdHRyaWJ1dGUAUnVudGltZUNvbXBhdGliaWxpdHlBdHRyaWJ1dGUA
U3lzdGVtLlJ1bnRpbWUuVmVyc2lvbmluZwBUYXJnZXRGcmFtZXdvcmtBdHRyaWJ1dGUAQXNzZW1i
bHlGaWxlVmVyc2lvbkF0dHJpYnV0ZQBHdWlkQXR0cmlidXRlAEFzc2VtYmx5VHJhZGVtYXJrQXR0
cmlidXRlAEFzc2VtYmx5Q29weXJpZ2h0QXR0cmlidXRlAEFzc2VtYmx5UHJvZHVjdEF0dHJpYnV0
ZQBBc3NlbWJseUNvbXBhbnlBdHRyaWJ1dGUAQXNzZW1ibHlEZXNjcmlwdGlvbkF0dHJpYnV0ZQBB
c3NlbWJseVRpdGxlQXR0cmlidXRlAFNjcmlwdENvbXBvbmVudF83ODMwYmMyMzM4MjU0YThmOWFm
ZTk1NjYxZDdmY2YyOC52YnByb2ouZGxsAAAAAACAm0kAcwBOAHUAbABsACAAcAByAG8AcABlAHIA
dAB5ACAAYwBhAG4AbgBvAHQAIABiAGUAIABzAGUAdAAgAHQAbwAgAEYAYQBsAHMAZQAuACAAQQBz
AHMAaQBnAG4AIABhACAAdgBhAGwAdQBlACAAdABvACAAdABoAGUAIABjAG8AbAB1AG0AbgAgAGkA
bgBzAHQAZQBhAGQALgAAB0QAYQB5AAAZRABhAHkAUwBoAG8AcgB0AE4AYQBtAGUAAA9EAGEAeQBO
AGEAbQBlAAATRABhAHkATwBmAFkAZQBhAHIAAAlXAGUAZQBrAAALTQBvAG4AdABoAAAdTQBvAG4A
dABoAFMAaABvAHIAdABOAGEAbQBlAAATTQBvAG4AdABoAE4AYQBtAGUAAA9RAHUAYQByAHQAZQBy
AAAJWQBlAGEAcgAADU8AdQB0AHAAdQB0AABJUwBwAGUAYwBpAGYAaQBlAGQAIABpAHQAZQByAGEA
dABpAG8AbgAgAHMAdABlAHAAIABpAHMAIABpAG4AdgBhAGwAaQBkAC4AACdTAHAAZQBjAGkAZgB5
ACAAcwB0AGEAcgB0ACAAZABhAHQAZQAuAAAjUwBwAGUAYwBpAGYAeQAgAGUAbgBkACAAZABhAHQA
ZQAuAAAbSQB0AGUAcgBhAHQAaQBvAG4AUwB0AGUAcAAAD0MAdQBsAHQAdQByAGUAACdJAHMAUwB0
AGEAcgB0AEQAYQB0AGUAVgBhAHIAaQBhAGIAbABlAAAjUwB0AGEAcgB0AEQAYQB0AGUAVgBhAHIA
aQBhAGIAbABlAAATUwB0AGEAcgB0AEQAYQB0AGUAACNJAHMARQBuAGQARABhAHQAZQBWAGEAcgBp
AGEAYgBsAGUAAB9FAG4AZABEAGEAdABlAFYAYQByAGkAYQBiAGwAZQAAD0UAbgBkAEQAYQB0AGUA
ADFNAHkALgBSAGUAcwBvAHUAcgBjAGUAcwAuAE0AeQBSAGUAcwBvAHUAcgBjAGUAcwAAVT3WtBil
/EeWC6uX5aPzeAAIt3pcVhk04IkIsD9ffxHVCjoDIAABAwAAAQQAABIMBwYVEhgBEgwEAAASCAcG
FRIYARIIBAAAEhEHBhUSGAESEQQAABIUBwYVEhgBEhQECAASDAQIABIIBAgAEhEECAASFAQgAQIc
AyAACAQgABIVAyAADgIeAAcQAQEeAB4ABzABAQEQHgACEwAEIAATAAcGFRIZARMABCgAEwAIFs9J
C7gMNOoIiYRdzYCAzJELIAUBEiEIAhIlEikEIAAdDgQgAQEIBCABAQIEIAEBDgMgAAIEKAAdDgMo
AAgDKAACAygADgMGEiQDBhIoAwYSHAsgBAEIHQgdEiUSKQMGEiEFIAEBEiEFIAECEA4EIAAdHAQg
ABExBSABARExBCABHA4GIAIRMQ4CBCABCA4FIAEIETECBggCBgICBg4DBhI1BCgAETEDBhI5BAAA
EjkEAAASNQUAAQESNQQIABI5BAgAEjUDBhI0AgYcBAAAEjQECAASNAUgAQERRQgBAAEAAAAAAAUg
AgEODhgBAApNeVRlbXBsYXRlCDEwLjAuMC4wAAAEAQAAAAYVEhgBEgwGFRIYARIIBhUSGAESEQYV
EhgBEhQEBwESDAQHARIIBAcBEhEEBwESFBMBAA5NeS5BcHBsaWNhdGlvbgAAEAEAC015LkNvbXB1
dGVyAAAMAQAHTXkuVXNlcgAAEwEADk15LldlYlNlcnZpY2VzAAAEAAEcHAMHAQIDBwEIBgABEhUR
YQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEBADRTeXN0ZW0uV2ViLlNlcnZpY2Vz
LlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNyZWF0ZV9fSW5zdGFuY2VfXxNEaXNw
b3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgETAAUgAQETAAgHAxMAEwATAAUBAAAA
AAQHAR0OBSACAQgcBgcCHQ4dDgYAAggSKQ4EBwIICAUgABKAhQUAARI1CAUgABKAiQUgABGAjQYg
AQ4RgI0FIAASgJEFIAARgJULIAMIETERgJURgI0EIAEOCAUgARExDQcAAggRMRExCgcEEjURMREx
EhwEAAECDgYAAQESgJkHBwMCAhKAmQQgAQgcBgADHAIcHAcgARKArRIVAh0OBwcCHQ4SgKUIAAEd
EjURgLEQBwYdEjUdHBKApRI1CB0SNQUAARExDgYHAhExETEFIAASgL0IIAIBDhASgLkGIAESgMEc
AyAAHAcHAxwcEoC5BCABAg4NBwYICB0SNRI1CB0SNRIBAA1HZXRQcm9wZXJ0aWVzAAANAQAIVmFs
aWRhdGUAAAUgAQEdDngBAAgAAAANSXRlcmF0aW9uU3RlcAdDdWx0dXJlE0lzU3RhcnREYXRlVmFy
aWFibGUJU3RhcnREYXRlEVN0YXJ0RGF0ZVZhcmlhYmxlEUlzRW5kRGF0ZVZhcmlhYmxlB0VuZERh
dGUPRW5kRGF0ZVZhcmlhYmxlAAAtAQAoU3BlY2lmaWVkIGRhdGUgaXRlcmF0aW9uIHN0ZXAgKGlu
IGRheXMpLgAAEAEAC0dldEN1bHR1cmVzAAAgAQAbU2VsZWN0IGRhdGUgZm9ybWF0IGN1bHR1cmUu
AAAGIAEBEYDpQQEAPFNwZWNpZmllcyBpZiBTdGFydERhdGUgcHJvcGVydHkgcmVmZXJlbmNlcyBw
YWNrYWdlIHZhcmlhYmxlLgAAFgEAEVNwZWNpZnkgZW5kIGRhdGUuAAAYAQATU3BlY2lmeSBzdGFy
dCBkYXRlLgAAPwEAOlNwZWNpZmllcyBpZiBFbmREYXRlIHByb3BlcnR5IHJlZmVyZW5jZXMgcGFj
a2FnZSB2YXJpYWJsZS4AAC4BAClTcGVjaWZpZXMgdmFyaWFibGUgY29udGFpbmluZyBzdGFydCBk
YXRlLgAALAEAJ1NwZWNpZmllcyB2YXJpYWJsZSBjb250YWluaW5nIGVuZCBkYXRlLgAABSAAEoDx
ByACAQ4SgPEGBwISORI5BAcBEjUIAQACAAAAAAAEAAEBHAQHARI0CAEACAAAAAAAHgEAAQBUAhZX
cmFwTm9uRXhjZXB0aW9uVGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuMAEAVA4U
RnJhbWV3b3JrRGlzcGxheU5hbWUQLk5FVCBGcmFtZXdvcmsgNAwBAAcxLjAuMC4wAAApAQAkOGNk
ODUyMDQtZWZmOC00YzZhLTgwZGMtNTZhNWU2NjJiMjEzAAAFAQABAAAfAQAaQ29weXJpZ2h0IEAg
TWljcm9zb2Z0IDIwMTMAADwBADdTY3JpcHRDb21wb25lbnRfNzgzMGJjMjMzODI1NGE4ZjlhZmU5
NTY2MWQ3ZmNmMjgudmJwcm9qAAAOAQAJTWljcm9zb2Z0AAAAAABQWwAAAAAAAAAAAABuWwAAACAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAYFsAAAAAAAAAAAAAAAAAAAAAX0NvckRsbE1haW4AbXNjb3Jl
ZS5kbGwAAAAAAP8lACBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAEAAAABgAAIAAAAAAAAAA
AAAAAAAAAAEAAQAAADAAAIAAAAAAAAAAAAAAAAAAAAEAAAAAAEgAAABYYAAAaAQAAAAAAAAAAAAA
aAQ0AAAAVgBTAF8AVgBFAFIAUwBJAE8ATgBfAEkATgBGAE8AAAAAAL0E7/4AAAEAAAABAAAAAAAA
AAEAAAAAAD8AAAAAAAAABAAAAAIAAAAAAAAAAAAAAAAAAABEAAAAAQBWAGEAcgBGAGkAbABlAEkA
bgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEAdABpAG8AbgAAAAAAAACwBMgDAAABAFMAdABy
AGkAbgBnAEYAaQBsAGUASQBuAGYAbwAAAKQDAAABADAAMAAwADAAMAA0AGIAMAAAADQACgABAEMA
bwBtAHAAYQBuAHkATgBhAG0AZQAAAAAATQBpAGMAcgBvAHMAbwBmAHQAAACYADgAAQBGAGkAbABl
AEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQA
XwA3ADgAMwAwAGIAYwAyADMAMwA4ADIANQA0AGEAOABmADkAYQBmAGUAOQA1ADYANgAxAGQANwBm
AGMAZgAyADgALgB2AGIAcAByAG8AagAAADAACAABAEYAaQBsAGUAVgBlAHIAcwBpAG8AbgAAAAAA
MQAuADAALgAwAC4AMAAAAJgAPAABAEkAbgB0AGUAcgBuAGEAbABOAGEAbQBlAAAAUwBjAHIAaQBw
AHQAQwBvAG0AcABvAG4AZQBuAHQAXwA3ADgAMwAwAGIAYwAyADMAMwA4ADIANQA0AGEAOABmADkA
YQBmAGUAOQA1ADYANgAxAGQANwBmAGMAZgAyADgALgB2AGIAcAByAG8AagAuAGQAbABsAAAAXAAb
AAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQByAGkAZwBoAHQAIABAACAA
TQBpAGMAcgBvAHMAbwBmAHQAIAAyADAAMQAzAAAAAACgADwAAQBPAHIAaQBnAGkAbgBhAGwARgBp
AGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwA3ADgAMwAwAGIA
YwAyADMAMwA4ADIANQA0AGEAOABmADkAYQBmAGUAOQA1ADYANgAxAGQANwBmAGMAZgAyADgALgB2
AGIAcAByAG8AagAuAGQAbABsAAAAkAA4AAEAUAByAG8AZAB1AGMAdABOAGEAbQBlAAAAAABTAGMA
cgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABfADcAOAAzADAAYgBjADIAMwAzADgAMgA1ADQAYQA4
AGYAOQBhAGYAZQA5ADUANgA2ADEAZAA3AGYAYwBmADIAOAAuAHYAYgBwAHIAbwBqAAAANAAIAAEA
UAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAAMQAuADAALgAwAC4AMAAAADgACAABAEEAcwBz
AGUAbQBiAGwAeQAgAFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAADAAAAIA7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==]]></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_7830bc2338254a8f9afe95661d7fcf28</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><outputs><output id="14" name="Output" hasSideEffects="true"><outputColumns><outputColumn id="15" name="Day" lineageId="15" dataType="i4" /><outputColumn id="16" name="DayShortName" lineageId="16" length="50" dataType="wstr" /><outputColumn id="17" name="DayName" lineageId="17" length="50" dataType="wstr" /><outputColumn id="18" name="DayOfYear" lineageId="18" dataType="i4" /><outputColumn id="19" name="Week" lineageId="19" dataType="i4" /><outputColumn id="20" name="Month" lineageId="20" dataType="i4" /><outputColumn id="21" name="MonthShortName" lineageId="21" length="50" dataType="wstr" /><outputColumn id="22" name="MonthName" lineageId="22" length="50" dataType="wstr" /><outputColumn id="23" name="Quarter" lineageId="23" dataType="i4" /><outputColumn id="24" name="Year" lineageId="24" dataType="i4" /></outputColumns><externalMetadataColumns /></output></outputs></component>