From 49b635de91c9822e7122351204ede5660bfe87e8 Mon Sep 17 00:00:00 2001 From: Jelle Luteijn Date: Sun, 15 May 2022 09:33:41 +0200 Subject: [PATCH] update to VS2022 --- .../config/applicationhost.config | 1029 ++ aspclassiccompiler/ASPClassicCompiler.sln | 125 +- aspclassiccompiler/AspWebApp/AspWebApp.csproj | 360 +- .../Backup/ASPClassicCompiler.sln | 60 + .../Backup/AspWebApp/AspWebApp.csproj | 171 + .../Backup/AspWebApp/Database/AddDelete.asp | 59 + .../Backup/AspWebApp/Database/Authors.mdb | Bin 0 -> 339968 bytes .../Backup/AspWebApp/Database/Blob.Asp | 48 + .../Backup/AspWebApp/Database/LimitRows.asp | 93 + .../AspWebApp/Database/MultiScrolling.asp | 124 + .../Backup/AspWebApp/Database/SimpleQuery.asp | 71 + .../AspWebApp/Database/StoredProcedures.asp | 63 + .../Backup/AspWebApp/Database/Update.asp | 54 + .../Backup/AspWebApp/Database/adovbs.inc | 33 + .../AspWebApp/Properties/AssemblyInfo.cs | 35 + .../Backup/AspWebApp/Simple/Arrays.asp | 112 + .../Backup/AspWebApp/Simple/Components.Asp | 40 + .../Backup/AspWebApp/Simple/Conditional.asp | 60 + .../Backup/AspWebApp/Simple/Functions.asp | 54 + .../Backup/AspWebApp/Simple/HeaderInfo.Asp | 1 + .../Backup/AspWebApp/Simple/Includes.asp | 32 + .../Backup/AspWebApp/Simple/Looping.asp | 71 + .../Backup/AspWebApp/Simple/Variables.asp | 90 + .../Backup/AspWebApp/Web.config | 26 + .../Backup/AspWebApp/components/AdRotator.asp | 34 + .../AspWebApp/components/BrowserCap.asp | 170 + .../Backup/AspWebApp/components/CDO.Asp | 48 + .../AspWebApp/components/ContentRotator.Asp | 46 + .../components/Counters/Docs/Contents.Htm | 15 + .../components/Counters/Docs/Counter1.Htm | 143 + .../components/Counters/Docs/Counter2.Htm | 85 + .../components/Counters/Docs/Counter3.Htm | 78 + .../components/Counters/Docs/Counter4.Htm | 68 + .../components/Counters/Docs/Counter5.Htm | 74 + .../components/Counters/Docs/Default.Htm | 16 + .../Counters/Sample/Counters_JScript.Asp | 33 + .../Counters/Sample/Counters_VBScript.Asp | 31 + .../components/Counters/Sample/Global.Asa | 41 + .../AspWebApp/components/Counters/TOURL.Htm | 2 + .../AspWebApp/components/FileSystem.Asp | 68 + .../AspWebApp/components/PermissionCheck.Asp | 38 + .../Backup/AspWebApp/components/Tiprot.Txt | 12 + .../Backup/AspWebApp/components/Tools.Asp | 96 + .../Backup/AspWebApp/components/adrot.txt | 14 + .../Backup/AspWebApp/components/clientcap.htm | 74 + .../Backup/AspWebApp/components/ie.gif | Bin 0 -> 8609 bytes .../Backup/AspWebApp/components/nts_iis.gif | Bin 0 -> 6368 bytes .../Backup/AspWebApp/default.htm | 48 + .../AspWebApp/test/BuiltinConstants.asp | 13 + .../Backup/AspWebApp/test/byref.asp | 15 + .../Backup/AspWebApp/test/byref2.asp | 8 + .../Backup/AspWebApp/test/call.asp | 12 + .../Backup/AspWebApp/test/datatypes.asp | 11 + .../Backup/AspWebApp/test/datetest.asp | 25 + .../Backup/AspWebApp/test/extension.asp | 6 + .../Backup/AspWebApp/test/forloop.asp | 17 + .../Backup/AspWebApp/test/function.asp | 24 + .../Backup/AspWebApp/test/if.asp | 24 + .../Backup/AspWebApp/test/ifnull.asp | 10 + .../Backup/AspWebApp/test/imports.asp | 12 + .../Backup/AspWebApp/test/literals.asp | 12 + .../Backup/AspWebApp/test/perftest.asp | 20 + .../Backup/AspWebApp/test/perftest2.asp | 24 + .../Backup/AspWebApp/test/servervars.asp | 14 + .../Backup/AspWebApp/test/with.asp | 15 + .../Backup/NerdDinnerAsp/Content/Site.css | 378 + .../Backup/NerdDinnerAsp/Content/nerd.jpg | Bin 0 -> 33073 bytes .../Controllers/AccountController.cs | 297 + .../Controllers/DinnersController.cs | 189 + .../Controllers/HomeController.cs | 20 + .../Controllers/RSVPController.cs | 45 + .../Controllers/SearchController.cs | 55 + .../Backup/NerdDinnerAsp/Default.aspx | 3 + .../Backup/NerdDinnerAsp/Default.aspx.cs | 13 + .../Backup/NerdDinnerAsp/Global.asax | 1 + .../Backup/NerdDinnerAsp/Global.asax.cs | 37 + .../Helpers/ControllerHelpers.cs | 19 + .../NerdDinnerAsp/Helpers/PaginatedList.cs | 35 + .../NerdDinnerAsp/Helpers/PhoneValidator.cs | 32 + .../Backup/NerdDinnerAsp/Models/Dinner.cs | 56 + .../NerdDinnerAsp/Models/DinnerRepository.cs | 58 + .../NerdDinnerAsp/Models/IDinnerRepository.cs | 18 + .../NerdDinnerAsp/Models/NerdDinner.dbml | 41 + .../Models/NerdDinner.dbml.layout | 25 + .../Models/NerdDinner.designer.cs | 583 ++ .../NerdDinnerAsp/Models/RuleViolation.cs | 22 + .../Backup/NerdDinnerAsp/NerdDinnerAsp.csproj | 215 + .../NerdDinnerAsp/Properties/AssemblyInfo.cs | 35 + .../Backup/NerdDinnerAsp/Scripts/Map.js | 138 + .../Scripts/MicrosoftAjax.debug.js | 6850 +++++++++++++ .../NerdDinnerAsp/Scripts/MicrosoftAjax.js | 7 + .../Scripts/MicrosoftMvcAjax.debug.js | 337 + .../NerdDinnerAsp/Scripts/MicrosoftMvcAjax.js | 19 + .../Scripts/jquery-1.2.6-vsdoc.js | 5367 ++++++++++ .../NerdDinnerAsp/Scripts/jquery-1.2.6.js | 3566 +++++++ .../Scripts/jquery-1.2.6.min-vsdoc.js | 5367 ++++++++++ .../NerdDinnerAsp/Scripts/jquery-1.2.6.min.js | 49 + .../Views/Account/ChangePassword.aspx | 42 + .../Views/Account/ChangePasswordSuccess.aspx | 12 + .../NerdDinnerAsp/Views/Account/LogOn.aspx | 37 + .../NerdDinnerAsp/Views/Account/Register.aspx | 47 + .../NerdDinnerAsp/Views/Dinners/Create.asp | 25 + .../NerdDinnerAsp/Views/Dinners/Delete.asp | 39 + .../NerdDinnerAsp/Views/Dinners/Deleted.asp | 33 + .../NerdDinnerAsp/Views/Dinners/Details.asp | 57 + .../Views/Dinners/DinnerForm.asc | 75 + .../NerdDinnerAsp/Views/Dinners/Edit.asp | 27 + .../Views/Dinners/EditAndDeleteLinks.asc | 7 + .../NerdDinnerAsp/Views/Dinners/Index.asp | 62 + .../Views/Dinners/InvalidOwner.asp | 27 + .../NerdDinnerAsp/Views/Dinners/Map.asp | 28 + .../NerdDinnerAsp/Views/Dinners/NotFound.asp | 29 + .../Views/Dinners/RSVPStatus.asc | 39 + .../Backup/NerdDinnerAsp/Views/Home/About.asp | 35 + .../Backup/NerdDinnerAsp/Views/Home/Index.asp | 60 + .../NerdDinnerAsp/Views/Shared/Error.aspx | 11 + .../Views/Shared/LoginStatus.ascx | 14 + .../NerdDinnerAsp/Views/Shared/Site.Master | 43 + .../NerdDinnerAsp/Views/Shared/header.asp | 17 + .../NerdDinnerAsp/Views/Shared/template.asp | 25 + .../Backup/NerdDinnerAsp/Views/Web.config | 34 + .../Backup/NerdDinnerAsp/Web.config | 156 + .../Backup/Parser/AssemblyInfo.vb | 22 + .../Backup/Parser/ExternalChecksum.vb | 57 + .../Backup/Parser/ExternalLineMapping.vb | 68 + .../Backup/Parser/IntegerBase.vb | 24 + .../Backup/Parser/LanguageVersion.vb | 27 + aspclassiccompiler/Backup/Parser/Location.vb | 160 + .../Parser/My Project/Application.Designer.vb | 13 + .../Parser/My Project/Application.myapp | 11 + aspclassiccompiler/Backup/Parser/Parser.vb | 6861 +++++++++++++ .../Backup/Parser/Parser.vbproj | 468 + aspclassiccompiler/Backup/Parser/Scanner.vb | 1361 +++ .../Parser/Serializers/ErrorXmlSerializer.vb | 40 + .../Parser/Serializers/TokenXmlSerializer.vb | 126 + .../Parser/Serializers/TreeXmlSerializer.vb | 1403 +++ .../Backup/Parser/SourceRegion.vb | 56 + aspclassiccompiler/Backup/Parser/Span.vb | 91 + .../Backup/Parser/SyntaxError.vb | 236 + .../Backup/Parser/SyntaxErrorType.vb | 204 + .../Parser/Tokens/CharacterLiteralToken.vb | 37 + .../Backup/Parser/Tokens/CommentToken.vb | 54 + .../Backup/Parser/Tokens/DateLiteralToken.vb | 37 + .../Parser/Tokens/DecimalLiteralToken.vb | 55 + .../Backup/Parser/Tokens/EndOfStreamToken.vb | 25 + .../Backup/Parser/Tokens/ErrorToken.vb | 42 + .../Tokens/FloatingPointLiteralToken.vb | 56 + .../Backup/Parser/Tokens/IdentifierToken.vb | 313 + .../Parser/Tokens/IntegerLiteralToken.vb | 74 + .../Parser/Tokens/LineTerminatorToken.vb | 24 + .../Backup/Parser/Tokens/PunctuatorToken.vb | 89 + .../Parser/Tokens/StringLiteralToken.vb | 42 + .../Backup/Parser/Tokens/Token.vb | 49 + .../Backup/Parser/Tokens/TokenType.vb | 236 + .../Tokens/UnsignedIntegerLiteralToken.vb | 76 + .../Backup/Parser/Trees/Arguments/Argument.vb | 78 + .../Trees/Arguments/ArgumentCollection.vb | 40 + .../Parser/Trees/Attributes/Attribute.vb | 98 + .../Attributes/AttributeBlockCollection.vb | 29 + .../Trees/Attributes/AttributeCollection.vb | 44 + .../Parser/Trees/Attributes/AttributeTypes.vb | 24 + .../Backup/Parser/Trees/BlockType.vb | 47 + .../Parser/Trees/CaseClauses/CaseClause.vb | 22 + .../Trees/CaseClauses/CaseClauseCollection.vb | 30 + .../Trees/CaseClauses/ComparisonCaseClause.vb | 88 + .../Trees/CaseClauses/RangeCaseClause.vb | 48 + .../ColonDelimitedTreeCollection.vb | 37 + .../CommaDelimitedTreeCollection.vb | 37 + .../Trees/Collections/TreeCollection.vb | 103 + .../Backup/Parser/Trees/Comments/Comment.vb | 54 + .../Declarations/AttributeDeclaration.vb | 49 + .../Trees/Declarations/BlockDeclaration.vb | 86 + .../Parser/Trees/Declarations/Declaration.vb | 44 + .../Declarations/DeclarationCollection.vb | 32 + .../Trees/Declarations/EmptyDeclaration.vb | 25 + .../Trees/Declarations/EndBlockDeclaration.vb | 71 + .../Trees/Declarations/ModifiedDeclaration.vb | 52 + .../Trees/Expressions/AddressOfExpression.vb | 25 + .../Expressions/BinaryOperatorExpression.vb | 100 + .../Expressions/BooleanLiteralExpression.vb | 43 + .../Trees/Expressions/CTypeExpression.vb | 29 + .../Expressions/CallOrIndexExpression.vb | 62 + .../Trees/Expressions/CastTypeExpression.vb | 79 + .../Expressions/CharacterLiteralExpression.vb | 44 + .../Expressions/DateLiteralExpression.vb | 44 + .../Expressions/DecimalLiteralExpression.vb | 62 + .../Expressions/DictionaryLookupExpression.vb | 74 + .../Trees/Expressions/DirectCastExpression.vb | 29 + .../Parser/Trees/Expressions/Expression.vb | 50 + .../Trees/Expressions/ExpressionCollection.vb | 31 + .../FloatingPointLiteralExpression.vb | 63 + .../Expressions/GenericQualifiedExpression.vb | 66 + .../Trees/Expressions/GetTypeExpression.vb | 72 + .../Trees/Expressions/GlobalExpression.vb | 24 + .../Trees/Expressions/InstanceExpression.vb | 42 + .../Parser/Trees/Expressions/InstanceType.vb | 18 + .../Expressions/IntegerLiteralExpression.vb | 80 + .../Expressions/IntrinsicCastExpression.vb | 71 + .../Trees/Expressions/LiteralExpression.vb | 31 + .../Expressions/NewAggregateExpression.vb | 66 + .../Parser/Trees/Expressions/NewExpression.vb | 62 + .../Trees/Expressions/NothingExpression.vb | 30 + .../Parser/Trees/Expressions/OperatorType.vb | 48 + .../Expressions/ParentheticalExpression.vb | 39 + .../Trees/Expressions/QualifiedExpression.vb | 74 + .../Trees/Expressions/SimpleNameExpression.vb | 48 + .../Expressions/StringLiteralExpression.vb | 49 + .../Trees/Expressions/TryCastExpression.vb | 29 + .../Trees/Expressions/TypeOfExpression.vb | 62 + .../Expressions/TypeReferenceExpression.vb | 47 + .../Trees/Expressions/UnaryExpression.vb | 54 + .../Expressions/UnaryOperatorExpression.vb | 43 + .../Backup/Parser/Trees/Files/File.vb | 44 + .../Parser/Trees/Files/ImportsDeclaration.vb | 51 + .../Trees/Files/NamespaceDeclaration.vb | 93 + .../Parser/Trees/Files/OptionDeclaration.vb | 67 + .../Backup/Parser/Trees/Files/OptionType.vb | 24 + .../Backup/Parser/Trees/Files/ScriptBlock.vb | 32 + .../Parser/Trees/Imports/AliasImport.vb | 79 + .../Backup/Parser/Trees/Imports/Import.vb | 22 + .../Parser/Trees/Imports/ImportCollection.vb | 31 + .../Backup/Parser/Trees/Imports/NameImport.vb | 48 + .../Initializers/AggregateInitializer.vb | 47 + .../Initializers/ExpressionInitializer.vb | 48 + .../Parser/Trees/Initializers/Initializer.vb | 22 + .../Initializers/InitializerCollection.vb | 38 + .../Backup/Parser/Trees/IntrinsicType.vb | 31 + .../Members/AddHandlerAccessorDeclaration.vb | 88 + .../Backup/Parser/Trees/Members/Charset.vb | 18 + .../Trees/Members/ConstructorDeclaration.vb | 32 + .../Trees/Members/CustomEventDeclaration.vb | 92 + .../Trees/Members/EnumValueDeclaration.vb | 78 + .../Parser/Trees/Members/EventDeclaration.vb | 53 + .../Trees/Members/ExternalDeclaration.vb | 108 + .../Members/ExternalFunctionDeclaration.vb | 40 + .../Trees/Members/ExternalSubDeclaration.vb | 37 + .../Trees/Members/FunctionDeclaration.vb | 38 + .../Trees/Members/GetAccessorDeclaration.vb | 75 + .../Parser/Trees/Members/MethodDeclaration.vb | 83 + .../Trees/Members/OperatorDeclaration.vb | 48 + .../Trees/Members/PropertyDeclaration.vb | 82 + .../Members/RaiseEventAccessorDeclaration.vb | 88 + .../RemoveHandlerAccessorDeclaration.vb | 88 + .../Trees/Members/SetAccessorDeclaration.vb | 89 + .../Trees/Members/SignatureDeclaration.vb | 114 + .../Parser/Trees/Members/SubDeclaration.vb | 35 + .../Trees/Members/VariableListDeclaration.vb | 52 + .../Backup/Parser/Trees/Modifiers/Modifier.vb | 44 + .../Trees/Modifiers/ModifierCollection.vb | 44 + .../Parser/Trees/Modifiers/ModifierTypes.vb | 44 + .../Backup/Parser/Trees/Names/Name.vb | 22 + .../Parser/Trees/Names/NameCollection.vb | 29 + .../Parser/Trees/Names/QualifiedName.vb | 78 + .../Backup/Parser/Trees/Names/SimpleName.vb | 96 + .../Backup/Parser/Trees/Names/SpecialName.vb | 26 + .../Parser/Trees/Names/SpecialNameTypes.vb | 18 + .../Backup/Parser/Trees/Names/VariableName.vb | 65 + .../Trees/Names/VariableNameCollection.vb | 29 + .../Parser/Trees/Parameters/Parameter.vb | 128 + .../Trees/Parameters/ParameterCollection.vb | 40 + .../Trees/Statements/AddHandlerStatement.vb | 28 + .../Trees/Statements/AssignmentStatement.vb | 100 + .../Parser/Trees/Statements/BlockStatement.vb | 38 + .../Parser/Trees/Statements/CallStatement.vb | 75 + .../Trees/Statements/CaseBlockStatement.vb | 50 + .../Statements/CaseElseBlockStatement.vb | 50 + .../Trees/Statements/CaseElseStatement.vb | 39 + .../Parser/Trees/Statements/CaseStatement.vb | 48 + .../Trees/Statements/CatchBlockStatement.vb | 50 + .../Parser/Trees/Statements/CatchStatement.vb | 97 + .../Statements/CompoundAssignmentStatement.vb | 95 + .../Trees/Statements/ContinueStatement.vb | 59 + .../Trees/Statements/DoBlockStatement.vb | 85 + .../Trees/Statements/ElseBlockStatement.vb | 50 + .../Trees/Statements/ElseIfBlockStatement.vb | 50 + .../Trees/Statements/ElseIfStatement.vb | 60 + .../Parser/Trees/Statements/ElseStatement.vb | 25 + .../Parser/Trees/Statements/EmptyStatement.vb | 25 + .../Trees/Statements/EndBlockStatement.vb | 55 + .../Parser/Trees/Statements/EndStatement.vb | 25 + .../Parser/Trees/Statements/EraseStatement.vb | 48 + .../Parser/Trees/Statements/ErrorStatement.vb | 26 + .../Parser/Trees/Statements/ExitStatement.vb | 60 + .../Statements/ExpressionBlockStatement.vb | 58 + .../Trees/Statements/ExpressionStatement.vb | 47 + .../Trees/Statements/FinallyBlockStatement.vb | 50 + .../Trees/Statements/FinallyStatement.vb | 25 + .../Trees/Statements/ForBlockStatement.vb | 157 + .../Trees/Statements/ForEachBlockStatement.vb | 117 + .../Parser/Trees/Statements/GotoStatement.vb | 27 + .../Trees/Statements/HandlerStatement.vb | 73 + .../Trees/Statements/IfBlockStatement.vb | 105 + .../Statements/LabelReferenceStatement.vb | 52 + .../Parser/Trees/Statements/LabelStatement.vb | 27 + .../Trees/Statements/LineIfStatement.vb | 101 + .../Statements/LocalDeclarationStatement.vb | 67 + .../Parser/Trees/Statements/LoopStatement.vb | 69 + .../Statements/MidAssignmentStatement.vb | 170 + .../Parser/Trees/Statements/NextStatement.vb | 44 + .../Trees/Statements/OnErrorStatement.vb | 99 + .../Parser/Trees/Statements/OnErrorType.vb | 20 + .../Trees/Statements/RaiseEventStatement.vb | 63 + .../Parser/Trees/Statements/ReDimStatement.vb | 69 + .../Statements/RemoveHandlerStatement.vb | 28 + .../Trees/Statements/ResumeStatement.vb | 63 + .../Parser/Trees/Statements/ResumeType.vb | 18 + .../Trees/Statements/ReturnStatement.vb | 26 + .../Trees/Statements/SelectBlockStatement.vb | 103 + .../Parser/Trees/Statements/Statement.vb | 38 + .../Trees/Statements/StatementCollection.vb | 31 + .../Parser/Trees/Statements/StopStatement.vb | 25 + .../Statements/SyncLockBlockStatement.vb | 28 + .../Parser/Trees/Statements/ThrowStatement.vb | 26 + .../Trees/Statements/TryBlockStatement.vb | 75 + .../Trees/Statements/UsingBlockStatement.vb | 64 + .../Parser/Trees/Statements/WhileStatement.vb | 28 + .../Parser/Trees/Statements/WithStatement.vb | 28 + .../Backup/Parser/Trees/Tree.vb | 112 + .../Backup/Parser/Trees/TreeType.vb | 200 + .../Parser/Trees/TypeNames/ArrayTypeName.vb | 77 + .../Trees/TypeNames/ConstructedTypeName.vb | 48 + .../Trees/TypeNames/IntrinsicTypeName.vb | 42 + .../Parser/Trees/TypeNames/NamedTypeName.vb | 67 + .../Trees/TypeNames/TypeArgumentCollection.vb | 52 + .../Backup/Parser/Trees/TypeNames/TypeName.vb | 22 + .../Trees/TypeNames/TypeNameCollection.vb | 30 + .../TypeConstraintCollection.vb | 40 + .../Trees/TypeParameters/TypeParameter.vb | 74 + .../TypeParameters/TypeParameterCollection.vb | 52 + .../Parser/Trees/Types/ClassDeclaration.vb | 32 + .../Parser/Trees/Types/DelegateDeclaration.vb | 39 + .../Types/DelegateFunctionDeclaration.vb | 39 + .../Trees/Types/DelegateSubDeclaration.vb | 32 + .../Parser/Trees/Types/EnumDeclaration.vb | 65 + .../Trees/Types/GenericBlockDeclaration.vb | 42 + .../Trees/Types/ImplementsDeclaration.vb | 51 + .../Parser/Trees/Types/InheritsDeclaration.vb | 51 + .../Trees/Types/InterfaceDeclaration.vb | 32 + .../Parser/Trees/Types/ModuleDeclaration.vb | 31 + .../Trees/Types/StructureDeclaration.vb | 32 + .../VariableDeclarators/VariableDeclarator.vb | 126 + .../VariableDeclaratorCollection.vb | 30 + .../Backup/Parser/TypeCharacter.vb | 69 + aspclassiccompiler/Backup/VBSC/Program.cs | 48 + .../Backup/VBSC/Properties/AssemblyInfo.cs | 35 + aspclassiccompiler/Backup/VBSC/VBSC.csproj | 88 + aspclassiccompiler/Backup/VBSC/test/array.vbs | 3 + .../Backup/VBSC/test/builtin.vbs | 3 + .../Backup/VBSC/test/dotnet.vbs | 6 + .../Backup/VBSC/test/dountil.vbs | 8 + .../Backup/VBSC/test/dowhile.vbs | 8 + aspclassiccompiler/Backup/VBSC/test/for.vbs | 6 + .../Backup/VBSC/test/foreach.vbs | 9 + .../Backup/VBSC/test/function.vbs | 5 + aspclassiccompiler/Backup/VBSC/test/hello.vbs | 1 + aspclassiccompiler/Backup/VBSC/test/if.vbs | 13 + aspclassiccompiler/Backup/VBSC/test/new.vbs | 9 + aspclassiccompiler/Backup/VBSC/test/sub.vbs | 8 + .../Backup/VBSC/test/variables.vbs | 3 + aspclassiccompiler/Backup/VBSC/test/while.vbs | 7 + .../Binders/VBScriptBinaryOperationBinder.cs | 183 + .../Binders/VBScriptCreateInstanceBinder.cs | 88 + .../Binders/VBScriptGetIndexBinder.cs | 67 + .../Binders/VBScriptGetMemberBinder.cs | 72 + .../VBScript/Binders/VBScriptInvokeBinder.cs | 81 + .../Binders/VBScriptInvokeMemberBinder.cs | 215 + .../Binders/VBScriptSetIndexBinder.cs | 80 + .../Binders/VBScriptSetMemberBinder.cs | 96 + .../Binders/VBScriptUnaryOperationBinder.cs | 83 + .../Backup/VBScript/Compiler/AnalysisScope.cs | 295 + .../Backup/VBScript/Compiler/DocSpan.cs | 19 + .../Backup/VBScript/Compiler/ISourceMapper.cs | 12 + .../Backup/VBScript/Compiler/Set.cs | 88 + .../Backup/VBScript/Compiler/SourceUtil.cs | 179 + .../VBScript/Compiler/VBScriptAnalyzer.cs | 136 + .../Compiler/VBScriptCompilerException.cs | 21 + .../VBScript/Compiler/VBScriptGenerator.cs | 1844 ++++ .../Compiler/VBScriptSourceCodeReader.cs | 24 + .../VBScript/Compiler/VBScriptSourceMapper.cs | 66 + .../Compiler/VBScriptStringContentProvider.cs | 27 + .../VBScript/Compiler/VBScriptSyntaxError.cs | 23 + .../VBScript/Properties/AssemblyInfo.cs | 35 + .../VBScript/Runtime/BuiltInConstants.cs | 95 + .../VBScript/Runtime/BuiltInFunctions.cs | 1270 +++ .../VBScript/Runtime/DynamicObjectHelpers.cs | 118 + .../Backup/VBScript/Runtime/ErrObject.cs | 84 + .../VBScript/Runtime/HelperFunctions.cs | 667 ++ .../Backup/VBScript/Runtime/IAssert.cs | 30 + .../Backup/VBScript/Runtime/ITrace.cs | 19 + .../VBScript/Runtime/InvokeMemberBinderKey.cs | 50 + .../Backup/VBScript/Runtime/RuntimeHelpers.cs | 683 ++ .../VBScript/Runtime/StringExtensionsClass.cs | 25 + .../Backup/VBScript/Runtime/TraceHelper.cs | 49 + .../Backup/VBScript/Runtime/TypeModel.cs | 42 + .../VBScript/Runtime/TypeModelMetaObject.cs | 197 + .../Runtime/VBScriptRuntimeException.cs | 50 + .../Backup/VBScript/VBScript.cs | 465 + .../Backup/VBScript/VBScript.csproj | 132 + .../Backup/VBScript/hosting/VBScriptCode.cs | 59 + .../VBScript/hosting/VBScriptContext.cs | 93 + .../Backup/VBScriptTest/DirectoryWalker.cs | 53 + .../Backup/VBScriptTest/NunitAssert.cs | 122 + .../VBScriptTest/Properties/AssemblyInfo.cs | 35 + .../VBScriptTest/UnmanagedVBScriptTest.cs | 34 + .../VBScriptTest/UnmangedVBScriptHost.cs | 38 + .../Backup/VBScriptTest/VBScriptTest.csproj | 93 + .../Backup/VBScriptTest/VBScriptTestHelper.cs | 41 + .../VBScriptTest/VBScripts/DataTypes.vbs | 2 + .../Backup/VBScriptTest/VBscriptDotNetTest.cs | 84 + aspclassiccompiler/Backup/asp/Asp.csproj | 128 + aspclassiccompiler/Backup/asp/AspHandler.cs | 124 + .../Backup/asp/AspHandlerConfiguration.cs | 28 + aspclassiccompiler/Backup/asp/AspHelper.cs | 47 + aspclassiccompiler/Backup/asp/AspHost.cs | 107 + .../Backup/asp/AspHostConfiguration.cs | 14 + aspclassiccompiler/Backup/asp/AspPageDom.cs | 208 + .../asp/BuiltInObjects/AspApplication.cs | 69 + .../asp/BuiltInObjects/AspCookieCollection.cs | 69 + .../Backup/asp/BuiltInObjects/AspError.cs | 83 + .../Backup/asp/BuiltInObjects/AspForm.cs | 81 + .../Backup/asp/BuiltInObjects/AspFormValue.cs | 47 + .../BuiltInObjects/AspNameValueCollection.cs | 86 + .../asp/BuiltInObjects/AspObjectContext.cs | 18 + .../asp/BuiltInObjects/AspReadCookie.cs | 74 + .../Backup/asp/BuiltInObjects/AspRequest.cs | 82 + .../Backup/asp/BuiltInObjects/AspResponse.cs | 169 + .../Backup/asp/BuiltInObjects/AspServer.cs | 89 + .../Backup/asp/BuiltInObjects/AspSession.cs | 70 + .../AspStaticObjectsVariantDictionary.cs | 65 + .../asp/BuiltInObjects/AspStringList.cs | 43 + .../BuiltInObjects/AspVariantDictionary.cs | 78 + .../asp/BuiltInObjects/AspWriteCookie.cs | 60 + aspclassiccompiler/Backup/asp/CompiledPage.cs | 43 + aspclassiccompiler/Backup/asp/Mvc/AspView.cs | 128 + .../Backup/asp/Mvc/AspViewEngine.cs | 38 + .../Backup/asp/Mvc/RouteValueExtensions.cs | 27 + .../Backup/asp/Properties/AssemblyInfo.cs | 36 + .../NerdDinnerAsp/NerdDinnerAsp.csproj | 437 +- .../Parser/My Project/Application.Designer.vb | 26 +- aspclassiccompiler/Parser/Parser.vbproj | 937 +- aspclassiccompiler/UpgradeLog.htm | Bin 0 -> 384076 bytes aspclassiccompiler/UpgradeLog2.htm | Bin 0 -> 29192 bytes aspclassiccompiler/VBSC/VBSC.csproj | 7 +- .../VBScript/Runtime/DynamicObjectHelpers.cs | 16 +- .../VBScript/Runtime/RuntimeHelpers.cs | 6 +- aspclassiccompiler/VBScript/VBScript.cs | 8 +- aspclassiccompiler/VBScript/VBScript.csproj | 7 +- .../VBScript/hosting/VBScriptCode.cs | 4 +- .../VBScriptTest/VBScriptTest.csproj | 7 +- aspclassiccompiler/asp/Asp.csproj | 39 +- aspclassiccompiler/asp/packages.config | 7 + .../bin/Release/Dlrsoft.Asp.dll | Bin 29696 -> 29184 bytes .../bin/Release/Dlrsoft.Asp.pdb | Bin 124416 -> 116224 bytes .../bin/Release/Dlrsoft.VBParser.dll | Bin 204800 -> 186368 bytes .../bin/Release/Dlrsoft.VBParser.xml | 8727 +++++++++-------- .../bin/Release/Dlrsoft.VBScript.dll | Bin 94208 -> 91136 bytes .../bin/Release/Dlrsoft.VBScript.pdb | Bin 263680 -> 245248 bytes 457 files changed, 68000 insertions(+), 4917 deletions(-) create mode 100644 aspclassiccompiler/.vs/ASPClassicCompiler/config/applicationhost.config create mode 100644 aspclassiccompiler/Backup/ASPClassicCompiler.sln create mode 100644 aspclassiccompiler/Backup/AspWebApp/AspWebApp.csproj create mode 100644 aspclassiccompiler/Backup/AspWebApp/Database/AddDelete.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Database/Authors.mdb create mode 100644 aspclassiccompiler/Backup/AspWebApp/Database/Blob.Asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Database/LimitRows.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Database/MultiScrolling.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Database/SimpleQuery.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Database/StoredProcedures.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Database/Update.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Database/adovbs.inc create mode 100644 aspclassiccompiler/Backup/AspWebApp/Properties/AssemblyInfo.cs create mode 100644 aspclassiccompiler/Backup/AspWebApp/Simple/Arrays.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Simple/Components.Asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Simple/Conditional.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Simple/Functions.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Simple/HeaderInfo.Asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Simple/Includes.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Simple/Looping.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Simple/Variables.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/Web.config create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/AdRotator.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/BrowserCap.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/CDO.Asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/ContentRotator.Asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Contents.Htm create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter1.Htm create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter2.Htm create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter3.Htm create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter4.Htm create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter5.Htm create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Default.Htm create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/Counters/Sample/Counters_JScript.Asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/Counters/Sample/Counters_VBScript.Asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/Counters/Sample/Global.Asa create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/Counters/TOURL.Htm create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/FileSystem.Asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/PermissionCheck.Asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/Tiprot.Txt create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/Tools.Asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/adrot.txt create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/clientcap.htm create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/ie.gif create mode 100644 aspclassiccompiler/Backup/AspWebApp/components/nts_iis.gif create mode 100644 aspclassiccompiler/Backup/AspWebApp/default.htm create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/BuiltinConstants.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/byref.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/byref2.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/call.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/datatypes.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/datetest.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/extension.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/forloop.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/function.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/if.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/ifnull.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/imports.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/literals.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/perftest.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/perftest2.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/servervars.asp create mode 100644 aspclassiccompiler/Backup/AspWebApp/test/with.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Content/Site.css create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Content/nerd.jpg create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/AccountController.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/DinnersController.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/HomeController.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/RSVPController.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/SearchController.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Default.aspx create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Default.aspx.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Global.asax create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Global.asax.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Helpers/ControllerHelpers.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Helpers/PaginatedList.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Helpers/PhoneValidator.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Models/Dinner.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Models/DinnerRepository.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Models/IDinnerRepository.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Models/NerdDinner.dbml create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Models/NerdDinner.dbml.layout create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Models/NerdDinner.designer.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Models/RuleViolation.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/NerdDinnerAsp.csproj create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Properties/AssemblyInfo.cs create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Scripts/Map.js create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Scripts/MicrosoftAjax.debug.js create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Scripts/MicrosoftAjax.js create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Scripts/MicrosoftMvcAjax.debug.js create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Scripts/MicrosoftMvcAjax.js create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Scripts/jquery-1.2.6-vsdoc.js create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Scripts/jquery-1.2.6.js create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Scripts/jquery-1.2.6.min-vsdoc.js create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Scripts/jquery-1.2.6.min.js create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Account/ChangePassword.aspx create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Account/ChangePasswordSuccess.aspx create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Account/LogOn.aspx create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Account/Register.aspx create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Dinners/Create.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Dinners/Delete.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Dinners/Deleted.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Dinners/Details.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Dinners/DinnerForm.asc create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Dinners/Edit.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Dinners/EditAndDeleteLinks.asc create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Dinners/Index.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Dinners/InvalidOwner.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Dinners/Map.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Dinners/NotFound.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Dinners/RSVPStatus.asc create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Home/About.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Home/Index.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Shared/Error.aspx create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Shared/LoginStatus.ascx create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Shared/Site.Master create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Shared/header.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Shared/template.asp create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Views/Web.config create mode 100644 aspclassiccompiler/Backup/NerdDinnerAsp/Web.config create mode 100644 aspclassiccompiler/Backup/Parser/AssemblyInfo.vb create mode 100644 aspclassiccompiler/Backup/Parser/ExternalChecksum.vb create mode 100644 aspclassiccompiler/Backup/Parser/ExternalLineMapping.vb create mode 100644 aspclassiccompiler/Backup/Parser/IntegerBase.vb create mode 100644 aspclassiccompiler/Backup/Parser/LanguageVersion.vb create mode 100644 aspclassiccompiler/Backup/Parser/Location.vb create mode 100644 aspclassiccompiler/Backup/Parser/My Project/Application.Designer.vb create mode 100644 aspclassiccompiler/Backup/Parser/My Project/Application.myapp create mode 100644 aspclassiccompiler/Backup/Parser/Parser.vb create mode 100644 aspclassiccompiler/Backup/Parser/Parser.vbproj create mode 100644 aspclassiccompiler/Backup/Parser/Scanner.vb create mode 100644 aspclassiccompiler/Backup/Parser/Serializers/ErrorXmlSerializer.vb create mode 100644 aspclassiccompiler/Backup/Parser/Serializers/TokenXmlSerializer.vb create mode 100644 aspclassiccompiler/Backup/Parser/Serializers/TreeXmlSerializer.vb create mode 100644 aspclassiccompiler/Backup/Parser/SourceRegion.vb create mode 100644 aspclassiccompiler/Backup/Parser/Span.vb create mode 100644 aspclassiccompiler/Backup/Parser/SyntaxError.vb create mode 100644 aspclassiccompiler/Backup/Parser/SyntaxErrorType.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/CharacterLiteralToken.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/CommentToken.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/DateLiteralToken.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/DecimalLiteralToken.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/EndOfStreamToken.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/ErrorToken.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/FloatingPointLiteralToken.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/IdentifierToken.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/IntegerLiteralToken.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/LineTerminatorToken.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/PunctuatorToken.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/StringLiteralToken.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/Token.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/TokenType.vb create mode 100644 aspclassiccompiler/Backup/Parser/Tokens/UnsignedIntegerLiteralToken.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Arguments/Argument.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Arguments/ArgumentCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Attributes/Attribute.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Attributes/AttributeBlockCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Attributes/AttributeCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Attributes/AttributeTypes.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/BlockType.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/CaseClauses/CaseClause.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/CaseClauses/CaseClauseCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/CaseClauses/ComparisonCaseClause.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/CaseClauses/RangeCaseClause.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Collections/ColonDelimitedTreeCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Collections/CommaDelimitedTreeCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Collections/TreeCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Comments/Comment.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Declarations/AttributeDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Declarations/BlockDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Declarations/Declaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Declarations/DeclarationCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Declarations/EmptyDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Declarations/EndBlockDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Declarations/ModifiedDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/AddressOfExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/BinaryOperatorExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/BooleanLiteralExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/CTypeExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/CallOrIndexExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/CastTypeExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/CharacterLiteralExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/DateLiteralExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/DecimalLiteralExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/DictionaryLookupExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/DirectCastExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/Expression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/ExpressionCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/FloatingPointLiteralExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/GenericQualifiedExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/GetTypeExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/GlobalExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/InstanceExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/InstanceType.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/IntegerLiteralExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/IntrinsicCastExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/LiteralExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/NewAggregateExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/NewExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/NothingExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/OperatorType.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/ParentheticalExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/QualifiedExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/SimpleNameExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/StringLiteralExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/TryCastExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/TypeOfExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/TypeReferenceExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/UnaryExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Expressions/UnaryOperatorExpression.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Files/File.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Files/ImportsDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Files/NamespaceDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Files/OptionDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Files/OptionType.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Files/ScriptBlock.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Imports/AliasImport.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Imports/Import.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Imports/ImportCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Imports/NameImport.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Initializers/AggregateInitializer.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Initializers/ExpressionInitializer.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Initializers/Initializer.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Initializers/InitializerCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/IntrinsicType.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/AddHandlerAccessorDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/Charset.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/ConstructorDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/CustomEventDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/EnumValueDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/EventDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/ExternalDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/ExternalFunctionDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/ExternalSubDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/FunctionDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/GetAccessorDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/MethodDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/OperatorDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/PropertyDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/RaiseEventAccessorDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/RemoveHandlerAccessorDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/SetAccessorDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/SignatureDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/SubDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Members/VariableListDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Modifiers/Modifier.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Modifiers/ModifierCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Modifiers/ModifierTypes.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Names/Name.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Names/NameCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Names/QualifiedName.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Names/SimpleName.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Names/SpecialName.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Names/SpecialNameTypes.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Names/VariableName.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Names/VariableNameCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Parameters/Parameter.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Parameters/ParameterCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/AddHandlerStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/AssignmentStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/BlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/CallStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/CaseBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/CaseElseBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/CaseElseStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/CaseStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/CatchBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/CatchStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/CompoundAssignmentStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ContinueStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/DoBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ElseBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ElseIfBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ElseIfStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ElseStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/EmptyStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/EndBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/EndStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/EraseStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ErrorStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ExitStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ExpressionBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ExpressionStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/FinallyBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/FinallyStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ForBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ForEachBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/GotoStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/HandlerStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/IfBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/LabelReferenceStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/LabelStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/LineIfStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/LocalDeclarationStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/LoopStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/MidAssignmentStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/NextStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/OnErrorStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/OnErrorType.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/RaiseEventStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ReDimStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/RemoveHandlerStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ResumeStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ResumeType.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ReturnStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/SelectBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/Statement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/StatementCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/StopStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/SyncLockBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/ThrowStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/TryBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/UsingBlockStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/WhileStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Statements/WithStatement.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Tree.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/TreeType.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/TypeNames/ArrayTypeName.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/TypeNames/ConstructedTypeName.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/TypeNames/IntrinsicTypeName.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/TypeNames/NamedTypeName.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/TypeNames/TypeArgumentCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/TypeNames/TypeName.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/TypeNames/TypeNameCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/TypeParameters/TypeConstraintCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/TypeParameters/TypeParameter.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/TypeParameters/TypeParameterCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Types/ClassDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Types/DelegateDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Types/DelegateFunctionDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Types/DelegateSubDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Types/EnumDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Types/GenericBlockDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Types/ImplementsDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Types/InheritsDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Types/InterfaceDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Types/ModuleDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/Types/StructureDeclaration.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/VariableDeclarators/VariableDeclarator.vb create mode 100644 aspclassiccompiler/Backup/Parser/Trees/VariableDeclarators/VariableDeclaratorCollection.vb create mode 100644 aspclassiccompiler/Backup/Parser/TypeCharacter.vb create mode 100644 aspclassiccompiler/Backup/VBSC/Program.cs create mode 100644 aspclassiccompiler/Backup/VBSC/Properties/AssemblyInfo.cs create mode 100644 aspclassiccompiler/Backup/VBSC/VBSC.csproj create mode 100644 aspclassiccompiler/Backup/VBSC/test/array.vbs create mode 100644 aspclassiccompiler/Backup/VBSC/test/builtin.vbs create mode 100644 aspclassiccompiler/Backup/VBSC/test/dotnet.vbs create mode 100644 aspclassiccompiler/Backup/VBSC/test/dountil.vbs create mode 100644 aspclassiccompiler/Backup/VBSC/test/dowhile.vbs create mode 100644 aspclassiccompiler/Backup/VBSC/test/for.vbs create mode 100644 aspclassiccompiler/Backup/VBSC/test/foreach.vbs create mode 100644 aspclassiccompiler/Backup/VBSC/test/function.vbs create mode 100644 aspclassiccompiler/Backup/VBSC/test/hello.vbs create mode 100644 aspclassiccompiler/Backup/VBSC/test/if.vbs create mode 100644 aspclassiccompiler/Backup/VBSC/test/new.vbs create mode 100644 aspclassiccompiler/Backup/VBSC/test/sub.vbs create mode 100644 aspclassiccompiler/Backup/VBSC/test/variables.vbs create mode 100644 aspclassiccompiler/Backup/VBSC/test/while.vbs create mode 100644 aspclassiccompiler/Backup/VBScript/Binders/VBScriptBinaryOperationBinder.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Binders/VBScriptCreateInstanceBinder.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Binders/VBScriptGetIndexBinder.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Binders/VBScriptGetMemberBinder.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Binders/VBScriptInvokeBinder.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Binders/VBScriptInvokeMemberBinder.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Binders/VBScriptSetIndexBinder.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Binders/VBScriptSetMemberBinder.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Binders/VBScriptUnaryOperationBinder.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Compiler/AnalysisScope.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Compiler/DocSpan.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Compiler/ISourceMapper.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Compiler/Set.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Compiler/SourceUtil.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Compiler/VBScriptAnalyzer.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Compiler/VBScriptCompilerException.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Compiler/VBScriptGenerator.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Compiler/VBScriptSourceCodeReader.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Compiler/VBScriptSourceMapper.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Compiler/VBScriptStringContentProvider.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Compiler/VBScriptSyntaxError.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Properties/AssemblyInfo.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/BuiltInConstants.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/BuiltInFunctions.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/DynamicObjectHelpers.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/ErrObject.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/HelperFunctions.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/IAssert.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/ITrace.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/InvokeMemberBinderKey.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/RuntimeHelpers.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/StringExtensionsClass.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/TraceHelper.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/TypeModel.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/TypeModelMetaObject.cs create mode 100644 aspclassiccompiler/Backup/VBScript/Runtime/VBScriptRuntimeException.cs create mode 100644 aspclassiccompiler/Backup/VBScript/VBScript.cs create mode 100644 aspclassiccompiler/Backup/VBScript/VBScript.csproj create mode 100644 aspclassiccompiler/Backup/VBScript/hosting/VBScriptCode.cs create mode 100644 aspclassiccompiler/Backup/VBScript/hosting/VBScriptContext.cs create mode 100644 aspclassiccompiler/Backup/VBScriptTest/DirectoryWalker.cs create mode 100644 aspclassiccompiler/Backup/VBScriptTest/NunitAssert.cs create mode 100644 aspclassiccompiler/Backup/VBScriptTest/Properties/AssemblyInfo.cs create mode 100644 aspclassiccompiler/Backup/VBScriptTest/UnmanagedVBScriptTest.cs create mode 100644 aspclassiccompiler/Backup/VBScriptTest/UnmangedVBScriptHost.cs create mode 100644 aspclassiccompiler/Backup/VBScriptTest/VBScriptTest.csproj create mode 100644 aspclassiccompiler/Backup/VBScriptTest/VBScriptTestHelper.cs create mode 100644 aspclassiccompiler/Backup/VBScriptTest/VBScripts/DataTypes.vbs create mode 100644 aspclassiccompiler/Backup/VBScriptTest/VBscriptDotNetTest.cs create mode 100644 aspclassiccompiler/Backup/asp/Asp.csproj create mode 100644 aspclassiccompiler/Backup/asp/AspHandler.cs create mode 100644 aspclassiccompiler/Backup/asp/AspHandlerConfiguration.cs create mode 100644 aspclassiccompiler/Backup/asp/AspHelper.cs create mode 100644 aspclassiccompiler/Backup/asp/AspHost.cs create mode 100644 aspclassiccompiler/Backup/asp/AspHostConfiguration.cs create mode 100644 aspclassiccompiler/Backup/asp/AspPageDom.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspApplication.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspCookieCollection.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspError.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspForm.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspFormValue.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspNameValueCollection.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspObjectContext.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspReadCookie.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspRequest.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspResponse.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspServer.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspSession.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspStaticObjectsVariantDictionary.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspStringList.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspVariantDictionary.cs create mode 100644 aspclassiccompiler/Backup/asp/BuiltInObjects/AspWriteCookie.cs create mode 100644 aspclassiccompiler/Backup/asp/CompiledPage.cs create mode 100644 aspclassiccompiler/Backup/asp/Mvc/AspView.cs create mode 100644 aspclassiccompiler/Backup/asp/Mvc/AspViewEngine.cs create mode 100644 aspclassiccompiler/Backup/asp/Mvc/RouteValueExtensions.cs create mode 100644 aspclassiccompiler/Backup/asp/Properties/AssemblyInfo.cs create mode 100644 aspclassiccompiler/UpgradeLog.htm create mode 100644 aspclassiccompiler/UpgradeLog2.htm create mode 100644 aspclassiccompiler/asp/packages.config diff --git a/aspclassiccompiler/.vs/ASPClassicCompiler/config/applicationhost.config b/aspclassiccompiler/.vs/ASPClassicCompiler/config/applicationhost.config new file mode 100644 index 0000000..7bd3852 --- /dev/null +++ b/aspclassiccompiler/.vs/ASPClassicCompiler/config/applicationhost.config @@ -0,0 +1,1029 @@ + + + + + + + + +
+
+
+
+
+
+
+
+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aspclassiccompiler/ASPClassicCompiler.sln b/aspclassiccompiler/ASPClassicCompiler.sln index 3ace6db..bf36406 100644 --- a/aspclassiccompiler/ASPClassicCompiler.sln +++ b/aspclassiccompiler/ASPClassicCompiler.sln @@ -1,60 +1,65 @@ -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{244AF685-4E12-4893-89DA-939A2964C0FB}" - ProjectSection(SolutionItems) = preProject - License.txt = License.txt - EndProjectSection -EndProject -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Parser", "Parser\Parser.vbproj", "{57A0B340-BDA4-4DE3-B449-52B8C51D84B8}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBScript", "VBScript\VBScript.csproj", "{0846368D-EA96-4AC4-81AF-E4F9B78CE60B}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Asp", "asp\Asp.csproj", "{F076A2D0-5200-42D7-9AEA-9E1260EFB138}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspWebApp", "AspWebApp\AspWebApp.csproj", "{24BF0EA3-2D82-4E85-B13D-EA9279F58812}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NerdDinnerAsp", "NerdDinnerAsp\NerdDinnerAsp.csproj", "{328C148C-DBEE-41A4-B1C7-104CBB216556}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBScriptTest", "VBScriptTest\VBScriptTest.csproj", "{3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBSC", "VBSC\VBSC.csproj", "{556BAE6E-AA67-48C7-ACD6-1AB0AA930197}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {57A0B340-BDA4-4DE3-B449-52B8C51D84B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {57A0B340-BDA4-4DE3-B449-52B8C51D84B8}.Debug|Any CPU.Build.0 = Debug|Any CPU - {57A0B340-BDA4-4DE3-B449-52B8C51D84B8}.Release|Any CPU.ActiveCfg = Release|Any CPU - {57A0B340-BDA4-4DE3-B449-52B8C51D84B8}.Release|Any CPU.Build.0 = Release|Any CPU - {0846368D-EA96-4AC4-81AF-E4F9B78CE60B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0846368D-EA96-4AC4-81AF-E4F9B78CE60B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0846368D-EA96-4AC4-81AF-E4F9B78CE60B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0846368D-EA96-4AC4-81AF-E4F9B78CE60B}.Release|Any CPU.Build.0 = Release|Any CPU - {F076A2D0-5200-42D7-9AEA-9E1260EFB138}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F076A2D0-5200-42D7-9AEA-9E1260EFB138}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F076A2D0-5200-42D7-9AEA-9E1260EFB138}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F076A2D0-5200-42D7-9AEA-9E1260EFB138}.Release|Any CPU.Build.0 = Release|Any CPU - {24BF0EA3-2D82-4E85-B13D-EA9279F58812}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {24BF0EA3-2D82-4E85-B13D-EA9279F58812}.Debug|Any CPU.Build.0 = Debug|Any CPU - {24BF0EA3-2D82-4E85-B13D-EA9279F58812}.Release|Any CPU.ActiveCfg = Release|Any CPU - {24BF0EA3-2D82-4E85-B13D-EA9279F58812}.Release|Any CPU.Build.0 = Release|Any CPU - {328C148C-DBEE-41A4-B1C7-104CBB216556}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {328C148C-DBEE-41A4-B1C7-104CBB216556}.Debug|Any CPU.Build.0 = Debug|Any CPU - {328C148C-DBEE-41A4-B1C7-104CBB216556}.Release|Any CPU.ActiveCfg = Release|Any CPU - {328C148C-DBEE-41A4-B1C7-104CBB216556}.Release|Any CPU.Build.0 = Release|Any CPU - {3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}.Release|Any CPU.Build.0 = Release|Any CPU - {556BAE6E-AA67-48C7-ACD6-1AB0AA930197}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {556BAE6E-AA67-48C7-ACD6-1AB0AA930197}.Debug|Any CPU.Build.0 = Debug|Any CPU - {556BAE6E-AA67-48C7-ACD6-1AB0AA930197}.Release|Any CPU.ActiveCfg = Release|Any CPU - {556BAE6E-AA67-48C7-ACD6-1AB0AA930197}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.1.32328.378 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{244AF685-4E12-4893-89DA-939A2964C0FB}" + ProjectSection(SolutionItems) = preProject + License.txt = License.txt + EndProjectSection +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Parser", "Parser\Parser.vbproj", "{57A0B340-BDA4-4DE3-B449-52B8C51D84B8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBScript", "VBScript\VBScript.csproj", "{0846368D-EA96-4AC4-81AF-E4F9B78CE60B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Asp", "asp\Asp.csproj", "{F076A2D0-5200-42D7-9AEA-9E1260EFB138}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspWebApp", "AspWebApp\AspWebApp.csproj", "{24BF0EA3-2D82-4E85-B13D-EA9279F58812}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NerdDinnerAsp", "NerdDinnerAsp\NerdDinnerAsp.csproj", "{328C148C-DBEE-41A4-B1C7-104CBB216556}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBScriptTest", "VBScriptTest\VBScriptTest.csproj", "{3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBSC", "VBSC\VBSC.csproj", "{556BAE6E-AA67-48C7-ACD6-1AB0AA930197}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {57A0B340-BDA4-4DE3-B449-52B8C51D84B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {57A0B340-BDA4-4DE3-B449-52B8C51D84B8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {57A0B340-BDA4-4DE3-B449-52B8C51D84B8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {57A0B340-BDA4-4DE3-B449-52B8C51D84B8}.Release|Any CPU.Build.0 = Release|Any CPU + {0846368D-EA96-4AC4-81AF-E4F9B78CE60B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0846368D-EA96-4AC4-81AF-E4F9B78CE60B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0846368D-EA96-4AC4-81AF-E4F9B78CE60B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0846368D-EA96-4AC4-81AF-E4F9B78CE60B}.Release|Any CPU.Build.0 = Release|Any CPU + {F076A2D0-5200-42D7-9AEA-9E1260EFB138}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F076A2D0-5200-42D7-9AEA-9E1260EFB138}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F076A2D0-5200-42D7-9AEA-9E1260EFB138}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F076A2D0-5200-42D7-9AEA-9E1260EFB138}.Release|Any CPU.Build.0 = Release|Any CPU + {24BF0EA3-2D82-4E85-B13D-EA9279F58812}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {24BF0EA3-2D82-4E85-B13D-EA9279F58812}.Debug|Any CPU.Build.0 = Debug|Any CPU + {24BF0EA3-2D82-4E85-B13D-EA9279F58812}.Release|Any CPU.ActiveCfg = Release|Any CPU + {24BF0EA3-2D82-4E85-B13D-EA9279F58812}.Release|Any CPU.Build.0 = Release|Any CPU + {328C148C-DBEE-41A4-B1C7-104CBB216556}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {328C148C-DBEE-41A4-B1C7-104CBB216556}.Debug|Any CPU.Build.0 = Debug|Any CPU + {328C148C-DBEE-41A4-B1C7-104CBB216556}.Release|Any CPU.ActiveCfg = Release|Any CPU + {328C148C-DBEE-41A4-B1C7-104CBB216556}.Release|Any CPU.Build.0 = Release|Any CPU + {3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}.Release|Any CPU.Build.0 = Release|Any CPU + {556BAE6E-AA67-48C7-ACD6-1AB0AA930197}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {556BAE6E-AA67-48C7-ACD6-1AB0AA930197}.Debug|Any CPU.Build.0 = Debug|Any CPU + {556BAE6E-AA67-48C7-ACD6-1AB0AA930197}.Release|Any CPU.ActiveCfg = Release|Any CPU + {556BAE6E-AA67-48C7-ACD6-1AB0AA930197}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {391AFB89-55FA-499F-99F7-112509430600} + EndGlobalSection +EndGlobal diff --git a/aspclassiccompiler/AspWebApp/AspWebApp.csproj b/aspclassiccompiler/AspWebApp/AspWebApp.csproj index 1254e82..26043b3 100644 --- a/aspclassiccompiler/AspWebApp/AspWebApp.csproj +++ b/aspclassiccompiler/AspWebApp/AspWebApp.csproj @@ -1,171 +1,191 @@ - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {24BF0EA3-2D82-4E85-B13D-EA9279F58812} - {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} - Library - Properties - AspWebApp - AspWebApp - v3.5 - - - true - full - false - bin\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\ - TRACE - prompt - 4 - - - true - bin\x86\Debug\ - DEBUG;TRACE - full - x86 - prompt - - - bin\x86\Release\ - TRACE - true - pdbonly - x86 - prompt - - - - False - ..\asp\bin\Release\Dlrsoft.Asp.dll - - - - - 3.5 - - - 3.5 - - - 3.5 - - - 3.5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - False - True - 3465 - / - - - False - False - - - False - - - - + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {24BF0EA3-2D82-4E85-B13D-EA9279F58812} + {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + AspWebApp + AspWebApp + v3.5 + + + + + 3.5 + false + + + + + + + + + true + full + false + bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\ + TRACE + prompt + 4 + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + prompt + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + prompt + + + + + + 3.5 + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {f076a2d0-5200-42d7-9aea-9e1260efb138} + Asp + + + + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + + + + + + + False + True + 3465 + / + + + False + False + + + False + + + + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/ASPClassicCompiler.sln b/aspclassiccompiler/Backup/ASPClassicCompiler.sln new file mode 100644 index 0000000..926557f --- /dev/null +++ b/aspclassiccompiler/Backup/ASPClassicCompiler.sln @@ -0,0 +1,60 @@ +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{244AF685-4E12-4893-89DA-939A2964C0FB}" + ProjectSection(SolutionItems) = preProject + License.txt = License.txt + EndProjectSection +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Parser", "Parser\Parser.vbproj", "{57A0B340-BDA4-4DE3-B449-52B8C51D84B8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBScript", "VBScript\VBScript.csproj", "{0846368D-EA96-4AC4-81AF-E4F9B78CE60B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Asp", "asp\Asp.csproj", "{F076A2D0-5200-42D7-9AEA-9E1260EFB138}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AspWebApp", "AspWebApp\AspWebApp.csproj", "{24BF0EA3-2D82-4E85-B13D-EA9279F58812}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NerdDinnerAsp", "NerdDinnerAsp\NerdDinnerAsp.csproj", "{328C148C-DBEE-41A4-B1C7-104CBB216556}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBScriptTest", "VBScriptTest\VBScriptTest.csproj", "{3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VBSC", "VBSC\VBSC.csproj", "{556BAE6E-AA67-48C7-ACD6-1AB0AA930197}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {57A0B340-BDA4-4DE3-B449-52B8C51D84B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {57A0B340-BDA4-4DE3-B449-52B8C51D84B8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {57A0B340-BDA4-4DE3-B449-52B8C51D84B8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {57A0B340-BDA4-4DE3-B449-52B8C51D84B8}.Release|Any CPU.Build.0 = Release|Any CPU + {0846368D-EA96-4AC4-81AF-E4F9B78CE60B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0846368D-EA96-4AC4-81AF-E4F9B78CE60B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0846368D-EA96-4AC4-81AF-E4F9B78CE60B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0846368D-EA96-4AC4-81AF-E4F9B78CE60B}.Release|Any CPU.Build.0 = Release|Any CPU + {F076A2D0-5200-42D7-9AEA-9E1260EFB138}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F076A2D0-5200-42D7-9AEA-9E1260EFB138}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F076A2D0-5200-42D7-9AEA-9E1260EFB138}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F076A2D0-5200-42D7-9AEA-9E1260EFB138}.Release|Any CPU.Build.0 = Release|Any CPU + {24BF0EA3-2D82-4E85-B13D-EA9279F58812}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {24BF0EA3-2D82-4E85-B13D-EA9279F58812}.Debug|Any CPU.Build.0 = Debug|Any CPU + {24BF0EA3-2D82-4E85-B13D-EA9279F58812}.Release|Any CPU.ActiveCfg = Release|Any CPU + {24BF0EA3-2D82-4E85-B13D-EA9279F58812}.Release|Any CPU.Build.0 = Release|Any CPU + {328C148C-DBEE-41A4-B1C7-104CBB216556}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {328C148C-DBEE-41A4-B1C7-104CBB216556}.Debug|Any CPU.Build.0 = Debug|Any CPU + {328C148C-DBEE-41A4-B1C7-104CBB216556}.Release|Any CPU.ActiveCfg = Release|Any CPU + {328C148C-DBEE-41A4-B1C7-104CBB216556}.Release|Any CPU.Build.0 = Release|Any CPU + {3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3153B5A6-B372-46D0-A10B-0CC4C4FBAE9D}.Release|Any CPU.Build.0 = Release|Any CPU + {556BAE6E-AA67-48C7-ACD6-1AB0AA930197}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {556BAE6E-AA67-48C7-ACD6-1AB0AA930197}.Debug|Any CPU.Build.0 = Debug|Any CPU + {556BAE6E-AA67-48C7-ACD6-1AB0AA930197}.Release|Any CPU.ActiveCfg = Release|Any CPU + {556BAE6E-AA67-48C7-ACD6-1AB0AA930197}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/aspclassiccompiler/Backup/AspWebApp/AspWebApp.csproj b/aspclassiccompiler/Backup/AspWebApp/AspWebApp.csproj new file mode 100644 index 0000000..6d161b5 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/AspWebApp.csproj @@ -0,0 +1,171 @@ + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {24BF0EA3-2D82-4E85-B13D-EA9279F58812} + {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + AspWebApp + AspWebApp + v3.5 + + + true + full + false + bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\ + TRACE + prompt + 4 + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + prompt + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + prompt + + + + False + ..\asp\bin\Release\Dlrsoft.Asp.dll + + + + + 3.5 + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + True + 3465 + / + + + False + False + + + False + + + + + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/Database/AddDelete.asp b/aspclassiccompiler/Backup/AspWebApp/Database/AddDelete.asp new file mode 100644 index 0000000..d4d896b --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Database/AddDelete.asp @@ -0,0 +1,59 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> +<% Response.Expires= -1 %> + + + + + + Add/Delete Database Sample + + + + + + + + Add/Delete Database Sample
+ +
+ + <% + Dim oConn + Dim oRs + Dim filePath + + + ' Map authors database to physical path + filePath = Server.MapPath("authors.mdb") + + + ' Create ADO Connection Component to connect with sample database + + + + Set oConn = Server.CreateObject("ADODB.Connection") + oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath + + ' To add, delete and update recordset, it is recommended to use + ' direct SQL statement instead of ADO methods. + + oConn.Execute "insert into authors (author, YearBorn) values ('Paul Enfield', 1967)" + + ' Output Result + Set oRs = oConn.Execute (" select * from authors where Author= 'Paul Enfield' and YearBorn =1967 " ) + Response.Write("

Inserted Author: " & oRs("Author") & "," & oRs("YearBorn")) + ' Close Recordset + oRs.Close + Set oRs= Nothing + + + ' Delete the inserted record + oConn.Execute "Delete From authors where author='Paul Enfield' and YearBorn = 1967 " + + ' Output Status Result + Response.Write("

Deleted Author: Paul Enfield, 1967") + %> + + diff --git a/aspclassiccompiler/Backup/AspWebApp/Database/Authors.mdb b/aspclassiccompiler/Backup/AspWebApp/Database/Authors.mdb new file mode 100644 index 0000000000000000000000000000000000000000..debc42cb3b4020e746c0fe98a4bc7b6d0fc82863 GIT binary patch literal 339968 zcmeFa2Vfk>bvHhHdj$Z&0#=Zchy_VW6bV3RBtfd76C?o=A|O(Y5*D}xaOB|*x&jcC zWI~dA?{aK zBq8Y*xY^nF=Dm6IW_H@n%oCarJt;F5HWOiEzm+mtn+09}64U$p3O{w-5B`2A(Rht` zzaoqKJ=67k9_-)Hw}FAClCK^`|n@*k%KS&{f~DYYklMIK6}g7@2~pT zSN8SZfBVk=zT?{;82{y}mPh~b19kQ0#7%$kFL!JU{O=ua&@OoWA6FjQe}DAqzDsU> z-P2!s#g>;0eYWh<*022ZQR^pDp@-Ywa&m3)PkvCzBIKRC2J#xnYap+Iv#5cf7S`_5 zME>sussT-VDu^zC@QK?)zYfMjeW7bZ&7ntwp9p>+_}1WkK_gfa^aWoNm<-$&=nwpl z|8f79{h#t5@;CZx{G0r%{151VuHUUEb)o;S??t}2ug~`r?f+_zYBy_L+SS?@#7D$? zpS{xS4+$|jHMLy$v?YaF$iKw>QG4uV_ZfE`dQZc*k8D`C`S^j7z59N<=D{To{on&V zpZad=#CzYf^|39tHvLHdD+lk~TVDLHfA_U}jEQeuwx{I38=vZS;I8+$Bf+1|&3rZ>u3}>5a7J806c-8<9$a?pLKGF*VrS$j zTp|LwVWz~AVoI??b=!mxOO^`sJRArKvSb;A%0RAO0myQJrVbZ#)?N?D3W3(xf%GAa zZ(q2e+e}!o)V{F)pgCgsdnZP%qE<6ywInRK?7eO@3~%7jc+5%!+N0)BvH&5>elux> zTH>*oHIQ1;9#2@2p&0QfK0K1z7aNTC4963xCH6ySJT~O(91C`ibtmGZ1)XDE@o+k7 zg*wODPNotjI=eohO--$sn(CXHx_@eFnxB$JX+c7#!Doc0)S(9^G*SrX4wYN@g+Ege zkW(2LCBN87K1p6E{7`fNKja)-9lxcb04}mytPsoKlH!+(V#46JOccRgf*dSZ6v-9w$KKhn7n-?q%O~r~{RV+juUB75(tgfuy)zDD0Yj7F&Ix6M9;0{IGMdd~WFTo^ip*%XCgQPh&#)B@$72=7 z{>X^2wJDvtth=fEP*3xr!w1`pu9m%rn~qj??Cb2ziZXfo*g)Sw5@k=(pFtG9Cfgy( z&Rw;2)jR6yD(fn*KRRrtjJ7c=F=0SUW;lM**fC8qWaUu892v0^1~NMx4I2ky@$t)> zo?z&_oHe|@W zo2H}Q2;Ps03Zpe*#_T9AH@XJet#Be@B`Y9)Ix1CiIsD=A$iRsTV{bfx{4};+7dt^& zdF^#=M$4hY-P!zmWGt zYp$`flr4V?A%if1vvDJYG)w|7}RV)0V!68f4ihbG44# z*6bXoW_5PEU&z6LqPDNrPpvbW7v@HgRn!yErnURjU=$qcKaRF+Us&(i*Qz(QbQQPn ziw#?e2->=+g%GIObN$glb`QY#P z4kFPMjT*g?RMbjdmc1k)+J#9}K$At24xw{r!th8Wwk3N>8uafcft?iYG>9za9vMXh z!sU8K%G}7H)WcTv;_M}3!-&I+Xdn?8P0dyaMlK#yhpka`?q^d$g&tJ0&p(?AN%Ek= z&|)N+RpFM54($TwsKB`sH!5Jz1vl==;mByxr`Kk#>ar!MEK2+cD2u2=>D(O-*QQbV zTcFLB&~1{IMseP>O)YI8%$Al*B_Rz6XA!0@19XvGi>3X)23m5io{;ck+(i)j>1b>H zcKc63C?omeww<1R4zb4o8WPIrm~((; z3!Gj!nvZo-k=vQjN}Twz(TM;Eg7{_o7ovJ+)y@WhF!H6|jt~b9w2CWmFQFNE zl;7nAqHmSBtMjqP8=X6_;;=PnVM1WQs@1jand>rHdNByMNsX5;y@N=d`!v!T7gBVL zY|_bp9Nlu?e?8vl+^3Q1+P2KKRYrOZ0zeaJN?+$6ERo1m^!&)ID&bG^9`+ZC``SsV$qPE**U8~Mq zRgym2GBmse75H5>+845>k_HCY&-qHgWKP|1GIgm zwBmix4f-Geav0qGaL)K?^SKdfh!#s2|vV{r!};6ugOA za9w-c2X1(6>8j0i9?%v|39TgCp7*`6{t;5^<9m1Uoq|*6LAK|*_9%oR*o-UtqR&8_ z)5q-C<(x)4Ei%l#p0BGR8}ZMw-t*;~JYNy##(N%waK``3d|5$y3NR&Jz)dlAyb92) z72>D5im1V-i#am{Uxj8s zsIxLH%(CRE+`edFDA6BDg$4$A027MHdqMJ)Y}nzERp?40vm4{E#7zUqP-u^)ran0} zRltK`q&71=ejNTHsA)Nb@gXTwQ=uGe#_z``9(-ZI^frRwtA@izdcbWLLrio{iV>`Y zf{~(FSviv&q!?CC4h$f9<-jrtot7Axz8RWA#P-!RFo51uRc1DC#Eh9k)(AdaRQ&=q zvuKs!-usq2MjGov!Ks4JhqePG$&8w+8Y3*Hj;+L{Nnd9oP@i`R@8Vy5-nF(Xd2!eT+4a=-)+Gk2ZjPq z_>cL&q4((jzi*%KGuk!Uhr|xC(*G%}^J~=$^+$a8BA&S>Grqj%JZoT4%up{1A|i zx_QisVa-Zy6=q*I%OxUmy_JElP_$gdSyhyj3X5};^-b;VExVhlD|fVG!nmforn$1I zy}k{RH#JpP*R@x-SMR!W^RBAu&D9iTSI?pL_I)jFH#fDkwDt7hS$e8^JDWFmMQH9e zKA1A>!E5ePu-!Xkw9!mTceGd6c&D_^iFQUxyL$Gw_4ZubIU`ouatWx>VMRxc-uNh% zn#nl-IvZzOb-j0-wN*Q0Qo9cy!t%2&qa90ldTwqx)YWz9p#9LbujTL|XrkBX>1aCK z)_QYm)1jNgX1sO>)SrU-vzh?L0L#mf6r&|RGK$Z7{gG%SHDPo{`V(ft?*ElT!WOCD z!NJIYb+gpq&FK^et{MrO9Hgp>vOpE&ugtz`TJGt?6cN1&m=eLL_65x0saeA9>uL!?9mzo@W863ZM0>S_je z^*1yOV)AKQtF{KBeBeFA1T!Y!+GF!8zUju&E<2Q=m%kg^`exJkdar_D}eYF+8 z4*dG?o5b${{62x-u=G(DK1uwRMG6a+& z#BKOdiA>`+jvwXy?fBh^-)a0DwQJggh(-9CGZ4ZA?WbiK=#?3tq+FYMZijC_eg`uU zhd13fxk7V8c>AjtKwp|e(*S=(&a-!HXM*i!ZUs3!SLXQV;!y7r_Cki?W9w9>3wAok zjVRH ztgfxuDI9p{w1lHfMq+ifVx3L-`iltuY0N{)x&$SPuhlmGH%~bDBh5{~(3?oJmfyRb z?w^9M(;7?(v7X^Rv4lUb6F;Z=mHaMZye|IuEutfQe+1tW<8{@jwfY4#LU3KY`ECb~ zIuWD>!~No0k2`Q$Epco1lapjGqy{xn`b`Q)a^2cCW=7Lk*Ucd~r|htFo6PZ_TW@ar z{|h_ngS2?hCr}gdPt>6n#*fes;YWAp_dfV}{$GQKX6aGIt(Nou@G%5z@I`!IPxHY* zQ~K6@tzgD8+)$;pE5*D#IX{AHl-R%yB3`$d6@$Br^Rt zPwDRWV^zGIRp%*p`hbc@mc6Ju5g9?#cfgt`%6ulMk-TIuQM7`WB-(nI!iVRArU66P)dU*NKzHpKB(2|L48fdGe>kJmpTwQ`>(qx%Eb48Emc;?EHz}^>xmJVeN0{M6| zXy#Gws*{iCO`N;UpcEyoB(dc~OPwoU=26NgAJ3|MBu%e%GF5}OKwh#%6QbfBPQBD> zrOZgQ+QvKe^Uv*i+g_}Zsh|HN;m|Q(yL&7$_&>a64+;gx`lqMS*VZ`nvgH)w|9r!t zm-63g%iz%eZaRHNuMR%ivNXZ@gi>A@nW%TCIfBo+z zef`R0niq8^DMLRo<d4XS_X_Jc;gv-XL?bKa~?0h_R@fx2rJN^ zYZUZP3)%|glTS=C2$Q_1zJN2xkx$~eb)9|<~=G-Q$wD@kC<8?31ckLrk>O$&=>D@v+FD1g@39@#EtogC$aL#Cly0 znDtmHC73BcXOfS_$dO+^U1f%^zxC*ix8A&Q@TQ^g#-m63hc@1FBz(ihBS-rBjvVPf za^%(#z+o7Z|$SX8mLNYgJtC+uRx|2AOK zVJn8SyDV%+w9HuLeskb9Y`of3q-pCBYKt8z1$;}DvA=2!5F3HmY$Fn}_*n7;cFbW% z*ucaF8@q|IE$Kum62oRXD;A3+jcx~9F0qMtjIm}cVnvPp!0H!*vjOaV*r+;gCQ=o~ z;dsB5NR@(b8E|DbE*(t`LuhQhi&`;b{{=u_1oTE5ok&E6Ohnvmp&nlkqygkbHnP7T z62;R)Q8P)igy9Q;-vm77DJfoTj09UNo*1%>-ekHGD}y&eGGY&1iq|59IXY@ZvH6YE z8YcEczQIBECrH;V!?>m5qgY)Ea;+30*2@r)YoeF5M5v=;3fm>C=w zfr6_vvE^P(Ecv-ER{saKUURR{=(PrhWASKwXad`S13@e;Ui~(l)*R|QSdp;P$o=_kO#~tHp)g$8qNl1+Pb>OXfpQF!Z9Ni$1HSgAf2Ff@~Ek3 zbeoRZ+l?!D=W`ccJZx~q9(vmLI#i;Saa0@ZsOrvsRO{`iYR_&|h0uG)CZ8yLPe3dS zXgLZzY)%-xP$%gQTd-Sr!*L~THa4~%jYKVMDo?}*<(>%Wo96W~Q6C%XA!QNUeKy-w zU(C&yXT)|5*j9vmV%ZG=v2|&#wAkvCwn)^bm>Hc&MsoIwOOf|AcVXZ5-h??`*@4A@ z2S`d{S821mTp+YgF9p^Ft?%1v}`IfO2I2clfcdQVK>#obIo5f{VeQnFw! zI+C`11d~~B(ZyvCPm={l0Ysx{U~`4q+A|QrC@q4|E-YDFYzW)9v3m*{l{w2>v5X$x zP<0E*Nil4*W7vLHVkp4NebGnoy1&>juKv-?G|+Jdc&Bqd>9ORwsp8rrLfw~6N3)xr z)P(+9KgJljr3V`>hH2Y6%6lv+cb!!^6y-L>nlq*_Y>L%qM6vvsCN6zQ6XNZDvF4|_ zskFDe)5{k}j`7qV`c8a=0!_zpdUH^6iW^FyQzmM5WA{6{CJAhMOyMvB)Ohw<UUpp4`&5qgUFIZtTPU4uD9M9}v z&t1rADLMwH@ZfD;Sx6peVr4OT@X=!BQu1J)W92gPU~+fma`NCaC&upZp!bR)@T8>j zlZU7RXlGdyd_^AJ4i;PGJv{>oB#g5QPbLLLLd0F-l?Yw(nx;}}PWTZRsqMzf3mr5XCOEPIUj9i|- z4xr`9;YqxzuixUQAMv5zb@;W}e%#~-I^0X&>c}aki06yHAoV$dv_CzQXCHXtXW4v+ zFZqc#UHs7x_bgANJ6F!%1TY&P&ZfN$VLOJm_~{4KwEVgl&vdPjw;Y~*sa&4dL(T_s zc%~7a_*(dp9_UWLi|spZnLLVT^f{g94dD699Gbl&t9|O1-WwW2G7Q!*=f(^=kTRFT@KIV znesV0t<3KM&--(D5?vd97vo2=U1$3VPCvS4^K9IgE9Vv9`IOBQQ&=2)smJ>NSsj7d zU4v%?ky4*qml|-qg&)!!kI(Vwj>k_PEOq=)!0`kfPss5wmu#(VKc1hPlkMjxb{XsB z`HVat_e>2m&IIJ2^BPzT8ZZ`v5Ijyh?}D7iBN&i&zqTphjE!3X7PHd z0mrp!oova)s#5Y`^tGzY@feP$-0^H8545#vv*X#~crJE4myicT>Q$FIo~@4OGRL!x zJOPB+ZhJQHT53QxaDRk6+#f+lZ3Fj5$iw{+@^F8IJUqofG7FjrAWyO5;fVKCP;l=0#LS~ypGc3r=T?6dCC#td@|EG?PuQMpukXw}O8K0} zbC|zQl(u{qOqVb7DCKh=&!K!yl(u|$InH$sQj|G4hMS}Jk#Mz4kM@C9G1-!nE*CkF{Imn9( zw|-rQQdyQUtt zP}+91w^r8Fw6s??RJYdI2MyqugWdJ*ck0^S%+)5@X3y;v9c9cmbI)PBbG~f1V}OK7 zew@rJZmfF=No#!gnjJsGouqY6=H22KjpE}nPhlQp`pLWxA)w9Tv9H}jEFL(tOG@al z$ehfJ<(-Yek4Q$dPUgk(1Dny~?|m0DYK&d9#gQfVWZu`|WZr zZ_N__F!?G*dV9SMnA zo-Bz2gyne|-l~;+WY-(_G{8>l%(jW$dhMXgO8^<=D%!rk9gs;tE))Brm?m-GB#iVnD?_*bOXT@;B za*ptwb*M6AnuPY2FPWVD@|J6;#6A4=k6uPPWzqp!k=AKW#M3F6?ZQqGPB?88-$TT> z+NK{gtNnG^vE2}et4s)|LKSdPFbN-o!A?#Z+eVAi4E6uFw(Igk~UnPc0x z+2^*?JFceeC7U`Rn^}ZksO`TH*Ea3iS+%RGYsW5He7n=QefN&)`W?0Pb$8x#>{xG4 zdnowvf=5DhI%2n(!ak%}(ufZlJvb@|JDV)5b?q>5t}uRlG7g!C>yB6hI3yRV>-Q$& zBO;QWQ^C{vLQHU;qCVA5XW9gZFEOXY}bknVSiJ^9E!!UxL$6OXtny& zLs%z1R9y*UVRhB8ItQCwwY#f!@38AJ7RtE&&fEI?`;T>pf`1DI;0$8X8piG~+xQ&C zIf%oVuuOk6iaiIH029HUVKNYh5>`{$&`?`nBaQ2Ens?RKRvR-D-B7i!cE|3T-7PzJ zW|Li8U%#X7&QwQ7<2AK1*-H?4Pl~p-Wh$b=k;*?QdWx}E5{Ro2$k&rWgl*s){RACM^~UCSDx@(}EiAZ=mW)Lafn)ebYd&dF@wCA8ULhVt)D9zSkf9}0dO%11|1G$m40@Z_?7 zs5wUnB&NEix~>7tD;sKSs&-UY*HrDSujL!2J|{uW7ZIXCP?++2uu&q&7+^opBz zNR^@wB6x=nTGEs?GP^YOj3w%2Ce_yLgfYDu97;8-Snk`iXU~qUk|VkxVqYwkfLTkq z&>p*lax^3D-F0D`o;8B?=L062soPy&Ust)KvYtyoZ7e)P;-ejHZFHP9X`cEC?dez; z2V}%jW|ZIkT>hLIe(CXooiyxpq4e)+*j2rY%UQk4n|0%X0|(l7QxZbdFI&QgZ;)}d zNyNvO?8aB|ZA)=+ae@C*4jMxJjt_Yfo$X)ao5Up3!Ldn!+}CPcWn=?YF=+3FE5Yq_ z4mV$l>>e2=8)>q8lUvZXX>_axuI*)|GbprN3K?HH2>3e^2)1p^63Cub0J|n9i5Fct z65T}Q*^EsXbOgz<8cygCizey(*g84ML~!hc-E@OxqWs%dKf=c@pGBo(4}ONqPEeJ+ zUotDO54B4supI>*yRdmy$T>1d%1y@U@PXBib=9g>P~CD)k;K?pw{j)rLM~!jE|iv% z26NGxli);h?b@{&B+4!>4YC5Xm*ZhWtkXd_ogf=3#G&v-CI|F_ZU6B)VY?Lydhrq* z4Pj?L-}*>BY}qy-;dniDIt8H`qe$}8X%hT4W>#EgyNjSbUzZf=e8n!~ojkwM=VPC) zfyU{N&*BpXE+yHSg+B4CgTKH?+}QPNzEebWD4Kk&vR2t(7wO{|{$}S7975;Lgsw*X z&@4;>JBb+sJ2L0aG?^KLS&?Pu3mgLH&V)Jh1=*~oY2mlsOGl+=Y)3dM8&fK9`^s7u+AMM z^PCHCD4n~*;Y{WN92)2D(9Ss*;1D=>hwx110vsCW?$FX)z{~+P<-a`+cY-^2B0KZ( zzeDBRiF(@j|E5$<@9h}6IXGMo-M(zM2hTIYQ1=Ew?ADH+G_4Ws8J1Cr&xc+Ux;C^d z^p)Tng2#dv1iu>itH6zcje)29@AsedH~I_x59y;wT=ufh`}2z>Xh|7tLtr1*CuEzL zfx!NsBxXoZ!{L0=P@a8WUf(b97~p*|HY9)mF!e6`gG@y|7k`L0-r*uh5L`rnEc_+? zRBnT^$or{Nxe_mpbA0d-*oY%rfV~r=RslKtVuSIJ4TT{h96$@EU_bjm@ZY-l4J4-_ zjJ)W?C-OnO;J#ScI$49$5)q0noSJC+V7Sos$hWc8z4qunG-961FJP*awBO|bzX>5fGj8^&386U@y zFLX{y#sd7l*1bmap+g6HjH8DRceWng*V>j9;#7L{*p2&1h{2*)LkMYDybk8QYwGIi zch>LTK?A1_oS1^~KL$p&LGkG5u!(^`<|MF<8FoJ_uqPWf)$JLF?1pZZxs7bw$75D+ zWGH6A&Uw~8{pCi+B08P)c_%0J?PPCcH2}%-nW;dHjXMUmC zg7{%b6NSBa9Jmu1$;fo5r}@y~gKb7v3l3mDTG_F$vokBo*xG@BQL-nhW0; zn7XjpVJeOA>e_!}QoqRNH|slr-N2&V3SRwhJfH5|DN5xOI5n@pE6CJS(%H7viN?8e zbjqo7yk{Qqsi)4NbDQposn2uroIAzGjh@RCIGyby73+j{?o_=^`@}TMXf3Thle8cI zx4J7=5k z5IA>-@J!l#hsL=(wAALeL2G_nYqLJFqJY}%zeDQWiN%?>{|=RNC+cbKzw-rP*8IOi z;oON*HUF<^H*&jNA^tb?MChxb&xHOZ^p4P9gy%Ul1Qb zZaj`rAo^y5I->?5zO%s$RqTY08NoX#{HAEApQbF)#}@=?{rt52nT z&Z8}#^LP&BbE356Lw%DgpYv$T=RBT6`J5UpY2-}b{WA^c)Da=7v~neokLOeZlmqvD0%w|-GYywbH06Tp=8`jIb*AC6Q6k0_ z%iQ*}oGGg_4L37NyT0PLktML-Rp@KG{|{Z;D;<&|?mk zO7VAMo z{*Fe%sbS}VvBfr~BNE2ChXTy~;z+fG6<$s=>hbX#twg-jiVdZPmkE0f2F{AZhw$i9 ztPmN1k%}l*fM5|^F)bJ|aWLi)7#^{f3EU!KlTKzkoQ_U=rZd%p0?RkBnj++gxCG>x zqvV0b?3$Shi57E|SQO&pJI;^nGLt7NS>yIB9glc18;Fh)tXHpamMB)ym)queB36sQ z&bKw5u%z#4^lgnM)yVIBTf@o+jV**9VhW&8gUP8)hvXGlo8yp>3>lI_m=57DbmSr1 zQaG(h(}Ti?vrBJec63yGfpCO!80N|_lc6sJK2u;=Oozl*XQIe*&S!J-g_6xBC>``R zAF!;^&Nz;*rJg?(P`XeIv4Thwy;LCRQ0hsTg^_1H+7r$J(VUJ%!xwXKNwidGAPR`; zT~#~kP#)1!_KOEmz=;VRi#-V>Pun|h0bWJ9g5v5NHt0}*O~`reu!f?D?3;C?8ZZu2 z8Evsa9Mv5L{~~(Nx_a7secF*0Vt`Xj=|$nWfP)2iIjERR5Ue%{4L`aFh8W~!&+TIl ze%ky$&B?a~wR|&r|!( zjK0g%zx+txd>^3NEb|=zse=4q_xDgIcKmX7E{y+WvUwIG^b9&A@r)3Io{?DX5YUXSnp@X>wyhrEe#GCV* zGf-y!T09zPJZqvnch>*eDwsTLs>m~5hz7FjsTM;0EYUb8PCrZR7RKhh3gOp&9+a~e z(}i!G{`kCma;&~_^FMidYU+;ylQrmNpX0Oi&SBRe%9+>&+a&2zr{Y+?79WP4k*d;= zrt8NU*J8$CdxQ*kBqFBKUA2x-!;I>QScwzK5!gQ4Yb9X1jZuS)YEGXp)5#Mi7X8sg z(^?`5%eV$wuo=-DCR=U?BBPAyXG}*tdWzQovQ4`+MA9co;;?`MBTt@a z{6iLOw$b9dRRq47!TYUKm>wqtTfZYCb{hyw)4Z5Gi^a#IoTA=%ILxtJ&xmF#fsK$@ ztT-GWff>2|QVB;GcaUbffjbt$T0IWo%pa?HbBK=Ji3y45oF#x3Z9RLjC& z%kb`aA~hI?eR0GXA7MGV8PPKWt5pC-MoNgwK?#I$n`jue^E#{q8P8)?A7E5-I@)gz zoTxC`@j-wi*a!IiA=Y9H5jRCwhP060!J&H->Ep1Sgjjo0W{jiV%ZT=b899aJp*;if zREpWOGrZGGCrFo^I)=9~{HU2a5h3=6Crp_xo--89R;;oq5kY~$7l;T)&}0+H6`pKi z&uEqf=^7{Q*no8ksf)mJ%m|kWIfcoe7@+ul3DY=S#oVrBk~S=|#d1-ZSuEC`4674S zKV}zkB`blsRP3% z%q_K6t*0!JW3U6rciK<8oIq6^{;1WDt&9+>89PoTqY6eGf`xCSqN}Q@3VEUH+Zo!F z93FuEE#zt&5FGDijOdLgPFT?-y>>{(1nc8c#`Mtk!-P3f0TW$kIs@RW3Bz6PMgS*! z?!Z|C=-ereX=?%V<9|UD`}Y2SXR5=wlOk!!Bdz~?7RUdY0{|*ACqrPUPs?eYh@CqL z@a(VubLRi$i;g&O!H$#h0uZPrrW$!lP7X@Dm7CiCA?E} ze;K$VUidoMpV~v(JG6VXnAW3RrES&%JFiwDKq#f`8x zT%oPebXqqo#8ERE#aN@KY6W$xeGKav7#_h2D!J2*EP}UG@%WEQ4h#;P5v+>>&0*OU z=WTnU)x@9_$Ky!TOjDdMw z9uyw7PI8a`Hw)40rng>hIwmr~PO^1lfkG1EiC z7!H7KG-A>SDWw0L=?)}d_8bGT6CjmCtNm3x{QQ}W5f;}mnq;f#JVyShj4hqSb|Hu2 zuoUDcjOsBXBt}yzP2)yg{}DqECB`ukAV;yx=LZZv98V38v*GmpRSf=b1|KnFMn`;b z5Nr^AI>G7uzGOda(wMi$9EmXdCnYomi?%ezpON|}B-ZMO1ysy4*x7Sbj>8^jWUqO` z!r%@fW96BdigR4wX4JkgXnL(wG9Bl*{>$c;qR@x2Z;_$24iD#$@PS20U=6aPak;bSI3;VLEZWrl)or_VML69B#&#q zz_=!wxiL?~F|gf_&96zLQx>UzV=OGOCVA-(Q^%~-Fb{4&$H-g-QPBNk&m&6vZ(aUNVBv?6kv=93J@1jh(ZAT%c|IpOee zhPPvuhf5SPn~T(k8H|IgMzGNmBjRXeaF7-L|1kpZ)NN_ZK2;b;A_J_|4>J5fr2iBR zx|?F*1T0Ka6E1>U}Sj-(^ zRwh&BFyZ?cg*We1JW6s)L%xi9FQX1y;Zc)v?=Te=d;aVn7}bNdku+OzAd)zN+J&|G zZab=2>Xb!Q0m>#P_gxGJdrDJPi!8tIU|=_9#&`p+oYS%=_Wq7>hc0c6$6~DMZfj_0 zf(3gUqYf~yt}4vZ@Eh_LhQjc6*czaEW`Eq`m>-x92bh)lW(IdehN39aR2oc_JWj%! z7}G=I_oT-X=5fnPaaR5fBQTXllUtbr$s+wVqYj#wAr%iqwv=qJJd8++axC7HjCTgwun36wu%?QZKLt)x^{6F+`Zy%xE9bd^9&TDn@Gt}R_7Pz{%^#fib9be%vYURo+p z%a^VfXa-6*kd5Zj3k2Gd(hCI|o6?H}TB6d80&P`knLtZcY6vuRrR4&xVCg3DNw}K@ z8qm@$0u5~G#R3g*=_S~XBT6q7{|0v}cG8N{%LMuXrP~C$3Z>fx`V*xU0=op>B>y+9|cbcc8n?oRQ2xVr>;ait9cUA)rW z0{y?zJ>n;DuMj_ld!<0nvh*tPbGTR2R>#t7#INBtir>I(62FDpEPfBSMf?$NtC)h@ zrU|(1w4}ClFIM7<(hfRaW4+J{;cD6vxIP&65$knrIb6TC0&YOV?CbiVwhC^D4(3{4 zpsj&hsI7xrL|Y2hFVQx@E!Hl8yHvXf?lNs7+~t}9cZIeIZi%)9?n>wjJ(TtrG4!?Q*!KS~cADG@ZMCgH{Lk0&NG}3$CZ zyBcn}b`9K3S`*yOS_|AQv>|-`#acVuOSBHSmumarZq>TrUZx#_yG`qcyIngBw?gZM zTd7?Sw+j2O#rn%Ne9l^5t=$5*M(cxHtC?`?v;nyFS{UvQZ4mBGZ5Zw@EdsYeI{|mM zhWBgz9u4o;`YW_ixL0bo!M#dLz`a^a!@WiugWIT`gxjQ@g4?X&EnDBB-3hmqjE=2u z)9!-XuH6H7ul5qS9ooxaxl3rTfU9YEzc%1%Yo_gIghq{&f~e0Ptz_IwEs^NHR6o+ z|0BaiWTiX+Z^NzPh-el~;#Scu4vRx#KWr1XU}q=nMI+shm?+P*YX(&S{hpNLc;W!C zj<4-&wQb^Nu^07zHUHJZtp|^GQE5Y}r}Q<2)rC9n~Xz zJN{abvL>Xk64tNV;ol8k4W4TdM&){YSL+r>I+uysUwYGoanEDLFb z(mKd8S$H}$?P&yQFrk$JK^)?cy&oLhG}XkRNXJQ}RK{n3TfaCC?G3OtI}uAi=SqTl z06Eu%vr5Jeq>0j)&HG&6nU#$CoK&CPlFR(>6Dvf(e>4)S+4;#A+1|R^(CHOI_jj2C z|NKwnX>B_6=DSyjkaM1{@2e{W3bsaFHXc?@R~tsED1Zfc52mJ^7a%u80f=M~E(oK} zLC*-AVgUNn`zL9q9U-f?`FyV}6r-zy9lE&NC&Eu+gIWlS!t4X}0@sSI0%vfo4*FJK z^MI-h6)X1bzp}(vv=;BGuQg@4`7;UV6wa`(M@4X$T zqSx-|ZmX`T6b03~za@lMwoqGHU0uHutyg_j_2%l$sGM$=$4!e7d9eD;jo9ypSuuYx zDi16rNn$aHz;Y-PD}ip-#ki)|?WnG5?JVxx{Icbu*r=;QB_aGG9Sr>j!N!vI~Z`yemtkA?@%UTvct(E`Iwa;zyD9Y`|$bj{r}nD z|5qSaDN;eFA6?Y*`2scXm^Y(q^XAR#RxMu=(h9C|*8iQxy=DH zY&6S87xxkDI~7&Fs2>1?pAH+4k=Z?iS~|}I)eoQq(f#lS_}Gu2>{JyvM{s})V-@~i zF*SA6@dNU*si{dHV!u?zl?f&T!(EdJtRooa_2>i!`=Tx&dC`+|L<5Bb(~9k`9g9>1 zJ2rGM<^gL$24Ei1lD^S!N%;6!v}FD9(V@iciS$UgB$>EaUeT*}nR!CAlz#nr_&1tLt3Lzb%{%SoW!rI;;PmXmg42~r##izJf9 zcp@<}#_AX!?2n8dhYVvSLy2@rx-WS=T+)|JjvVjr8$X^HEeQ{v8XQTWi#j@P;1h3F zi4f+B!W+wu;J!`RcMbQF^(1S_SYl}W_P+FB$#}Z&_$cX>w4c!!sJ>o6q5H;5`bvgJ z`bdlAC8WlozOnJaF@O<%ux|``FkUjAC>a^-OOKW$`_g^k#2qC>N&<(;l(D}eNYA#Y zteoMK$HRlO1m4X8M!=bp0>V8ZB6I*H>rIpiiq}N;_QkVBU=K&&l#*-=lnhGz^zy-x zBQ?pskrMOHlEFLr;>nRgg#GswHT5bxKDoq)F= z9}OpNht2}GLT*WH!|+z5;VtP4pQ6+cqd@Z;z!CIgm~wI)Z^~f!q%0X=aZ6wpiN78S?XvxeH9-RM9jQ zfpVQb4T4;rRqXHv^u@q8U={d3w)_A8Ys4)Q&gWuW{FUg$?x%w%z9FZZ;P?!1A{i%u*vh1S2kcxDu{ z-`!+-aEvO2(ph1pLa6eK9v?@}^`9IcN6oZxFpR>ktP`_u{a99U{o#%2L>#d!UpiBw zG1Q$=RC{nqjIRZbWoiei2D9bf;h{gU%z1~?sBQa32E%rvH?NzfeT(|QXuNL^{W^GC z@W=c#FBbX0c@5+>kk>$71J4-^Okz}!z3fq87I02{(_}b5B8W*075&}KA*^ROe-{hU z+aLPU`4B19cQQyWrP3v`+apN| z0o}!zKOa_`{l-;zk>jOQqUVnwm8ep!;--QtG(;&=l6YVii1H#M{i;RrE*&a56`V9n z6{r%gL`XtUv^$a}=>IXqC;HmQ`C=bNNT(GIZw+BN0E|0fFUdh{xk_OB49wBTQWsHx zeF*Tu5byCZ_QD_-HbY=5L`c*2bNdhUS!n;yoagsL-+y@KAAK`ue&mrU@BM$CSWo1z zJJublQI084^8zaZtJ!-H(Dp}nv^&%z5o!W8Mx_r*OOHF5JCx-@VqCGm1h?6{B6W9g zNCn3$@HjG1K?SS=r2x|_^|%VBf@=zd0<21lD!4ikB&|B-k9n!(F;AsE_6*o6WA)&v zL@5#O37=UNQqJ+LOM2!%u@wk%)D^(jc2X9(x3&eSUhkZsP`##pe(a0Ztie* zD7GjnUwJ~k&y~y-=&cs@Yv*W~fO1WhDR7a&|Sg3^;Mf>mCQ$V?W2{#QL@p0bu zn?0E99wkPJP_a_M)lsM@lu;`Y_h6xgikmWiC4mPs4;l|Gds2xebS~A>Bjc1vcZ53> zgLoyvLw#PNyYh1d;$2iRQo)r3N`yx$^m~*7sN(nH<|cw0Y_%(p=2O5OSCa~_5J~}N zZYoxGR4TNJr7FCKCg+IBgCn)zDnXR_prlZ7Qo+?_!{d!n#_qw5GkrmX?nLg;xl5NP zohMSAO>W9nv2qI=QU#v7z%`91Xk%wu1ah>yRZ~|!T1RaI2nA?BLfW0!y zz~MC!Gs+g^O(Qu98)t(N9R`eW;lxbXl&3Q!V3*$5TeVIFr>YB^l-$woP@I!9Z-k1# z748b$>kgHN_9$_#2v;Ccf5upOirStb(FL%cy zn2<$Hwm+W4kzjm)&W{=641MIW)O3K33a)=2{eKlw1t+5UQn^Lq2IHf$Tq9P7hBynw zQF}mVk#)xDa3uQ#CZoNIQ|ON3v(uhnHMhryaOx9|^6Iq`IGxQhbT_ywaKIgE87)eL zJe$iK?H0c>DsNW$7iAhPoVFE7;GDFkK{}g`%AclP%j18XT5;Cr|9=$v(Zgr{NBKG9 z(qF}`J~oLSiKJ2yJ|l_`X+J8@P`g(VKmiWpXelZJ3a$#c0vw(%+&l8Qux_!r!5sA{ zaZ1EdHKxiPIx)d z1q&(9b5JR@?jeK+>H-B$0rn~l%6C`6%LVKLl2#woMQs5jlq;@eu0YC1B|^z6oBN)$ z7zVlGU4hJVAsAJ9=SbQ)ib@@gm)vKf`8&9I>cDZKIM?v76@i5lK5j6gt1ttgcwGo5 zaN^L&*2usKoJShcR}vfD6;;A9>|GGjm1r@K|7W!R{HU+h>E4`9NOLD_IUTgb8tj%dYMqjUzY615NvqWYCjMW}-FNxZIN zC@I_#^MT65Ls}|~J=RHSnJ6BM%Ub6bnD0{Il!#yWlqeN11$=&BQu;iTp``c*bLuvS ztV+AMbm2JSNP^Ei{wyO8U5Z0~F%asEoZ|Y!9r_s#+a8Ul!?dWXWmumDNkozyGlHY^F~PH5jR`4G3a}Yd zBDlVI04?T1q(C#`L8@k{5`Qi^)g0Y1?od)K8dOz+RR|TFnd$e-Of+MBs5%=i;BN6t z7~XS&&fOn~CopSAINco_#sTF#BEE~MU>Vdjl&G?PNc0AhK#h0X;nyf141F)x*9`Wr>0ZZ2&Q(UkvW3Rfj;GmcLhQyrK}2s z0^F@;G%aZf>y$jfA7}IlXhe+^qQe{^5s+Js2dNPCr2VD*yw@^v8c!Y*~5LOAMLB};IoHX{qnj#(0> z&J7mAtIQ=uiJU*eTW#2t<&j|TRH?D^<*5#@#;8=Tq;N&J0y!7d7-hPZnpE*p5>V4H zUm{g_Wl7)6b<%+}7GlB5PBYGNHKlo+5F=ZgGdnCM!sD=}1Z7m9uM=@!Z{ zq$E@#c!U;Yg&mGq!!TV9!)NHQ8`W$$4$C@z$;b|bBo~6r$yF*o>eSQ@i z1s|4GL8FSqoz?$x`wuHyY3gROB{-wEN_PkI`V;NGAnpHmE?9Y>Bm4~EpA-41Xt;b1-FjFA5;=$i7M8h&XT!x3>r-Zn2EgrVvq4+u>TIuw`3Op?Pck~)z zK}1yIq2z}sVGVew!o%vPuoJWm4==~Vy3Y!69i2J-3OsCV7UI~&c=$6sl;0zS2~#8D zUOa5sB7}7X9$tlqOJTqx(u#*y<6+k^AzpL|9`2j@a0Sk)xVsvd`+<3858K26A z?f;aq{huBu{?f)2T|HokaKL*?XG1&f(!S;U)w*OBu{?f)2T|HokaKL*?XG1&f(!S;U)w*O0d&h~%G+5S&C+y5zN`#0d&h~%G+5S&C+y5zN`#0d&h~%G+5S&C+y5zN`#QxYHx$PO#3^y%e8mHU7@`TZi)8ya93*YhPz7p2e_-X z_rhJH{UhA9+6UmS)BYK5srD~$*J~eyyFq&p?giS1;9jVG816;dN8xVNJ`T4``y^aL z`!w8g?IF0EG*rx+Hfs;V-J*RC?#0?8a4*rm2=`L$QMg;RFTuS``wHA`+E?Lj*S-d~ zLi-lnO6@=4R%!nQ_j2vqaI3Y);nrwRz^&Dugj=V5A8tMD*osX%w4cD;sr?l0F70P< z8?>Lp-L3rs?jG$|aIesQ4fjgzH*l}gU{h<;)!OgjUZed1Zlm@mxJ?=kvfb3|!>hHa z#izq<^#$Oz`GRoUeQ0bp?e!JG?eM|A)@I>b3Rm+jhwJl|z}0;#;re~6;RfusuY8AJ z`$eYxzf8yr-0wDQ|MT^R##7+TgR*U83j!_DFHvJ%BTIp;Evd7-`&`k0EZvL8<=&-y z&+=|w19=VPHL%z;AgKMH;`V^+0<~5MlKwbmSMGc6HuX5Ud8v9qgu-gB?-9qds3HAta#rELa zG265VY4d9Zy#JrZ{yFWxGfaNo z-ZB0U{XmGT*A(oAyJxYvg;hc{7U$i(2J#xnYv4R<0IQ7}mlo#Tv!Q_w=yqKpR(myW zI`^))Cg_a+sr|3CTl*Kt{D0A7I7i^ZC0NhVa(VG4Eb?2Dcb{V#z^qkkaq;4D(U)vp zTigYA(=&1pgTuwe&z8#zSmiR-yqniRUITdzNDYXVrOx_48vA3+$rsxHyA9j_e7#}( zUp#?YwqfZ@glMl=ij}DCSLNNsuYqMR#}168%dmd9qjcHF;BKC``)N>JyiB@S72I*j zvS;q{z7V-PB=6=mkk>$71B+h+V(&`7_FG>6M`M4~tb9@XZ+oA&H?;rDvHNY``sKZF zFDiK)Tls3w$i-KK&Rr#WH?M)`iUxj2+f?Od)x4Y6KwblR4M+`$0~hHt_WxtQ<_m8B ze>FM-a``6GUW13=r|kXzwKPq@)2G1H<3aZ6@UR09wi1QdiHFSo|JUOov;Y4Mc*yMk z{~J7H_W!>T51IY{Z^A=n|NoouklFwLwwVu^E&p!^=9xX@_y6bj|L6Dr=lB2T_y6bj z|D#D0HRRx;@xQ^o=dXjtGr#};d3Dmk;@SBxCCTsq&ubvBfxHG5u?BMX|6^^VsI{AW zwEw>6Z_6)JhW0|fl=)oT?VOi6uYtS_8AR}XXn3^|McZdem~2*c@5+>u$VQFv;UvQ{yFWx-4l5J-Z1{p z@Bcr~`-<~t9ON~S*TCY}z}eXMp64kwuvqs0Q~STeZthH(|39yRyaw_bn5BW7{r@!f-bMu-nKN#{c>K|H`ufo-4b)^K#}jAT^NR|DV@DUITdz%+dh%|7+S4 zfzBgMooMqvCqDP{z_QR+f^P^O3tkZXYT&N|HwHEap7Ounf70LRFZ4g8zZ}8xS6%~o z4LsW#CB@3Wak~#?xcIG&mZ0=66Tu&zuuDoE2tsm4-rXknR6q9Rk|_ zMfFED8np6pKi!&ACnB+AJXT?JnbCoGbfh$->H5bQ*QE%f0E1MCnLh$zxJu{_wdHoD zh`N%TIgpj&8r)Wwd#tu5T?k!3P`x`82~#3Cr#!J9lDVTixqZyJ4(*S}hO9&+okTWSiNwS@%BC7db;T1yCi-u!cIH(uRE<<%6wDN%D+2RJ zP)SozDI)hyiGr6*|3NFkz1sbj8LR9v6S_Ni0DV>^1}gT#Z3}pzy(qnK+tf_e7)^mv zfRSpXtyC5tGnO2TSkZ8Walnejtkkg4QgtEW|0D+p(Wr&ewci}ElB)=;g8z<#A2efw zW+Gu$80`r&c4942Jnh##kPE;mNL<0QfwLhwlA?&JWnBnH!A=1tb*W={+6$*p@&ZWg zOr!U;E1eh}p77-1sj;X1N_{GrD!`tKQEN<%QN*JFhuq=rP|}~Kb)9kh|AWvE9zK_U zKN1goK487unYf~RgYFMfe)kLvkDH0qsS2YfWsO-eLjhNSji#!FU^YWo8l;XM5xI>kyhECNcf}tSf~p5G7|$(cB5$p-Szz2X}`` znbbHnMwJ0>6mBrQNeZy)1tayjlej~b3i66zVXvLL0Paw=SjzNqE~&Utp;F`27=KiN|{5dlM1;)!Yf_h=-kz0{hI^8cO7=)F^iv*YK`D=C8)Qibe9kD^V_j zDZ;vg-Jx@61L7*_Tm-VU>ybt`ZZ5FdpxF@0Om`?Z1WNJT5o%79Wedi75PG13UO4L5 zD)H`#TS$>t(kS9~1-k;*gcM*+3D@VygoP4%(J66C9jg#3xH1O)9)5*-qH#=NV5TfH znZZ?bjFHXpgcVDstO#oHgJx>j)Lr53P(^4};8;YBv7$zg3hM@UgOT{Lh^0U&z(j$# ztIF`YyC$7^IwABZYi(a*oD|lDDPq%#a%DY?I?fA82E8i__D=+mg+$1OExP>oVyRPf{TM_3-w4-O_SQgZYn zbSH9$ju^)+uZR>>u3%T7=?=By^+aA2Qli}v?of)#72^u@C`PLAs(e?5XN}_>Qxs#F zBkIIUa&Kx6tOp7uZmwui8@e)Z1wxsen6rRfFiS7OdE(|7oa-n>SyUH0RU`_y0&KtL z)R-wsoeFN3Mz7MUAXR{k1->szc5}QBbI?H}Yq&Y-z_OHnD=}1I9I+Cycx;^tPD*?S zx1NXN;Y4I8ZJnxYN~FxFbv#bX&=QfjL1Er5TUawqqwZk~pE-vu?ti?65Nfm+k2>+iOO-zh)*&NcZn!V3#K{67@nWa0+lpxFB3W zQZyw3<)SMRjZ_#-YT3Mr6<7rrT2f(DaO!z=MLe(ylmaaC$%~(NY{D~-RgtRTGI3F* zI39E!C{GzZ=+r1BMukwp7nJ`>W(tHW*!8u2FBgYa%aua6u?sn7*JzgYim|6RBFNcka#q@R-YG` z;(krYoyHC721BF@4xE73pcQhL$%|@|6W0=r3=YN<;fh`>Ov_{z@A`k5?eDP6a3nUA zT!Jkv{{TZu75LM83#j^TN?3zvK-*FHhk3nEH-lTSi^&``@rk1~g1pB{N8@0X?v8T> zy8^xWL=-d%FpI=1mkvsil}Hsr0iPdOk=3?Lk(h#;6xs9b@}OJ*N=c$b zcx0NIM!tL00{np6`~z4JVA0IKvv9Vp3JYZu{C#Dy&i|JS(b)3lkL>!{7fW8IiFXTq zO(D1Xv9P^hx-&kpnv%GR;d|p=0hBleQw3OGrDUW;s7Y28s)_704W>MUcp+6dWzslG z6_wPo8mq>r6X_v|2RkYRYP2iH705+LiBTdvgoa>yyG{SA;7t=Z#R~ z7lJ8t*Sae!S0G8|p*=4gX;zJYb}E1D+~v7AAE7mv1?&;_Nd z5Fs@Nnc|6bVd)j#B{+3F+`(1uaCfLoy8dJCop+n`ni&V<34F;mj$&kibUaDQo&zsL zhnXH4X6lYAxlM%VT;NX>Fh^Gm5pR<#10hsBErl@t2^YVkJrQA@iKopq|7OF5R_y?5;l1PDc z6NzJYCsA;Lw5kX^65=kfM--50uQytObx)-`l+vP3j3NSE1y^UIS2SvFROa?t3cM;o zir@=NsUi}uIF#yC5-Aa0dBZQB8>Jfz)v_WblricOuplZ$Oe$U~xYt{zrcq;*`J#?U zkrFk5$D5&ye*Teoy=DtYze0d&E*S@{NWYn;^^r|cdug{4QNv%U9HwIe^ zbp=KNRs~nVw{pBk&;w~!1yR8zsRz~rh1W)r0CkEHpMt1R>*w`<`xn{zKY0>Sq5nxg zjXjhzI_Z$xZyX7~CC+4O@`}*5tMECvE*30P7w&4Bjzp zMusOjoe_5Y50!^@jMgjgZB}0i*W88@p;We%8 z8Mgo54So0Fv-Nj%upw9*tO#BbG=dv~tAope1wmi%4}o6?^cQ1IfWWyA)^O4s!NSWb zUK`^Ibp`4Q4tImE0;K?ZP`Jl@_YxJS`NByDDjL?03h544i0d9$t-#sgXG1u*NOLOr z-DPoydazfaRB&b1sEY-sLiCJUDxS|4+(TPZhWSRsMP&YhE22?==U>{r@&H@56!Ewh z4Ud=8osXIgq8`Qh2#NqIxJRbBb5b*M!??lFZ}3R=94NJdLFf_NLU8kE=dLnJlBe7% z;XK)mdWomvc(;;Bg;2n~MYCc9G$z9$B{Lc}!aQ1wNG%KuC*l^qk~5ZvEsvqk^*5m- z^yLG+d1n{hVLBFIQSbk!Oyx^2E~fj@NH~tBem{=?iVRwbwF+=Z0at*jn_c9An@8LV zE^c5q7?Q-oP+}K~cc*iQW@8hbkr;mz!`6FlnF}C;E0HTOF&}77tgd9PKxk&ZaLU$V z_e5m%tYQjc_k5qLv>-~aIMqzuFdj0v1)oEnafedwyUNbRLX9aZ_8=pr zE41!S<$+a;;zHyCq6#YWHqUy$e#hMcmfIaCI#63%SjOCxNDZeGMpu>2G&AAuP<$;{ zB1kA#R`iK|zL@!jS0zJ!-dBnRk<~E)`7}3u2Qjfp>jLl*V00KKdv#)kfdawDE&Pg+ z`$mT2gM&C07jpvPh{>6zKYJ(@D-|56`Q;K%B#OGbcnUCO_G{OD2>-Tt2*VHG%Ecr;J+w_e&&l&k*MIx7!a|F#!E1gS4HO)7dkrf zWbCG@!%{1EA^ZP=(?1I}0q~ncM-%1*KG^lf`zJ7n3F*2!coPDvPzw0`89`PTA~zTW zbqT42lJsi%=bf}gz5dT9!ajX78M6{y1MLF zPpBepj)U^Y9j^c*G4A0hl?J8X1Mg1hK~N?YisK>wUwiKYW!F`n37+EEDHALi3t1&w zmQ{M#vV>HUZEOn*%TZNHC9A4rQB|>)X-GJ#I;wkBx9%x!-78U=fWg5)Ch4qn2f`52 z;5Z??!vsju$;{A6Cp~sUPZm8P?#y%u5Ij6Gy=IaI)=IBgB=i0MzE_g1|NF1btujQIZNSexrF#^XgT@{&}2}&^_fWI-yGeeeu zg{?Kg?mXxPFSGfyiup%)*))Phz~K~w?p3Wan5;`8Sk3ZVvUw?@i@-WLnsE$AjX7R@ zPy3*uS~{K8@Ho+Wqj*BMfsMbe>>&2Hz&0y&Of)%x&BsCvJ??8Nc4%@EPbRv(%5+jo z>%n`*#f(5zens@T8C>#OgEgRbJ`xcE_b^A?fORl|KJJ_<}wEf4lqJ zPx=3SsryS$S^vp^ap_z2=*>~gsgFSDiEbR# zBOUFbDIBCQg`vJXws8XE_S(*$OApoYW}%ddF-I6K4lbQCswu?5p(#a)$DIHXAp-M8THQ~k~7k_7|U>}ZSl1_UBW_JGnWa9 zpNwF*+Hy!rQG&K1TI*U`rjOyYq-Ev+u}@$}zxYeta+>{xdgaoLd05-TQIj@7G=`=O zcD7CBMapoB-Rkr~;Fv0VX!{W-3!wlM z3;JNgnZp{ifnQ(#aWF>{qQOCWsGb>nVZ8WGR9S!-+1Io#7gM zVp=&a$QfK2Yb7jhj?RqIIEk~4N=A7yQiwJ@ry0X=QlDrv($O&Yg_BV844e_sPFYvZ zbJpf;bvEi;65ULq!{BzHj*5huqBJF(X6?!NO~$T;%WG=bcG5H4iE6HoGvsRL0-PbL znwMT@mlw503A^#~?ELcOGB#tQQhd(Pm~|kcJ)GMWb#?94_y0#ac>muz5BLk+UwCTi z|3laNXL<*4TvjuLiJh|9uigay2aF#s%VJ1xta+~2v6ytEJfFxH@c7>-ey|#| z4Ec#axGuj8lVD!`fec=ZWH=QNZH~S_Xd{Rlc-e>hAhu-2^i6%liG#{Z8HUIIT74Ke zm!77w7GYt*g@1h=|52g{xixPNzTe)mstLim1JtO zei%O|RNO8Dz8X!=KroR_&<}>9tE5HLu8SQ`%rTnbrho}*yQtyPwpHbWapmR`Aeo`Y z_NI&AHf*EPy)f-D0^xT+Sf-@6n z7XPaI_$l-hn52Y*jAZI)e{CUVL{i-#Uw4Ng_u=lLS~iPr020|ryd7B?>;L3BX#K@c zzFdCxr^&3|6UaHo7M9FnYP*paIDrv%JHONiXP!`hoD5Wy5RNK`dcxssLzaMrC9^gf zrWu&Jxqz9S)|6feL;x`H7{-_rp6z0d+Xv}rJJeyw%t1lML756VbWY?6_!(?TswI3!HtY=`G|e~Otg!^ah)=hsKc&DdK?@+%J{sVU+;LqY{cR`m$Sue6de%{o|@rB zjct`SDkBexO(+g6k0aGaWzB6`DRI9!90RS%1KI5 zk^F?~0aM5D_z~)I3`3|nOVR|xn@cNuD{xRZl1$E2<*EGPGPdcd1{=>u!^)Ont%A`6 zulBIQy@bUw2WQHs8nKDn=&8nR`6g*QrVP{7l6q;^X?_2HxP$lqVUOMyBt;a-UmULy zW+0iJJE`Zh>2{EL(B82=J3ELQIU^x{$(nY&`qnO!&zl7l-?W3c{L;5XEQwyz1rwa= z9b-lwTMj#y`uUfUg*G>aNVBTQ~ zD_`e&$HTtDe|>%YHElu`B_jQ4#mUhLW!htky1GU?{{C-`{NL*S)>BLKp9IJHi$AKJ zVn1$|aQYLrd&2QQrxP2+$*mb-2t37bs)(Ba(>tdJ{r;w<)xvl|?A+B({AH>xxT_H! zPR=ItxHHA(%8hW=;*)FQ-=vh()rmHI8`=`*B1_7=Q_FR{JSX?XhY`j1I#l;~-DYi6)pZk&z~TWG1)6Qr z)dxW?WivMF2Z6~joO#9bdlleFp>EPnX)ebZ&rR_ql`~DkJqm7cySuuM>-axJpa0vh z-}hJdcgD&^6vd@i$Um6+R9l!oH&af}E=-==)%zf}9ogV<-4^9LZFXuT!FGW{`kqmE@rX4?`rNypMIyni)luf3s$(lQqlJnvQu{rIL zv~dQHein%RJs4i1M4CyL6yNG(a41|vrYAN^{bSinP4C+Aw@QdED^qj`yT4#PxW4_> zwSJgWui_Siz--azAIVPQFfW|rgFF1BlIjiqW{0Cvlpx9otnWTdU57vbTApU5Fk}#MQ?H^WxG7w`qX;vr0C}#937B{5Hy~tcwVQ4d6)Vnx5OD zHrl41Y#|f1Kns)ODH+aUs-Li#5n=NOfUOmTdqeh{L$`BKiG(o3- z@PokP!>)Pd>Hs2Z}IMSx&;vZlDGvJ@`fK+{s}V!W1w;Hx#5@pLfmH zXruHh3EEz!o$To3p-L^qt3=%A^v}y&;T!zN>3wN#6f|v-_J*E$x3Y;5Yx`|3?FdV+$Hnr5avH z<3=D^=pF831jF%ZacNXhHBx2F1UG(THx;4;wUk%F%5PzaIDvUZG$$=|5E0Xq38En| zT+LJCUR5#9wG@A6E#V0~+}1&^vb`)Txb2LM;v!r6X3I?>>^}J&+#axUd5%Kwcc>sG zv;(H*SR0X;NkP7#z1BoBk8KAp9GLtmMIXkwZGxT%XDi1h`UwIDy|t|F@{G)jOD8;0 zV^YG}oQ-}$oOdXg!ceB6!LbPCWVSa}kxTI-VY}(y&}a-Mb=d$Fqr-eXn~N>5l-7DF zakM#Fnu6`5OrdtxT%|6Fru8l@^k}0tSHi56qbW8i*R|>kz~A4E{b1{O$;%}ft6_OI5as8r-p5I_O^iXeBaIAcKUe}!BEzCe4Ry0^>UoT#A;*BCF zJEQb|mMc}dt_}@W8q?W4UUMBPS5mxe?N295vQ2dC(u5^&(CLzusZAIMY?~%*g4JFE zH%rA?&LA2clSGifn3TY)gm46I)#4_6yJk8GLttoJT1H!$=U=|9bb=pIYpHGITxv zFP>c|&}d_!f|CF%S)*ABhRfbZrihJ}s=8THMUC{=vZ*reCr7=!rt*u_c(N|XNzS0+ zi9b1UmVG@Xq|p)E&5$yh;rNv2C}fl;6Nh>wSqR)}5sRa7|4KY2IDxB94NwuO8x)=K z47V_(_b!N@=(o?Bj#zalJTlBB>-k~t{ z`!vDF6(7cD*vV4Zu2m12(wKYPLos0)zJAFFqKLo?xPDDnZM25`sM3ctEJqquefaNB z&!n|V*ztE{olDB7fbHz3%aeHd-AJZnxEoPr&qw1yg?;t}J~Gc|H7}FHF^b{vh*1o` zO$*U4yVRk@4dPX}4)8I-*C6{ZcMp^@tW6k7aa)k~PRuuU52iA4W~F@pe|eA8a(|l2 z+y8;SmrH}WPOz9T42Q`0Bquoou@Yq|LH$!dI#6g@GC_og;e@cW+o%_NDI1sa0%=N_ zpjJL92Yhp6P>-|aDZCy#+IJ#!)J|qfQG%OZDiN-S+U6php~^zjopmI6?Q5w@v<^7oxyr0K9XA<@ zsC{O_!gJ|nnPu#IUgx*0&;LcN^)LRUw)3$DR{YB=jml&;i@N}wJn~Vcj%8=D=>qNz z@V;XPvpX?c$tDQg!*IFL@VJl2U}Kx2K5)X;WTT<@Vjt`7lKHai@G4uw9uD(8W6J!h ziX5(`jVeB-9ITWvRaw_MzXx{=l%&LadbkiY;?LtfPGl#Ns+q+ELn$0eDr*r1fiuZW zSO+-Yn2kf}o(q(EVpJ(1%;1|~JWOJ0=e~&df;^7`CSce=F zBe-1>I6(66$yJhNd;U*+X1%oFBRHIPx|W>5%lH$0Sa)KgnEpVC1#HxjTZl?PTNfoQ z!oqqdWWI){Ny+#Tjle(&eddXD9z7yLphFyIPN>Kzc9TMn+@I92+9m1j$MHyc2$Gq= zOgYUiw^ZZ7&ukuhIATO#-s#qtISfx_eW*jY{!219R(q)(#7kVYt3mH@$9# z-{V}RF1e1jH%rXIw9k^OqGJcIu|;k4GNM8BwXJ8@;5E4dm2h30K@7j;u`A;FUoO6` z8|8LjAd~G2`qNq!_XWKJS+$l->AWvacO==7ka*(?GLqr7B_yb4%tlV!%zpWxR;8J} z4TI|EV(r>S8(Bv&r#REz8ySaqOWxpdGzuLF@s^iNb*3fhQmQs8V&2-7{~jrlTv;}BYE5tVw{0r3SEj!VFi@F2ZuK{ zYooM!d0p`$6BE4N9RY{>7~>eO9y_E>*{BAYv^>~xgjnNZA_i_it$KGT>a9f(Jtk~| z=bIreHS3}X3#BGXZG;`#q4>2ZW-UPryKpHPW#9rZ=J{xANio8HIu44RVx(tSke=WgvkKlQuz_ut15R45g$wY{Evd;fx;{Ml(DV)?tY`M?dG;=}7AF^T$`Oe><#=>Fjkc5{!HU%7$dEF565Na@^@f`WOJJ|nJ066( z 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 be(cAOo8`y-__0xb9KerT +<% Option Explicit %> + + +<% + ' This sample utilizes the Image field in the PUB_INFO table. + ' This table is installed with Microsoft SQL Server in the + ' PUBS database. + + + Dim oConn + Dim oRs + Dim Pic + Dim PicSize + Dim strConn + + + ' Setup HTTP Header Information so that the browser interprets + ' the returned data as a gif graphic file. Note that browsers + ' interpret returned information using MIME headers -- not file + ' extensions. + + Response.Buffer = TRUE + Response.ContentType = "image/gif" + + + ' Create ADO Connection Object. Use OLEDB Source with + ' default sa account and no password + + Set oConn = Server.CreateObject("ADODB.Connection") + strConn="Provider=SQLOLEDB;User ID=sa;Initial Catalog=pubs;Data Source="& Request.ServerVariables("SERVER_NAME") + ' Query SQL to obtain recordset containing gif BLOB + oConn.Open strConn + Set oRs = oConn.Execute("SELECT logo FROM pub_info WHERE pub_id='0736'") + + ' Obtain local variable of GIF + + PicSize = oRs("logo").ActualSize + Pic = oRs("logo").GetChunk(PicSize) + + + ' Write Data back to client. Because MIME type is set to + ' image/gif, the browser will automatically render as picture + + Response.BinaryWrite Pic + Response.End +%> +dsafds \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/Database/LimitRows.asp b/aspclassiccompiler/Backup/AspWebApp/Database/LimitRows.asp new file mode 100644 index 0000000..247b0df --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Database/LimitRows.asp @@ -0,0 +1,93 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> + + + + + + LimitRows From Database + + + + + + + + + LimitRows From Database
+ +


+ + Contacts within the Authors Database:

+ + <% + Dim oConn + Dim oRs + Dim curDir + Dim Index + + + ' Map authors database to physical path + + curDir = Server.MapPath("authors.mdb") + + ' Create ADO Connection Component to connect + ' with sample database + + Set oConn = Server.CreateObject("ADODB.Connection") + oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & curDir + + + ' Create ADO Recordset Component + + Set oRs = Server.CreateObject("ADODB.Recordset") + Set oRs.ActiveConnection = oConn + + + ' Set Recordset PageSize so that it only + ' holds 10 rows + + oRs.PageSize = 10 + + + ' Get recordset + + oRs.Source = "SELECT * FROM authors" + oRs.CursorType = adOpenStatic + + + ' Open Recordset + oRs.Open + %> + + + + <% + Dim RecordCount + RecordCount = 0 + + Do while ((Not oRs.eof) And (RecordCount < oRs.PageSize)) %> + + + <% For Index=0 to (oRs.fields.count-1) %> + + <% Next %> + + + <% + RecordCount = RecordCount + 1 + oRs.MoveNext + Loop + %> + +
<% = oRs(Index)%>
+ + + <% + oRs.close + oConn.close + %> + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/Database/MultiScrolling.asp b/aspclassiccompiler/Backup/AspWebApp/Database/MultiScrolling.asp new file mode 100644 index 0000000..a22bf3c --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Database/MultiScrolling.asp @@ -0,0 +1,124 @@ +<% @LANGUAGE="VBSCRIPT" %> +<% Option Explicit %> + + + + + MultiScrolling Database Sample + + + + + + + + + MultiScrolling Database Sample
+ +
+ + Contacts within the Authors Database:

+ + <% + Dim oConn + Dim oRs + Dim filePath + Dim Mv + Dim PageNo + Dim j + Dim i + + + ' Map authors database to physical path + + filePath = Server.MapPath("authors.mdb") + + + ' Create ADO Connection Component to connect with + ' sample database + Set oConn = Server.CreateObject("ADODB.Connection") + oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath + + + ' Create ADO Recordset Component + + Set oRs = Server.CreateObject("ADODB.Recordset") + + + ' Determine what PageNumber the scrolling currently is on + + Mv = Request("Mv") + + If Request("PageNo") = "" Then + PageNo = 1 + Else + PageNo = Request("PageNo") + End If + + ' Setup Query Recordset (4 records per page) + + oRs.Open "SELECT * FROM Authors", oConn, adOpenStatic + oRs.PageSize = 4 + + + ' Adjust PageNumber as Appropriate + If Mv = "Page Up" or Mv = "Page Down" Then + Select Case Mv + Case "Page Up" + If PageNo > 1 Then + PageNo = PageNo - 1 + Else + PageNo = 1 + End If + Case "Page Down" + If oRs.AbsolutePage < oRs.PageCount Then + PageNo = PageNo + 1 + Else + PageNo = oRs.PageCount + End If + Case Else + PageNo = 1 + End Select + End If + + oRs.AbsolutePage = PageNo + %> + + + + + <% For j = 1 to oRs.PageSize %> + + <% For i = 0 to oRs.Fields.Count - 1 %> + + <% Next %> + + + <% + oRs.MoveNext + + ' Don't try to print the EOF record. + If oRs.EOF Then + Exit For + End If + Next %> +
<%= oRs(i) %>
+ + + +
+ + + <% If PageNo < oRs.PageCount Then %> + + <% End If %> + + <% If PageNo > 1 Then %> + + <% End If %> + +
+ + + diff --git a/aspclassiccompiler/Backup/AspWebApp/Database/SimpleQuery.asp b/aspclassiccompiler/Backup/AspWebApp/Database/SimpleQuery.asp new file mode 100644 index 0000000..13e1f20 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Database/SimpleQuery.asp @@ -0,0 +1,71 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> + + + + Simple ADO Query + + + + + + + + Simple ADO Query with ASP
+ +
+ + Contacts within the Authors Database:

+ + <% + Dim oConn + Dim oRs + Dim filePath + Dim Index + + + ' Map authors database to physical path + filePath = Server.MapPath("authors.mdb") + + + ' Create ADO Connection Component to connect + ' with sample database + + + + Set oConn = Server.CreateObject("ADODB.Connection") + oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath + + + ' Execute a SQL query and store the results + ' within recordset + + Set oRs = oConn.Execute("SELECT * From authors") + %> + + + + <% + Do while (Not oRs.eof) %> + + + <% For Index=0 to (oRs.fields.count-1) %> + + <% Next %> + + + <% oRs.MoveNext + Loop + %> + + +
<%= oRs(Index)%>
+ + + <% + oRs.close + oConn.close + %> + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/Database/StoredProcedures.asp b/aspclassiccompiler/Backup/AspWebApp/Database/StoredProcedures.asp new file mode 100644 index 0000000..2b7dc4a --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Database/StoredProcedures.asp @@ -0,0 +1,63 @@ +<% @ LANGUAGE="VBSCRIPT" %> +<% Option Explicit %> + + +<% ' This example can be used to call the ByRoyalty stored procedure + ' installed with the PUBS database with Microsoft SQL Server. + + ' This sample assumes that SQL Server is running on the local machine +%> + + + + + Using Stored Procedures + + + + + + + + Using Stored Procedures

+ + <% + Dim oConn + Dim strConn + Dim oCmd + Dim oRs + + Set oConn = Server.CreateObject("ADODB.Connection") + Set oCmd = Server.CreateObject("ADODB.Command") + + + ' Open ADO Connection using account "sa" + ' and blank password + + strConn="Provider=SQLOLEDB;User ID=sa;Initial Catalog=pubs;Data Source="& Request.ServerVariables("SERVER_NAME") + oConn.Open strConn + Set oCmd.ActiveConnection = oConn + + + ' Setup Call to Stored Procedure and append parameters + + oCmd.CommandText = "{call byroyalty(?)}" + oCmd.Parameters.Append oCmd.CreateParameter("@Percentage", adInteger, adParamInput) + + + ' Assign value to input parameter + + oCmd("@Percentage") = 75 + + + ' Fire the Stored Proc and assign resulting recordset + ' to our previously created object variable + + Set oRs = oCmd.Execute + %> + + Author ID = <% Response.Write oRs("au_id") %>
+ + + diff --git a/aspclassiccompiler/Backup/AspWebApp/Database/Update.asp b/aspclassiccompiler/Backup/AspWebApp/Database/Update.asp new file mode 100644 index 0000000..c4842fb --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Database/Update.asp @@ -0,0 +1,54 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> + + + + + Update Database + + + + + + + + Update Database
+ +


+ + <% + Dim oConn ' object for ADODB.Connection obj + Dim oRs ' object for output recordset object + Dim filePath ' Directory of authors.mdb file + + + ' Map authors database to physical path + filePath = Server.MapPath("authors.mdb") + + ' Create ADO Connection Component to connect with sample database + + Set oConn = Server.CreateObject("ADODB.Connection") + oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath + + ' To add, delete and update recordset, it is recommended to use + ' direct SQL statement instead of ADO methods. + oConn.Execute "Update Authors Set Author ='Scott Clinton'" _ + & "where Author='Scott Guthrie' " + Set oRs = oConn.Execute ( "select * from Authors where author" _ + & "= 'Scott Clinton'" ) + %> + + Changed Author: <%= oRs("Author") %>, <%= oRs("Yearborn") %>

+ + <% + oConn.Execute "Update Authors Set Author ='Scott Guthrie'" _ + & "where Author='Scott Clinton' " + Set oRs = oConn.Execute ( "select * from Authors where author" _ + & "= 'Scott Guthrie'" ) + %> + + Changed Author: <%= oRs("Author") %>, <%= oRs("Yearborn") %> + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/Database/adovbs.inc b/aspclassiccompiler/Backup/AspWebApp/Database/adovbs.inc new file mode 100644 index 0000000..21a2d28 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Database/adovbs.inc @@ -0,0 +1,33 @@ +<% +'-------------------------------------------------------------------- +' Microsoft ADO +' +' Copyright (c) 1996-1998 Microsoft Corporation. +' +' +' +' ADO constants include file for VBScript +' +'-------------------------------------------------------------------- + +'---- CursorTypeEnum Values ---- +Const adOpenForwardOnly = 0 +Const adOpenKeyset = 1 +Const adOpenDynamic = 2 +Const adOpenStatic = 3 + +'---- CursorOptionEnum Values ---- +Const adHoldRecords = &H00000100 +Const adMovePrevious = &H00000200 +Const adAddNew = &H01000400 +Const adDelete = &H01000800 + +'... +'... Lots more lines like the ones above go here ... +'... + +'---- RecordTypeEnum Values ---- +Const adSimpleRecord = 0 +Const adCollectionRecord = 1 +Const adStructDoc = 2 +%> diff --git a/aspclassiccompiler/Backup/AspWebApp/Properties/AssemblyInfo.cs b/aspclassiccompiler/Backup/AspWebApp/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..71e952c --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using 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. +[assembly: AssemblyTitle("AspWebApp")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("DLRSoft")] +[assembly: AssemblyProduct("VBScript.NET")] +[assembly: AssemblyCopyright("Copyright © DLRSoft 2009")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("3d5900ae-111a-45be-96b3-d9e4606ca793")] + +// 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 Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("0.5.2.32072")] diff --git a/aspclassiccompiler/Backup/AspWebApp/Simple/Arrays.asp b/aspclassiccompiler/Backup/AspWebApp/Simple/Arrays.asp new file mode 100644 index 0000000..21588ba --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Simple/Arrays.asp @@ -0,0 +1,112 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> + + + +<% + 'Declare a simple fixed size array. + Dim aFixed(4) + + 'Declare a dynamic (resizable) array. + Dim aColors() + + + 'Assign values to fixed size array. + + aFixed(0) = "Fixed" + aFixed(1) = "Size" + aFixed(2) = "Array" + aFixed(3) = "Session ID: " & Session.SessionID + + + 'Allocate storage for the array. + Redim aColors(14) + + 'Store values representing a simple color table + 'to each of the elements. + + aColors(0) = "RED" '[#FF0000] + aColors(1) = "GREEN" '[#008000] + aColors(2) = "BLUE" '[#0000FF] + aColors(3) = "AQUA" '[#00FFFF] + aColors(4) = "YELLOW" '[#FFFF00] + aColors(5) = "FUCHSIA" '[#FF00FF] + aColors(6) = "GRAY" '[#808080] + aColors(7) = "LIME" '[#00FF00] + aColors(8) = "MAROON" '[#800000] + aColors(9) = "NAVY" '[#000080] + aColors(10) = "OLIVE" '[#808000] + aColors(11) = "PURPLE" '[#800080] + aColors(12) = "SILVER" '[#C0C0C0] + aColors(13) = "TEAL" '[#008080] +%> + + + + Array Sample + + + + + + + + Array Sample
+ +


+ + + + + + + + + + + + + +
+ + A Resizable Array
+
+
+ + A Fixed Size (4 element) Array
+
+
+ <% + Dim intColors + Dim i + + 'Calculate array size. + intColors = UBound(aColors) + + 'Print out contents of resizable array into + 'table column. + + For i = 0 To intColors - 1 + Response.Write("" & aColors(i) &"
") + Next + %> +
+ <% + 'Calculate Array Size. + intColors = UBound(aFixed) + + + 'Print out contents of fixed array into table + 'column. + + For i = 0 To intColors -1 + Response.Write(aFixed(i) & "
") + Next + %> +
+ + diff --git a/aspclassiccompiler/Backup/AspWebApp/Simple/Components.Asp b/aspclassiccompiler/Backup/AspWebApp/Simple/Components.Asp new file mode 100644 index 0000000..d0108b4 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Simple/Components.Asp @@ -0,0 +1,40 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> + + + + + + Using Components + + + + + + + + + Using Components with ASP
+ +
+ + This script uses the Tools component that + comes with IIS to generate a random number. +
+
+ + <% + Dim objExample + + 'Instantiate Component on the Server. + Set objExample = Server.CreateObject("MSWC.Tools") + %> + + Random Number = <%= objExample.Random() %> + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/Simple/Conditional.asp b/aspclassiccompiler/Backup/AspWebApp/Simple/Conditional.asp new file mode 100644 index 0000000..ecf93f0 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Simple/Conditional.asp @@ -0,0 +1,60 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> + + + + + + Conditional Operator Sample + + + + + + + + + Conditional Operator Sample
+ +
+ + + <% + Dim varDate + varDate = Date() + %> + +

The date is: <%= varDate %>

+ + <% + 'Select Case statement to display a message based on the day of the month. + Select Case Day(varDate) + Case 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 + Response.Write("

It's the beginning of the month.

") + + Case 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 + Response.Write("

It's the middle of the month.

") + + Case Else + Response.Write("

It's the end of the month.

") + End Select + %> + +

The time is: <%= Time %>

+ + <% + 'Check for AM/PM, and output appropriate message. + + If (Right(Time,2)="AM") Then + Response.Write("

Good Morning

") + Else + Response.Write("

Good Evening

") + End If + %> + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/Simple/Functions.asp b/aspclassiccompiler/Backup/AspWebApp/Simple/Functions.asp new file mode 100644 index 0000000..3279680 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Simple/Functions.asp @@ -0,0 +1,54 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> + + + + + + + + + Functions + + + + + + + Server Side Functions
+ +

+ The function "PrintOutMsg" prints out a specific message a set number of times.

+ + + <% + 'Store number of times function printed message. + Dim intTimes + + 'Call function. + intTimes = PrintOutMsg("This is a function test!", 4) + + 'Output the function return value. + Response.Write("

The function printed out the message " & intTimes & " times.") + %> + + diff --git a/aspclassiccompiler/Backup/AspWebApp/Simple/HeaderInfo.Asp b/aspclassiccompiler/Backup/AspWebApp/Simple/HeaderInfo.Asp new file mode 100644 index 0000000..f99ef4b --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Simple/HeaderInfo.Asp @@ -0,0 +1 @@ +This text is coming from HeaderInfo.asp. \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/Simple/Includes.asp b/aspclassiccompiler/Backup/AspWebApp/Simple/Includes.asp new file mode 100644 index 0000000..2e2ed64 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Simple/Includes.asp @@ -0,0 +1,32 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> + + + + + + Server Side Includes + + + + + + + + Server Side Includes
+ + +

Server-Side Includes can be done using the + #Include File command. The below text in bold + has been generated with a Server-Side Include: + +

+ +

Include files can be referenced using either + absolute or relative paths.
+ + diff --git a/aspclassiccompiler/Backup/AspWebApp/Simple/Looping.asp b/aspclassiccompiler/Backup/AspWebApp/Simple/Looping.asp new file mode 100644 index 0000000..4b0b7a4 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Simple/Looping.asp @@ -0,0 +1,71 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> + + + + + + Looping + + + + + + + + + Looping with ASP
+ +


+ + + + <% + Dim intCounter + For intCounter = 1 to 5 %> + + > + + Hello World with a For Loop!
+
+ + <% next %> +
+ + + + <% + intCounter = 1 + While(intCounter < 6) %> + + > + + Hello World with a While Loop!
+
+ + <% intCounter = intCounter + 1 %> + + <% wend %> +
+ + + + + <% + intCounter = 1 + Do While(intCounter < 6) %> + + > + + Hello World with a Do...While Loop!
+
+ + <% intCounter = intCounter+1 %> + + <% loop %> + + diff --git a/aspclassiccompiler/Backup/AspWebApp/Simple/Variables.asp b/aspclassiccompiler/Backup/AspWebApp/Simple/Variables.asp new file mode 100644 index 0000000..f779b8e --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Simple/Variables.asp @@ -0,0 +1,90 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> + + + + + + + Variable Sample + + + + + + + + Variable Sample
+ +
+

Integer Manipulation

+ + <% + 'Declare variable. + Dim intVar + + 'Assign the variable an integer value. + intVar = 5 + %> + + +

<%= intVar %> + <%= intVar %> = <%= intVar + intVar %>

+ + +
+

String Manipulation

+ + <% + 'Declare variable. + Dim strVar + + 'Assign the variable a string value. + strVar = "Jemearl" + %> + +

This example was done by <%= strVar + " Smith" %>

+ + +
+

Boolean Manipulation

+ + <% + 'Declare variable. + Dim blnVar + + 'Assign the variable a Boolean value. + blnVar = true + + 'Output message based on value. + If (blnVar) Then + Response.Write "

The Boolean value is True.

" + Else + Response.Write "

The Boolean value is False.

" + End If + %> + +
+

Date and Time

+ + <% + 'Declare variable. + Dim dtmVar + + 'Assign the variable a value. + dtmVar = #08 / 27 / 97 5:11:42pm# + %> + +

The date and time is <%= dtmVar %> + + <% + 'Set the variable to the web server date and time. + dtmVar = Now() + %> + +

The system date and time is <%= dtmVar %>

+ + diff --git a/aspclassiccompiler/Backup/AspWebApp/Web.config b/aspclassiccompiler/Backup/AspWebApp/Web.config new file mode 100644 index 0000000..3834862 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/Web.config @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/AdRotator.asp b/aspclassiccompiler/Backup/AspWebApp/components/AdRotator.asp new file mode 100644 index 0000000..7129629 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/AdRotator.asp @@ -0,0 +1,34 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> + + + + + + Ad Rotator Sample + + + + + + + + Ad Rotator Sample
+ +
+ + + <% + Dim objAd + Set objAd = Server.CreateObject("MSWC.AdRotator") + %> + + <%= objAd.GetAdvertisement("adrot.txt") %> + Revisit Page + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/BrowserCap.asp b/aspclassiccompiler/Backup/AspWebApp/components/BrowserCap.asp new file mode 100644 index 0000000..ec72dd9 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/BrowserCap.asp @@ -0,0 +1,170 @@ +<% @ LANGUAGE = VBScript %> +<% Option Explicit %> +<% Response.Buffer=TRue %> +<% Response.Expires=-1 %> + + + + + + + + + + Using the Browser Capabilities Component + + + +

Using the Browser Capabilities Component

+
+ + <% + Dim objBrowsCap + Set objBrowsCap = Server.CreateObject("MSWC.BrowserType") + %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% If objBrowsCap.browser = "IE" and objBrowsCap.version >4 then %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% End if %> + +
Cap NameValue
browser <% = objBrowsCap.browser %>
version <% = objBrowsCap.version %>
cookies <% = objBrowsCap.cookies %>
javaapplets<% = objBrowsCap.javaapplets %>
VBScript<% = objBrowsCap.VBScript %>
JavaScript<%=objBrowsCap.JavaScript%>
platform<% = objBrowsCap.platform %>
New Feature for IE5
horizontal resolution<% = objBrowsCap.width %>
vertical resolution<% = objBrowsCap.height %>
availHeight<% = objBrowsCap.availHeight %>
availWidth<% = objBrowsCap.availWidth %>
Buffer Depth<% = objBrowsCap.bufferDepth %>
Color Depth<% = objBrowsCap.colorDepth %>
Java enabled ?<% = objBrowsCap.javaEnabled %>
cpu Class<% = objBrowsCap.cpuClass %>
system Language<% = objBrowsCap.systemLanguage %>
user Language<% = objBrowsCap.userLanguage %>
connectionType (lan, modem, offline)<% = objBrowsCap.connectionType %>
Is Java installed ?<% = objBrowsCap.Java%>
MSJava version<% = objBrowsCap.javaVersion%>
Is MSJava version equal to "5,0,3016,0" ?<% = objBrowsCap.compVersion%>
+ + + + + + + + + + + + + + + + + + + + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/CDO.Asp b/aspclassiccompiler/Backup/AspWebApp/components/CDO.Asp new file mode 100644 index 0000000..f087c4d --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/CDO.Asp @@ -0,0 +1,48 @@ +<%@ Language = VBScript %> +<% Option Explicit %> + + + + + + + CDO Component + + + + + + + + + CDO Component + +

This sample demonstrates how to use the Collaboration + Data Objects for NTS Component to send a simple + e-mail message. + +

To actually send the message, you must have the SMTP + Server that comes with the Windows NT Option Pack Installed. + + <% + Dim objMyMail + Set objMyMail = Server.CreateObject("CDONTS.NewMail") + + 'For demonstration purposes, both From and To + 'properties are set to the same address. + + objMyMail.From = "someone@Microsoft.com" + objMyMail.To = "someone@Microsoft.com" + + objMyMail.Subject = "Sample" + objMyMail.Body = "I hope you like the sample" + + 'Send the message + objMyMail.Send + %> + + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/ContentRotator.Asp b/aspclassiccompiler/Backup/AspWebApp/components/ContentRotator.Asp new file mode 100644 index 0000000..f753064 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/ContentRotator.Asp @@ -0,0 +1,46 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> + + + + +<% + 'Make sure that the client-browser doesn't cache. + + Response.Expires = 0 +%> + + + + + Content Rotator Sample + + + + + + + + + Content Rotator Sample
+ +


+ + <% + Dim objContRot + Set objContRot = Server.CreateObject("MSWC.ContentRotator") + + 'Specify the file that has the content. + + Response.Write(objContRot.ChooseContent("tiprot.txt")) + %> + +
+ Refresh (You may have to do this several times) + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Contents.Htm b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Contents.Htm new file mode 100644 index 0000000..76d1ab4 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Contents.Htm @@ -0,0 +1,15 @@ +Contents + +
+
    + Counters Component
    +
      + Counters Component
      + Get method
      + Increment method
      + Remove method
      + Set method
      +
    +
+
+ diff --git a/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter1.Htm b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter1.Htm new file mode 100644 index 0000000..dbfa39a --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter1.Htm @@ -0,0 +1,143 @@ + + + + + +Counters Component + + + + + + + + +

Counters Component

+ +

The Counter component creates a Counters object that can create, store, +increment, and retrieve any number of individual counters.

+ +

A counter is a persistent value that contains an integer. You can manipulate a counter +with the Get, Increment, Set, and Remove methods of the Counters +object. Once you create the counter, it persists until you remove it.

+ +

Counters do not automatically increment on an event like a page hit. You must manually +set or increment counters using the Set and Increment methods.

+ +

Counters are not limited in scope. Once you create a counter, any page on your site can +retrieve or manipulate its value. For example, if you increment and display a counter +named hits in a page called Page1.asp, and you increment hits in another +page called Page2.asp, both pages will increment the same counter. If you hit Page1.asp, +and increment hits to 34, hitting Page2.asp will increment hits to 35. The +next time you hit Page1.asp, hits will increment to 36.

+ +

All counters are stored in a single text file, Counters.txt, which is located in the +same directory as the Counters.dll file.

+ +

File Names

+ + + + + + + + + + +
Counters.dllThe Counters component.
Counters.txtThe file that stores all individual counters on a site. Counters.txt is a UTF8-encoded + file. You can have any Unicode characters in a counter name.
+ +


+

+ +

Syntax

+ +

Create the Counters object one time on your server by adding the following to +the Global.asa file:

+ +
<OBJECT 
+RUNAT=Server 
+SCOPE=Application 
+ID=Counter 
+PROGID="MSWC.Counters"> 
+</OBJECT>
+ +

Registry Entries

+ +

None.

+ +

Remarks

+ +

Only create one Counters object in your site. This single Counters object +can create any number of individual counters.

+ +

Note For Personal Web Server on Windows 95, a Counters component has already +been specified in the Global.asa file in the default virtual directory. You can work with +the Counters object the component creates as if it were a built-in object by +calling Counters.Get, Counters.Increment, Counters.Remove, and Counters.Set. You should not create another instance of the Counters object.

+ +

Methods

+ + + + + + + + + + + + + + + + + + +
Get Returns the value of the counter.
Increment Increases the counter by 1.
Remove Removes the counter from the Counters.txt file.
Set Sets the value of the counter to a specific integer.
+ +


+

+ +

Example

+ +

Create an instance of the Counters object in the Global.asa file with the ID +attribute set to Counter:

+ +
<OBJECT RUNAT=Server SCOPE=Application ID=Counter PROGID="MSWC.Counters"> </OBJECT>
+ 
+ +

You can then use that Counters object on one page to create all the counters you +need:

+ +
There have been <%= Counter.Increment('defaultPageHits') %> to this site.
+ 
+ +

Then on another page you can increment the counter in the following manner:

+ +
You are visitor number<%= Counter.Increment('LinksPageHits') %> to this page.
+ 
+
+ + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter2.Htm b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter2.Htm new file mode 100644 index 0000000..784c889 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter2.Htm @@ -0,0 +1,85 @@ + + + + + +Get + + + + + + + + +

Get

+ +

The Get method takes the name of a counter and returns the current value of the +counter. If the counter doesn't exist, the method creates it and sets it to 0.

+ +

Syntax

+ +
Counters.Get(CounterName)
+ 
+ +

Parameters

+ +
+
CounterName
+
A string containing the name of the counter.
+
+ +

Example

+ +

Display the value a counter with <%= Counters.Get(CounterName) %>. +Assign the value of the counter to a variable with <% countervar = Counters.Get(CounterName) +%>.

+ +

The following script displays the vote tally from a poll about favorite colors.

+ +
<% If colornumber = "1" Then 
+    Counters.Increment("greencounter") 
+Else 
+    If colornumber = "2" Then 
+        Counters.Increment("bluecounter") 
+    Else 
+        If colornumber = "0" Then 
+            Counters.Increment("redcounter") 
+        End If 
+    End If 
+End If %>
+<P>Current vote tally:
+<P>red: <% =Counters.Get("redcounter") %>
+<P>green: <% = Counters.Get("greencounter") %> 
+<P>blue: <% = Counters.Get("bluecounter") %>
+ 
+ +

Applies To

+ +

Counters component

+ +

See Also

+ +

Increment, Remove, Set

+
+ + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter3.Htm b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter3.Htm new file mode 100644 index 0000000..30783c4 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter3.Htm @@ -0,0 +1,78 @@ + + + + + +Increment + + + + + + + + +

Increment

+ +

The Increment method takes the name of a counter, adds 1 to the current value of +the counter, and returns the counter's new value. If the counter doesn't exist, the method +creates it and sets its value to 1.

+ +

Syntax

+ +
Counters.Increment(CounterName)
+ 
+ +

Parameters

+ +
+
CounterName
+
A string containing the name of the counter.
+
+ +

Example

+ +

Increment the value of a counter with <% Counters.Increment(CounterName) +%>. Increment and display the value of a counter with <%= +Counters.Increment(CounterName) %>.

+ +

To retrieve the value of a counter, use Counters.Get. To set a counter to a +specific value, use Counters.Set.

+ +

The following code implements a one-line page-hit counter.

+ +
<P>There have been <%= Counters.Increment("hits") %> visits to this Web page. </P>
+ 
+ +

In this example, Counters.Increment increases the counter by one each time the +client requests the page from the server.

+ +

Applies To

+ +

Counters component

+ +

See Also

+ +

Get, Remove, Set

+
+ + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter4.Htm b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter4.Htm new file mode 100644 index 0000000..7546df8 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter4.Htm @@ -0,0 +1,68 @@ + + + + + +Remove + + + + + + + + +

Remove

+ +

The Remove method takes the name of a counter, removes the counter from the +Counters object, and deletes the counter from the Counters.txt file.

+ +

Syntax

+ +
Counters.Remove(CounterName)
+ 
+ +

Parameters

+ +
+
CounterName
+
A string containing the name of the counter.
+
+ +

Example

+ +

The following code removes the counter hitscounter from the Counters.txt +file.

+ +
<% Counters.Remove(hitscounter) %> 
+ 
+ +

Applies To

+ +

Counters component

+ +

See Also

+ +

Get, Increment, Set

+
+ + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter5.Htm b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter5.Htm new file mode 100644 index 0000000..dbe15e8 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Counter5.Htm @@ -0,0 +1,74 @@ + + + + + +Set + + + + + + + + +

Set

+ +

The Set method takes the name of a counter and an integer, sets the counter to +the value of the integer, and returns the new value. If the counter doesn't exist, Counters.Set +creates it and sets it to the value of the integer.

+ +

To retrieve the value of a counter, use Counters.Get. To increment a counter by +1, use Counters.Increment.

+ +

Syntax

+ +
Counters.Set(CounterName, int)
+ 
+ +

Parameters

+ +
+
CounterName
+
A string containing the name of the counter.
+
+
int
+
The new integer value for CounterName.
+
+ +

Example

+ +

The following code resets the hit counter pageHits to 0:

+ +
<% Counters.Set(pageHits, 0) %> 
+ 
+ +

Applies To

+ +

Counter component

+ +

See Also

+ +

Get, Increment, Remove

+
+ + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Default.Htm b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Default.Htm new file mode 100644 index 0000000..202d47d --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Docs/Default.Htm @@ -0,0 +1,16 @@ + + + + +Counters Component + + + + + + + <body> + </body> + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/Counters/Sample/Counters_JScript.Asp b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Sample/Counters_JScript.Asp new file mode 100644 index 0000000..b3a1457 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Sample/Counters_JScript.Asp @@ -0,0 +1,33 @@ +<%@ LANGUAGE="JSCRIPT" %> + + + + + +Document Title + + +

Demo of the Counters ASP Component

+ +<% + +var ObjCounter; +var nCount; + + +try +{ + ObjCounter = Application("MSCounters"); + nCount = ObjCounter.Increment("NoOfHits") ; +} +catch (err) +{ + Response.Write ("

Error: Could not get the instance of the Counters Object.
Error Code:" + err.errCode ); + Response.End(); +} + Response.Write ("

There have been "+ nCount + " visits to this Web page. Refresh this page to increment
the counter.

"); + +%> + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/Counters/Sample/Counters_VBScript.Asp b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Sample/Counters_VBScript.Asp new file mode 100644 index 0000000..744dcdd --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Sample/Counters_VBScript.Asp @@ -0,0 +1,31 @@ +<%@ LANGUAGE="VBSCRIPT" %> + + + + + +Document Title + + +

Demo of the Counters ASP Component

+ +<% +On Error Resume Next + +Dim ObjCounter +Dim nCount + + +Set ObjCounter = Application("MSCounters") +nCount = ObjCounter.Increment("NoOfHits") + + +If (Err <> 0) then + Response.Write ("

Error: Could not get the instance of the Counters Object.
Error Code:" + CStr(nErr) ) +Else + Response.Write ("

There have been "+ CStr(nCount) + " visits to this Web page. Refresh this page to increment
the counter.

") +End If +%> + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/Counters/Sample/Global.Asa b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Sample/Global.Asa new file mode 100644 index 0000000..72a5879 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/Counters/Sample/Global.Asa @@ -0,0 +1,41 @@ + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/components/Counters/TOURL.Htm b/aspclassiccompiler/Backup/AspWebApp/components/Counters/TOURL.Htm new file mode 100644 index 0000000..6ae91a1 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/Counters/TOURL.Htm @@ -0,0 +1,2 @@ + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/FileSystem.Asp b/aspclassiccompiler/Backup/AspWebApp/components/FileSystem.Asp new file mode 100644 index 0000000..397280a --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/FileSystem.Asp @@ -0,0 +1,68 @@ +<%@ Language = VBScript %> +<% Option Explicit %> + + + + +<% + 'Define constants. + + Const FORREADING = 1 + Const FORWRITING = 2 + Const FORAPPENDING = 8 +%> + + + + + FileSystem Component + + + + + + + + FileSystem Component
+ +
+ + + <% + Dim curDir + Dim objScriptObject, objMyFile + Dim x + + 'Map current path to physical path. + + curDir = Server.MapPath("/components") + + + 'Create FileSytemObject component. + + Set objScriptObject = Server.CreateObject("Scripting.FileSystemObject") + + + 'Create and write to a file. + + Set objMyFile = objScriptObject.CreateTextFile(curDir + "\" + "MyTextFile.txt", FORWRITING) + + For x = 1 to 5 + objMyFile.WriteLine "Line number " & x & " was written on " & now & "
" + Next + + objMyfile.Close + %> + + <% + 'Read from file and output to screen. + Set objMyFile = objScriptObject.OpenTextFile(curDir + "\" + "MyTextFile.txt", FORREADING) + Response.Write objMyFile.ReadAll + %> + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/PermissionCheck.Asp b/aspclassiccompiler/Backup/AspWebApp/components/PermissionCheck.Asp new file mode 100644 index 0000000..86e168d --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/PermissionCheck.Asp @@ -0,0 +1,38 @@ +<%@ Language = VBScript%> +<% Option Explicit %> + + + + + + Permission Checker + + + + + + + + Permission Checker
+ + <% + 'Instantiate Permission Checker Component. + + Dim objPermCheck + Set objPermCheck = Server.CreateObject("MSWC.PermissionChecker") + %> + +

Verify current user's access to a sample file: + +

Using Physical Path = + <%= objPermCheck.HasAccess(".\PermissionCheck_VBScript.asp") %>
+ +

Using Virtual Path = + <%= objPermCheck.HasAccess("/iissamples/sdk/asp/components/PermissionCheck_VBScript.asp") %> + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/Tiprot.Txt b/aspclassiccompiler/Backup/AspWebApp/components/Tiprot.Txt new file mode 100644 index 0000000..e65b21e --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/Tiprot.Txt @@ -0,0 +1,12 @@ +%% #1 +Don't run with scissors. + +%% #1 +%% // Additional line of comments +%% // Yet another line of comments + + Let a

smile

be your umbrella. + + +%% #1 + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/Tools.Asp b/aspclassiccompiler/Backup/AspWebApp/components/Tools.Asp new file mode 100644 index 0000000..e5d48b0 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/Tools.Asp @@ -0,0 +1,96 @@ +<%@ LANGUAGE = VBScript %> +<% Option Explicit %> + + + + + + + Tools Component + + + + + + + + + Tools Component
+
+ + <% + Dim objTools + Dim FoundFile, blnFileExists, blnFileDoesNotExist, NotFoundFile + Dim intRand, intRandPos, intRandBelow + + 'Create the Tools Object + + Set objTools = Server.CreateObject("MSWC.Tools") + %> + + +

FileExists Example

+ <% + FoundFile = "Tools_VBScript.asp" + NotFoundFile = "blah.asp" + + 'Check if file exists. + + blnFileExists = objTools.FileExists(FoundFile) + + + 'Output response appropriately. + + If (blnFileExists) Then + Response.Write "The File " & FoundFile & " Exists
" + Else + Response.Write "The File " & FoundFile & " Does Not Exist
" + End If + + + 'Check if file exists. + + blnFileDoesNotExist = objTools.FileExists(NotFoundFile) + + + 'Output response appropriately. + + If (blnFileDoesNotExist) Then + Response.Write "The File " & NotFoundFile & " Exists" + Else + Response.write "The File " & NotFoundFile & " Does Not Exist" + End If + %> + + +

Random Integer Example

+ <% + 'Random integer. + + intRand = objTools.Random + Response.Write "Random integer: " + Response.Write intRand + Response.Write "
" + + + 'Positive random integer. + + intRandPos = Abs( objTools.Random ) + Response.Write "Positive random integer: " + Response.Write intRandPos + Response.Write "
" + + + 'Positive random integer between 0 and 100. + + intRandBelow = Abs( objTools.Random ) Mod 100 + Response.write "Random integer below 100: " + Response.write intRandBelow + Response.write "
" + %> + + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/adrot.txt b/aspclassiccompiler/Backup/AspWebApp/components/adrot.txt new file mode 100644 index 0000000..dc71a30 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/adrot.txt @@ -0,0 +1,14 @@ +Redirect www.microsoft.com +width 88 +height 31 +border 1 +* +nts_iis.gif +http://www.microsoft.com/ntserver/web/default.asp +Microsoft Internet Information Services +80 +ie.gif +- +Microsoft Internet Explorer +20 + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/clientcap.htm b/aspclassiccompiler/Backup/AspWebApp/components/clientcap.htm new file mode 100644 index 0000000..d7f59a5 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/components/clientcap.htm @@ -0,0 +1,74 @@ + + + + + + + + + + + + diff --git a/aspclassiccompiler/Backup/AspWebApp/components/ie.gif b/aspclassiccompiler/Backup/AspWebApp/components/ie.gif new file mode 100644 index 0000000000000000000000000000000000000000..3c7cd3604e7403339934b10e78b8532e0c6ff7d0 GIT binary patch literal 8609 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 DlAzrK literal 0 HcmV?d00001 diff --git a/aspclassiccompiler/Backup/AspWebApp/components/nts_iis.gif b/aspclassiccompiler/Backup/AspWebApp/components/nts_iis.gif new file mode 100644 index 0000000000000000000000000000000000000000..e5474df6a97233b985f93dec09e864c215bbbbcc GIT binary patch literal 6368 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 literal 0 HcmV?d00001 diff --git a/aspclassiccompiler/Backup/AspWebApp/default.htm b/aspclassiccompiler/Backup/AspWebApp/default.htm new file mode 100644 index 0000000..792a31e --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/default.htm @@ -0,0 +1,48 @@ + + + + + + +

This project contains some ASP Classic Compiler Samples Pages

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FolderFileComments
ComponentsIIS 5 Platform SDK Sample. Need to install the COM components. Components like + BrowserCap will not work because it requires the COM+ comtext to accesses the + Request object.
FileSystem.aspWorks without registering any component. Need to grant ASP worker process account read/write access to the directory.
Tools.aspTested in Windows XP. Failed to register the component in Vista.
DatabaseIIS 5 Platform SDK Sample. Some the Access samples tested. Make sure that the OLEDB provider is installed. Need read/write access to the access.mdb in the directory.
SimpleIIS 5 Platform SDK Sample. All the samples tested.
testSome small samples used during development.
+ + diff --git a/aspclassiccompiler/Backup/AspWebApp/test/BuiltinConstants.asp b/aspclassiccompiler/Backup/AspWebApp/test/BuiltinConstants.asp new file mode 100644 index 0000000..416ad14 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/BuiltinConstants.asp @@ -0,0 +1,13 @@ + + + + + <%=vbSunday %>
+ <%=vbMonday %>
+ <%=vbTuesday %>
+ <%=vbWednesday %>
+ <%=vbThursday %>
+ <%=vbFriday %>
+ <%=vbSaturday %>
+ + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/byref.asp b/aspclassiccompiler/Backup/AspWebApp/test/byref.asp new file mode 100644 index 0000000..8b56930 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/byref.asp @@ -0,0 +1,15 @@ +<% + sub main() + dim a + a = 2 + mysub a + response.Write a + end sub + + sub mysub(a) + a = a + 1 + response.Write a + end sub + + main +%> \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/byref2.asp b/aspclassiccompiler/Backup/AspWebApp/test/byref2.asp new file mode 100644 index 0000000..799455b --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/byref2.asp @@ -0,0 +1,8 @@ +<% + sub mysub(byval a) + a = a + 1 + response.Write a + end sub + + mysub 5 +%> \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/call.asp b/aspclassiccompiler/Backup/AspWebApp/test/call.asp new file mode 100644 index 0000000..19e7c36 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/call.asp @@ -0,0 +1,12 @@ + + + + +<% + Response.Write("Something") + Response.Write(1) + Response.Write " MORE" + Call Response.Write(" CALL ") +%> + + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/datatypes.asp b/aspclassiccompiler/Backup/AspWebApp/test/datatypes.asp new file mode 100644 index 0000000..1f39ff3 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/datatypes.asp @@ -0,0 +1,11 @@ + + + + + Vartype of 123456 is <%=VarType(123456) %>
+ Vartype of .23456 is <%=VarType(.23456) %>
+ VarType of <%=Server.HtmlEncode("&hFFFFFF")%> is <%=VarType(&hFFFFFF) %>
+ VarType of 1.23e-3 is <%=VarType(1.23e-3)%>
+ VarType of #12/21/1999# is <%=VarType(#12/21/1999#)%>
+ + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/datetest.asp b/aspclassiccompiler/Backup/AspWebApp/test/datetest.asp new file mode 100644 index 0000000..46c781b --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/datetest.asp @@ -0,0 +1,25 @@ + + + + + + +<%= WeekdayName(Weekday(DateSerial(1963, 11, 22))) %> +<%= WeekdayName(Weekday(DateSerial(1963, 10, 15))) %> +<%= WeekdayName(Weekday(DateSerial(1995, 6, 2))) %> +<%= WeekdayName(Weekday(DateSerial(1997, 5, 5))) %> +<% +setlocale(4100) +for i = 1 to 7 + Response.Write(weekdayname(i) & "
") +next + %> + <% + for i = 1 to 12 + Response.Write(monthname(i) & "
") +next + %> + <%=FormatDateTime(DateSerial(1997, 5, 5), 1) %> +<%=FormatCurrency(10000000) %> + + diff --git a/aspclassiccompiler/Backup/AspWebApp/test/extension.asp b/aspclassiccompiler/Backup/AspWebApp/test/extension.asp new file mode 100644 index 0000000..8a2708d --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/extension.asp @@ -0,0 +1,6 @@ +<% +option explicit +dim s +s = "111-222-3333" +response.Write s.RemoveNonNumeric() +%> \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/forloop.asp b/aspclassiccompiler/Backup/AspWebApp/test/forloop.asp new file mode 100644 index 0000000..6b95815 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/forloop.asp @@ -0,0 +1,17 @@ +<% +option explicit +%> + + + + +<% + dim i + for i = 1 to 8 + response.write i + next + + response.write i +%> + + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/function.asp b/aspclassiccompiler/Backup/AspWebApp/test/function.asp new file mode 100644 index 0000000..d6cb9f1 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/function.asp @@ -0,0 +1,24 @@ +<% +option explicit +%> + + + + +<% +sub printnum(n) + response.write n + for i = 1 to n + response.write i + next +end sub + +dim i + +printnum 5 + + + +%> + + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/if.asp b/aspclassiccompiler/Backup/AspWebApp/test/if.asp new file mode 100644 index 0000000..84af213 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/if.asp @@ -0,0 +1,24 @@ +<% +option explicit +%> + + + + +<% + dim i, color + + i = 3 + if i = 1 then + color = "red" + elseif i = 2 then + color = "green" + elseif i = 3 then + color = "blue" + else + color = "blank" + end if + response.write color +%> + + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/ifnull.asp b/aspclassiccompiler/Backup/AspWebApp/test/ifnull.asp new file mode 100644 index 0000000..ad6aa60 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/ifnull.asp @@ -0,0 +1,10 @@ +<% +option explicit + Dim oConn + Dim oRs + oRs = "something" + If oRs.EOF Then + End If + + +%> \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/imports.asp b/aspclassiccompiler/Backup/AspWebApp/test/imports.asp new file mode 100644 index 0000000..d0f2163 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/imports.asp @@ -0,0 +1,12 @@ +<% +imports system + +dim sb + +sb = new System.Text.StringBuilder() +sb.append("this") +sb.append(" is ") +sb.append(" stringbuilder!") +response.write sb.toString() + +%> \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/literals.asp b/aspclassiccompiler/Backup/AspWebApp/test/literals.asp new file mode 100644 index 0000000..0992b5c --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/literals.asp @@ -0,0 +1,12 @@ + + + + + Integer <%=123456 %>
+ Floating Point <%=.23456 %>
+ Hex <%=&hFFFFFF%>
+ Oct <%=&123456& %>
+ Exponent <%=1.23e-3%>
+ Date <%=#12/21/1999#%>
+ + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/perftest.asp b/aspclassiccompiler/Backup/AspWebApp/test/perftest.asp new file mode 100644 index 0000000..bbb3e44 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/perftest.asp @@ -0,0 +1,20 @@ +<% +option explicit + +dim loops +dim counter +dim tickes + +tickes = Timer() +loops = 10000000 +counter = 0.0 + +while loops > 0 + loops = loops - 1 + counter = counter + 1.0 +wend + +Response.Write("DoLoop result " & counter & "
") +Response.Write("Executing the while loop took: " & ((Timer()-tickes) * 1000.0) & "ms" & "
") + +%> \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/perftest2.asp b/aspclassiccompiler/Backup/AspWebApp/test/perftest2.asp new file mode 100644 index 0000000..8d9f0c0 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/perftest2.asp @@ -0,0 +1,24 @@ +<% +option explicit + +perftest + +sub perftest() + dim loops + dim counter + dim tickes + tickes = Timer() + + loops = 10000000 + counter = 0.0 + + while loops > 0 + loops = loops - 1 + counter = counter + 1.0 + wend + + Response.Write("DoLoop result " & counter & "
") + Response.Write("Executing the while loop took: " & ((Timer()-tickes) * 1000.0) & "ms" & "
") +end sub + +%> \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/servervars.asp b/aspclassiccompiler/Backup/AspWebApp/test/servervars.asp new file mode 100644 index 0000000..0e01e03 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/servervars.asp @@ -0,0 +1,14 @@ + + + + + <% + url = Request.ServerVariables("HTTP_URL") +x = instr(1, url, "url=", 1) +if x > 0 then + url = Mid(url, x + 4) +end if + %> + <%=url%> + + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/AspWebApp/test/with.asp b/aspclassiccompiler/Backup/AspWebApp/test/with.asp new file mode 100644 index 0000000..5902895 --- /dev/null +++ b/aspclassiccompiler/Backup/AspWebApp/test/with.asp @@ -0,0 +1,15 @@ + + + + + <% with response %> + <%.Write vbSunday %>
+ <%.Write vbMonday %>
+ <%.Write vbTuesday %>
+ <%.Write vbWednesday %>
+ <%.Write vbThursday %>
+ <%.Write vbFriday %>
+ <%.Write vbSaturday %>
+ <% end with %> + + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Content/Site.css b/aspclassiccompiler/Backup/NerdDinnerAsp/Content/Site.css new file mode 100644 index 0000000..8dd7ee2 --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Content/Site.css @@ -0,0 +1,378 @@ +/*---------------------------------------------------------- +The base color for this template is #5c87b2. If you'd like +to use a different color start by replacing all instances of +#5c87b2 with your new color. +----------------------------------------------------------*/ +body +{ + background-color: #5c87b2; + font-size: .75em; + font-family: Verdana, Helvetica, Sans-Serif; + margin: 0; + padding: 0; + color: #696969; +} + +a:link +{ + color: #034af3; + text-decoration: underline; +} +a:visited +{ + color: #505abc; +} +a:hover +{ + color: #1d60ff; + text-decoration: none; +} +a:active +{ + color: #12eb87; +} + +p, ul +{ + margin-bottom: 20px; + line-height: 1.6em; +} + +/* HEADINGS +----------------------------------------------------------*/ +h1, h2, h3, h4, h5, h6 +{ + font-size: 1.5em; + color: #000; + font-family: Arial, Helvetica, sans-serif; +} + +h1 +{ + font-size: 2em; + padding-bottom: 0; + margin-bottom: 0; +} +h2 +{ + padding: 0 0 10px 0; +} +h3 +{ + font-size: 1.2em; +} +h4 +{ + font-size: 1.1em; +} +h5, h6 +{ + font-size: 1em; +} + +/* this rule styles

tags that are the +first child of the left and right table columns */ +.rightColumn > h1, .rightColumn > h2, .leftColumn > h1, .leftColumn > h2 +{ + margin-top: 0; +} + +/* PRIMARY LAYOUT ELEMENTS +----------------------------------------------------------*/ + +/* you can specify a greater or lesser percentage for the +page width. Or, you can specify an exact pixel width. */ +.page +{ + width: 90%; + margin-left: auto; + margin-right: auto; +} + +#header +{ + position: relative; + margin-bottom: 0px; + color: #000; + padding: 0; +} + +#header h1 +{ + font-weight: bold; + padding: 5px 0; + margin: 0; + color: #fff; + border: none; + line-height: 2em; + font-family: Arial, Helvetica, sans-serif; + font-size: 32px !important; +} + +#main +{ + padding: 30px 30px 15px 30px; + background-color: #fff; + margin-bottom: 30px; + _height: 1px; /* only IE6 applies CSS properties starting with an underscrore */ + height: 590px; +} + +#footer +{ + color: #999; + padding: 10px 0; + text-align: center; + line-height: normal; + margin: 0; + font-size: .9em; +} + +/* TAB MENU +----------------------------------------------------------*/ +ul#menu +{ + border-bottom: 1px #5C87B2 solid; + padding: 0 0 2px; + position: relative; + margin: 0; + text-align: right; +} + +ul#menu li +{ + display: inline; + list-style: none; +} + +ul#menu li#greeting +{ + padding: 10px 20px; + font-weight: bold; + text-decoration: none; + line-height: 2.8em; + color: #fff; +} + +ul#menu li a +{ + padding: 10px 20px; + font-weight: bold; + text-decoration: none; + line-height: 2.8em; + background-color: #e8eef4; + color: #034af3; +} + +ul#menu li a:hover +{ + background-color: #fff; + text-decoration: none; +} + +ul#menu li a:active +{ + background-color: #a6e2a6; + text-decoration: none; +} + +ul#menu li.selected a +{ + background-color: #fff; + color: #000; +} + +/* FORM LAYOUT ELEMENTS +----------------------------------------------------------*/ + +fieldset +{ + margin: 1em 0; + padding: 1em; + border: 1px solid #CCC; +} + +fieldset p +{ + margin: 2px 12px 10px 10px; +} + +fieldset label +{ + display: block; +} + +fieldset label.inline +{ + display: inline; +} + +legend +{ + font-size: 1.1em; + font-weight: 600; + padding: 2px 4px 8px 4px; +} + +input[type="text"] +{ + width: 200px; + border: 1px solid #CCC; +} + +input[type="password"] +{ + width: 200px; + border: 1px solid #CCC; +} + +/* TABLE +----------------------------------------------------------*/ + +table +{ + border: solid 1px #e8eef4; + border-collapse: collapse; +} + +table td +{ + padding: 5px; + border: solid 1px #e8eef4; +} + +table th +{ + padding: 6px 5px; + text-align: left; + background-color: #e8eef4; + border: solid 1px #e8eef4; +} + +/* MISC +----------------------------------------------------------*/ +.clear +{ + clear: both; +} + +.error +{ + color:Red; +} + +#menucontainer +{ + margin-top:40px; +} + +div#title +{ + display:block; + float:left; + text-align:left; +} + +#logindisplay +{ + font-size:1.1em; + display:block; + text-align:right; + margin:10px; + color:White; +} + +#logindisplay a:link +{ + color: white; + text-decoration: underline; +} + +#logindisplay a:visited +{ + color: white; + text-decoration: underline; +} + +#logindisplay a:hover +{ + color: white; + text-decoration: none; +} + +.field-validation-error +{ + color: #ff0000; +} + +.input-validation-error +{ + border: 1px solid #ff0000; + background-color: #ffeeee; +} + +.validation-summary-errors +{ + font-weight: bold; + color: #ff0000; +} + +#dinnerform textarea +{ + width:200px; + height:70px; +} + +#dinnerDiv textarea +{ + width:200px; + height:70px; +} + +#rsvpmsg +{ + color:Red; +} + +hr +{ + padding:0px, 10px, 0px, 10px; + height:1px; +} + +#pagination +{ + text-align:center; +} + +#dinnerDiv { + float: left; + width: 280px; +} + +#mapDiv { + float: left; +} + +#mapDivLeft { + float: left; +} + +#mapDivRight { + padding: 30px 0px 0px 20px; + float: left; +} + +#dinnerList { + padding:0px 0px 0px 0px; +} + +#searchBox { + padding:0px 0px 10px 0px; +} + +#theMap { + position: relative; + width: 500px; + height: 450px; +} \ No newline at end of file diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Content/nerd.jpg b/aspclassiccompiler/Backup/NerdDinnerAsp/Content/nerd.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f60b5b418b10110ce5754f81004f6190fcb09638 GIT binary patch literal 33073 zcmbTdbyQnj_%#@cJ1y>|I6;cL7j1EhYjJl76sJIOCX67WhE9>Okn`fV!`(&T}?EAR%xCJ0lS5{L7prN4wtezf#$5ntL;Mso- z?Y|BB(-R#F1O2ICV`5@p;b7z9;9%q6;NlVDlvPyK)b;e=8yFfH zo7mXe**iEoIs5qf`3HakgQ7k~$Hab)i~o}TH6t_YTXxQm;*!#`@}Cuzzv~+so0?l% z+xq$k28STSBcn63bMp&}OUoFJ%84*#C`d1wep~_H^>lp95q8_ax5>u$vqKXHL+1{;nT3 z?9aXu2hUuWhj5?)CY;t)=$#~Il8dFZO~}xrAPZSidO?@PWwJGx#K$2Vr)u$qQYvg;*Zl%HDZ939AWTVItiT%bZYakj3D{v^=Z&>wW0q#~xgG=vBV zm}^2y9|65QGC*e(;Gwv~X1i1DS0e&=(D#@4*2?|aBjE29cudiq zD=F%Hp7~8MmV|wtMDmc1%f9@0 ze-5gi*Fm~4to*2PDz=EvV$x!zLn@_W73Ef2dD`fJn>HKxQy|h3a}gi?Z)Z++rZ7NT z3>Q}VEwGt%x_!DSbdeNwvHkc^0WtAG4znCU3iYjCQ}V~zx`;`#mWv{sp8eGWWicuJ zB5y+Wvm%_PM4Ot|i42%V%xP(=hEm#?o6b;BpX&yN?&e~p{Dt}?rtGI?6ZLTDuFBIQ67@7N(yj+XBg1+n!gkIq zAMQLJ@YL@g9)K6bDBRgc0DJ1@>1xx^?1mr)(l zo43J#uVnRH=hqe86y>X)z0_o9xAK{E>kDXjE72PIAb=qGQe=i>C4_^1*#CSX6>R3C zcLFOFb-F0R+f~+@`DPelpbmG64hks2)a75vQ5LUa)pQnU=&4od6kU`ZEd#z|#+Z6* z_zFUOpuwE;b^q7k>tqf==K+=g@Dv}C-SEEPtqm&3H0-aICE!E1T-a8A*jXSC>Y*9+ z>0)72KQZ!8`v1(;C7haSLJZv9y_MgO z5@dM=SpJ-!g3Z{=u{ozFf*Ov-Dar%L3ItAuiCe=Ae%>F^nOnwLf~_Ge}KbYA1Y z2r9jZK}iRetBO9~6Rop{Ury$qt4W)<#cyPLMqC*_g9htlblHXcd@e!^Ci;(r`kdwdJc*q7qA6aJ71IZkyn@0e~ zKdOh{VO##2x1@_b$6~_QllP=OHdiB$fQYB-RZGKNsZoY-2msBGXit{ZwaL3If69;) z=w*bG`4Hw;SXXQHN8RGjn*~~0(t`+(8nHq@4keA#wC$|(q{8u?ONYLzC zZx!`ClRGb^z9H4vDKA}|SVkTvAvB$Qq_%*MSyO2Z70YW=rN%polYc7ChUgY5F_?d5 zxD}gVi70aF)+QIjFPs@)i5kb2YsSa71GUEr)HcWr8uv0hZ}r~dOG4WJMIRv-c>Vo_ zblRpSIu};MvOK~Q?%$j_Cz>=)uEc&Dj0pl-&HK2}n31(6WyJONGIcXAp8tTob^Jl9 zu&1i^GA%Jg$xwjp&%cYKs*j&Z0{h;<QvKLh>H2LDR*BPD_P$ z%1WM6o2v{ucPehK**VQCDpyD;Q~lMrU!m0`)gaSsJS_eP?}Tv8=aX@{skFSB0Co+6 z*pzbee3=3p#(-zxt;0g0KZ+cOd=d>6d2+GDOun~C!PxOrpkZmQc6Kv8PDwJHD{z`R+HYq;lj@#Fr>fTRp#7Cp zzVCbG@Ap?CO`q!rRAdBgg$h;1GLzd29Sk!0J||tMVX@7FmL_vAB);|(D|uC^5W+R8 zI1FuIZWgC|kE{t%5yFZI_8)*T3kUK%P&DYSIiNYOm=^St;q5t_(nTc`H=0oV35(5H zikT}Y#%i6UKIHoW65l}o{cpRY#q_Ro7_}YY+Q$2n#G9qhd$+$SWgh)gV+60 z=B%qjcZX`RBCtOAPtg96vA>s^k1yrV3AG0`a4^!R%$Thmqkgbc-yQ$(Bk@$IALMgo zh4Q{TO%(Y3n-zF$uNL{yZs@pc)0G2lHcEFh*37UB1ldwa5K4*lVoNVKv*>W@3W!#- z3V97Y;)_{`0r8Ys|Efa=cu`#rhV*XB67>4HkvLMQt^@q7XBSh3x&+FsEmzDQ7z*Bg z()a5sKerB`9|#~_wdj3i{^pL_Jk&}BgHb_t=zGi_$OOaNKP4l|_vMAGW?11uw^O%k z*fQ`zO55K7Tf|qM^ub_0zFt3sVN|Z-Y_&#n z+%ccEi_yO@|8tYI=ji?HjNEDF(#-%X+GRc2cGzZda=8I+r(_|sC3l5#ReZq79!NQB zi%`#mv?e;Yqh0Zn&KLPLWx#|onm9e7y;j+w1n8``7_|3kmyUqyGjrap@2%}e!}Ui% zy=By*Ask<@*vv&FC~rj)ibeT64?n?)$_l(rTIMYVzm66rTNE03 zmF0Zs4{_@YN}iBTIll+i(*%9pb(siuDG%#wNA~1&rQ7(Fn*`?aHMBRpGJOXN<{81J zBeznudLPkCe%fS^YUxCgb@l13i`R=WT3F?;VQ@*gj(+498Jb3R_2PuTfon|!$=whRdCmBEsAed2$ioBwlp zI==zr+!dp6ulVom*gXpVr?a%x%b{n0c(g!*h!enq(B&9Grz$a}s|+GusQ$6{ttzLT z%!WBp*A_2rhe*6?T5(eSRSHl1d~=jcUsAX#Puvht7wCz_KWG$5w}obs)(b(8f7A3n zW|O_lMUz%QRoHofD3H45Cr=zb=ZocUnMM9pQ_B=PJkCl^lh2w?s^Ms>lZ|LTuV~St zhwqODPy)^Am5v4+K?-NTA5_sF0rJ8ZIV-I!9R2>o;4IW@%hiow^+*gmC+?F0-II`h z@%2QM5YWtPZTkW=q$S4U2M$37NBaStM0VK6A|^CI3^{jlUOnLND00q1ZFG7g0$925 zHq2vm`E<8!QT2fx$ywennl3y!LJP}_O0+oxPs!qx2pmk~^vLb}xR2%bIY1irhT$~a zoa{EFnUyv{&1@6N=5D^1z3_Hz@K#)gbA;rUnc%qU0f7Cnk}c?37$7OFI#P#KBJ74 zbx1<*?|xAmY*=i^QjFz~CgOXdZu2fFq&NO%OwQ@I*Y)!J1pQ*P#Fk^1!pJx{vtEkaLmM|w zNj}fT(LwpI{Dk0^G_6eBM?h@?)h)Cufuo93*E57Tb@D)2I79WJ_~de0eMbOsQQbaC z*pSALdu!OLQ6!oNP&@=xdKAAVkm^V@oGv5{(JIJNb==`^dm1V2&>xsMLgSF4etmRG z^kR2GfY7^HguD7f+G`2lGD?T>b0atZxJ9Z(JWTHMMTGw@93k;PP^`^*p6Utn}w zy)n;<2;IEdyx@SlTSjW40S26Wn3??VN^Q=R=Ag=`hIfGfBY^XzkG_e&IHz8Xc1GX@ zd9#r13;v7h<>IYb&TIZ%ok`^4S|MC(J7txN@A`>uU$BEemneu0hIHQn2tt>2!n!^F z8H-=|x+>?~M9B<8fc*aPSc)+lnDl3FXsCqA4} zlPb4~oCO9vW8-))O5z1!G`YW;> zC49tKpVi}m8|;sCfVOL$n4aPyv-)XlR|fx;lRdk_J<$#yUbst(B1jZy65n9}4i(p# zv+HN`_{KF#OBl<~)?SKr4PU=*<{#UAwyRh{m^5Go*D^VCSt%EC4KfN;C)L%29LV-D zt}ypxrXFOrog4=R)mKW6Zt)Uh=fPShTrQcnA@TR36{f-)36;x-p1*4eUc}(1P1&qs zA6Q1Ba39iSq=OZwc`hFT1R#bDh-Uu$%YwZVw=W9o&u%68Pra?m$3AT3aEvO|eYbqD52f3#=0Ts6>!JtVt4+iM}4HMC$Lx>D1QHOrP5m^MO| zL|SGdr?&PftyyM%Z?iGrgvlDN0?jY)=aKANX-<+-3Mk^O61ue?u0GkyG`7}Z9$qqF zqwJwRFj5enqjm8Reqe3`C6X(D$F)Fd-8ahgB0L680Z0|~n9~6U_PSr^TEj_V+@O&g zWlbz`Y2c1W+*4*~?$@C0KYs-D0lgjpxY9E}KfD@N=)CzCHq^~c93JL4xq?3=O7jSa zk)hl?%%ttRu`%Iin@(#`+l^+Y_f!L$z)$0X?cmTe##jrchXSDxE)-~Sytz;h2s%i% zTlaa<5HBun@bbNWxrw&!?(7J7Vqc2OdR_&S$I$om+UQnrDD1fq__OS9-g=mZxCy<0 zo5bF>fld@D2h-QBOAH$Xcz`&zVh6SGdVQo^q{5DVm1oU)6p+-bY}1~M#$JHiBkg4w za{nF~=djJVJPX;to)H@HecP$&#oZ)ITB+vxC6Sa)^G$MX|1%{$hOmSvBiXvbzCw(9 z)rCu&&>FVxVzc_q(fVD!v1WqTiW~|!7=G9V#SFFPn)-TQ(+#Dh7OH^_KW2AL9Nw&>1L8ibG6pF(zYO%!%`eqWXbsS~D$LBuMip>gTddmIhke^ZGvZ zjov0Pargsc_1G=1@<*1Cv)a?5L(^?LcZx zQ?;103Aw+bHf3D#?{0We%l2{eLo^+yI=^2J_tP1+fU?v+^5|+*o!NJs>NmYm82HK7 z@NQXfl(z_w=Vdgjl6ZT&Xc-?ip`M4Tl6G zS`hJfZ?Ev4R+3Lya5L(Or8t+isQ8>eP_h{0J%>xqbLiU|bl}h4bE&(w;}N|Es+@YhVk$!IsPDZ^KiY|MfJZyEFcZhDt9pTSgo%eXF(xEffTXEfvcsgn)P^--EYae94*eH}P6^bwF8 zN&;Fn4a3~*br(Jn2w{BR)EcfvKHo8lru^@>7b@2w6#*C?Q{bA@)@Of~ZGS;E~5T|`m{ zAE4U?pfME*;(ygY6(ha`FD2JfqYPSYS1xrMfFH?Sx6{lQ`ylW7S82)BW%OWiu{le6>%#6+`?VKq|EHwi7|Q9Tp?Q=H%@d z${d$Nmf>E_>$bz`<-oQ7VhEODT{yQ$=oge8Li?mp-V{XR{M>e|S}qM61ds0Tizati zBfK90P{XJOSsdidpXjVAI#{lHuzo6+0{AMf{B} z4$#n0-+IOk_+ylRQW@|#b8KdnGw2gIjzb}OLuac zL;T)D?!8*z_ruf!ij|PWEXr4o13!Gm-8AkemXaj{&dCCwb$Bg zT-QwNtqM7?)W64H+)WwuTpev+cp=U#8F*?z2tCCBMfF_;+1FJn7(ldh^qW0%^(8Rv zwM%w5&arTZJU22fPLKOb{szQBr9BMO6qigX;-$8RA^*ToFAEt7;IhbM`54=Fyar?0 z#tUThj{_9VGLW++{@D?o!`Ge>?E9yJPT>j|NX?bu$>dtF?BQ%x4N5F3@`|9-?f2`DxcW9-*mgYk(q6oOCw zrgRN`*!}$dxTuDcvD6Z-X-SFlO+8yZk36 ze9I1>?Z2If+j1;Jkl%%L8R^((`R_^wPHa!=q?Fp|PIzQm90f>osjDZ3H1Kegbfoym zlKAmqB7gG$2fQd}%fl`tcW*LcTaT53F!$rD!9pGltA7YwvnRYDHK3%)#9+Pv{~U`t z*2bqw%I>iI2C>!Cs_ybbUFK*Ay6Rj~#y~Rzb*mz4qM*oL6Lu5>Y|a+3N#|cH%Bixh z`FF2|i^pQY1tD^&dg(zO>@YJF{p^r(MI$i_zFNv;{G`FNAPtAFiBod^SJ!Q}j-rZzlQ@k5uyg>NNpQSXLSQjZM6N5`9~!Osza zB)tNB7|HVBqDD?p76(`O z%{^aHH>D>gKX-_KMd-)O@z2M=Op9!O`;Q%B7%bEAjspB{K8DE?1QzSM8#iIL^=`%s zya3n9TJxu@3d|-3!=EaS8kP)Z4}1T0%HBwgX;VR?I)Q(`?&RW!|h;>t7v`cFjm6ntHIM7$I6{$fhH?1#8uE z{#7+8d%sBxUjp;w>czFtNS;@VOB1dFdy_!_08k zK4Z(s7n~f_m>i#p^KMThNAe^e5jkr(3n;x)cEtA1O-z{(aVUu5SNM27x%J- z(DFewVK?s$H7P#K$=sikoVcEb-%j)kis1jS;qXwn(7}u!muc&n*qVBLyF>RqCOiZ3 zq;}blKX1fY;n5lhfa&C$SueaoS0yAc(*m~&QC&4Xw~WqhZ}y) zT73LAMsCdFHkK|fZS`0`*SS=LR6gbl;C;wg7buBH`d;^ zFLd4wU5DBX7yksK&GWxd-8A`~w!`r9nfMNUQefll1I!`;tj?M}*%`P|qzpSSVfOV7 zVCHr?)>_hIgfC|nUe5f-K49&|Bj8_;0Bga*Ro+=to8o^w#bj+kvJkWP{wZU)CC2xM zC*rL(LFg-9S?nvh2a->(B*Hp<{MV~We>2mazl-ssaEaDSG*of*-g02b7&mEI;WuZE zBY-99Q|E^kd|UCE05&(gm5`SaCrZrea*`vw)l-AhdbyPm^f3j z)Y7ws$~ef8GMFO&@(&6$QZdYwD+*=H=Kd%2(R`vLYCLEt#a+9Ic^BmerF;ZXg%ToP z_3k5x2M8HNO>SHAf%dQNawcxKW$2M2#K&JHt>*j|yjb?T9y7lO{tN@nbcHpve3{gV+2f_Bq61=cH{L@8J3c5`HlBC$oU1H0bUsXpTD1^6#voz{A+*;$0U=b%!W|c6)vM zBYt2bA-@(JNMBs*H6KLmjHom6aIO8=>My>{70B3jD_j^`ZYr5j_B+#lgmjJkruA4$ z0sFjmXwzWo7+N?y@8;m08{8hape+57xUU;iiU}crVoW%#0!1F0?&PSjx^Iprzap~+ z1c!^A#6OTB4H2TM2*UwJB9Q4s=Cq&W&y#=yk=Hjxt$4Dr=wHN{(Q7jDl&*UnP`1y+a%}kYW*dDB^JFJYYT*0d=^O?09|*0Ee^PO3`le~)!R{} zs5N~V?O8R2u-1Eg9m4POUc?d+pEwG(*#&D6%Ijqm93zkInG7-$&rh-Mz2FbY(Pf~1 z7)7BMynJYbDPgo_>a;j#+xIFQ({aN##rbS7BBYh@*k#GrGG3Ob!}MoOdCa}n_oFOV z0iNSVv68QkfF5-B2jF?(RsX|}i^|$d<7TpR% zSMr;-a8KaY=1S%5gcbov4=NgUZ~gNqz{%S-N;}g}&Ds-<@o*lGuCOMcGHB_HRkEFN zT4P}Jc|2m=C+o$f^wEtky!<2%k=e`K)PXF9R`Gm0TfK9Kg6d~6ZG9qc7FRa$9|0bd zaVySB>)4S4Zm>xW0{Z>zHJ)-}|coO^Rlv+3K~#-mfiL4)Pkb9)@|AO9>a{32B$oMlnE?SyC|_`hhuX zNj_)lwM2pw(UxGi3;35;H1%GKi~ShqgpaxO*OoN7dnY0LNtNH8{yv7n-3%ayUK+kt z;r2mNw?86YB(v%vS+i>h3r^T1!`L<-UOz?NuwO#)=YYh|seZu$7mN?iH$hi-+6#Wh zU_bl{k5g7zp)dUQGEoO7+NsKv^M#h+A!&y}ldqhmha<%+QiW~x4e7Sk0sw*?cbiEi z2+X`>g9^1ovT+Dc*u!?63_|(qU$eHK7rN3Q>G4g?hJNnSQ&~ss2QzL*>H}M`uO?%e4iO@Wh7f@%zN5@B`XwtXTds+IykkI5B5i(8(A7Zgw)pZyzU=~g$rBVsT_CZVb~ zjIgGMhip%ju&yuF(<>^Hh|nGx+jrX?`|n5n{0YMh)KtGU+7b!#N|itT8-nwyRYSr* z%D9oYeSw|3@?%a7i&Mp2^ENS(V=}UFY^est6HFf>v7YCk4L?~~vtl%2!=GJIya2b$ zPzI|#WP}0_%ldn|Ue5UCD;_&}y4FJPczU@1bQvXUSN{?D;vb2nBK4&H@J?@RPI~gX zXa5KfnM411MK0C$M^DJIBNJCAN_n)pwpxNjMM1i%K>x$l6shA~nB{yZi7{%%k`z1s z@|*9G4K!b6#0X~3B{Q>ysZI160B)DHXI!DZvPPO#^ac=I&sw|&91?Ed?5B}kD?>)5 zJq0aeP;8(}V6J2@WK*>OI+=wcm+kUHhjUHXMrF0@gQ$fN2skj&+uwP8-6Xt&r=G)+!UWj z6=VM?Xp%-p;mIS2)$1R+-0!8Wi&ocNL`=-b#98d8mimaWWPa^6~B`~W9x%pTt2LL_0Rg{hho zlt=jxNDsdILEx}tAY4!LwNfZEE}9O5oxx?f(PuyJ!=5tpGZ|%-(5U-6gXDzTLmGza ztW44j&rsVB{=<@yl6&Qy&44F$k9^`x6GVWV2R=cET7%)Ube z6&g6ou+9p1$Lb!XyET1u+jRNdVLCJ=M6}@Ssjg zfXKTXe#*li<6peXWpBMRhId~jz_kWDsbxk$IkIt2me~@=YwrkN6@#ar>6p?r-ED+P z0sn%m_urb^#qHA4!NJC3K~oLZ#sQBu&SGycHQf#g2;3$^aqr?mj+9vKFJSKEgPIy$ zsYum40vLZv&^-cziMl#NoXuQ))N@UW7lrc`*_7GYIwUPR1T0n2ZVf}KH`4I)c5==L z74%qPna-*@%7hoWHa-O|iTP)mE!rz zE?%?haA3CEzH_%Q-cEvvAz0JsQzu_@=QP7%qDIHXwfij(faz^8^QE}aM@9yL?t~(t zv3=pz-Z@%_osrVLKYRXTVCDEcjM}AqzyjDc_dKqdh`Aa2Hy`@>4oX<-E!UI)ccf&D z-1FS>Zt0XxI~9r}tasijdU{SqfjVNNQH3+_Z?zc6F59mK9{+9oR-ZdP|e+ys7aQ0B`u3?84@fw%@fSN z_xNShDqV zfG;~7$`D!=^JV(Bl-VH^8t6z1`QGOvotM4j0ht>A&{??{_Uf~aY6HtobO&S@73h)tF>bZSK; zKRCvmjrGp1pNK+rYKNd8+Z7#|Xn45sl>Bknhq`0+oHkz7$G&f}dswSf7UjKbQWn$nN;^h1f04e*d1(p_4Q#QV>l3 zWwGd{!b0cX@N%vAP9>PHeNKjE5K7N#a%Rq}oTgC0TJ-W%XVHKCdpG*p;=YS1W;++e z25X%xD(xuBvdQ53*8ltV93}sVK-(5q(M=3s$jmFfKw8@6JRJt^3(TOzWvye8ym0xuO!GSDiY@<4XQ%cHf3dTJK#hZ9=d+d z??oBg;blkk;L&F&NZhc}6zXJiu&-c*cu8lAg{MiVF=?y5sdqz$=uF!DgyKXt_ns?H zvZYj;Ew!u5cv@!^i$4Oo0&D&85fpj9JtUi-sB>+YM>j@c>>~hf_y|anP*B`8*>v%! zQ~>k)gL`L{1~{ zw*pSc-C$v{5^h~!C}!iArR5FNj=FK$h!%2Xy}4&N(pCEh0_JZ40-Z6yjWCA`<1X2Q zRK~99t~GyX!k!>TY3hOk{cE50;>jzTpjvWMndYmv; zg4|K-7jD?^I)+Mr;*4PWq^8||;lCIUh2L{LWQJ0JXt!NyY$XWunpAVM%fsE->FR7I zLe4Eh%={!Y^dk3MCT*6#XTGnZ)GgjM7h1dbLr{KtHFXgpsnDPjk8i8bPj=Tz5BMi` zbqE{{6}{(o)9RP-TQ5<~`SjXOE3?uF_Rm3T9~&I>FpQWyK7p4R!@3F(4Xx;z;k4D~ zhv*I|&No0Pb`LQrGUrHZCYZKltj0t!NOl%XIud6?c>Rrz|D`Q~Uq$)1sr35UIX{8w zce-9?8?jrZm(`gZS6_HnQwKD0c5!5V;HQs(g-Q|)>Ba#{in9(q(a<}0EzeN; zBNbqJj@SFVpcULGYn5^%Rps>;9`>XKQ<~MHLAxd&A|3%dXIoEoCF1|9t|XQMwwSL% z_Z_$C^9})OGR(iSf9Uvze`M-^nu#tvuAquuA0Mj8EolJaUW) zVrZ=#t498S-kROmH4SvH%TF2l!04^FW*1ePU8Q=2cKj{+5nwTXd!{sb9fSFtg<%?U zW^CrP_YG&HmcBy*s)Jf(s&A`7;s=9HPF{*`h^OlQXOoWs9f=K~5w8|on=TE-4<_x5 zcK38hJ#Q(FF5bD9E(s%xZqYx629$BwC(_Z2@Y62oak08);7xJcz3>yeIp3>~J&}e^ ziws6m#NUN4DEl68J4o-OLHDy)e}Ybd$wU(FPOyWemO6wxz?7CEmTF+g3x% zlkepfr8eYqcS9EDq}4=J#UsGK5k(v3!jrU+3w5Cu8vi)T`XeRzE6j%xHPI@BF=2%xPFNNc8&9tMLwgz5PVW*Vxh zoJ5>b0_ohJ?Cj}l1=)kausgYXDGg?5btwBRlL&m0JSMDj0XZ|a9I%x0W?WBkNa28@u#ax%xHMTP$z_xi7(ctZ^%D6*w#8Q`hG@QAu zwPM?AUi9K^A_9Uf(-qS(3w6(}J(M6yFLh#Ln`P^a7k8%zcAhPXt4tA*sa50Az3K?Ci1oUk;L1OW;veDZM@!-uZ7+L9MX4Q1$!Nk-U3mC zR)0!dn`PoXd967zU?9h?CudCO_t%oN*GHGSxEOSixELg=;MozkY8&{9$%fX|GGSNW zd7WL>F17s#M2di+D+8V~WEqo*qD)7<;2}#05jk}GZOo5p^Fi%lc@lUWrtQ*2x@X`J zC+6L3!*`X6yo9E#2*P-i5Q0N(p}7uF$A&6%LG9dk(La(edeioQXEK>b0Ti}DTWEv9 ztDaKrN1y01V(IP{j`zo>{z2)su<0&(N2+lr4ic`daAl)i=;=SNvzhdS@yLznoYUM| zUYSglEj}@ES{I;yKWkpHr=(ZTP1(R{m+Bq=s--Pzkd(FgBur|iX+A}{@SGrnu+i6k zetEC3fjEot1P$t_fRiZtjHkG1UgrV$1xe~Bl5zL;FU>=Pj)qss*j395Zw&kQP-)0) zpvesK=;tHAF?5ze{40sRiy&Hx+!87y3EnkiT(;;zjvK=oBmT|bAeHgqtASV+YMf8V z-%9s(j?unwz2ZSOm;@PEj#S)ADvuLRn7O`oI58y95>W5=`SS71=fFY<_6S&cYrfd+ zqD2@igbeX|azWy(^mqv8>#n+aF=uY%tmZGSyD%~k7j#RJ^`ZLR7h_4rG^j>kq#*Ze()XhzAxY9|12qo`dh*kO4Iy=0OS2bO&jr>5VAGYX6_L7=tx2 z-RkeLW+cG2WTx%%;?C>3U4y=Ab7`9~w_H@W;?1i$y%9MgxhI1|H*xLian?d&s2MI< zkiYCqXVg{aL#|)S^5j)oGyH4TNiE1jr}54|sY1$>MzxNG87qH8o?bw2WIP$8y4UWLAA=HE-s5&&sVZ=2^pd@JzD#1K?b&PMhV^0~k{dNyFnoVDCTy31J{agF#L27H9jaLN==cau zfd8S^p+~DJ9SjOph4MWpeJVv|O`@=T9gVp27x)3fMd?G{Sj2QQcKmVF@qgXuE}>n2 z9?~wt2+f22W!MqIC5HS5o_oXU5m^&b|MpwZFTtrgX-#Q~Tl>NnmOaw;JitLit$_1` z!K@R`mT0ADU8Egwi-Mu%>T4G@{aeVn(tIygJ^a z{RVld+NlFU|MPCg&up>qps-OU>w7RLp(j*0LTKzs)`px{$F)n*_rN^54=nSSHI75a zCdWRSKs0`6Jh|D3LEY-pT}+N6PAtje)&b}q&F$I({^^la==s%XgR(ID+64)ovd&UD zx9>9^%&9+k*HoCEx7-Hzrrb52GCqHq0@dp67MX^=ZDBUe=XK0wve(p4M=h?)9@l|W zWSD~Gr-X?k^qjJ;(fnxd&}sWhsF{a{ppqnEI_d_|YX#8~X*#-%In%|l$dr$EU?h#> zrfZxRg?{q*TxjDtTXYTbu78u_*ap5I3%=}R*xL|lYmQt?ov4LyEcJNuTk0bvjb?sK zzlv3#wrQKAAmd-(AeP({n;Zq1;a$05_q8oFSDB0pc`0&y9jA@~oj@~8o?Ho!pHiVbtQU@0$=6kOW6GrudTSFN@*!sVkekE@}-^Abw7>VB` zduzcgY7mgVoO?$6+yMs4B&GEg)8(Uys%+K;RvBOqOAVY3AdDvv;KG30dY2jSGi5QP~0I&h@4nCK?VLm@H~G zT*{$8T5+>nRdN2d$VP`bNHq6$8A_ zdv75lQew{o!-)^RIH>wo-mhFx&52XGBsv)|>DLQ3Bp%e?Wxb3Sh&=87+pQNFsH@|g z|7LS7Oz7&Jp-x=H5S5RmZs;GA$t%Va+MgEOAA4s?bp>a+I~EIr-H?>9?&Z^~$TqlW z^08FHR~fgAWA)I<5F$_3&jrPG^zvKtg%PuXg^UJ&Mql13l~l4w{}Oxvo;uB!e~zrs z*x+%TEXZTmEKY22gh>Sk3p2)VuyygYOjc+xF&eTpNRdLrkjfp5m2cv~BBgwp-(%$P zBns~iTOI=EJKp{r?)ca0Q)u~Z!A7k~(s2@Ab{wK6yKUM~Qauvo^?wxho>5IjUE3~- zf>NaS5(NYV0YQ2dkuF5K)JPXX?aX)HtuSz1+3YY2#{{;yJ0`Ss&LO&yy6f8=V^t3<5w9+}}_aDJb^Q zDz2OU#-K5w`E||*)ir`1sa{xEm(F#wexpow{wAg;CYQJGOmi!+Jl)wAuVY`p#Fm?D z*n`c3N}V71#j$*NOc3Z2o4wb0iBGJ>DNu_YzFfBt#Zh87biHCFl|9#tsUjE5>|~tc zLR^PC;+rz7LDIq9EmQ)>E?7mF1zp_vMqn|d8(;1JTNC3xvytrxyOGDftw0O)zyM$z zpC@Af{XezAaH)LF=9-<43HJgzds15p4d3nQxjYPYi)yLS9 zQy0`PT?QtFPV%5>a%goYc7**n>gSBf;%$jqnBHaoYEMf*lML_R>-gzK6=cPo1Cs z`3F=p16R7Kk#hBXzv13vLaL)yQQ2rO8|6UF2>_bua;j%ZUzQ2TSvbEIb)ot}#F_NP zU42K~8*v}y(y|_;WWa2jm*~(SpUItHW^s7C7@Oy}%%Ani=1;ug2V#>8p|7Vq*CX+Q zH9I*s@~J1Sl&msOMh1bGar|eR7m(YuQg{o7C$)_!oa+&j?QkQ}YA$(}Do=>UjX$vgmiidRhBoqq? z+A6Di{M{`s@!{+MB!uZVWP6{!NYb zMZ6?Q;0kiwC@nNQTAr#W*ZjrbYB$-gZyR^w)Uo_4`h~B5*D0ODwHagN(ih)f9k03` zvIXS?4`o|7T6;sC?Q|6~aA@@Bgn8mJ$ZS5act2P;G4P6g?c#c8fM24RYbDSo?E=V% zfwl!Rj`NJ4VRF8x7bKc*GXcc)?RPDn2CWCZ?6{5rT7R@}iXpoHS7(8B+PhdErad{m z9Ut8pWLRpTT6xWY0=H5xT={I0ERfm04?yk!zF;X+VD-P|YeL;r7dcw)=G~Uab5Ky4 zzzZXsutLq#5{bOQHi|v#pdx66P>-|kT2GGU>`vxn-jj(G8`Ejt zC6;|Lg5Y1@?3fDroovzKJ2clV=J$ohtipazAxu`*c{Rp)1#y(TTjxW$fbjuKy;EoD zHu!$V(X_8N`gr20Iw$&3@yYg}`VrwL8E;xgc3#w0V!BY1fhU=AJKKrS(|7{+?0&@Q z^H8!Da$fE1&a%?f^F2r{hqti7_oVs0%!{9v4i0&y^Qti%D}>WExB;rYUpTrIc^1@E z@?|%hUT1BV?39=ckuv?9|K!6knmAKu^*Y>b9-B&Id7p{q#?zp3&Mh0c*Phb(NRs9HQ@WN$4_6!HI ziOegy_^)5SZ?wZ%-#x-Z^Xz&5*Tn~W6K<*YbkMfy&l8D0y1*^>Wt4vWY&}8%*H-Pf z++pHq=GW7jC|(dsKp_yfd{)$U9D4UHbV4BjXYM6u=SX=NRAO%;X9S8$4- zuWN64s9-bD_(0ST9#8Mrs8L@vUh|It-ow{wd{;E7Na_J$qU2RX4;{A9eEUYluv=ty z7o_@C-^3-VhP^~HVE%e(i_R<~F=b~IVV8LFx`RwxP1bv>XfaWYNN0=y)N57xra-gN z@A}9V@bi!Fhgg-M1?mkPd{@ zFlF^}4l=ZJvfXeyZc*o^1r@le5O&r~y>2`K(cCmm_Mz$|e$c^ay%6ATjF7`v=3?-Y zfUjAMcHv!f1;w)CePjoWrr+&OdWS_GYP)CUHoIlY)9tn zj_92)5J}@1AtwH8g{=ZY_FXIme`9PHeZyITKfDOehe$2KQ$K*dJ`Foyrm_J_6o=NO9X8%w?834bCqaoBN;;td_MQDxJ zHZy%~Z_9qJ+v)4W9lFjAg|o3BeiX^oIDd*UZTydrzuw#b2&O<}$pPHCc8JSHL^ zt&;wy$y#?BZpxzdgoP!|>#y<5C+O~Xkr3QvGxRw#QsPl7uOSa-EtL6|IzwM>s!HK; zF%S3r!jMYGQOtLj`s01`dkoPc&USa-$y@Fpo5d$@^&8St^*0^t74GUOb4C3bO7@b6 zkJ@^9o&1&CKUA1u-M$zKSNQ+VeL;fs;1B!V0k`18yrw7%zvrHZtF&`j$Y zcm8&$ z%^Hj|`q{lK`fvX9X$3?72y6`{XJ2f4cusmC)(iJx5lvL6({(^=CjT3>!FPFilnE>| zciCjHWzIx?g=EOyefZTnuSY3Cuai~F_W|(W{Slqf>}`-XgbKg)@?psu<0#1Y0dv7@ z%MIozPCSfuO@i#o|zmRMie5NdVWzqpJk6L0Cs#4?S=}kx0mLCktx}$b&1k<{{ z0K^BOK6~tM-}t)LA5qW^Vdbkajq4Qr9a)U1sYPs3Ptx-jm2b2~4*n5%>)Ut?5_2@K zuO4G*T~`Y#z66<=j)Z4D@q5)6w@2t{?FA$Y{YGuHnCwOofV};MSMdPuY2HY^-_N3% zDuo9HmCJWuE63&KvuwI99k71Auj0|tDQy%fTl=!O_-wMep{CfQY=i<`_!-9vp&t{J z)xld2=@9~GGNnstxza67+oW=&WxQNp(^<2$Of6QXh;o5)nRG@1ry+{2kXCY*%}(8T3*O74wYf zyUpJ?VLJHM5o=P)b9wmQ4YOZ>>>mmF;Bt;~4w&q0-~MqyP%VoLBW}8)@c1Z$((c055xWar^XFjh9kVa}25rR2#D$KlHGvQ3q+FPC zvkX7{QhOQ30}oUUg|Mv$y3)P@hCZJBt%xvdcPk2DMhXAu_j>ks_td9lDM*`0q#?2W zM)?G{Gc6FB}{zR66NjR1xT-mwA>D6rzKiDIcqGwonP|n_#tg}k&)9{?HvCjkq6P*?60e1UyBav3Oxe%FL$g`>KF{cpGfDH-5 zuWu*fl;l_YzpqCvqFoOL)+m^?3isb(%JE_NrQuwZnaN&*?BV?lmq#iT$e8QkdMHT^ zEaF16J+WF+v3nXT2@|K$eZ-1`rZyjIsf{O9qEgZ z5-o&2j789B-xY-M+@!aU?0k)^g4c}i56@$VpcDnw4lA)TnrKo)rKryU>!oKXwbtj@ zVS;WTUY<(0P7#(xI<3F(kHC7CrNH%P=ZBXRg=GPni%W`yAzuAse{Qj-6V3jQD$y;i z(!kgQucuR`N9XkQ552NJDA@la2pqiyk9AwWIQx+74@#N#z%+R8S@x$@Vh3<|`og^? zXH?P!vSmtEsYD{;3_wlaJmyWAZoo+lu;=_;MLVZRTS^x+N z$TQ6Gjr86%C`z=1%}%It;Aw3CN^@T0qgkr($049zV5iU>@G?cPz+Ny7vdn~kUrK}X zlh5F%Rdb-5a&XBvd#WDg)$P1rHNFjrC#UAYZ&xxUn2rN8F0$Ta@l>&>jEQ6ftc*L- zJB?TKK1Iq}mjyjT@n7g*8qpyZwUcMgWV`ZgVXr0}15%HEKW2X&G62XA@?3*`&L#^c z#F)Fl=Zzt%YjE9m|2!oUiJND;=diqzn0!@dQ0i5-YDjP8-)57Ic;DQcI{Qsr(h8Ig z9AQ&2w(a+-FGYDK1TB^;(a}O_+CF^juqE_9w0F^>V_hhsAv{7X>7LN${4)+o%LtC5 zYazP!!Rp3XBu}8{=l4yv=8K6k_NlgKM*K-h$AO%OLbJqc+@Fgfv}ou-5*k5hxpK^4 z&H}rKiQAGJ^Yb*ZIhmTpCx)3G#QR7xO0CWy9Z>13Mu!4xfaq&j8yzO_j~47>orkIU zp2TR4I6b<1UK2h*9@G4QPyK^_krXUameX}jMu<{Xpm{)+cgZr!U?GNBj{jU@W&03` zrf6rDE6?7lZLzke?h**gkaByE$>Y z-<%^L)zW_9+Be^OD}0*)wfaYJAIm%`AZxx>zlt|5hu&Fl`iQnKsARp(dO0A$jFCzz2)A2*U}i)-#*8kvbMIS!|L`srurpKD8XHISrY8jD0JmFJLx1uj^_dv z?jky5)((k1rEwXz{&euiSS2vj5j%7XL&)PMvT17sUd!M;fV)%>9y@ls_?02eOA&4r z`Eh{L3G2#gs-4Q~sIwP8nnafcm|%T4=`0oRcC1c{JfwqEm%lN3^JY3+3_ovz+doMc z;kN~0Nvr9(JRJZM(Ub<7;w$fm@8hL+!<{z?w0|fQf9W*ZHt(K~{KSe($H%<^Wv_7tJ6zbfzuZNM0s2LIde&ZY6gdTY$|YZ2MJpKpEcWdM8qAo9-j#Y} z91u9E`$mbH$S~pI*<;;T`*8}=nRecc!>akOJ(?1F^B0%`MnzgP4tunvbs6le9lr{zpKf$iGtu0@o+GX~rj819i0^N0w4}Y^m!4ICMf-FV?y|%6f2JIn#vY!a;iMR6|GSPpBB{& zT&`YRR%TpwCw7th43oeML9DJe6SmaFGr z&FGsR;n~lLP1~H4%-1q23O&2BfZW+xzjPJxFg0u?mpk3COv22xP&_`60!7!#OQM#; zY|u|*x1#JEoP}1Bh+Zz>D`Tt2Z6l0+j^le1-N957!B1wy$H>oXegUcD>UD|0o7GJd z;llM!FMiC8rTc=7n4ShnfI=ouPRXK)f3C4^)U&4qK(4cM6-W?b5K(kpJE>+E@<3n< z{x$kXL8cDU)iZ4q!5fThp$KNi&<8>v4lqQ+krC-?&YMH^u3ERa5V0#N^s1PtYot() zA9VE=k3PUk$DS_8)$8$clKqO>gdel{S-+|Ovew-m__t>M!LM-vuD72hK|g;0g3k{& zzkPN4o~vSpG}JO~bSj@%SnJr(FPcn+r;1viw484Q|JjAsa**KbDY0v(>?)!5L%lWc>=?1*M-KQ%kGz6=PD{;IO+-<~C}+C> zJRwhw6&MYs`B=6JBHVS`og>frN1)x(^pz#L?$V_+XoNj^aRH)%DwUUmlFym-2sWf_ zIdJH2@JbH5$HC7>{l(v;)>IXb3CKB5AeFXw!V8rsH@_ARF4Zj|=e>_^FR}685encr zqqdgtn2DVR?Umrx@*!K^*OvFr1T$w^C9WVaQ5n~DCmKor-adEJYUP)+l*%m_3bNO`xgHQZltj6 zQ&2k~JEmZ{E5K1Re*s7ZpDfj{;in(Xb=!O4nTB#_Rbo^Td&ZRxHiR)2T>9*T8zp|j zM@mw-o6Tr)b#A7clYCRx>vAv;SF^t?Q^If(ix7oT$g?1rU-?55nZ}P+kLSO+z5R;% z6^I0`#ecyGpj10=KxCNOA<;4uL$b=qd!J%XdtrO=8Yn;q;K356u)9G%*}*liTo^Ge z#>=_Lg|Vn-T_^kn>uZ@Ke1oAwYp#)CH8Hk*F2S zAtqfNS7Kr08ypW$$I4_qx*JPoV8o~gDQN+6_O{rtBk6n8R; zt#A2Pfy|l`9m{hd^9c?z^z0tFv#?@k)T0Nm9pa0ZC`wez!P8Q3>U06iV(>}eVoz}d zdGWO%lo@M|89^aCE3xLt^8vhI?}009D{YE|`iLp=9x^p`owtKF)89c?$agCdOE;2} zqenyLv}c*`pp&=>&IO@V?rP=HJmz4^rS1lzpY3WT+0-5+e(LQYE6jlbMw`qP!r(+> zSWOx6EK?_n$vFV<5`u_-4Sba)XoC$T}RKNxci*hZ@Xb=rVXzKa8&~KNPm<-W3I247e$+b=-G1J;_ zj{tPm)KutDJh7hM+jrkT0S>y5pS%W${uuT^k@;3H=_oc+@#_j?&IMG zi7o&4lNs|Kq{(vs6H0Oef0RCQ#qiwbchwyxQ)LP92hOi=5lh;im2W^gK~2HXfnQ5p zPt)GlUUtyj@+CQpht4OvA6gVlSNwQS#}k)4)I=FRQxr60KWINV{G^nJxKQk-k=PUgs^WOw- zKdjHC$}ostXBf@qyI$F6_zVFoQ_EW)UX~9I5FMx7U!O}hr;vXg-=6)FZOcPvrgp`& z5N@W)XrfOB034G+`Su@!x@!VNPhY9L>-F(?||pXOGWk?JWa16SPAM0s1lNl z`+rAG<}>x}XrgX(CTajwu@*E1<96v~0Co%*&q$ois;a3p&8L~UEDM1X6gsoo9sk|veD_&DWLW2%POdWClsj<>HcQ#V>5 zj8Xes;_RMN-BU)6uFrkfMw@jVa<1J7N&Kl;ab2w-Yg@NEGM@&a9#grWbO=Ih{Kd9? z*hdyi@OsR8I@njin?^FbZ2D6;1oO2_=X-H6P44K|^BSn;Fnl?1wBs?rX_8C#PY)Yy zR=wDx@KsV4(ESC>{`-X0sdL$&gm)`n72Kih@T=%GiaF1oY(VhCkL;wQvSc5S&u!?F z%)3Q+5@pGIbMXeIoBb6)2P}#n!BCB6=nH zrv9E1^^d^b+2RI_Gz>5+4|^!@V%ltE4DHBPhX|mwBUhY>^^n0M7qNkQuJRYV-KMji zJNKO(M)%lXNXMiN@`~0!<)`&q&1H+9uCqI}A0I@1eD1aJHe%%7=f&a+394m`KX-LQ z+_IMKn!aW4h1l6d3`eo0Q5)?tU)6SyX$w#sQu9Zv-ta~%Kj?6yX@~(nk&D_HFU^Tj z-Mq5mB6N(gCPD~e>QMU~4Gf=35dc3;rMd|Q{YgqQu_i?&hTs5SSU$vbEewThYoXj* zqMLXG53+SSrsZAUH={5?gTm#dCUAUyb!{ijF$2ZMoi5%~vd^>3TCG`c(l7_74B?%D zveN4Msn3ms+LMw?GvPs|2c>~mTC4^SM(9ck>E{ub8oTgY#}T)1-~^Td)uJ-$Y-s?m zg{yIXC9@$Q*0_RRgihhuu<{tfH40{k;+OHM;O<>}gxD!t@9Mh%q`=Jw+_)ynbA7vG zQK04ucDAci?k&WbL>u^t)mP4OISN6I(Yx5kP^~(HO%P4vvI5S$X+s>3Wv-9t#CA2x z?JC9#g{;zIq;!3C#(_q;hU2(G0}?u3%O^1<{LdC^j~izlmU}T!ZH(!Ss9y-~VbU6u z#ZhEVu(Hgg&(opULXu`~SV|xGmR%U1GP;+CplYaVuy!x_)s^uJ+rPAYkam-LF?5?z z6CaKsM1_Yn3739OmwfOQL+1$;>@v&J(>Geyh5G!7x;`inv!K^WcRp3{ z-tSKuKejsr&udXE{N=pQi&uWZbBz+y=1k2m>P{}}bKPAFAG~{=7!L5O_Wt7;ZTCeq zZbqfw!_-}-g#NfQ&H1nM#1~adv#ISk0V~57uaIQYA6ASebqCzV5X?@u;UZ{a?pBA0 z?mXn1Biv?jJeqxrbh>(?U71Gtrh6tk+23KJ%;yv6-ZjZQ;&0YJg7;|`Dg$q4+jbCB zidM@{$iy4Y>8`U#DbC-DItZp;XK(w`+ruT}atPPM%?*@ z(SZbs(v8iG6W5m7=aFjWD`vF^2C~JnaneyYEEi8d|GKU4%3L&28^Ot0#Q4g~XLmy! zYyH{y+5Zu|r5fZ?ZVk>|YJ}Ia)#o)#AjS$S4DO^R?14q(fTA~~J~~mpGd{&K9zFTq zuRBxbR9I*?CQijoGe}-bfhr%YZP;YNHB8NF{l(_gZBHpxci-V%>tQ2w;-nXno&<({ z#0nZNIuCn$>E_u0?l*;Wx+;&gW7^M+RJm`W?^uzXdR#o3pGf;S&~YnHY16 zKB6(Up21gVTYqa%IGa|kV7fx$P@C_obn`rfn?;FQjvw=R4+4Wj)~h7+bCtz zJvQ~@6i6|BbmYV;(R{rHzeF1E!tqlW_&_765)Wl{O{W6)sbzOf_sYmG_%?>N$ z5A16tCy0?&Bg$l9LMHZ~<+TGH4O0!D*#=Ag5fF-P%F@%xbf?|K>)8DmFrI`4Dj3(; z-NuL(B?~|p_{id$-3BS}s{nUK*IhV|Idew!DEe{6SQ@afQgpX4T23^*ipJZ6bc4C` zl7Psc4<&$68!4ur)0>LAT0~>%9imP3@k83WK*4}dweK3@$@@6$x#(GO@K#4W0B^a~ zS(tSWB3{>&G&Lo4jRqy82FU-}>pB9RmaE*nZd}mpKL{E!bCXnS=Iw&cmtZ4tW1THm zez=R^MEsSXV}kfJ((u4hvarXYi6@ITJuCD%7@pNbz4fxf82B-npWTSc6#Vl2U~P(p zavqfs6MI3u&`jWk9mW>zsyFQ&&)$!`WH#Hg9v?VVwP;MAG}_JXJdSH2Zm|R6tFE&q zPsT1l~aJ}#S%ZU6f&7b-%_6qIM^J&+bt*0Yv&P4NFbHfyK`s&sWjhmqquY>ka zNmm8J@%Pb*B8DMY2;E(9?fbQ?9O`XNv%*Up3RnlZVbw6vt0N%@+HuI!Tyv-cxGvCH zG*)3~pqiZs_(2Z5Vpd6urby(UZL68OO!Zw__K=S%6fgm&8D*5gY-fGMa59)>-KivP zjLwP!p&zW1eA7&ms;{bU=Y-X3T@v=A#R)(MhE^RPa27gPFi*R#}EttW8c}IjS+Ie}t3G^pk{`zF~@&OIg$%GuO(I(GfJ(}ZmouP9eJ&47q zCbh%FZbyJa1j-(4e=Cg9Gxq42e&6Kik)DW;9~50O>$c>cldJJ1w2wK8uKPX{Lu(c; zj@|-p6PmP&Fm)H)sN<+6(?Hr(U!U~+aNk#w1A%Gh$6@Xc(k*cigEf3uC|VH*tXAf7 zyjySaKEAspi-H*IiD^XLw1QBPyV85&iFyMkqcrfqPv8sF72?B(E6y)*50Mu)(KCnM zLxSz9O?AQS>J{2SCm-{_OG`G8)aX0tc{m*VgZtt0K@8t2(K?~VI@zLsL`xe43-kP1 z+W!#{L44O^m5lMauM6kNS|{g-<^+`~i`?w8U>}IaZJq#v2n(8$l|dRYrPl7JIk;69+of-QNfI?10u6{oQ=#H(vCb{(c`T3g~7<72s@9jYncb!Glc4+?utNlikc-=stz zsiqD5I=1RoS-pITDG^nezAvo^>Nk!|lQZCJG{fgSHl_tTWaJ`Hsprg3+2cOSC z&j$F5_{P_{N5`-Dmpcp%c8bsUf`OT~Ewjd7QOCA_f+l7L!|2n_hyZ+#&M$}$T+*RV zWh^m}UA&LmXh`_IsQAj?&KP;e>*x!`h^`yk9e>7wLR_eM<-!%lG~>!bCKyj-Eu1V%mS`q;(Lm-Wd|mBwBuC_h~Wg?l%*{+M~_<0q;4Y?CvlvaZ3WHcy)=@;w>E z3m!7D1-tZ2f2tq(5&rXAlioOinThVl~OgS1OB2h z2t#1`;+0SB_Q1#xCmC;fZX1F+$)H}H`@XaOi92!^r0(EDZ~{CGLtm1(c%bJ+b1@m3E@_M z%M+0uuRcdaUJH0K1Ph~Sc20JYf^}30p($@}H=ru}S5u@wO203|Vqj-o=hoZlciVF~EueEeiR{+tlILlF2Mu4VISJ3%ytVP_FhKc6K%R9c#ACtlKmuo`t%)1$mZgaCg zAM|s?=AOXhjfa^9xHE4l@(Pos%5BB0`&;Y*UzeVvfHCKNt~L!QtdS2w-TH)nq#$q_ z*ae)`-PS`iB1Lbt_w}261pg5@cpNNVr|rOxnamvnI(igh7msqJNNKaZaCF-ZMu&21 zKvL{mAcgr7Pejdy^QQ(~%TcL5I-UriFw(^y*4?~jYanT*2hwlbO`tke}E#Qx`+ zc31ccc<+`kwF~$;>qQd=X}PZHN^iF8SgXf1dKI6UultN0g% zv6*tQ##SnIqQ%;!Wi-p()+h{_ zOs26hYhkp@Sk25KP3&RH<=y&y@|RAp{omaUUP~Aan8Hk*x6riPy`xg)le_O_^v)^h zm!)!07IS>%@7zh8XKI8^V^rVYBc!w<)uoI?k=HF0TWbbM0N9 zmmX=d^<+6{nzx$T#JzCuF!abfKC1rWATc;ZRXFtUu7T@-SirsScOnP_Y#n3cs*5A< zM#{D-AYPg~*A@ojgM>dZFZN!OtY%6_dlrOO+-PiyMmdpxJLtn5`dYA{4u=jGoINFy z?w%5?Fem_tpN0pS|7|Z}Pbe z;}E(1<^Rd;{bsCxOAOXm4y&tVb)xh@wvp8?*8B`@XRCfW$dDt|SFUkFs@VuOrWhj4 zQ3qav;Ql`#_c(P7GUvs;x4Bk+Zl5~(>R6w^izc394p(pFOb4r~ z)6gbso*nmzdDyXrOYu2u(tAoze_&-nV`$7WB#hkl~AoJEw8J;Qp}!wW-*as z7$uUck}6VcWbPx6nTD|C@6lhR(KSU|+q(QCs86n7eHa0m_w{vL0ar zDS=HROi;v~B|SeMqiMtz`w0X#T~yg3&S9Sa2)uM_HVACKXn=?tq!#pV=Et`u9nxh>+_;D;}2BnX?9Ot{762y63ZH@Mg%M1ZA`1c4lWHQRiG~h8Fg; z=+Q5y3d+yVGheO&+D%EjXP<{rR`G6>d>-o%u+R zdgQayZ+I>>6SgBLs?$x<{t@UWbG2mYJ@0T^NlN73<^8a&;(1Yy_sOifCmVb;$UXXd zek*(AIg-==kAS>M31+78{Get(s2@~%G)QFtrG9w`l3EyeI@O{6L{R-0ok~3iP6ziKxJoC~0_6LpY z;m_4<{AqhOr70yaDDQ~wAiG)vzuiFuaQLeBXiB*P)tE94&ADx(lXc(p&2E=LWEBzd zstJ|Q-D;6QnjU&pje1t=@kHU)GRAi_iW0&wr_OH-gvoSKqt@^MYSVD-d}01zPnj(n7k@oqb(x?;pXKZ;ZR1YF7U36W-%>m)?d1eTG0?+)n6ZL(|^0-PLC#w!vzT`4B>s&Y}*eUmU~?>tC_1q`5wwEQj#Yv(DJ;~#+!q=U&>4qPAu z;bzHf%|lea33RywY5 z5q&RYlaYWOF7|tAa6R8JL!PsAN^rVcN+87bn{~omEWMnO?oR_kE~j90xr*zdI?Tc} z+IL|gMi5+tnubB`i&e~_9);f)jPBd4DmM5yZI?y5SnQthd~Uj9>qCA~)xFB$bkDkH z5}BupD(nd8q?zCS<80UG1mo56=T2B>vYQrgdLDUV!}v|;6?iZH5#YczT$BIqrC#mI z%r@OA>-q2R1&cizHFdIo239ua3=_QleYW+42_rah$JS9NnMxgRxkb8Iqwf8%@#}5l z$q$0(W@_q;S*P*R%b3w6EEjiKVp8y;ssNtQqr7R(=z%sFjo9I!`<@!`U{_xsuZC){ z=a4KD>NhV$B<%vvNG^)^AUrv|ge9N1L^EH0MF=@wKX;{XESOu84DlaU@gP#o4=n5w zV%fKNfqD3c`_p# z&0WjxFySH}K79@CJ_H!ib6V5}(NDYiRI!#&x_R!Ji|4o(`Xy-zGkpKTX+hD@QZwI-2=~+p6`lf+BtKtTAO;wKt`o5ci&%6$2(9& zu1y$xkuCW#V$a@PZ)VG2UEq?!!9M;7dE}p!?(Lhu_in+Yn)A)-_mI))mIye@GL0jt z>`g%``!?NvgKyiRy)No-IxkDNhs<;Lz$*y&m0=>7E-hjev_xYA*+=J(8pzcPuR3p{oG)aUiQqQNo zudIotu)AOBf#Tzv(_66g>xgi_`9t%mgAbhsDn!EZ8mq9}xuLYP1IYP-hf$AL%Xy^d5ml*t-`r9tqFEpIEpXzY~8Tn>O<`B<`7rphNqwPmXLLEr~SFAIQtG z*uLXEzCj*N#xg%({~e~w-|e#gn)kM2yvqcL-=crS}IiA>ch(zq*GdqZ@*o4jkh%{_qg)YxlgqgX zxhjX{leg09(tV5iJl196pd`ly5>=*s55JYK1h@(Bnx$DrhAGCdGS}3b5A&UDRY?WL zR+*|sT=Zv96ED%$mUy`Qj(h6B_53a`6W6uT|5&A``s&mzbvXXw(F~2QcR%Xl9VP66 zWpX*6g(z!E>kSC-lv*B>XRKoe92fQd4ikRqT9c&d4pz2ICtD#3Idr?ss*xO17Wb#l z_#b3RT$R(`EhL;Ynq&^`32}ia1qi_`vo| z&HMca~&RDLm#bIHPjkz)x)DK zuzPHb1|yhJ$SBchuz>W@1yyL4%BNNSariuAles|hQpn1cH_Hyn`bRkx(8_bV={hPS zyD7r!*VK1!fqe_XCRBEtjLglzOz@O9H5?wJy8V0!ekzz7xCW$i1c9gQ9o(S4094_q z(fAzT;B?&_YGAI~NzL~%qv-p_8##hQi`&)g+2f8h`B}I_@G|fA2gY|`UR`(JsH@87 zGENw12jcEDJepf&!me?`EHu+6Gfs{il8I($_r%DoYnS9|f-gkXFWV@k+9miwO$_6h zz;5$+(_!B~g2V_HvvhzdR7p6{p-(Oz$;cnWFQxlzd=vreeP&xK#n6C&2JBfXwd~)wc3&MI7 zwt&~xfs+COc;R(15^#9jq!ak-ebZbBmpk9~@tvzc)F`hIEA5J1Ti3BP?>YIOVy(*PK;?R#k(Br7VRp_T|DG7JAiXtM8{b=FQ%|(?Ln}5r#dCMlcMEfbNxmf6{>s6F(DodR1HRFU zPd1)^CV?5lD+I$=3vVCJL2psZ>%atRRAmsbXGX}0@GkOVeP0AmNdmVO?cyKl%%bZB zAq;XKgyjQ-WuNijN4e~P#sW}9!OYOn%tCwz7jm4a$CDr(sPGl%AHncqhZ`uoG|>yt zXzi7qYO;1=q9hEeeWh{6FOqN-0;&Q1=Rg1V%z8uiqOan+?@qrJals=naOeP>_vFX4 zn0J3;z~a->>&FiTDeZTYKzPOYe;sK2!r_RN)H!dY-&|FHf(t$B{9>$}Ko6 zY+uV>@H(@?!^79?e=ctMzg}FXWR1}jyfI1Pg(#5fV}%wVyJVKvBE9^Z^*PLZyvcQy zaU*sUO`pWhKp=)y0$|RAy8iS2s{ZHjZa~6^=auvK`?ersIez=AF-Ctbv!0?*P8-#G zZWLQnXN7n=BKE%Xivi#Dcw*Cq2NiD`Hh(8wH7nrgC^~@GG?^O645FU9vbQ#;kbMMJ1Rgm4R;x#oES?rL_98A3H zgU1MVLLa=r2l2>5V%&%s>_6xDzt(rjm~>I2Bi68iEn~R`)cz)(3af^y1RP+#%>N^Z zE|)RD_jh4c86Ne!>=?(RLb3t|$$%SY%l~VF3ajt1qWHH$28btgv0xq9jTo9{VbcPm zn45Lg!)M^NGV%S6xkoVP3nr23g{S?i$Wc~g?|zYkWj&%!9*6hp#s)Xxc^?1mS+>Y$ zm6N92j9fSRwLg;Pp&;m$34Z1L@?CAVZiS*?CSOj6OPORpQZoz6&sp}sS^*QoA8bKiKg4`0XyXrT@^LS;=kp)QkqIz=5KdlmGa zd)i0fy?+G%eF4Fyj6Dw@9E`+y1KBWAGe59KxqUq>-n{X+Av0TKEJVbha*a(4mpYcc z4}$#vteasCO}p~Bf(TrQ?qj0HjaZ-rae*MdsBN<03Q;U*5TC#Ck)L>mgJ1Xj*LMqO z8olRMyS;9^1#{}E)s8)L15ZHh`O_ou8cl_V{^G~aEr+*A+pz k@r}f4ebaoyo*xRni>*>A(upcomingDinners, page ?? 0, pageSize); + + return View(paginatedDinners); + } + + // + // GET: /Dinners/Details/5 + + public ActionResult Details(int id) { + + Dinner dinner = dinnerRepository.GetDinner(id); + + if (dinner == null) + return View("NotFound"); + + return View(dinner); + } + + // + // GET: /Dinners/Edit/5 + + [Authorize] + public ActionResult Edit(int id) { + + Dinner dinner = dinnerRepository.GetDinner(id); + + if (!dinner.IsHostedBy(User.Identity.Name)) + return View("InvalidOwner"); + + return View(new DinnerFormViewModel(dinner)); + } + + // + // POST: /Dinners/Edit/5 + + [AcceptVerbs(HttpVerbs.Post), Authorize] + public ActionResult Edit(int id, FormCollection collection) { + + Dinner dinner = dinnerRepository.GetDinner(id); + + if (!dinner.IsHostedBy(User.Identity.Name)) + return View("InvalidOwner"); + + try { + UpdateModel(dinner); + + dinnerRepository.Save(); + + return RedirectToAction("Details", new { id=dinner.DinnerID }); + } + catch { + ModelState.AddModelErrors(dinner.GetRuleViolations()); + + return View(new DinnerFormViewModel(dinner)); + } + } + + // + // GET: /Dinners/Create + + [Authorize] + public ActionResult Create() { + + Dinner dinner = new Dinner() { + EventDate = DateTime.Now.AddDays(7) + }; + + return View(new DinnerFormViewModel(dinner)); + } + + // + // POST: /Dinners/Create + + [AcceptVerbs(HttpVerbs.Post), Authorize] + public ActionResult Create(Dinner dinner) { + + if (ModelState.IsValid) { + + try { + dinner.HostedBy = User.Identity.Name; + + RSVP rsvp = new RSVP(); + rsvp.AttendeeName = User.Identity.Name; + dinner.RSVPs.Add(rsvp); + + dinnerRepository.Add(dinner); + dinnerRepository.Save(); + + return RedirectToAction("Details", new { id=dinner.DinnerID }); + } + catch { + ModelState.AddModelErrors(dinner.GetRuleViolations()); + } + } + + return View(new DinnerFormViewModel(dinner)); + } + + // + // HTTP GET: /Dinners/Delete/1 + + [Authorize] + public ActionResult Delete(int id) { + + Dinner dinner = dinnerRepository.GetDinner(id); + + if (dinner == null) + return View("NotFound"); + + if (!dinner.IsHostedBy(User.Identity.Name)) + return View("InvalidOwner"); + + return View(dinner); + } + + // + // HTTP POST: /Dinners/Delete/1 + + [AcceptVerbs(HttpVerbs.Post), Authorize] + public ActionResult Delete(int id, string confirmButton) { + + Dinner dinner = dinnerRepository.GetDinner(id); + + if (dinner == null) + return View("NotFound"); + + if (!dinner.IsHostedBy(User.Identity.Name)) + return View("InvalidOwner"); + + dinnerRepository.Delete(dinner); + dinnerRepository.Save(); + + return View("Deleted"); + } + } +} diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/HomeController.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/HomeController.cs new file mode 100644 index 0000000..8b52b8d --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/HomeController.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; + +namespace NerdDinner.Controllers { + + [HandleError] + public class HomeController : Controller { + + public ActionResult Index() { + return View(); + } + + public ActionResult About() { + return View(); + } + } +} diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/RSVPController.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/RSVPController.cs new file mode 100644 index 0000000..7b71cb9 --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/RSVPController.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using NerdDinner.Models; + +namespace NerdDinner.Controllers +{ + public class RSVPController : Controller { + + IDinnerRepository dinnerRepository; + + // + // Dependency Injection enabled constructors + + public RSVPController() + : this(new DinnerRepository()) { + } + + public RSVPController(IDinnerRepository repository) { + dinnerRepository = repository; + } + + // + // AJAX: /Dinners/Register/1 + + [Authorize, AcceptVerbs(HttpVerbs.Post)] + public ActionResult Register(int id) { + + Dinner dinner = dinnerRepository.GetDinner(id); + + if (!dinner.IsUserRegistered(User.Identity.Name)) { + + RSVP rsvp = new RSVP(); + rsvp.AttendeeName = User.Identity.Name; + + dinner.RSVPs.Add(rsvp); + dinnerRepository.Save(); + } + + return Content("Thanks - we'll see you there!"); + } + } +} diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/SearchController.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/SearchController.cs new file mode 100644 index 0000000..fb782a8 --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Controllers/SearchController.cs @@ -0,0 +1,55 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using NerdDinner.Models; + +namespace NerdDinner.Controllers { + + public class JsonDinner { + public int DinnerID { get; set; } + public string Title { get; set; } + public double Latitude { get; set; } + public double Longitude { get; set; } + public string Description { get; set; } + public int RSVPCount { get; set; } + } + + public class SearchController : Controller { + + IDinnerRepository dinnerRepository; + + // + // Dependency Injection enabled constructors + + public SearchController() + : this(new DinnerRepository()) { + } + + public SearchController(IDinnerRepository repository) { + dinnerRepository = repository; + } + + // + // AJAX: /Search/FindByLocation?longitude=45&latitude=-90 + + [AcceptVerbs(HttpVerbs.Post)] + public ActionResult SearchByLocation(float latitude, float longitude) { + + var dinners = dinnerRepository.FindByLocation(latitude, longitude); + + var jsonDinners = from dinner in dinners + select new JsonDinner { + DinnerID = dinner.DinnerID, + Latitude = dinner.Latitude, + Longitude = dinner.Longitude, + Title = dinner.Title, + Description = dinner.Description, + RSVPCount = dinner.RSVPs.Count + }; + + return Json(jsonDinners.ToList()); + } + } +} diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Default.aspx b/aspclassiccompiler/Backup/NerdDinnerAsp/Default.aspx new file mode 100644 index 0000000..f639413 --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Default.aspx @@ -0,0 +1,3 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="NerdDinner._Default" %> + +<%-- Please do not delete this file. It is used to ensure that ASP.NET MVC is activated by IIS when a user makes a "/" request to the server. --%> diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Default.aspx.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Default.aspx.cs new file mode 100644 index 0000000..16a8f6e --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Default.aspx.cs @@ -0,0 +1,13 @@ +using System.Web; +using System.Web.Mvc; +using System.Web.UI; + +namespace NerdDinner { + public partial class _Default : Page { + public void Page_Load(object sender, System.EventArgs e) { + HttpContext.Current.RewritePath(Request.ApplicationPath, false); + IHttpHandler httpHandler = new MvcHttpHandler(); + httpHandler.ProcessRequest(HttpContext.Current); + } + } +} diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Global.asax b/aspclassiccompiler/Backup/NerdDinnerAsp/Global.asax new file mode 100644 index 0000000..8b18fdb --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Global.asax @@ -0,0 +1 @@ +<%@ Application Codebehind="Global.asax.cs" Inherits="NerdDinner.MvcApplication" Language="C#" %> diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Global.asax.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Global.asax.cs new file mode 100644 index 0000000..961c768 --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Global.asax.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using System.Web.Routing; +using Dlrsoft.Asp.Mvc; + +namespace NerdDinner { + + public class MvcApplication : System.Web.HttpApplication { + + public void RegisterRoutes(RouteCollection routes) { + + routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); + + routes.MapRoute( + "UpcomingDinners", + "Dinners/Page/{page}", + new { controller = "Dinners", action = "Index" } + ); + + routes.MapRoute( + "Default", // Route name + "{controller}/{action}/{id}", // URL with parameters + new { controller = "Home", action = "Index", id = "" } // Parameter defaults + ); + } + + void Application_Start() { + RegisterRoutes(RouteTable.Routes); + ViewEngines.Engines.Clear(); + ViewEngines.Engines.Add(new AspViewEngine()); + ViewEngines.Engines.Add(new WebFormViewEngine()); + } + } +} \ No newline at end of file diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Helpers/ControllerHelpers.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Helpers/ControllerHelpers.cs new file mode 100644 index 0000000..ea6b24e --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Helpers/ControllerHelpers.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using NerdDinner.Models; +using System.Web.Mvc; + +namespace NerdDinner.Helpers { + + public static class ModelStateHelpers { + + public static void AddModelErrors(this ModelStateDictionary modelState, IEnumerable errors) { + + foreach (RuleViolation issue in errors) { + modelState.AddModelError(issue.PropertyName, issue.ErrorMessage); + } + } + } +} diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Helpers/PaginatedList.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Helpers/PaginatedList.cs new file mode 100644 index 0000000..e8c3dbc --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Helpers/PaginatedList.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace NerdDinner.Helpers { + + public class PaginatedList : List { + + public int PageIndex { get; private set; } + public int PageSize { get; private set; } + public int TotalCount { get; private set; } + public int TotalPages { get; private set; } + + public PaginatedList(IQueryable source, int pageIndex, int pageSize) { + PageIndex = pageIndex; + PageSize = pageSize; + TotalCount = source.Count(); + TotalPages = (int) Math.Ceiling(TotalCount / (double)PageSize); + + this.AddRange(source.Skip(PageIndex * PageSize).Take(PageSize)); + } + + public bool HasPreviousPage { + get { + return (PageIndex > 0); + } + } + + public bool HasNextPage { + get { + return (PageIndex+1 < TotalPages); + } + } + } +} diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Helpers/PhoneValidator.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Helpers/PhoneValidator.cs new file mode 100644 index 0000000..2a3e590 --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Helpers/PhoneValidator.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Text.RegularExpressions; + +namespace NerdDinner.Helpers { + + public class PhoneValidator { + + static IDictionary countryRegex = new Dictionary() + { + { "USA", new Regex("^[2-9]\\d{2}-\\d{3}-\\d{4}$")}, + { "UK", new Regex("(^1300\\d{6}$)|(^1800|1900|1902\\d{6}$)|(^0[2|3|7|8]{1}[0-9]{8}$)|(^13\\d{4}$)|(^04\\d{2,3}\\d{6}$)")}, + { "Netherlands", new Regex("(^\\+[0-9]{2}|^\\+[0-9]{2}\\(0\\)|^\\(\\+[0-9]{2}\\)\\(0\\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\\-\\s]{10}$)")}, + }; + + public static bool IsValidNumber(string phoneNumber, string country) { + + if (country != null && countryRegex.ContainsKey(country)) + return countryRegex[country].IsMatch(phoneNumber); + else + return false; + } + + public static IEnumerable Countries { + get { + return countryRegex.Keys; + } + } + } +} diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Models/Dinner.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/Dinner.cs new file mode 100644 index 0000000..8f26640 --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/Dinner.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Data.Linq; +using System.Web.Mvc; +using NerdDinner.Helpers; + +namespace NerdDinner.Models { + + [Bind(Include="Title,Description,EventDate,Address,Country,ContactPhone,Latitude,Longitude")] + public partial class Dinner { + + public bool IsHostedBy(string userName) { + return HostedBy.Equals(userName, StringComparison.InvariantCultureIgnoreCase); + } + + public bool IsUserRegistered(string userName) { + return RSVPs.Any(r => r.AttendeeName.Equals(userName, StringComparison.InvariantCultureIgnoreCase)); + } + + public bool IsValid { + get { return (GetRuleViolations().Count() == 0); } + } + + public IEnumerable GetRuleViolations() { + + if (String.IsNullOrEmpty(Title)) + yield return new RuleViolation("Title is required", "Title"); + + if (String.IsNullOrEmpty(Description)) + yield return new RuleViolation("Description is required", "Description"); + + if (String.IsNullOrEmpty(HostedBy)) + yield return new RuleViolation("HostedBy is required", "HostedBy"); + + if (String.IsNullOrEmpty(Address)) + yield return new RuleViolation("Address is required", "Address"); + + if (String.IsNullOrEmpty(Country)) + yield return new RuleViolation("Country is required", "Address"); + + if (String.IsNullOrEmpty(ContactPhone)) + yield return new RuleViolation("Phone# is required", "ContactPhone"); + + if (!PhoneValidator.IsValidNumber(ContactPhone, Country)) + yield return new RuleViolation("Phone# does not match country", "ContactPhone"); + + yield break; + } + + partial void OnValidate(ChangeAction action) { + if (!IsValid) + throw new ApplicationException("Rule violations prevent saving"); + } + } +} diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Models/DinnerRepository.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/DinnerRepository.cs new file mode 100644 index 0000000..e018d7c --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/DinnerRepository.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace NerdDinner.Models { + + public class DinnerRepository : NerdDinner.Models.IDinnerRepository { + + NerdDinnerDataContext db = new NerdDinnerDataContext(); + + // + // Query Methods + + public IQueryable FindAllDinners() { + return db.Dinners; + } + + public IQueryable FindUpcomingDinners() { + return from dinner in FindAllDinners() + where dinner.EventDate > DateTime.Now + orderby dinner.EventDate + select dinner; + } + + public IQueryable FindByLocation(float latitude, float longitude) { + var dinners = from dinner in FindUpcomingDinners() + join i in db.NearestDinners(latitude, longitude) + on dinner.DinnerID equals i.DinnerID + select dinner; + + return dinners; + } + + public Dinner GetDinner(int id) { + return db.Dinners.SingleOrDefault(d => d.DinnerID == id); + } + + // + // Insert/Delete Methods + + public void Add(Dinner dinner) { + db.Dinners.InsertOnSubmit(dinner); + } + + public void Delete(Dinner dinner) { + db.RSVPs.DeleteAllOnSubmit(dinner.RSVPs); + db.Dinners.DeleteOnSubmit(dinner); + } + + // + // Persistence + + public void Save() { + db.SubmitChanges(); + } + } +} diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Models/IDinnerRepository.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/IDinnerRepository.cs new file mode 100644 index 0000000..79a6e8a --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/IDinnerRepository.cs @@ -0,0 +1,18 @@ +using System; +using System.Linq; + +namespace NerdDinner.Models { + + public interface IDinnerRepository { + + IQueryable FindAllDinners(); + IQueryable FindByLocation(float latitude, float longitude); + IQueryable FindUpcomingDinners(); + Dinner GetDinner(int id); + + void Add(Dinner dinner); + void Delete(Dinner dinner); + + void Save(); + } +} diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Models/NerdDinner.dbml b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/NerdDinner.dbml new file mode 100644 index 0000000..8b5ee48 --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/NerdDinner.dbml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Models/NerdDinner.dbml.layout b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/NerdDinner.dbml.layout new file mode 100644 index 0000000..7736e82 --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/NerdDinner.dbml.layout @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Models/NerdDinner.designer.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/NerdDinner.designer.cs new file mode 100644 index 0000000..04acff0 --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/NerdDinner.designer.cs @@ -0,0 +1,583 @@ +#pragma warning disable 1591 +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.3521 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace NerdDinner.Models +{ + using System.Data.Linq; + using System.Data.Linq.Mapping; + using System.Data; + using System.Collections.Generic; + using System.Reflection; + using System.Linq; + using System.Linq.Expressions; + using System.ComponentModel; + using System; + + + [System.Data.Linq.Mapping.DatabaseAttribute(Name="NerdDinner")] + public partial class NerdDinnerDataContext : System.Data.Linq.DataContext + { + + private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource(); + + #region Extensibility Method Definitions + partial void OnCreated(); + partial void InsertDinner(Dinner instance); + partial void UpdateDinner(Dinner instance); + partial void DeleteDinner(Dinner instance); + partial void InsertRSVP(RSVP instance); + partial void UpdateRSVP(RSVP instance); + partial void DeleteRSVP(RSVP instance); + #endregion + + public NerdDinnerDataContext() : + base(global::System.Configuration.ConfigurationManager.ConnectionStrings["NerdDinnerConnectionString"].ConnectionString, mappingSource) + { + OnCreated(); + } + + public NerdDinnerDataContext(string connection) : + base(connection, mappingSource) + { + OnCreated(); + } + + public NerdDinnerDataContext(System.Data.IDbConnection connection) : + base(connection, mappingSource) + { + OnCreated(); + } + + public NerdDinnerDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) : + base(connection, mappingSource) + { + OnCreated(); + } + + public NerdDinnerDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) : + base(connection, mappingSource) + { + OnCreated(); + } + + public System.Data.Linq.Table Dinners + { + get + { + return this.GetTable(); + } + } + + public System.Data.Linq.Table RSVPs + { + get + { + return this.GetTable(); + } + } + + [Function(Name="dbo.NearestDinners", IsComposable=true)] + public IQueryable NearestDinners([Parameter(DbType="Real")] System.Nullable lat, [Parameter(Name="long", DbType="Real")] System.Nullable @long) + { + return this.CreateMethodCallQuery(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), lat, @long); + } + + [Function(Name="dbo.DistanceBetween", IsComposable=true)] + public System.Nullable DistanceBetween([Parameter(Name="Lat1", DbType="Real")] System.Nullable lat1, [Parameter(Name="Long1", DbType="Real")] System.Nullable long1, [Parameter(Name="Lat2", DbType="Real")] System.Nullable lat2, [Parameter(Name="Long2", DbType="Real")] System.Nullable long2) + { + return ((System.Nullable)(this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), lat1, long1, lat2, long2).ReturnValue)); + } + } + + [Table(Name="dbo.Dinners")] + public partial class Dinner : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private int _DinnerID; + + private string _Title; + + private System.DateTime _EventDate; + + private string _Description; + + private string _HostedBy; + + private string _ContactPhone; + + private string _Address; + + private string _Country; + + private double _Latitude; + + private double _Longitude; + + private EntitySet _RSVPs; + + #region Extensibility Method Definitions + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnDinnerIDChanging(int value); + partial void OnDinnerIDChanged(); + partial void OnTitleChanging(string value); + partial void OnTitleChanged(); + partial void OnEventDateChanging(System.DateTime value); + partial void OnEventDateChanged(); + partial void OnDescriptionChanging(string value); + partial void OnDescriptionChanged(); + partial void OnHostedByChanging(string value); + partial void OnHostedByChanged(); + partial void OnContactPhoneChanging(string value); + partial void OnContactPhoneChanged(); + partial void OnAddressChanging(string value); + partial void OnAddressChanged(); + partial void OnCountryChanging(string value); + partial void OnCountryChanged(); + partial void OnLatitudeChanging(double value); + partial void OnLatitudeChanged(); + partial void OnLongitudeChanging(double value); + partial void OnLongitudeChanged(); + #endregion + + public Dinner() + { + this._RSVPs = new EntitySet(new Action(this.attach_RSVPs), new Action(this.detach_RSVPs)); + OnCreated(); + } + + [Column(Storage="_DinnerID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)] + public int DinnerID + { + get + { + return this._DinnerID; + } + set + { + if ((this._DinnerID != value)) + { + this.OnDinnerIDChanging(value); + this.SendPropertyChanging(); + this._DinnerID = value; + this.SendPropertyChanged("DinnerID"); + this.OnDinnerIDChanged(); + } + } + } + + [Column(Storage="_Title", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string Title + { + get + { + return this._Title; + } + set + { + if ((this._Title != value)) + { + this.OnTitleChanging(value); + this.SendPropertyChanging(); + this._Title = value; + this.SendPropertyChanged("Title"); + this.OnTitleChanged(); + } + } + } + + [Column(Storage="_EventDate", DbType="DateTime NOT NULL")] + public System.DateTime EventDate + { + get + { + return this._EventDate; + } + set + { + if ((this._EventDate != value)) + { + this.OnEventDateChanging(value); + this.SendPropertyChanging(); + this._EventDate = value; + this.SendPropertyChanged("EventDate"); + this.OnEventDateChanged(); + } + } + } + + [Column(Storage="_Description", DbType="NVarChar(256)")] + public string Description + { + get + { + return this._Description; + } + set + { + if ((this._Description != value)) + { + this.OnDescriptionChanging(value); + this.SendPropertyChanging(); + this._Description = value; + this.SendPropertyChanged("Description"); + this.OnDescriptionChanged(); + } + } + } + + [Column(Storage="_HostedBy", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string HostedBy + { + get + { + return this._HostedBy; + } + set + { + if ((this._HostedBy != value)) + { + this.OnHostedByChanging(value); + this.SendPropertyChanging(); + this._HostedBy = value; + this.SendPropertyChanged("HostedBy"); + this.OnHostedByChanged(); + } + } + } + + [Column(Storage="_ContactPhone", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string ContactPhone + { + get + { + return this._ContactPhone; + } + set + { + if ((this._ContactPhone != value)) + { + this.OnContactPhoneChanging(value); + this.SendPropertyChanging(); + this._ContactPhone = value; + this.SendPropertyChanged("ContactPhone"); + this.OnContactPhoneChanged(); + } + } + } + + [Column(Storage="_Address", DbType="NVarChar(50)")] + public string Address + { + get + { + return this._Address; + } + set + { + if ((this._Address != value)) + { + this.OnAddressChanging(value); + this.SendPropertyChanging(); + this._Address = value; + this.SendPropertyChanged("Address"); + this.OnAddressChanged(); + } + } + } + + [Column(Storage="_Country", DbType="NVarChar(30)")] + public string Country + { + get + { + return this._Country; + } + set + { + if ((this._Country != value)) + { + this.OnCountryChanging(value); + this.SendPropertyChanging(); + this._Country = value; + this.SendPropertyChanged("Country"); + this.OnCountryChanged(); + } + } + } + + [Column(Storage="_Latitude", DbType="Float NOT NULL")] + public double Latitude + { + get + { + return this._Latitude; + } + set + { + if ((this._Latitude != value)) + { + this.OnLatitudeChanging(value); + this.SendPropertyChanging(); + this._Latitude = value; + this.SendPropertyChanged("Latitude"); + this.OnLatitudeChanged(); + } + } + } + + [Column(Storage="_Longitude", DbType="Float NOT NULL")] + public double Longitude + { + get + { + return this._Longitude; + } + set + { + if ((this._Longitude != value)) + { + this.OnLongitudeChanging(value); + this.SendPropertyChanging(); + this._Longitude = value; + this.SendPropertyChanged("Longitude"); + this.OnLongitudeChanged(); + } + } + } + + [Association(Name="Dinner_RSVP", Storage="_RSVPs", ThisKey="DinnerID", OtherKey="DinnerID")] + public EntitySet RSVPs + { + get + { + return this._RSVPs; + } + set + { + this._RSVPs.Assign(value); + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + + private void attach_RSVPs(RSVP entity) + { + this.SendPropertyChanging(); + entity.Dinner = this; + } + + private void detach_RSVPs(RSVP entity) + { + this.SendPropertyChanging(); + entity.Dinner = null; + } + } + + [Table(Name="dbo.RSVP")] + public partial class RSVP : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private int _RsvpID; + + private int _DinnerID; + + private string _AttendeeName; + + private EntityRef _Dinner; + + #region Extensibility Method Definitions + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnRsvpIDChanging(int value); + partial void OnRsvpIDChanged(); + partial void OnDinnerIDChanging(int value); + partial void OnDinnerIDChanged(); + partial void OnAttendeeNameChanging(string value); + partial void OnAttendeeNameChanged(); + #endregion + + public RSVP() + { + this._Dinner = default(EntityRef); + OnCreated(); + } + + [Column(Storage="_RsvpID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)] + public int RsvpID + { + get + { + return this._RsvpID; + } + set + { + if ((this._RsvpID != value)) + { + this.OnRsvpIDChanging(value); + this.SendPropertyChanging(); + this._RsvpID = value; + this.SendPropertyChanged("RsvpID"); + this.OnRsvpIDChanged(); + } + } + } + + [Column(Storage="_DinnerID", DbType="Int NOT NULL")] + public int DinnerID + { + get + { + return this._DinnerID; + } + set + { + if ((this._DinnerID != value)) + { + if (this._Dinner.HasLoadedOrAssignedValue) + { + throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException(); + } + this.OnDinnerIDChanging(value); + this.SendPropertyChanging(); + this._DinnerID = value; + this.SendPropertyChanged("DinnerID"); + this.OnDinnerIDChanged(); + } + } + } + + [Column(Storage="_AttendeeName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string AttendeeName + { + get + { + return this._AttendeeName; + } + set + { + if ((this._AttendeeName != value)) + { + this.OnAttendeeNameChanging(value); + this.SendPropertyChanging(); + this._AttendeeName = value; + this.SendPropertyChanged("AttendeeName"); + this.OnAttendeeNameChanged(); + } + } + } + + [Association(Name="Dinner_RSVP", Storage="_Dinner", ThisKey="DinnerID", OtherKey="DinnerID", IsForeignKey=true)] + public Dinner Dinner + { + get + { + return this._Dinner.Entity; + } + set + { + Dinner previousValue = this._Dinner.Entity; + if (((previousValue != value) + || (this._Dinner.HasLoadedOrAssignedValue == false))) + { + this.SendPropertyChanging(); + if ((previousValue != null)) + { + this._Dinner.Entity = null; + previousValue.RSVPs.Remove(this); + } + this._Dinner.Entity = value; + if ((value != null)) + { + value.RSVPs.Add(this); + this._DinnerID = value.DinnerID; + } + else + { + this._DinnerID = default(int); + } + this.SendPropertyChanged("Dinner"); + } + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + + public partial class NearestDinnersResult + { + + private int _DinnerID; + + public NearestDinnersResult() + { + } + + [Column(Storage="_DinnerID", DbType="Int NOT NULL")] + public int DinnerID + { + get + { + return this._DinnerID; + } + set + { + if ((this._DinnerID != value)) + { + this._DinnerID = value; + } + } + } + } +} +#pragma warning restore 1591 diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Models/RuleViolation.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/RuleViolation.cs new file mode 100644 index 0000000..1a578e6 --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Models/RuleViolation.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace NerdDinner.Models { + + public class RuleViolation { + + public string ErrorMessage { get; private set; } + public string PropertyName { get; private set; } + + public RuleViolation(string errorMessage) { + ErrorMessage = errorMessage; + } + + public RuleViolation(string errorMessage, string propertyName) { + ErrorMessage = errorMessage; + PropertyName = propertyName; + } + } +} diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/NerdDinnerAsp.csproj b/aspclassiccompiler/Backup/NerdDinnerAsp/NerdDinnerAsp.csproj new file mode 100644 index 0000000..542de41 --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/NerdDinnerAsp.csproj @@ -0,0 +1,215 @@ + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {328C148C-DBEE-41A4-B1C7-104CBB216556} + {603c0e0b-db56-11dc-be95-000d561079b0};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + NerdDinner + NerdDinner + v3.5 + false + + + true + full + false + bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\ + TRACE + prompt + 4 + + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + prompt + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + prompt + + + + False + ..\asp\bin\Release\Dlrsoft.Asp.dll + + + + + 3.5 + + + 3.5 + + + 3.5 + + + False + C:\Program Files\Microsoft ASP.NET\ASP.NET MVC RC\Assemblies\System.Web.Abstractions.dll + 3.5 + + + C:\Program Files\Microsoft ASP.NET\ASP.NET MVC RC\Assemblies\System.Web.Mvc.dll + False + True + + + False + C:\Program Files\Microsoft ASP.NET\ASP.NET MVC RC\Assemblies\System.Web.Routing.dll + 3.5 + + + 3.5 + + + + + + + + + + + + + + + + + Code + + + Default.aspx + ASPXCodeBehind + + + Global.asax + + + + + + + + + True + True + NerdDinner.dbml + + + + + + + + + NerdDinner.mdf + + + + + + + + + + + + + + ASPXCodeBehind + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MSLinqToSQLGenerator + NerdDinner.designer.cs + Designer + + + + + + + + NerdDinner.dbml + + + + + + + + + + + + + False + True + 60848 + / + + + False + False + + + False + + + + + \ No newline at end of file diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Properties/AssemblyInfo.cs b/aspclassiccompiler/Backup/NerdDinnerAsp/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..c7c7f74 --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using 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. +[assembly: AssemblyTitle("NerdDinner")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("NerdDinner")] +[assembly: AssemblyCopyright("Copyright © 2009")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("3f961952-a5a3-4ca2-bc29-5b46b500177d")] + +// 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 Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("0.5.2.32072")] diff --git a/aspclassiccompiler/Backup/NerdDinnerAsp/Scripts/Map.js b/aspclassiccompiler/Backup/NerdDinnerAsp/Scripts/Map.js new file mode 100644 index 0000000..e12505a --- /dev/null +++ b/aspclassiccompiler/Backup/NerdDinnerAsp/Scripts/Map.js @@ -0,0 +1,138 @@ +/// + +var map = null; +var points = []; +var shapes = []; +var center = null; + +function LoadMap(latitude, longitude, onMapLoaded) { + map = new VEMap('theMap'); + options = new VEMapOptions(); + options.EnableBirdseye = false; + + // Makes the control bar less obtrusize. + map.SetDashboardSize(VEDashboardSize.Small); + + if (onMapLoaded != null) + map.onLoadMap = onMapLoaded; + + if (latitude != null && longitude != null) { + center = new VELatLong(latitude, longitude); + } + + map.LoadMap(center, null, null, null, null, null, null, options); +} + +function LoadPin(LL, name, description) { + var shape = new VEShape(VEShapeType.Pushpin, LL); + + //Make a nice Pushpin shape with a title and description + shape.SetTitle(" " + escape(name) + ""); + if (description !== undefined) { + shape.SetDescription("

" + + escape(description) + "

"); + } + map.AddShape(shape); + points.push(LL); + shapes.push(shape); +} + +function FindAddressOnMap(where) { + var numberOfResults = 20; + var setBestMapView = true; + var showResults = true; + + map.Find("", where, null, null, null, + numberOfResults, showResults, true, true, + setBestMapView, callbackForLocation); +} + +function callbackForLocation(layer, resultsArray, places, + hasMore, VEErrorMessage) { + + clearMap(); + + if (places == null) + return; + + //Make a pushpin for each place we find + $.each(places, function(i, item) { + var description = ""; + if (item.Description !== undefined) { + description = item.Description; + } + var LL = new VELatLong(item.LatLong.Latitude, + item.LatLong.Longitude); + + LoadPin(LL, item.Name, description); + }); + + //Make sure all pushpins are visible + if (points.length > 1) { + map.SetMapView(points); + } + + //If we've found exactly one place, that's our address. + if (points.length === 1) { + $("#Latitude").val(points[0].Latitude); + $("#Longitude").val(points[0].Longitude); + } +} + +function clearMap() { + map.Clear(); + points = []; + shapes = []; +} + +function FindDinnersGivenLocation(where) { + map.Find("", where, null, null, null, null, null, false, + null, null, callbackUpdateMapDinners); +} + +function callbackUpdateMapDinners(layer, resultsArray, places, hasMore, VEErrorMessage) { + $("#dinnerList").empty(); + clearMap(); + var center = map.GetCenter(); + + $.post("/Search/SearchByLocation", { latitude: center.Latitude, + longitude: center.Longitude + }, function(dinners) { + $.each(dinners, function(i, dinner) { + + var LL = new VELatLong(dinner.Latitude, dinner.Longitude, 0, null); + + var RsvpMessage = ""; + + if (dinner.RSVPCount == 1) + RsvpMessage = "" + dinner.RSVPCount + " RSVP"; + else + RsvpMessage = "" + dinner.RSVPCount + " RSVPs"; + + // Add Pin to Map + LoadPin(LL, '
' + + dinner.Title + '', + "

" + dinner.Description + "

" + RsvpMessage); + + //Add a dinner to the