<?xml version="1.0"?>
<ScriptProject Name="ScriptTask_8e32ba0e161e44a79722696e42f342c9" VSTAMajorVersion="2" VSTAMinorVersion="1" Language="VisualBasic" EntryPoint="Main" ReadOnlyVariables="" ReadWriteVariables="">
  <ProjectItem Name="\scriptmain.vb">
<![CDATA[' Microsoft SQL Server Integration Services Script Task
'
' Copyright (c) 2006-2014 COZYROC LLC
' 
' Permission is hereby granted, free of charge, to any person
' obtaining a copy of this software and associated documentation
' files (the "Software"), to deal in the Software without
' restriction, including without limitation the rights to use,
' copy, modify, merge, publish, distribute, sublicense, and/or sell
' copies of the Software, and to permit persons to whom the
' Software is furnished to do so, subject to the following
' conditions:
' 
' The above copyright notice and this permission notice shall be
' included in all copies or substantial portions of the Software.
' 
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
' EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
' OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
' NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
' HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
' WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
' FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
' OTHER DEALINGS IN THE SOFTWARE.

Imports System
Imports System.ComponentModel

Imports Microsoft.SqlServer.Dts.Runtime
Imports CozyRoc.SqlServer.SSIS
Imports CozyRoc.SqlServer.SSIS.Attributes
Imports CRM2011 = CozyRoc.Dynamics.Crm2011.OrganizationService
Imports CRM4 = CozyRoc.Dynamics.Crm.Service


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<SortProperties(New String() { _
    "CrmConnection", "JobName", "QuerySet", "StartDateTime", "RecurrencePattern", "JobIdResultVariable", _
    "SendEmail", "ToRecipients", "CCRecipients"})> _
<ValidateProperties("Validate")> _
<System.AddIn.AddIn("ScriptMain", Version:="1.0", Publisher:="", Description:="")> _
<System.CLSCompliantAttribute(False)> _
Partial Public Class ScriptMain
	Inherits Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase

	Enum ScriptResults
		Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success
		Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
	End Enum


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' The execution engine calls this method when the task executes.
    ' To access the object model, use the Dts object. Connections, variables, events,
    ' and logging features are available as static members of the Dts class.
    ' Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.
    ' 
    ' To open Code and Text Editor Help, press F1.
    ' To open Object Browser, press Ctrl+Alt+J.
    Public Sub Main()
        Dim result As Integer = ScriptResults.Success

        Dim connection As ICrmConnection = CType( _
            Dts.Connections(Me.CrmConnection).AcquireConnection(Nothing), _
            ICrmConnection)
        Try
            Call connection.Connect()

            Dim service As Object = connection.GetService(0)
            Dim querySet As Object = GetQueryExpression_(service, Me.QuerySet)
            Dim jobId As Guid

            If TypeOf service Is CRM2011.OrganizationServiceClient Then
                ' CRM 2011
                Dim service2011 As CRM2011.OrganizationServiceClient = CType( _
                    service, _
                    CRM2011.OrganizationServiceClient)
                Dim req As New CRM2011.OrganizationRequest

                req.RequestName = "BulkDelete"
                req("JobName") = Me.JobName
                req("QuerySet") = New CRM2011.QueryExpression() {CType( _
                    querySet, _
                    CRM2011.QueryExpression)}
                req("SendEmailNotification") = False

                If Not String.IsNullOrEmpty(m_startDate) Then
                    req("StartDateTime") = Me.StartDateTime
                End If

                If Not String.IsNullOrEmpty(Me.RecurrencePattern) Then
                    req("RecurrencePattern") = Me.RecurrencePattern
                End If

                If Me.SendEmail Then
                    req("SendEmailNotification") = True
                    req("ToRecipients") = GetRecipients_(Me.ToRecipients)
                    If Not String.IsNullOrEmpty(Me.CCRecipients) Then
                        req("CCRecipients") = GetRecipients_(Me.CCRecipients)
                    End If
                End If

                Dim res As CRM2011.OrganizationResponse = service2011.Execute(req)
                jobId = CType(res("JobId"), Guid)
            ElseIf TypeOf service Is CRM4.CrmService Then
                ' CRM 4
                Dim service4 As CRM4.CrmService = CType(service, CRM4.CrmService)
                Dim req As New CRM4.BulkDeleteRequest

                req.JobName = Me.JobName
                req.QuerySet = New CRM4.QueryBase() {CType(querySet, CRM4.QueryBase)}
                req.SendEmailNotification = False

                If Not String.IsNullOrEmpty(m_startDate) Then
                    Dim dt As New CRM4.CrmDateTime
                    dt.IsNull = False
                    dt.IsNullSpecified = False
                    dt.Value = Convert.ToDateTime(Me.StartDateTime).ToString("s")
                    req.StartDateTime = dt
                End If

                If Not String.IsNullOrEmpty(Me.RecurrencePattern) Then
                    req.RecurrencePattern = Me.RecurrencePattern
                End If

                If Me.SendEmail Then
                    req.SendEmailNotification = True
                    req.ToRecipients = GetRecipients_(Me.ToRecipients)
                    If Not String.IsNullOrEmpty(Me.CCRecipients) Then
                        req.CCRecipients = GetRecipients_(Me.CCRecipients)
                    End If
                End If

                Dim res As CRM4.BulkDeleteResponse = CType( _
                    service4.Execute(req), _
                    CRM4.BulkDeleteResponse)
                jobId = res.JobId
            Else
                Throw New Exception("Unhandled service type.")
            End If

            If Not String.IsNullOrEmpty(Me.JobIdResultVariable) Then
                Call SetVariable_(Me.JobIdResultVariable, jobId)
            End If
        Catch ex As Exception
            result = ScriptResults.Failure
            Call Dts.Events.FireError( _
                0, _
                "Dynamics CRM Bulk Delete Task", _
                ex.Message, _
                String.Empty, _
                0)
        Finally
            Call connection.Close()
        End Try

        Dts.TaskResult = result
    End Sub ' Main


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function Validate(ByRef errMessage As String) As Boolean
        Dim result As Boolean

        Try
            If String.IsNullOrEmpty(Me.CrmConnection) Then
                Throw New ApplicationException("Select Dynamics CRM connection.")
            End If

            If String.IsNullOrEmpty(Me.JobName) Then
                Throw New ApplicationException("Specify job name.")
            End If

            If String.IsNullOrEmpty(Me.QuerySet) Then
                Throw New ApplicationException("Specify bulk delete condition match statement.")
            End If

            If Me.SendEmail AndAlso String.IsNullOrEmpty(Me.ToRecipients) Then
                Throw New ApplicationException("Specify ToRecipients.")
            End If

            result = True
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        End Try

        Validate = result
    End Function    'Validate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Called from QuerySet dialog for validation.
    Public Function ValidateQuery(ByVal value As String, ByRef errMessage As String) As Boolean
        Dim result As Boolean = True

        Dim connection As ICrmConnection = CType( _
            Dts.Connections(Me.CrmConnection).AcquireConnection(Nothing), _
            ICrmConnection)
        Try
            Call connection.Connect()
            Call GetQueryExpression_(connection.GetService(0), value)
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        Finally
            Call connection.Close()
        End Try

        ValidateQuery = result
    End Function    ' ValidateQuery


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("	Settings")> _
    <Description("Select Dynamics CRM connection.")> _
    <Connection("CrmConnectionType")> _
    Public Property CrmConnection() As String
        Get
            CrmConnection = m_connection
        End Get
        Set(ByVal value As String)
            m_connection = value
        End Set
    End Property    ' CrmConnection


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("	Settings")> _
    <Description("Specify asynchronous bulk delete job name.")> _
    Public Property JobName() As String
        Get
            JobName = m_jobName
        End Get
        Set(ByVal value As String)
            m_jobName = value
        End Set
    End Property    ' JobName


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("	Settings")> _
    <Description("Specify FetchXML query to match entities you want deleted.")> _
    <TextDialog("Specify FetchXML statement", "ValidateQuery", "xml")> _
    Public Property QuerySet() As String
        Get
            QuerySet = m_querySet
        End Get
        Set(ByVal value As String)
            m_querySet = value
        End Set
    End Property    ' QuerySet


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("	Settings")> _
    <Description("Specify job start date and time of the job.")> _
    Public Property StartDateTime() As DateTime
        Get
            Dim result As DateTime

            If Not String.IsNullOrEmpty(m_startDate) Then
                result = Convert.ToDateTime(m_startDate)
            End If

            StartDateTime = result
        End Get
        Set(ByVal value As DateTime)
            Dim dateStr As String = value.ToString()
            If value = Date.MinValue Then
                dateStr = String.Empty
            End If

            m_startDate = dateStr
        End Set
    End Property    ' StartDateTime


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("	Settings")> _
    <Description("Specify job recurrence pattern. Based on RFC2445.")> _
    Public Property RecurrencePattern() As String
        Get
            RecurrencePattern = m_recurrence
        End Get
        Set(ByVal value As String)
            m_recurrence = value
        End Set
    End Property    ' RecurrencePattern


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("	Settings")> _
    <Description("Select variable where to store result job identifier.")> _
    <Variable()> _
    Public Property JobIdResultVariable() As String
        Get
            JobIdResultVariable = m_jobResult
        End Get
        Set(ByVal value As String)
            m_jobResult = value
        End Set
    End Property    ' JobIdResultVariable


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Notification")> _
    <Description("Select whether an email notification is sent after the job has finished running.")> _
    Public Property SendEmail() As Boolean
        Get
            SendEmail = m_sendEmail
        End Get
        Set(ByVal value As Boolean)
            m_sendEmail = value
        End Set
    End Property    ' SendEmail


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Notification")> _
    <Description("Specify IDs of users to receive email notification. Multiple IDs are separated with semicolon (;).")> _
    Public Property ToRecipients() As String
        Get
            ToRecipients = m_to
        End Get
        Set(ByVal value As String)
            m_to = value
        End Set
    End Property    ' ToRecipients


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Category("Notification")> _
    <Description("Specify IDs of users to receive email notification. Multiple IDs are separated with semicolon (;).")> _
    Public Property CCRecipients() As String
        Get
            CCRecipients = m_cc
        End Get
        Set(ByVal value As String)
            m_cc = value
        End Set
    End Property    ' CCRecipients
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private ReadOnly Property CrmConnectionType() As String()
        Get
            CrmConnectionType = New String() {"DYNAMICS-CRM"}
        End Get
    End Property    ' CrmConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetQueryExpression_(ByVal service As Object, ByVal fetchXml As String) As Object
        Dim result As Object

        If TypeOf service Is CRM2011.OrganizationServiceClient Then
            ' CRM 2011
            Dim service2011 As CRM2011.OrganizationServiceClient = CType( _
                service, _
                CRM2011.OrganizationServiceClient)
            Dim req As New CRM2011.OrganizationRequest
            req.RequestName = "FetchXmlToQueryExpression"
            req("FetchXml") = fetchXml
            Dim res As CRM2011.OrganizationResponse = service2011.Execute(req)
            result = res("Query")
        ElseIf TypeOf service Is CRM4.CrmService Then
            ' CRM 4
            Dim service4 As CRM4.CrmService = CType( _
                service, _
                CRM4.CrmService)
            Dim req As New CRM4.FetchXmlToQueryExpressionRequest
            req.FetchXml = fetchXml
            Dim res As CRM4.FetchXmlToQueryExpressionResponse = CType( _
                service4.Execute(req), _
                CRM4.FetchXmlToQueryExpressionResponse)
            result = res.Query
        Else
            Throw New Exception("Unhandled service type.")
        End If

        GetQueryExpression_ = result
    End Function    ' GetQueryExpression_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetRecipients_(ByVal recipients As String) As Guid()
        Dim list() As String = recipients.Split( _
            New String() {";"}, _
            StringSplitOptions.RemoveEmptyEntries)
        Dim count As Integer = list.Length
        Dim result() As Guid = New Guid(count - 1) {}

        For index As Integer = 0 To count - 1
            result(index) = New Guid(list(index))
        Next

        GetRecipients_ = result
    End Function    ' GetRecipients_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub SetVariable_(ByVal name As String, ByVal value As Object)
        Dim vars As Variables = Nothing
        Call Dts.VariableDispenser.LockOneForWrite(name, vars)
        Try
            vars(name).Value = value
        Finally
            Call vars.Unlock()
        End Try
    End Sub ' SetVariable_
#End Region ' Internals


#Region "Attributes"
    Private m_connection As String
    Private m_jobName As String
    Private m_querySet As String
    Private m_startDate As String
    Private m_recurrence As String
    Private m_jobResult As String
    Private m_sendEmail As Boolean
    Private m_to As String
    Private m_cc As String
#End Region ' Attributes

End Class   ' ScriptMain]]></ProjectItem>
  <ProjectItem Name="\my project\settings.settings">
<![CDATA[<?xml version='1.0' encoding='iso-8859-1'?>
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)" GeneratedClassNamespace="$safeprojectname" GeneratedClassName="MySettings">
  <Profiles>
    <Profile Name="(Default)" />
  </Profiles>
  <Settings />
</SettingsFile>]]></ProjectItem>
  <ProjectItem Name="\my project\resources.designer.vb">
<![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]]></ProjectItem>
  <ProjectItem Name="\my project\resources.resx">
<![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>]]></ProjectItem>
  <ProjectItem Name="\scripttask_8e32ba0e161e44a79722696e42f342c9.vbproj">
<![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>ScriptTask_8e32ba0e161e44a79722696e42f342c9.vbproj</RootNamespace>
    <AssemblyName>ScriptTask_8e32ba0e161e44a79722696e42f342c9.vbproj</AssemblyName>
    <StartupObject>
    </StartupObject>
    <OptionExplicit>On</OptionExplicit>
    <OptionCompare>Binary</OptionCompare>
    <OptionStrict>Off</OptionStrict>
    <OptionInfer>On</OptionInfer>
    <ProjectGuid>{3E7D009C-1DD4-4A14-900C-F74206661051}</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.Dynamics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL" />
    <Reference Include="CozyRoc.SSISPlus.2008, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL" />
    <Reference Include="System" />
    <Reference Include="System.AddIn, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
    <Reference Include="System.Data" />
    <Reference Include="System.Web.Services" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.ManagedDTS, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.ScriptTask, 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="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>
    <Compile Include="ScriptMain.vb">
      <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="" DebugInfoExeName="#HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\InstallDir#\devenv.exe" />
        <Host Name="SSIS_ScriptTask" />
        <ProjectClient>
          <HostIdentifier>SSIS_ScriptTask</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>]]></ProjectItem>
  <ProjectItem Name="\my project\settings.designer.vb">
<![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]]></ProjectItem>
  <ProjectItem Name="\my project\assemblyinfo.vb">
<![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("ScriptTask_8e32ba0e161e44a79722696e42f342c9.vbproj")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyCompany("Microsoft")> 
<Assembly: AssemblyProduct("ScriptTask_8e32ba0e161e44a79722696e42f342c9.vbproj")> 
<Assembly: AssemblyCopyright("Copyright @ Microsoft 2014")> 
<Assembly: AssemblyTrademark("")> 
<Assembly: CLSCompliant(True)> 

<Assembly: ComVisible(False)> 

'The following GUID is for the ID of the typelib if this project is exposed to COM
<Assembly: Guid("cb6dea59-efbf-4f25-93d1-49e4e0622231")> 

' 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")> ]]></ProjectItem>
  <BinaryItem Name="\bin\scripttask_8e32ba0e161e44a79722696e42f342c9.vbproj.dll">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
CgD2CBMABgA6CRsJBgBgCU4JBgCHCXYJBgCaCccHFgDkCc0JGgAxCgQKGgBFCgQKGgBaCgQKGgCR
CnQKGgCjCnQKGgC2CnQKGgDBCnQKBgDNCrUBGgDXCgQKGgDnCnQKEgDxCjQEHgBKCyoLHgBmCyoL
BgC/C7UBBgDHC7UBBgAdDLUBGgAwDHQKGgA5DHQKCgBLDPIHEgBnDDQEBgDJDLUBGgDvDHQKGgAQ
DXQKGgDXCnQKBgBJDbUBHgBiDSoLHgBsDSoLHgCkDSoLBgC0DbUBIgDXDcoNFgAIDuYNFgAkDuYN
DgA8DlQHDgBRDlQHFgBjDuYNFgB1DuYNFgCJDuYNBgDkDnsIBgAED3sIBgAiD04JBgA/DxsJBgBN
D04JBgBoD04JBgCDD04JBgCcD04JBgC1D04JBgDSD04JAAAAAAEAAAAAAAEAAQAAAAAAKQA3AAUA
AQABAAAAAABtADcACQABAAIAAAEQAHgANwANAAEAAwAFAQAAggAAAA0ABQAIAAUBAACQAAAADQAF
AA8AAAAAAKsAtwANAAYAEQAAARAA9wACASUACAAVAAEAAAA1AQIBKQAKABgAAgEAAEABAAA1ABMA
MgAxANcBIAAxAAACLQAxACICOgAxAEcCRwAhACMDkAARAFoDnQARAIMDoQARAPYDvwARAP4DwwAB
AFEGFwEBAF4GFwEBAGgGFwEBAHMGFwEBAH8GFwEBAIwGFwEBAJgGGgEBAKQGFwEBAKkGFwEGBjwH
LwFWgEQHMgFWgEwHMgEIIQAAAAAGGIgBEwABABAhAAAAAAYYiAETAAEAGCEAAAAAERjDARcAAQBE
IQAAAAATCMoBGwABAFwhAAAAABMI8AEoAAEAdCEAAAAAEwgZAjUAAQCMIQAAAAATCDcCQgABAKQh
AAAAAEYCfQJjAAEAwCEAAAAARgKGAmgAAgDUIQAAAACDAJcCbAACAOwhAAAAAEYCnwJxAAIAACIA
AAAAEQCoAngAAgAcIgAAAAABAMYCgAADADgiAAAAAAYYiAETAAQAQCIAAAAAAwjaAosABAB0IgAA
AAAGGIgBEwAEAIgiAAAAAAMYiAETAAQAkCIAAAAAFgiPA6UABADMIgAAAAAWCKMDqgAEAOAiAAAA
ABYIrwOvAAQA6CIAAAAAERjDARcABQD8IgAAAAAGGIgBEwAFAAQjAAAAABYICwTGAAUAYCMAAAAA
BhiIARMABQBoIwAAAAAGAHkEEwAFALQmAAAAAAYAfgTZAAUAWCcAAAAABgCSBN8ABgDkJwAAAAAG
CKYEcQAIAPwnAAAAAAYIuATmAAgACCgAAAAABgjKBHEACQAgKAAAAAAGCNYE5gAJACwoAAAAAAYI
4gRxAAoARCgAAAAABgjvBOYACgBQKAAAAAAGCAUF6wALAHwoAAAAAAYIFwXwAAsArCgAAAAABggp
BXEADADEKAAAAAAGCD8F5gAMANAoAAAAAAYIVQVxAA0A6CgAAAAABghtBeYADQD0KAAAAAAGCIUF
9gAOAAwpAAAAAAYIkwX6AA4AGCkAAAAABgihBXEADwAwKQAAAAAGCLIF5gAPADwpAAAAAAYIwwVx
ABAAVCkAAAAABgjUBeYAEABgKQAAAAABCOUF/wARAIApAAAAAAEA+wUEAREAJCoAAAAAAQAlBgoB
EwCIKgAAAAABAD8GEQEUAAAAAQCEAgAAAQC9AgAAAQC9AgAAAQC7AwAAAQCHBAAAAQCgBAAAAgCH
BAAAAQCgBAAAAQCgBAAAAQCgBAAAAQCgBAAAAQCgBAAAAQCgBAAAAQCgBAAAAQCgBAAAAQCgBAAA
AQAPBgAAAgAXBgAAAQA0BgAAAQBMBgAAAgCgBAkAiAETAHEAiAFAAYEAiAFPAREAiAETAIkAiAET
ACQAiAETACwAiAETADQAiAETADwAiAETACQA2gKLACwA2gKLADQA2gKLADwA2gKLAJEAiAETAJkA
iAETAKEAiAHmAKkAqgjjARkAfQJjABkAhgJoACkAywjwARkAnwJxALkA5wgAAhkAiAETAMEAiAEQ
AkQAIwOQAEwACwSLAEwAEQmNAkwAiAETAMkAiAH6ACkAaQmgAjkAiAGlAkkAiAETANkAjwnBAtkA
lQnBAuEAiAETAFEAiAETAFEAAwvUAkEBVgvaAkkBeAvgAlEBgQvnAukAkwsTAOkAmwvsAvEAiAET
APEApgvmAPEAtgsRAWEBzgvxAgEB3Av2AvkAeAv9AgkBiAETAAkB1gTmAAkB7wQCAwkB5Av6ACEB
iAETACEB/gv6ACEBCQz6AGkBJQwKA1kAnwIRAyEBEQnmAAkBFwUWAwkBPwXmAAkBsgUdAwkB1AUd
AxkB3AskAxEBQQwtAykBiAHmAIEBVwwyA0EBeww5AykBhgxxAGEBkgwXAYkBmAw/A4EBogwXAOkA
tAwTAEEBugxIA5EBiAHmAGkBJQyLA1kAnwJxAFkA3gyYA1kA5wycA5kBiAETAJkBMg3mAKEBPw2r
A2EBXA3GA2EAiAHmAEEBfg3gA8EBlA3mA7kBeAvvA8kBEQn2A7kBrQ0TANEBiAH6ANkBiAHmAOEB
iAHmAOkBiAFJBPEBiAHmAPkBiAHmAAECiAETAAkCiAHmABECiAG9BhkCiAFIAyECiAETACkCiAHm
ADECiAHmADkCiAHmAEECiAHmAEkCiAHmAFECiAHmAFkCiAHmAGECiAHmAAgAUAA2AQgAVAA7ASkA
gwDFAS4AQwO7By4AWwO7By4AOwObBy4AGwM/By4AMwOaAi4ASwPzBy4AUwOaAi4AEwM2By4AIwNe
By4AKwNrBy4A6wCaAi4AywKVB0AAKwA7AUAAEwBGAUMAEwBGAUMAGwBVAUkAgwCdAWMAEwBGAWMA
GwBVAWkAgwDWAYAAKwA7AYMAewA7AYMAGwBVAYMAcwA7AYkAgwCxAaAAKwA7AaMAEwBGAaMAwwAY
AsAAKwA7AcMA6wCaAsMAEwBGAckAEwC4AuAAKwA7AekAEwC4AgABEwBGAQABKwA7AQkBGwE7ASAB
KwA7ASABEwBGASMB2wI7BCMB0wIBBCMBywKaAiMB4wJPBCkBAwOBBikB8wL/BCkB6wKYBkABKwA7
AUABEwBGAUkB8wL/BEkB6wLPBGABEwBGAWABKwA7AWkB8wL/BGkB6wL2BmkBCwPEBoABKwA7AYkB
8wL/BIkB6wIOBaABKwA7AakB8wL/BKkB6wI/BcABKwA7AcABEwBGAckB+wI7AckB8wL/BMkB6wJG
BuABKwA7AekB8wLMBekB6wJ2BQACKwA7AQACEwBGAQkC8wLMBQkC6wLeBSkC6wLeBSkC8wLMBYkB
jgGTAZgB6AHsAfcB/AELAgsCkwKsArMCxgJNA3kDgQP8AfwB/AGRA/wB/AH8AegB/AH8AaQDsQPQ
A/sDBAABAAYABQAHAAYACAAIAAkACQAAAKwBTwAAAGUCVAAAABQCWQAAAHECXgAAAC0DmAAAAEoD
tQAAAMEDugAAALsDywAAAK4GHQEAALwGHQEAAMQGHQEAAM0GIQEAANsGHQEAAO0GHQEAAAEHJgEA
AAsHHQEAABgHHQEAACUHKgECAAQAAwACAAUABQACAAYABwACAAcACQACAA8ACwACABIADQACABMA
DwABABQADwACABcAEQACABwAEwABAB0AEwACAB4AFQABAB8AFQACACAAFwABACEAFwABACMAGQAC
ACIAGQACACQAGwABACUAGwABACcAHQACACYAHQACACgAHwABACkAHwACACoAIQABACsAIQACACwA
IwABAC0AIwACAC4AJQB1AHUAiABtAXQBewGCAXoCgQIEgAAAAQAAAAAAAAAAAAAAAAACAQAAAgAA
AAAAAAAAAAAAAQAKAAAAAAAIAAAAAAAAAAAAAAAKABMAAAAAAAIAAAAAAAAAAAAAAAEAtQEAAAAA
CgAAAAAAAAAAAAAA0AAVBAAAAAABAAAAAAAAAAAAAADLArcJAAAAAAEAAAAAAAAAAAAAAMsC8wkA
AAAACgAAAAAAAAAAAAAA0AALCwAAAAADAAUAAAAAAAAAAAABAMoNAAAAAAAAAAABAAAAnQ4AAAUA
BAAGAAQACgAJAAAAEAAMALsCAAAQABkAuwIAAAAAGwC7Ai0ABgItAIgCAAAAAAA8TW9kdWxlPgBt
c2NvcmxpYgBNaWNyb3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlvbgBTY3JpcHRUYXNrXzhl
MzJiYTBlMTYxZTQ0YTc5NzIyNjk2ZTQyZjM0MmM5LnZicHJvai5NeQBNeUNvbXB1dGVyAE15UHJv
amVjdABNeVdlYlNlcnZpY2VzAFRocmVhZFNhZmVPYmplY3RQcm92aWRlcmAxAE15UmVzb3VyY2Vz
AFNjcmlwdFRhc2tfOGUzMmJhMGUxNjFlNDRhNzk3MjI2OTZlNDJmMzQyYzkudmJwcm9qLk15LlJl
c291cmNlcwBNeVNldHRpbmdzAFNjcmlwdFRhc2tfOGUzMmJhMGUxNjFlNDRhNzk3MjI2OTZlNDJm
MzQyYzkudmJwcm9qAFNjcmlwdE1haW4AU2NyaXB0UmVzdWx0cwBNaWNyb3NvZnQuVmlzdWFsQmFz
aWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9zb2Z0LlZp
c3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0X0NvbXB1
dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBPYmplY3RQ
cm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJTZXJ2aWNl
cwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2aWNlcwBF
cXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19JbnN0YW5j
ZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UATWljcm9z
b2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEAbV9Db250
ZXh0AEdldEluc3RhbmNlAFN5c3RlbS5SZXNvdXJjZXMAUmVzb3VyY2VNYW5hZ2VyAF9yZXNNZ3IA
U3lzdGVtLkdsb2JhbGl6YXRpb24AQ3VsdHVyZUluZm8AX3Jlc0N1bHR1cmUAZ2V0X1Jlc291cmNl
TWFuYWdlcgBnZXRfQ3VsdHVyZQBzZXRfQ3VsdHVyZQBWYWx1ZQBDdWx0dXJlAFN5c3RlbS5Db25m
aWd1cmF0aW9uAEFwcGxpY2F0aW9uU2V0dGluZ3NCYXNlAG1fVmFsdWUAbV9TeW5jT2JqZWN0AGdl
dF9WYWx1ZQBNaWNyb3NvZnQuU3FsU2VydmVyLlNjcmlwdFRhc2sATWljcm9zb2Z0LlNxbFNlcnZl
ci5EdHMuVGFza3MuU2NyaXB0VGFzawBWU1RBUlRTY3JpcHRPYmplY3RNb2RlbEJhc2UATWFpbgBW
YWxpZGF0ZQBlcnJNZXNzYWdlAFZhbGlkYXRlUXVlcnkAdmFsdWUAZ2V0X0NybUNvbm5lY3Rpb24A
c2V0X0NybUNvbm5lY3Rpb24AZ2V0X0pvYk5hbWUAc2V0X0pvYk5hbWUAZ2V0X1F1ZXJ5U2V0AHNl
dF9RdWVyeVNldABEYXRlVGltZQBnZXRfU3RhcnREYXRlVGltZQBzZXRfU3RhcnREYXRlVGltZQBn
ZXRfUmVjdXJyZW5jZVBhdHRlcm4Ac2V0X1JlY3VycmVuY2VQYXR0ZXJuAGdldF9Kb2JJZFJlc3Vs
dFZhcmlhYmxlAHNldF9Kb2JJZFJlc3VsdFZhcmlhYmxlAGdldF9TZW5kRW1haWwAc2V0X1NlbmRF
bWFpbABnZXRfVG9SZWNpcGllbnRzAHNldF9Ub1JlY2lwaWVudHMAZ2V0X0NDUmVjaXBpZW50cwBz
ZXRfQ0NSZWNpcGllbnRzAGdldF9Dcm1Db25uZWN0aW9uVHlwZQBHZXRRdWVyeUV4cHJlc3Npb25f
AHNlcnZpY2UAZmV0Y2hYbWwAR3VpZABHZXRSZWNpcGllbnRzXwByZWNpcGllbnRzAFNldFZhcmlh
YmxlXwBuYW1lAG1fY29ubmVjdGlvbgBtX2pvYk5hbWUAbV9xdWVyeVNldABtX3N0YXJ0RGF0ZQBt
X3JlY3VycmVuY2UAbV9qb2JSZXN1bHQAbV9zZW5kRW1haWwAbV90bwBtX2NjAENybUNvbm5lY3Rp
b24ASm9iTmFtZQBRdWVyeVNldABTdGFydERhdGVUaW1lAFJlY3VycmVuY2VQYXR0ZXJuAEpvYklk
UmVzdWx0VmFyaWFibGUAU2VuZEVtYWlsAFRvUmVjaXBpZW50cwBDQ1JlY2lwaWVudHMAQ3JtQ29u
bmVjdGlvblR5cGUARW51bQB2YWx1ZV9fAFN1Y2Nlc3MARmFpbHVyZQBTeXN0ZW0uQ29tcG9uZW50
TW9kZWwARWRpdG9yQnJvd3NhYmxlQXR0cmlidXRlAEVkaXRvckJyb3dzYWJsZVN0YXRlAFN5c3Rl
bS5Db2RlRG9tLkNvbXBpbGVyAEdlbmVyYXRlZENvZGVBdHRyaWJ1dGUAU3lzdGVtLkRpYWdub3N0
aWNzAERlYnVnZ2VySGlkZGVuQXR0cmlidXRlAE1pY3Jvc29mdC5WaXN1YWxCYXNpYy5Db21waWxl
clNlcnZpY2VzAFN0YW5kYXJkTW9kdWxlQXR0cmlidXRlAEhpZGVNb2R1bGVOYW1lQXR0cmlidXRl
AFN5c3RlbS5Db21wb25lbnRNb2RlbC5EZXNpZ24ASGVscEtleXdvcmRBdHRyaWJ1dGUAU3lzdGVt
LlJ1bnRpbWUuQ29tcGlsZXJTZXJ2aWNlcwBSdW50aW1lSGVscGVycwBHZXRPYmplY3RWYWx1ZQBS
dW50aW1lVHlwZUhhbmRsZQBHZXRUeXBlRnJvbUhhbmRsZQBBY3RpdmF0b3IAQ3JlYXRlSW5zdGFu
Y2UATXlHcm91cENvbGxlY3Rpb25BdHRyaWJ1dGUAc2V0X1ZhbHVlAFN5c3RlbS5SdW50aW1lLklu
dGVyb3BTZXJ2aWNlcwBDb21WaXNpYmxlQXR0cmlidXRlAFN5c3RlbS5SZWZsZWN0aW9uAEFzc2Vt
Ymx5AGdldF9Bc3NlbWJseQBTeXN0ZW0uVGhyZWFkaW5nAE1vbml0b3IARW50ZXIARXhpdABEZWJ1
Z2dlck5vblVzZXJDb2RlQXR0cmlidXRlAENvenlSb2MuU1NJU1BsdXMuMjAwOABDb3p5Um9jLlNx
bFNlcnZlci5TU0lTAElDcm1Db25uZWN0aW9uAENvenlSb2MuRHluYW1pY3MAQ296eVJvYy5EeW5h
bWljcy5Dcm0yMDExLk9yZ2FuaXphdGlvblNlcnZpY2UAT3JnYW5pemF0aW9uUmVxdWVzdABPcmdh
bml6YXRpb25SZXNwb25zZQBPcmdhbml6YXRpb25TZXJ2aWNlQ2xpZW50AENvenlSb2MuRHluYW1p
Y3MuQ3JtLlNlcnZpY2UAQnVsa0RlbGV0ZVJlcXVlc3QAQnVsa0RlbGV0ZVJlc3BvbnNlAENybVNl
cnZpY2UAQ3JtRGF0ZVRpbWUARXhjZXB0aW9uAFF1ZXJ5RXhwcmVzc2lvbgBRdWVyeUJhc2UAU2Ny
aXB0T2JqZWN0TW9kZWwAZ2V0X0R0cwBNaWNyb3NvZnQuU3FsU2VydmVyLk1hbmFnZWREVFMATWlj
cm9zb2Z0LlNxbFNlcnZlci5EdHMuUnVudGltZQBDb25uZWN0aW9ucwBnZXRfQ29ubmVjdGlvbnMA
Q29ubmVjdGlvbk1hbmFnZXIAZ2V0X0l0ZW0AQWNxdWlyZUNvbm5lY3Rpb24AQ29ubmVjdABHZXRT
ZXJ2aWNlAHNldF9SZXF1ZXN0TmFtZQBzZXRfSXRlbQBCb29sZWFuAFN0cmluZwBJc051bGxPckVt
cHR5AEV4ZWN1dGUAc2V0X1NlbmRFbWFpbE5vdGlmaWNhdGlvbgBzZXRfSXNOdWxsAHNldF9Jc051
bGxTcGVjaWZpZWQAQ29udmVydABUb0RhdGVUaW1lAFJlc3BvbnNlAFJlcXVlc3QAZ2V0X0pvYklk
AFByb2plY3REYXRhAFNldFByb2plY3RFcnJvcgBFdmVudHNPYmplY3RXcmFwcGVyAGdldF9FdmVu
dHMAZ2V0X01lc3NhZ2UARW1wdHkARmlyZUVycm9yAENsZWFyUHJvamVjdEVycm9yAENsb3NlAHNl
dF9UYXNrUmVzdWx0AEFwcGxpY2F0aW9uRXhjZXB0aW9uAE1pblZhbHVlAENvbXBhcmUARmV0Y2hY
bWxUb1F1ZXJ5RXhwcmVzc2lvblJlcXVlc3QARmV0Y2hYbWxUb1F1ZXJ5RXhwcmVzc2lvblJlc3Bv
bnNlAHNldF9GZXRjaFhtbABnZXRfUXVlcnkAU3RyaW5nU3BsaXRPcHRpb25zAFNwbGl0AFZhcmlh
YmxlcwBWYXJpYWJsZURpc3BlbnNlcgBnZXRfVmFyaWFibGVEaXNwZW5zZXIATG9ja09uZUZvcldy
aXRlAFZhcmlhYmxlAFVubG9jawBDTFNDb21wbGlhbnRBdHRyaWJ1dGUAU3lzdGVtLkFkZEluAEFk
ZEluQXR0cmlidXRlAENvenlSb2MuU3FsU2VydmVyLlNTSVMuQXR0cmlidXRlcwBWYWxpZGF0ZVBy
b3BlcnRpZXNBdHRyaWJ1dGUAU29ydFByb3BlcnRpZXNBdHRyaWJ1dGUARGVzY3JpcHRpb25BdHRy
aWJ1dGUAQ2F0ZWdvcnlBdHRyaWJ1dGUAVmFyaWFibGVBdHRyaWJ1dGUAQ29ubmVjdGlvbkF0dHJp
YnV0ZQBUZXh0RGlhbG9nQXR0cmlidXRlAFNjcmlwdFRhc2tfOGUzMmJhMGUxNjFlNDRhNzk3MjI2
OTZlNDJmMzQyYzkudmJwcm9qLlJlc291cmNlcy5yZXNvdXJjZXMAQ29tcGlsYXRpb25SZWxheGF0
aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJpbGl0eUF0dHJpYnV0ZQBBc3NlbWJseUZpbGVW
ZXJzaW9uQXR0cmlidXRlAEd1aWRBdHRyaWJ1dGUAQXNzZW1ibHlUcmFkZW1hcmtBdHRyaWJ1dGUA
QXNzZW1ibHlDb3B5cmlnaHRBdHRyaWJ1dGUAQXNzZW1ibHlQcm9kdWN0QXR0cmlidXRlAEFzc2Vt
Ymx5Q29tcGFueUF0dHJpYnV0ZQBBc3NlbWJseURlc2NyaXB0aW9uQXR0cmlidXRlAEFzc2VtYmx5
VGl0bGVBdHRyaWJ1dGUAU2NyaXB0VGFza184ZTMyYmEwZTE2MWU0NGE3OTcyMjY5NmU0MmYzNDJj
OS52YnByb2ouZGxsAAAxTQB5AC4AUgBlAHMAbwB1AHIAYwBlAHMALgBNAHkAUgBlAHMAbwB1AHIA
YwBlAHMAABVCAHUAbABrAEQAZQBsAGUAdABlAAAPSgBvAGIATgBhAG0AZQAAEVEAdQBlAHIAeQBT
AGUAdAAAK1MAZQBuAGQARQBtAGEAaQBsAE4AbwB0AGkAZgBpAGMAYQB0AGkAbwBuAAAbUwB0AGEA
cgB0AEQAYQB0AGUAVABpAG0AZQAAI1IAZQBjAHUAcgByAGUAbgBjAGUAUABhAHQAdABlAHIAbgAA
GVQAbwBSAGUAYwBpAHAAaQBlAG4AdABzAAAZQwBDAFIAZQBjAGkAcABpAGUAbgB0AHMAAAtKAG8A
YgBJAGQAAANzAAAvVQBuAGgAYQBuAGQAbABlAGQAIABzAGUAcgB2AGkAYwBlACAAdAB5AHAAZQAu
AAA7RAB5AG4AYQBtAGkAYwBzACAAQwBSAE0AIABCAHUAbABrACAARABlAGwAZQB0AGUAIABUAGEA
cwBrAAA/UwBlAGwAZQBjAHQAIABEAHkAbgBhAG0AaQBjAHMAIABDAFIATQAgAGMAbwBuAG4AZQBj
AHQAaQBvAG4ALgAAI1MAcABlAGMAaQBmAHkAIABqAG8AYgAgAG4AYQBtAGUALgAAXVMAcABlAGMA
aQBmAHkAIABiAHUAbABrACAAZABlAGwAZQB0AGUAIABjAG8AbgBkAGkAdABpAG8AbgAgAG0AYQB0
AGMAaAAgAHMAdABhAHQAZQBtAGUAbgB0AC4AACtTAHAAZQBjAGkAZgB5ACAAVABvAFIAZQBjAGkA
cABpAGUAbgB0AHMALgAAGUQAWQBOAEEATQBJAEMAUwAtAEMAUgBNAAEzRgBlAHQAYwBoAFgAbQBs
AFQAbwBRAHUAZQByAHkARQB4AHAAcgBlAHMAcwBpAG8AbgAAEUYAZQB0AGMAaABYAG0AbAAAC1EA
dQBlAHIAeQAAAzsAAAAAADWRNwUKSWRBvgu6Y8NEcgMACLd6XFYZNOCJCLA/X38R1Qo6AyAAAQMA
AAEEAAASDAcGFRIYARIMBAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAASFAcGFRIYARIUBAgA
EgwECAASCAQIABIRBAgAEhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAeAAcwAQEBEB4AAhMA
BCAAEwAHBhUSGQETAAQoABMAAwYSHQMGEiEEAAASHQQAABIhBQABARIhBAgAEh0ECAASIQMGEiAC
BhwEAAASIAQIABIgCImEXc2AgMyRBSABAhAOBiACAg4QDgQgAQEOBCAAES0FIAEBES0DIAACBCAB
AQIEIAAdDgUgAhwcDgYgAR0RMQ4FIAIBDhwCBg4CBgIDKAAOBCgAES0DKAACBCgAHQ4CBggDBhEo
BAAAAAAEAQAAAAUgAQERPQgBAAEAAAAAAAUgAgEODhcBAApNeVRlbXBsYXRlBzguMC4wLjAAAAYV
EhgBEgwGFRIYARIIBhUSGAESEQYVEhgBEhQEBwESDAQHARIIBAcBEhEEBwESFBMBAA5NeS5BcHBs
aWNhdGlvbgAAEwEADk15LldlYlNlcnZpY2VzAAAQAQALTXkuQ29tcHV0ZXIAAAwBAAdNeS5Vc2Vy
AAAEAAEcHAMHAQIDBwEIBgABEhURWQQHARIVAwcBDgUQAQAeAAQKAR4ABAcBHgAHIAQBDg4ODmEB
ADRTeXN0ZW0uV2ViLlNlcnZpY2VzLlByb3RvY29scy5Tb2FwSHR0cENsaWVudFByb3RvY29sEkNy
ZWF0ZV9fSW5zdGFuY2VfXxNEaXNwb3NlX19JbnN0YW5jZV9fAAAABhUSGAETAAYVEhkBEwAECgET
AAUgAQETAAYHAhMAEwAFAQAAAAAEIAASaQYgAgEOEmkGBwISHRIdBAcBEiEIAQACAAAAAAAEAAEB
HAQHARIgCBbPSQu4DDTqBSAAEoChBSAAEoClBiABEoCpHAQgARwcBCABHAgEAAECDgYgARJ9EnkE
IAEcDgcgAQEdEoCdBgABES0RLQQgAQ4OBiABARKAkQYgAQEdETEIIAESgLkSgL0EIAARMQYAAQES
gJUFIAASgMUIIAUCCA4ODggEIAEBCCsHERJ1CBExHBwSeRJ9EoCBEoCFEoCJEoCNEoCREoCVHRKA
mRExHRKAnREtBwcDAgISgJUJBwQSdQICEoCVBQABES0OBgcCES0RLQMGES0HAAIIES0RLQYHAh0O
HQ4FIAASgNUUBwgcHBJ5En0SgIESgM0SgNESgI0JIAIdDh0OEYDZDwcHCB0RMR0OHRExCB0OCAUg
ABKA4QggAgEOEBKA3QYgARKA5RwEIAEBHAUHARKA3TkBAApTY3JpcHRNYWluAwBUDgdWZXJzaW9u
AzEuMFQOCVB1Ymxpc2hlcgBUDgtEZXNjcmlwdGlvbgANAQAIVmFsaWRhdGUAAAUgAQEdDn8BAAkA
AAANQ3JtQ29ubmVjdGlvbgdKb2JOYW1lCFF1ZXJ5U2V0DVN0YXJ0RGF0ZVRpbWURUmVjdXJyZW5j
ZVBhdHRlcm4TSm9iSWRSZXN1bHRWYXJpYWJsZQlTZW5kRW1haWwMVG9SZWNpcGllbnRzDENDUmVj
aXBpZW50cwAALwEAKlNwZWNpZnkgYXN5bmNocm9ub3VzIGJ1bGsgZGVsZXRlIGpvYiBuYW1lLgAA
DgEACQlTZXR0aW5ncwAAMAEAK1NwZWNpZnkgam9iIHN0YXJ0IGRhdGUgYW5kIHRpbWUgb2YgdGhl
IGpvYi4AADYBADFTcGVjaWZ5IGpvYiByZWN1cnJlbmNlIHBhdHRlcm4uIEJhc2VkIG9uIFJGQzI0
NDUuAABVAQBQU2VsZWN0IHdoZXRoZXIgYW4gZW1haWwgbm90aWZpY2F0aW9uIGlzIHNlbnQgYWZ0
ZXIgdGhlIGpvYiBoYXMgZmluaXNoZWQgcnVubmluZy4AABEBAAxOb3RpZmljYXRpb24AAGcBAGJT
cGVjaWZ5IElEcyBvZiB1c2VycyB0byByZWNlaXZlIGVtYWlsIG5vdGlmaWNhdGlvbi4gTXVsdGlw
bGUgSURzIGFyZSBzZXBhcmF0ZWQgd2l0aCBzZW1pY29sb24gKDspLgAAOgEANVNlbGVjdCB2YXJp
YWJsZSB3aGVyZSB0byBzdG9yZSByZXN1bHQgam9iIGlkZW50aWZpZXIuAAAWAQARQ3JtQ29ubmVj
dGlvblR5cGUAACQBAB9TZWxlY3QgRHluYW1pY3MgQ1JNIGNvbm5lY3Rpb24uAAAGIAMBDg4OMQEA
GlNwZWNpZnkgRmV0Y2hYTUwgc3RhdGVtZW50DVZhbGlkYXRlUXVlcnkDeG1sAAA/AQA6U3BlY2lm
eSBGZXRjaFhNTCBxdWVyeSB0byBtYXRjaCBlbnRpdGllcyB5b3Ugd2FudCBkZWxldGVkLgAACAEA
CAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9uVGhyb3dzAQwBAAcxLjAuMC4wAAApAQAkY2I2
ZGVhNTktZWZiZi00ZjI1LTkzZDEtNDllNGUwNjIyMjMxAAAFAQABAAAfAQAaQ29weXJpZ2h0IEAg
TWljcm9zb2Z0IDIwMTQAADcBADJTY3JpcHRUYXNrXzhlMzJiYTBlMTYxZTQ0YTc5NzIyNjk2ZTQy
ZjM0MmM5LnZicHJvagAADgEACU1pY3Jvc29mdAAAAAC4UwAAAAAAAAAAAADOUwAAACAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAwFMAAAAAAAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAg
QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAMAAAAoAACADgAA
AEgAAIAQAAAAYAAAgAAAAAAAAAAAAAAAAAAAAgACAAAAeAAAgAMAAACQAACAAAAAAAAAAAAAAAAA
AAABAAB/AACoAACAAAAAAAAAAAAAAAAAAAABAAEAAADAAACAAAAAAAAAAAAAAAAAAAABAAAAAADY
AAAAAAAAAAAAAAAAAAAAAAABAAAAAADoAAAAAAAAAAAAAAAAAAAAAAABAAAAAAD4AAAAAAAAAAAA
AAAAAAAAAAABAAAAAAAIAQAAYGUAAOgCAAAAAAAAAAAAAEhoAAAoAQAAAAAAAAAAAABwaQAAIgAA
AAAAAAAAAAAAGGEAAEgEAAAAAAAAAAAAAEgENAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4A
RgBPAAAAAAC9BO/+AAABAAAAAQAAAAAAAAABAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAA
AAAARAAAAAEAVgBhAHIARgBpAGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQA
aQBvAG4AAAAAAAAAsASoAwAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAACEAwAAAQAw
ADAAMAAwADAANABiADAAAAA0AAoAAQBDAG8AbQBwAGEAbgB5AE4AYQBtAGUAAAAAAE0AaQBjAHIA
bwBzAG8AZgB0AAAAkAAzAAEARgBpAGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFMAYwBy
AGkAcAB0AFQAYQBzAGsAXwA4AGUAMwAyAGIAYQAwAGUAMQA2ADEAZQA0ADQAYQA3ADkANwAyADIA
NgA5ADYAZQA0ADIAZgAzADQAMgBjADkALgB2AGIAcAByAG8AagAAAAAAMAAIAAEARgBpAGwAZQBW
AGUAcgBzAGkAbwBuAAAAAAAxAC4AMAAuADAALgAwAAAAkAA3AAEASQBuAHQAZQByAG4AYQBsAE4A
YQBtAGUAAABTAGMAcgBpAHAAdABUAGEAcwBrAF8AOABlADMAMgBiAGEAMABlADEANgAxAGUANAA0
AGEANwA5ADcAMgAyADYAOQA2AGUANAAyAGYAMwA0ADIAYwA5AC4AdgBiAHAAcgBvAGoALgBkAGwA
bAAAAAAAXAAbAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAQwBvAHAAeQByAGkAZwBo
AHQAIABAACAATQBpAGMAcgBvAHMAbwBmAHQAIAAyADAAMQA0AAAAAACYADcAAQBPAHIAaQBnAGkA
bgBhAGwARgBpAGwAZQBuAGEAbQBlAAAAUwBjAHIAaQBwAHQAVABhAHMAawBfADgAZQAzADIAYgBh
ADAAZQAxADYAMQBlADQANABhADcAOQA3ADIAMgA2ADkANgBlADQAMgBmADMANAAyAGMAOQAuAHYA
YgBwAHIAbwBqAC4AZABsAGwAAAAAAIgAMwABAFAAcgBvAGQAdQBjAHQATgBhAG0AZQAAAAAAUwBj
AHIAaQBwAHQAVABhAHMAawBfADgAZQAzADIAYgBhADAAZQAxADYAMQBlADQANABhADcAOQA3ADIA
MgA2ADkANgBlADQAMgBmADMANAAyAGMAOQAuAHYAYgBwAHIAbwBqAAAAAAA0AAgAAQBQAHIAbwBk
AHUAYwB0AFYAZQByAHMAaQBvAG4AAAAxAC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIA
bAB5ACAAVgBlAHIAcwBpAG8AbgAAADEALgAwAC4AMAAuADAAAAAoAAAAIAAAAEAAAAABAAQAAAAA
AIACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAA
AAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd3d3d3d3d3d3d3d3d3dwBERERERE
REREREREREREcAT/////////////////9HAE//////////////////RwBP/////////////////0
cAT/////////////////9HAE//////////////////RwBP/////////////////0cAT/////////
////////9HAE//////////////////RwBP/////////////////0cAT/////////////////9HAE
//////////////////RwBP/////////////////0cAT/////////////////9HAE////////////
//////RwBP/////////////////0cAT/////////////////9HAE//////////////////RwBP//
///////////////0cASIiIiIiIiIiIiIiIiIhHAERERERERERERERERERERwBExMTExMTExMTE7O
zkl0cATMzMzMzMzMzMzMzMzMxAAAREREREREREREREREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////8AAAAGAAAABgAAAAYAA
AAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAA
AYAAAAGAAAABgAAAAYAAAAGAAAABgAAAA8AAAAf///////////////8oAAAAEAAAACAAAAABAAQA
AAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADA
wMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAB3d3d3d3d3dERERERERER0//
//////hHT///////+EdP///////4R0////////hHT///////+EdP///////4R0////////hHT///
////+EdIiIiIiIiIR0zMzMzMzMxHxERERERERMAAAAAAAAAAAAAAAAAAAAAA//8AAIAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAD//wAA//8AAAAAAQAC
ACAgEAABAAQA6AIAAAIAEBAQAAEABAAoAQAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAMAAAA4DMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</BinaryItem>
</ScriptProject>