summary refs log tree commit diff
diff options
context:
space:
mode:
author1970-01-01 00:00:00 +0000
committer2025-01-08 04:49:34 +0000
commitc48651e2a37e8af5f1eafff10119eedefa4f96e7 (patch)
tree6837b96f034a40c00a01b8f5857e7685182cc71b
parentstring handling (diff)
downloadcs-c48651e2a37e8af5f1eafff10119eedefa4f96e7.tar
cs-c48651e2a37e8af5f1eafff10119eedefa4f96e7.tar.gz
cs-c48651e2a37e8af5f1eafff10119eedefa4f96e7.tar.bz2
cs-c48651e2a37e8af5f1eafff10119eedefa4f96e7.tar.xz
cs-c48651e2a37e8af5f1eafff10119eedefa4f96e7.zip
customer maintenance
-rw-r--r--customer_maintenance/.vs/CustomerMaintenance/DesignTimeBuild/.dtbcache.v2bin0 -> 75171 bytes
-rw-r--r--customer_maintenance/.vs/CustomerMaintenance/FileContentIndex/4de94e31-be44-4727-a694-e512acbf6bc9.vsidxbin0 -> 2260 bytes
-rw-r--r--customer_maintenance/.vs/CustomerMaintenance/FileContentIndex/cd3e678b-c4aa-49ee-8513-a18b14d538c8.vsidxbin0 -> 40797 bytes
-rw-r--r--customer_maintenance/.vs/CustomerMaintenance/config/applicationhost.config972
-rw-r--r--customer_maintenance/.vs/CustomerMaintenance/v17/.futdcache.v2bin0 -> 434 bytes
-rw-r--r--customer_maintenance/.vs/CustomerMaintenance/v17/.suobin0 -> 72704 bytes
-rw-r--r--customer_maintenance/.vs/ProjectEvaluation/customermaintenance.metadata.v7.binbin0 -> 173386 bytes
-rw-r--r--customer_maintenance/.vs/ProjectEvaluation/customermaintenance.projects.v7.binbin0 -> 395506 bytes
-rw-r--r--customer_maintenance/CustomerMaintenance.sln25
-rw-r--r--customer_maintenance/CustomerMaintenance/Customer.cs23
-rw-r--r--customer_maintenance/CustomerMaintenance/CustomerDB.cs64
-rw-r--r--customer_maintenance/CustomerMaintenance/CustomerMaintenance.csproj9
-rw-r--r--customer_maintenance/CustomerMaintenance/CustomerMaintenance.csproj.user11
-rw-r--r--customer_maintenance/CustomerMaintenance/Program.cs23
-rw-r--r--customer_maintenance/CustomerMaintenance/Properties/launchSettings.json8
-rw-r--r--customer_maintenance/CustomerMaintenance/Validator.cs81
-rw-r--r--customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.deps.json23
-rw-r--r--customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.dllbin0 -> 14848 bytes
-rw-r--r--customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.exebin0 -> 158208 bytes
-rw-r--r--customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.pdbbin0 -> 14732 bytes
-rw-r--r--customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.runtimeconfig.dev.json8
-rw-r--r--customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.runtimeconfig.json9
-rw-r--r--customer_maintenance/CustomerMaintenance/frmAddCustomer.Designer.cs156
-rw-r--r--customer_maintenance/CustomerMaintenance/frmAddCustomer.cs47
-rw-r--r--customer_maintenance/CustomerMaintenance/frmAddCustomer.resx120
-rw-r--r--customer_maintenance/CustomerMaintenance/frmCustomers.Designer.cs116
-rw-r--r--customer_maintenance/CustomerMaintenance/frmCustomers.cs58
-rw-r--r--customer_maintenance/CustomerMaintenance/frmCustomers.resx120
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/CustomerMaintenance.csproj.nuget.dgspec.json66
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/CustomerMaintenance.csproj.nuget.g.props15
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/CustomerMaintenance.csproj.nuget.g.targets2
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs4
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.AssemblyInfo.cs23
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.AssemblyInfoInputs.cache1
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.GeneratedMSBuildEditorConfig.editorconfig11
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.assets.cachebin0 -> 151 bytes
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.BuildWithSkipAnalyzers0
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.CoreCompileInputs.cache1
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.FileListAbsolute.txt40
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.GenerateResource.cachebin0 -> 128 bytes
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.designer.deps.json11
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.designer.runtimeconfig.json16
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.dllbin0 -> 14848 bytes
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.frmAddCustomer.resourcesbin0 -> 180 bytes
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.frmCustomers.resourcesbin0 -> 180 bytes
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.genruntimeconfig.cache1
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.pdbbin0 -> 14732 bytes
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/apphost.exebin0 -> 158208 bytes
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/project.assets.json71
-rw-r--r--customer_maintenance/CustomerMaintenance/obj/project.nuget.cache8
50 files changed, 2143 insertions, 0 deletions
diff --git a/customer_maintenance/.vs/CustomerMaintenance/DesignTimeBuild/.dtbcache.v2 b/customer_maintenance/.vs/CustomerMaintenance/DesignTimeBuild/.dtbcache.v2
new file mode 100644
index 0000000..ec170c1
--- /dev/null
+++ b/customer_maintenance/.vs/CustomerMaintenance/DesignTimeBuild/.dtbcache.v2
Binary files differdiff --git a/customer_maintenance/.vs/CustomerMaintenance/FileContentIndex/4de94e31-be44-4727-a694-e512acbf6bc9.vsidx b/customer_maintenance/.vs/CustomerMaintenance/FileContentIndex/4de94e31-be44-4727-a694-e512acbf6bc9.vsidx
new file mode 100644
index 0000000..abb9111
--- /dev/null
+++ b/customer_maintenance/.vs/CustomerMaintenance/FileContentIndex/4de94e31-be44-4727-a694-e512acbf6bc9.vsidx
Binary files differdiff --git a/customer_maintenance/.vs/CustomerMaintenance/FileContentIndex/cd3e678b-c4aa-49ee-8513-a18b14d538c8.vsidx b/customer_maintenance/.vs/CustomerMaintenance/FileContentIndex/cd3e678b-c4aa-49ee-8513-a18b14d538c8.vsidx
new file mode 100644
index 0000000..96b2371
--- /dev/null
+++ b/customer_maintenance/.vs/CustomerMaintenance/FileContentIndex/cd3e678b-c4aa-49ee-8513-a18b14d538c8.vsidx
Binary files differdiff --git a/customer_maintenance/.vs/CustomerMaintenance/config/applicationhost.config b/customer_maintenance/.vs/CustomerMaintenance/config/applicationhost.config
new file mode 100644
index 0000000..24bb7b3
--- /dev/null
+++ b/customer_maintenance/.vs/CustomerMaintenance/config/applicationhost.config
@@ -0,0 +1,972 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<!--

+

+    IIS configuration sections.

+

+    For schema documentation, see

+    %IIS_BIN%\config\schema\IIS_schema.xml.

+    

+    Please make a backup of this file before making any changes to it.

+

+    NOTE: The following environment variables are available to be used

+          within this file and are understood by the IIS Express.

+

+          %IIS_USER_HOME% - The IIS Express home directory for the user

+          %IIS_SITES_HOME% - The default home directory for sites

+          %IIS_BIN% - The location of the IIS Express binaries

+          %SYSTEMDRIVE% - The drive letter of %IIS_BIN%

+

+-->

+<configuration>

+	<!--

+

+        The <configSections> section controls the registration of sections.

+        Section is the basic unit of deployment, locking, searching and

+        containment for configuration settings.

+        

+        Every section belongs to one section group.

+        A section group is a container of logically-related sections.

+        

+        Sections cannot be nested.

+        Section groups may be nested.

+        

+        <section

+            name=""  [Required, Collection Key] [XML name of the section]

+            allowDefinition="Everywhere" [MachineOnly|MachineToApplication|AppHostOnly|Everywhere] [Level where it can be set]

+            overrideModeDefault="Allow"  [Allow|Deny] [Default delegation mode]

+            allowLocation="true"  [true|false] [Allowed in location tags]

+        />

+        

+        The recommended way to unlock sections is by using a location tag:

+        <location path="Default Web Site" overrideMode="Allow">

+            <system.webServer>

+                <asp />

+            </system.webServer>

+        </location>

+

+    -->

+	<configSections>

+		<sectionGroup name="system.applicationHost">

+			<section name="applicationPools" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

+			<section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

+			<section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

+			<section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

+			<section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

+			<section name="serviceAutoStartProviders" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

+			<section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

+			<section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

+		</sectionGroup>

+		<sectionGroup name="system.webServer">

+			<section name="asp" overrideModeDefault="Deny" />

+			<section name="caching" overrideModeDefault="Allow" />

+			<section name="cgi" overrideModeDefault="Deny" />

+			<section name="defaultDocument" overrideModeDefault="Allow" />

+			<section name="directoryBrowse" overrideModeDefault="Allow" />

+			<section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

+			<section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

+			<section name="handlers" overrideModeDefault="Deny" />

+			<section name="httpCompression" overrideModeDefault="Allow" allowDefinition="Everywhere" />

+			<section name="httpErrors" overrideModeDefault="Allow" />

+			<section name="httpLogging" overrideModeDefault="Deny" />

+			<section name="httpProtocol" overrideModeDefault="Allow" />

+			<section name="httpRedirect" overrideModeDefault="Allow" />

+			<section name="httpTracing" overrideModeDefault="Deny" />

+			<section name="isapiFilters" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />

+			<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />

+			<section name="applicationInitialization" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />

+			<section name="odbcLogging" overrideModeDefault="Deny" />

+			<sectionGroup name="security">

+				<section name="access" overrideModeDefault="Deny" />

+				<section name="applicationDependencies" overrideModeDefault="Deny" />

+				<sectionGroup name="authentication">

+					<section name="anonymousAuthentication" overrideModeDefault="Deny" />

+					<section name="basicAuthentication" overrideModeDefault="Deny" />

+					<section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" />

+					<section name="digestAuthentication" overrideModeDefault="Deny" />

+					<section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" />

+					<section name="windowsAuthentication" overrideModeDefault="Deny" />

+				</sectionGroup>

+				<section name="authorization" overrideModeDefault="Allow" />

+				<section name="ipSecurity" overrideModeDefault="Deny" />

+				<section name="dynamicIpSecurity" overrideModeDefault="Deny" />

+				<section name="isapiCgiRestriction" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

+				<section name="requestFiltering" overrideModeDefault="Allow" />

+			</sectionGroup>

+			<section name="serverRuntime" overrideModeDefault="Deny" />

+			<section name="serverSideInclude" overrideModeDefault="Deny" />

+			<section name="staticContent" overrideModeDefault="Allow" />

+			<sectionGroup name="tracing">

+				<section name="traceFailedRequests" overrideModeDefault="Allow" />

+				<section name="traceProviderDefinitions" overrideModeDefault="Deny" />

+			</sectionGroup>

+			<section name="urlCompression" overrideModeDefault="Allow" />

+			<section name="validation" overrideModeDefault="Allow" />

+			<sectionGroup name="webdav">

+				<section name="globalSettings" overrideModeDefault="Deny" />

+				<section name="authoring" overrideModeDefault="Deny" />

+				<section name="authoringRules" overrideModeDefault="Deny" />

+			</sectionGroup>

+			<sectionGroup name="rewrite">

+				<section name="allowedServerVariables" overrideModeDefault="Deny" />

+				<section name="rules" overrideModeDefault="Allow" />

+				<section name="outboundRules" overrideModeDefault="Allow" />

+				<section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" />

+				<section name="providers" overrideModeDefault="Allow" />

+				<section name="rewriteMaps" overrideModeDefault="Allow" />

+			</sectionGroup>

+			<section name="webSocket" overrideModeDefault="Deny" />

+			<section name="aspNetCore" overrideModeDefault="Allow" /></sectionGroup>

+	</configSections>

+	<configProtectedData>

+		<providers>

+			<add name="IISWASOnlyRsaProvider" type="" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useMachineContainer="true" useOAEP="false" />

+			<add name="AesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisConfigurationKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAA/HKxkz6alrlAPez0IUgujj/6k3WxCDriHp6jvpv3yEZmo7h6SMzGLxo4mTrIQVHSkB7tmElHKfUFTzE2BWF7nFWHY6Z6qmGBauFzwJMwESjril7Gjz69RBFH259HQ6aRDq9Xfx7U7H4HtdmnKNqGjgl/hwPQBGeIlWiDh+sYv3vKB0QU971tjX6H2B+9armlnC8UOuA6JYMDMI/VLLL16sng0fWAy5JYe0YVABVjiAWDW264RZW9Tr1Oax4qHZKg+SdjULxeOc2YmpX+d0yeITo1HkPF1hN1gHpIPIUDo05ilHUNfR3OkjVCIQK4cFKCq1s8NH+y+13MxUC4Fn1AlQ==" />

+			<add name="IISWASOnlyAesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAALmU8lTC+v2qtfQiiiquvvLpUQqKLEXs+jSKoWCM/uPhyB++k4dwug19mGidNK5FYiWK2KYE1yhjVJcbp12E98Q0R2nT7eBiCMY2JairxQ591rqABK7keGaIjwH7PwGzSpILl3RJ4YFvJ/7ZXEJxeDZIjW8ZxWVXx+/VyHs9U3WguLEkgMUX3jrxJi8LouxaIVPJAv/YQ1ZCWs8zImitxX/C/7o7yaIxznfsN5nGQzQfpUDPeby99aw2zPVTtZI2LaWIBON8guABvZ6JtJVDWmfdK6sodbnwdZkr6/Z2rfvamT1dC1SpQrGG7ulR/f9/GXvCaW10ZVKxekBF/CYlNMg==" />

+		</providers>

+	</configProtectedData>

+	<system.applicationHost>

+		<applicationPools>

+			<add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

+			<add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

+			<add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

+			<add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" />

+			<add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" />

+			<applicationPoolDefaults managedRuntimeVersion="v4.0">

+				<processModel loadUserProfile="true" setProfileEnvironment="false" />

+			</applicationPoolDefaults>

+		</applicationPools>

+		<!--

+

+          The <listenerAdapters> section defines the protocols with which the

+          Windows Process Activation Service (WAS) binds.

+

+        -->

+		<listenerAdapters>

+			<add name="http" />

+		</listenerAdapters>

+		<sites>

+			<site name="WebSite1" id="1" serverAutoStart="true">

+				<application path="/">

+					<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />

+				</application>

+				<bindings>

+					<binding protocol="http" bindingInformation=":8080:localhost" />

+				</bindings>

+			</site>

+			<siteDefaults>

+				<!-- To enable logging, please change the below attribute "enabled" to "true" -->

+				<logFile logFormat="W3C" directory="%AppData%\Microsoft\IISExpressLogs" enabled="false" />

+				<traceFailedRequestsLogging directory="%AppData%\Microsoft" enabled="false" maxLogFileSizeKB="1024" />

+			</siteDefaults>

+			<applicationDefaults applicationPool="Clr4IntegratedAppPool" />

+			<virtualDirectoryDefaults allowSubDirConfig="true" />

+		</sites>

+		<webLimits />

+	</system.applicationHost>

+	<system.webServer>

+		<serverRuntime />

+		<asp scriptErrorSentToBrowser="true">

+			<cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" />

+			<limits />

+		</asp>

+		<caching enabled="true" enableKernelCache="true">

+		</caching>

+		<cgi />

+		<defaultDocument enabled="true">

+			<files>

+				<add value="Default.htm" />

+				<add value="Default.asp" />

+				<add value="index.htm" />

+				<add value="index.html" />

+				<add value="iisstart.htm" />

+				<add value="default.aspx" />

+			</files>

+		</defaultDocument>

+		<directoryBrowse enabled="false" />

+		<fastCgi />

+		<!--

+

+          The <globalModules> section defines all native-code modules.

+          To enable a module, specify it in the <modules> section.

+

+        -->

+		<globalModules>

+			<add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" />

+			<add name="UriCacheModule" image="%IIS_BIN%\cachuri.dll" />

+			<add name="TokenCacheModule" image="%IIS_BIN%\cachtokn.dll" />

+			<add name="DynamicCompressionModule" image="%IIS_BIN%\compdyn.dll" />

+			<add name="StaticCompressionModule" image="%IIS_BIN%\compstat.dll" />

+			<add name="DefaultDocumentModule" image="%IIS_BIN%\defdoc.dll" />

+			<add name="DirectoryListingModule" image="%IIS_BIN%\dirlist.dll" />

+			<add name="ProtocolSupportModule" image="%IIS_BIN%\protsup.dll" />

+			<add name="HttpRedirectionModule" image="%IIS_BIN%\redirect.dll" />

+			<add name="ServerSideIncludeModule" image="%IIS_BIN%\iis_ssi.dll" />

+			<add name="StaticFileModule" image="%IIS_BIN%\static.dll" />

+			<add name="AnonymousAuthenticationModule" image="%IIS_BIN%\authanon.dll" />

+			<add name="CertificateMappingAuthenticationModule" image="%IIS_BIN%\authcert.dll" />

+			<add name="UrlAuthorizationModule" image="%IIS_BIN%\urlauthz.dll" />

+			<add name="BasicAuthenticationModule" image="%IIS_BIN%\authbas.dll" />

+			<add name="WindowsAuthenticationModule" image="%IIS_BIN%\authsspi.dll" />

+			<add name="IISCertificateMappingAuthenticationModule" image="%IIS_BIN%\authmap.dll" />

+			<add name="IpRestrictionModule" image="%IIS_BIN%\iprestr.dll" />

+			<add name="DynamicIpRestrictionModule" image="%IIS_BIN%\diprestr.dll" />

+			<add name="RequestFilteringModule" image="%IIS_BIN%\modrqflt.dll" />

+			<add name="CustomLoggingModule" image="%IIS_BIN%\logcust.dll" />

+			<add name="CustomErrorModule" image="%IIS_BIN%\custerr.dll" />

+			<add name="FailedRequestsTracingModule" image="%IIS_BIN%\iisfreb.dll" />

+			<add name="RequestMonitorModule" image="%IIS_BIN%\iisreqs.dll" />

+			<add name="IsapiModule" image="%IIS_BIN%\isapi.dll" />

+			<add name="IsapiFilterModule" image="%IIS_BIN%\filter.dll" />

+			<add name="CgiModule" image="%IIS_BIN%\cgi.dll" />

+			<add name="FastCgiModule" image="%IIS_BIN%\iisfcgi.dll" />

+			<!--            <add name="WebDAVModule" image="%IIS_BIN%\webdav.dll" /> -->

+			<add name="RewriteModule" image="%IIS_BIN%\rewrite.dll" />

+			<add name="ConfigurationValidationModule" image="%IIS_BIN%\validcfg.dll" />

+			<add name="WebSocketModule" image="%IIS_BIN%\iiswsock.dll" />

+			<add name="WebMatrixSupportModule" image="%IIS_BIN%\webmatrixsup.dll" />

+			<add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />

+			<add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness64" />

+			<add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />

+			<add name="ManagedEngineV4.0_64bit" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />

+			<add name="ApplicationInitializationModule" image="%IIS_BIN%\warmup.dll" />

+            <add name="AspNetCoreModuleV2" image="%IIS_BIN%\Asp.Net Core Module\V2\aspnetcorev2.dll" />

+		</globalModules>

+		<httpCompression directory="%TEMP%">

+			<scheme name="gzip" dll="%IIS_BIN%\gzip.dll" />

+			<dynamicTypes>

+				<add mimeType="text/*" enabled="true" />

+				<add mimeType="message/*" enabled="true" />

+				<add mimeType="application/x-javascript" enabled="true" />

+				<add mimeType="application/javascript" enabled="true" />

+				<add mimeType="*/*" enabled="false" />

+                <add mimeType="text/event-stream" enabled="false" />

+			</dynamicTypes>

+			<staticTypes>

+				<add mimeType="text/*" enabled="true" />

+				<add mimeType="message/*" enabled="true" />

+				<add mimeType="application/javascript" enabled="true" />

+				<add mimeType="application/atom+xml" enabled="true" />

+				<add mimeType="application/xaml+xml" enabled="true" />

+				<add mimeType="image/svg+xml" enabled="true" />

+				<add mimeType="*/*" enabled="false" />

+			</staticTypes>

+		</httpCompression>

+		<httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">

+			<error statusCode="401" prefixLanguageFilePath="%IIS_BIN%\custerr" path="401.htm" />

+			<error statusCode="403" prefixLanguageFilePath="%IIS_BIN%\custerr" path="403.htm" />

+			<error statusCode="404" prefixLanguageFilePath="%IIS_BIN%\custerr" path="404.htm" />

+			<error statusCode="405" prefixLanguageFilePath="%IIS_BIN%\custerr" path="405.htm" />

+			<error statusCode="406" prefixLanguageFilePath="%IIS_BIN%\custerr" path="406.htm" />

+			<error statusCode="412" prefixLanguageFilePath="%IIS_BIN%\custerr" path="412.htm" />

+			<error statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" />

+			<error statusCode="501" prefixLanguageFilePath="%IIS_BIN%\custerr" path="501.htm" />

+			<error statusCode="502" prefixLanguageFilePath="%IIS_BIN%\custerr" path="502.htm" />

+		</httpErrors>

+		<httpLogging dontLog="false" />

+		<httpProtocol>

+			<customHeaders>

+				<clear />

+				<add name="X-Powered-By" value="ASP.NET" />

+			</customHeaders>

+			<redirectHeaders>

+				<clear />

+			</redirectHeaders>

+		</httpProtocol>

+		<httpRedirect enabled="false" />

+		<httpTracing />

+		<isapiFilters>

+			<filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" />

+			<filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" />

+			<filter name="ASP.Net_2.0_for_v1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" />

+			<filter name="ASP.Net_4.0_32bit" path="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv4.0" />

+			<filter name="ASP.Net_4.0_64bit" path="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv4.0" />

+		</isapiFilters>

+		<odbcLogging />

+		<security>

+			<access sslFlags="None" />

+			<applicationDependencies>

+				<application name="Active Server Pages" groupId="ASP" />

+			</applicationDependencies>

+			<authentication>

+				<anonymousAuthentication enabled="true" userName="" />

+				<basicAuthentication enabled="false" />

+				<clientCertificateMappingAuthentication enabled="false" />

+				<digestAuthentication enabled="false" />

+				<iisClientCertificateMappingAuthentication enabled="false">

+				</iisClientCertificateMappingAuthentication>

+				<windowsAuthentication enabled="false">

+					<providers>

+						<add value="Negotiate" />

+						<add value="NTLM" />

+					</providers>

+				</windowsAuthentication>

+			</authentication>

+			<authorization>

+				<add accessType="Allow" users="*" />

+			</authorization>

+			<ipSecurity allowUnlisted="true" />

+			<isapiCgiRestriction notListedIsapisAllowed="true" notListedCgisAllowed="true">

+				<add path="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" />

+				<add path="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" />

+				<add path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" />

+				<add path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" />

+			</isapiCgiRestriction>

+			<requestFiltering>

+				<fileExtensions allowUnlisted="true" applyToWebDAV="true">

+					<add fileExtension=".asa" allowed="false" />

+					<add fileExtension=".asax" allowed="false" />

+					<add fileExtension=".ascx" allowed="false" />

+					<add fileExtension=".master" allowed="false" />

+					<add fileExtension=".skin" allowed="false" />

+					<add fileExtension=".browser" allowed="false" />

+					<add fileExtension=".sitemap" allowed="false" />

+					<add fileExtension=".config" allowed="false" />

+					<add fileExtension=".cs" allowed="false" />

+					<add fileExtension=".csproj" allowed="false" />

+					<add fileExtension=".vb" allowed="false" />

+					<add fileExtension=".vbproj" allowed="false" />

+					<add fileExtension=".webinfo" allowed="false" />

+					<add fileExtension=".licx" allowed="false" />

+					<add fileExtension=".resx" allowed="false" />

+					<add fileExtension=".resources" allowed="false" />

+					<add fileExtension=".mdb" allowed="false" />

+					<add fileExtension=".vjsproj" allowed="false" />

+					<add fileExtension=".java" allowed="false" />

+					<add fileExtension=".jsl" allowed="false" />

+					<add fileExtension=".ldb" allowed="false" />

+					<add fileExtension=".dsdgm" allowed="false" />

+					<add fileExtension=".ssdgm" allowed="false" />

+					<add fileExtension=".lsad" allowed="false" />

+					<add fileExtension=".ssmap" allowed="false" />

+					<add fileExtension=".cd" allowed="false" />

+					<add fileExtension=".dsprototype" allowed="false" />

+					<add fileExtension=".lsaprototype" allowed="false" />

+					<add fileExtension=".sdm" allowed="false" />

+					<add fileExtension=".sdmDocument" allowed="false" />

+					<add fileExtension=".mdf" allowed="false" />

+					<add fileExtension=".ldf" allowed="false" />

+					<add fileExtension=".ad" allowed="false" />

+					<add fileExtension=".dd" allowed="false" />

+					<add fileExtension=".ldd" allowed="false" />

+					<add fileExtension=".sd" allowed="false" />

+					<add fileExtension=".adprototype" allowed="false" />

+					<add fileExtension=".lddprototype" allowed="false" />

+					<add fileExtension=".exclude" allowed="false" />

+					<add fileExtension=".refresh" allowed="false" />

+					<add fileExtension=".compiled" allowed="false" />

+					<add fileExtension=".msgx" allowed="false" />

+					<add fileExtension=".vsdisco" allowed="false" />

+					<add fileExtension=".rules" allowed="false" />

+				</fileExtensions>

+				<verbs allowUnlisted="true" applyToWebDAV="true" />

+				<hiddenSegments applyToWebDAV="true">

+					<add segment="web.config" />

+					<add segment="bin" />

+					<add segment="App_code" />

+					<add segment="App_GlobalResources" />

+					<add segment="App_LocalResources" />

+					<add segment="App_WebReferences" />

+					<add segment="App_Data" />

+					<add segment="App_Browsers" />

+				</hiddenSegments>

+			</requestFiltering>

+		</security>

+		<serverSideInclude ssiExecDisable="false" />

+		<staticContent lockAttributes="isDocFooterFileName">

+			<mimeMap fileExtension=".323" mimeType="text/h323" />

+			<mimeMap fileExtension=".3g2" mimeType="video/3gpp2" />

+			<mimeMap fileExtension=".3gp2" mimeType="video/3gpp2" />

+			<mimeMap fileExtension=".3gp" mimeType="video/3gpp" />

+			<mimeMap fileExtension=".3gpp" mimeType="video/3gpp" />

+			<mimeMap fileExtension=".aac" mimeType="audio/aac" />

+			<mimeMap fileExtension=".aaf" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".aca" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".accdb" mimeType="application/msaccess" />

+			<mimeMap fileExtension=".accde" mimeType="application/msaccess" />

+			<mimeMap fileExtension=".accdt" mimeType="application/msaccess" />

+			<mimeMap fileExtension=".acx" mimeType="application/internet-property-stream" />

+			<mimeMap fileExtension=".adt" mimeType="audio/vnd.dlna.adts" />

+			<mimeMap fileExtension=".adts" mimeType="audio/vnd.dlna.adts" />

+			<mimeMap fileExtension=".afm" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".ai" mimeType="application/postscript" />

+			<mimeMap fileExtension=".aif" mimeType="audio/x-aiff" />

+			<mimeMap fileExtension=".aifc" mimeType="audio/aiff" />

+			<mimeMap fileExtension=".aiff" mimeType="audio/aiff" />

+			<mimeMap fileExtension=".appcache" mimeType="text/cache-manifest" />

+			<mimeMap fileExtension=".application" mimeType="application/x-ms-application" />

+			<mimeMap fileExtension=".art" mimeType="image/x-jg" />

+			<mimeMap fileExtension=".asd" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".asf" mimeType="video/x-ms-asf" />

+			<mimeMap fileExtension=".asi" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".asm" mimeType="text/plain" />

+			<mimeMap fileExtension=".asr" mimeType="video/x-ms-asf" />

+			<mimeMap fileExtension=".asx" mimeType="video/x-ms-asf" />

+			<mimeMap fileExtension=".atom" mimeType="application/atom+xml" />

+			<mimeMap fileExtension=".au" mimeType="audio/basic" />

+			<mimeMap fileExtension=".avi" mimeType="video/avi" />

+			<mimeMap fileExtension=".axs" mimeType="application/olescript" />

+			<mimeMap fileExtension=".bas" mimeType="text/plain" />

+			<mimeMap fileExtension=".bcpio" mimeType="application/x-bcpio" />

+			<mimeMap fileExtension=".bin" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".bmp" mimeType="image/bmp" />

+			<mimeMap fileExtension=".c" mimeType="text/plain" />

+			<mimeMap fileExtension=".cab" mimeType="application/vnd.ms-cab-compressed" />

+			<mimeMap fileExtension=".calx" mimeType="application/vnd.ms-office.calx" />

+			<mimeMap fileExtension=".cat" mimeType="application/vnd.ms-pki.seccat" />

+			<mimeMap fileExtension=".cdf" mimeType="application/x-cdf" />

+			<mimeMap fileExtension=".chm" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".class" mimeType="application/x-java-applet" />

+			<mimeMap fileExtension=".clp" mimeType="application/x-msclip" />

+			<mimeMap fileExtension=".cmx" mimeType="image/x-cmx" />

+			<mimeMap fileExtension=".cnf" mimeType="text/plain" />

+			<mimeMap fileExtension=".cod" mimeType="image/cis-cod" />

+			<mimeMap fileExtension=".cpio" mimeType="application/x-cpio" />

+			<mimeMap fileExtension=".cpp" mimeType="text/plain" />

+			<mimeMap fileExtension=".crd" mimeType="application/x-mscardfile" />

+			<mimeMap fileExtension=".crl" mimeType="application/pkix-crl" />

+			<mimeMap fileExtension=".crt" mimeType="application/x-x509-ca-cert" />

+			<mimeMap fileExtension=".csh" mimeType="application/x-csh" />

+			<mimeMap fileExtension=".css" mimeType="text/css" />

+			<mimeMap fileExtension=".csv" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".cur" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".dcr" mimeType="application/x-director" />

+			<mimeMap fileExtension=".deploy" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".der" mimeType="application/x-x509-ca-cert" />

+			<mimeMap fileExtension=".dib" mimeType="image/bmp" />

+			<mimeMap fileExtension=".dir" mimeType="application/x-director" />

+			<mimeMap fileExtension=".disco" mimeType="text/xml" />

+			<mimeMap fileExtension=".dll" mimeType="application/x-msdownload" />

+			<mimeMap fileExtension=".dll.config" mimeType="text/xml" />

+			<mimeMap fileExtension=".dlm" mimeType="text/dlm" />

+			<mimeMap fileExtension=".doc" mimeType="application/msword" />

+			<mimeMap fileExtension=".docm" mimeType="application/vnd.ms-word.document.macroEnabled.12" />

+			<mimeMap fileExtension=".docx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" />

+			<mimeMap fileExtension=".dot" mimeType="application/msword" />

+			<mimeMap fileExtension=".dotm" mimeType="application/vnd.ms-word.template.macroEnabled.12" />

+			<mimeMap fileExtension=".dotx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.template" />

+			<mimeMap fileExtension=".dsp" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".dtd" mimeType="text/xml" />

+			<mimeMap fileExtension=".dvi" mimeType="application/x-dvi" />

+			<mimeMap fileExtension=".dvr-ms" mimeType="video/x-ms-dvr" />

+			<mimeMap fileExtension=".dwf" mimeType="drawing/x-dwf" />

+			<mimeMap fileExtension=".dwp" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".dxr" mimeType="application/x-director" />

+			<mimeMap fileExtension=".eml" mimeType="message/rfc822" />

+			<mimeMap fileExtension=".emz" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />

+			<mimeMap fileExtension=".eps" mimeType="application/postscript" />

+			<mimeMap fileExtension=".esd" mimeType="application/vnd.ms-cab-compressed" />

+			<mimeMap fileExtension=".etx" mimeType="text/x-setext" />

+			<mimeMap fileExtension=".evy" mimeType="application/envoy" />

+			<mimeMap fileExtension=".exe" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".exe.config" mimeType="text/xml" />

+			<mimeMap fileExtension=".fdf" mimeType="application/vnd.fdf" />

+			<mimeMap fileExtension=".fif" mimeType="application/fractals" />

+			<mimeMap fileExtension=".fla" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".flr" mimeType="x-world/x-vrml" />

+			<mimeMap fileExtension=".flv" mimeType="video/x-flv" />

+			<mimeMap fileExtension=".gif" mimeType="image/gif" />

+			<mimeMap fileExtension=".glb" mimeType="model/gltf-binary" />

+			<mimeMap fileExtension=".gtar" mimeType="application/x-gtar" />

+			<mimeMap fileExtension=".gz" mimeType="application/x-gzip" />

+			<mimeMap fileExtension=".h" mimeType="text/plain" />

+			<mimeMap fileExtension=".hdf" mimeType="application/x-hdf" />

+			<mimeMap fileExtension=".hdml" mimeType="text/x-hdml" />

+			<mimeMap fileExtension=".hhc" mimeType="application/x-oleobject" />

+			<mimeMap fileExtension=".hhk" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".hhp" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".hlp" mimeType="application/winhlp" />

+			<mimeMap fileExtension=".hqx" mimeType="application/mac-binhex40" />

+			<mimeMap fileExtension=".hta" mimeType="application/hta" />

+			<mimeMap fileExtension=".htc" mimeType="text/x-component" />

+			<mimeMap fileExtension=".htm" mimeType="text/html" />

+			<mimeMap fileExtension=".html" mimeType="text/html" />

+			<mimeMap fileExtension=".htt" mimeType="text/webviewhtml" />

+			<mimeMap fileExtension=".hxt" mimeType="text/html" />

+			<mimeMap fileExtension=".ico" mimeType="image/x-icon" />

+			<mimeMap fileExtension=".ics" mimeType="text/calendar" />

+			<mimeMap fileExtension=".ief" mimeType="image/ief" />

+			<mimeMap fileExtension=".iii" mimeType="application/x-iphone" />

+			<mimeMap fileExtension=".inf" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".ins" mimeType="application/x-internet-signup" />

+			<mimeMap fileExtension=".isp" mimeType="application/x-internet-signup" />

+			<mimeMap fileExtension=".IVF" mimeType="video/x-ivf" />

+			<mimeMap fileExtension=".jar" mimeType="application/java-archive" />

+			<mimeMap fileExtension=".java" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".jck" mimeType="application/liquidmotion" />

+			<mimeMap fileExtension=".jcz" mimeType="application/liquidmotion" />

+			<mimeMap fileExtension=".jfif" mimeType="image/pjpeg" />

+			<mimeMap fileExtension=".jpb" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".jpe" mimeType="image/jpeg" />

+			<mimeMap fileExtension=".jpeg" mimeType="image/jpeg" />

+			<mimeMap fileExtension=".jpg" mimeType="image/jpeg" />

+			<mimeMap fileExtension=".js" mimeType="application/javascript" />

+			<mimeMap fileExtension=".json" mimeType="application/json" />

+			<mimeMap fileExtension=".jsonld" mimeType="application/ld+json" />

+			<mimeMap fileExtension=".jsx" mimeType="text/jscript" />

+			<mimeMap fileExtension=".latex" mimeType="application/x-latex" />

+			<mimeMap fileExtension=".less" mimeType="text/css" />

+			<mimeMap fileExtension=".lit" mimeType="application/x-ms-reader" />

+			<mimeMap fileExtension=".lpk" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".lsf" mimeType="video/x-la-asf" />

+			<mimeMap fileExtension=".lsx" mimeType="video/x-la-asf" />

+			<mimeMap fileExtension=".lzh" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".m13" mimeType="application/x-msmediaview" />

+			<mimeMap fileExtension=".m14" mimeType="application/x-msmediaview" />

+			<mimeMap fileExtension=".m1v" mimeType="video/mpeg" />

+			<mimeMap fileExtension=".m2ts" mimeType="video/vnd.dlna.mpeg-tts" />

+			<mimeMap fileExtension=".m3u" mimeType="audio/x-mpegurl" />

+			<mimeMap fileExtension=".m4a" mimeType="audio/mp4" />

+			<mimeMap fileExtension=".m4v" mimeType="video/mp4" />

+			<mimeMap fileExtension=".man" mimeType="application/x-troff-man" />

+			<mimeMap fileExtension=".manifest" mimeType="application/x-ms-manifest" />

+			<mimeMap fileExtension=".map" mimeType="text/plain" />

+			<mimeMap fileExtension=".mdb" mimeType="application/x-msaccess" />

+			<mimeMap fileExtension=".mdp" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".me" mimeType="application/x-troff-me" />

+			<mimeMap fileExtension=".mht" mimeType="message/rfc822" />

+			<mimeMap fileExtension=".mhtml" mimeType="message/rfc822" />

+			<mimeMap fileExtension=".mid" mimeType="audio/mid" />

+			<mimeMap fileExtension=".midi" mimeType="audio/mid" />

+			<mimeMap fileExtension=".mix" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".mmf" mimeType="application/x-smaf" />

+			<mimeMap fileExtension=".mno" mimeType="text/xml" />

+			<mimeMap fileExtension=".mny" mimeType="application/x-msmoney" />

+			<mimeMap fileExtension=".mov" mimeType="video/quicktime" />

+			<mimeMap fileExtension=".movie" mimeType="video/x-sgi-movie" />

+			<mimeMap fileExtension=".mp2" mimeType="video/mpeg" />

+			<mimeMap fileExtension=".mp3" mimeType="audio/mpeg" />

+			<mimeMap fileExtension=".mp4" mimeType="video/mp4" />

+			<mimeMap fileExtension=".mp4v" mimeType="video/mp4" />

+			<mimeMap fileExtension=".mpa" mimeType="video/mpeg" />

+			<mimeMap fileExtension=".mpe" mimeType="video/mpeg" />

+			<mimeMap fileExtension=".mpeg" mimeType="video/mpeg" />

+			<mimeMap fileExtension=".mpg" mimeType="video/mpeg" />

+			<mimeMap fileExtension=".mpp" mimeType="application/vnd.ms-project" />

+			<mimeMap fileExtension=".mpv2" mimeType="video/mpeg" />

+			<mimeMap fileExtension=".ms" mimeType="application/x-troff-ms" />

+			<mimeMap fileExtension=".msi" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".mso" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".mvb" mimeType="application/x-msmediaview" />

+			<mimeMap fileExtension=".mvc" mimeType="application/x-miva-compiled" />

+			<mimeMap fileExtension=".nc" mimeType="application/x-netcdf" />

+			<mimeMap fileExtension=".nsc" mimeType="video/x-ms-asf" />

+			<mimeMap fileExtension=".nws" mimeType="message/rfc822" />

+			<mimeMap fileExtension=".ocx" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".oda" mimeType="application/oda" />

+			<mimeMap fileExtension=".odc" mimeType="text/x-ms-odc" />

+			<mimeMap fileExtension=".ods" mimeType="application/oleobject" />

+			<mimeMap fileExtension=".oga" mimeType="audio/ogg" />

+			<mimeMap fileExtension=".ogg" mimeType="video/ogg" />

+			<mimeMap fileExtension=".ogv" mimeType="video/ogg" />

+			<mimeMap fileExtension=".one" mimeType="application/onenote" />

+			<mimeMap fileExtension=".onea" mimeType="application/onenote" />

+			<mimeMap fileExtension=".onetoc" mimeType="application/onenote" />

+			<mimeMap fileExtension=".onetoc2" mimeType="application/onenote" />

+			<mimeMap fileExtension=".onetmp" mimeType="application/onenote" />

+			<mimeMap fileExtension=".onepkg" mimeType="application/onenote" />

+			<mimeMap fileExtension=".osdx" mimeType="application/opensearchdescription+xml" />

+			<mimeMap fileExtension=".otf" mimeType="font/otf" />

+			<mimeMap fileExtension=".p10" mimeType="application/pkcs10" />

+			<mimeMap fileExtension=".p12" mimeType="application/x-pkcs12" />

+			<mimeMap fileExtension=".p7b" mimeType="application/x-pkcs7-certificates" />

+			<mimeMap fileExtension=".p7c" mimeType="application/pkcs7-mime" />

+			<mimeMap fileExtension=".p7m" mimeType="application/pkcs7-mime" />

+			<mimeMap fileExtension=".p7r" mimeType="application/x-pkcs7-certreqresp" />

+			<mimeMap fileExtension=".p7s" mimeType="application/pkcs7-signature" />

+			<mimeMap fileExtension=".pbm" mimeType="image/x-portable-bitmap" />

+			<mimeMap fileExtension=".pcx" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".pcz" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".pdf" mimeType="application/pdf" />

+			<mimeMap fileExtension=".pfb" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".pfm" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".pfx" mimeType="application/x-pkcs12" />

+			<mimeMap fileExtension=".pgm" mimeType="image/x-portable-graymap" />

+			<mimeMap fileExtension=".pko" mimeType="application/vnd.ms-pki.pko" />

+			<mimeMap fileExtension=".pma" mimeType="application/x-perfmon" />

+			<mimeMap fileExtension=".pmc" mimeType="application/x-perfmon" />

+			<mimeMap fileExtension=".pml" mimeType="application/x-perfmon" />

+			<mimeMap fileExtension=".pmr" mimeType="application/x-perfmon" />

+			<mimeMap fileExtension=".pmw" mimeType="application/x-perfmon" />

+			<mimeMap fileExtension=".png" mimeType="image/png" />

+			<mimeMap fileExtension=".pnm" mimeType="image/x-portable-anymap" />

+			<mimeMap fileExtension=".pnz" mimeType="image/png" />

+			<mimeMap fileExtension=".pot" mimeType="application/vnd.ms-powerpoint" />

+			<mimeMap fileExtension=".potm" mimeType="application/vnd.ms-powerpoint.template.macroEnabled.12" />

+			<mimeMap fileExtension=".potx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.template" />

+			<mimeMap fileExtension=".ppam" mimeType="application/vnd.ms-powerpoint.addin.macroEnabled.12" />

+			<mimeMap fileExtension=".ppm" mimeType="image/x-portable-pixmap" />

+			<mimeMap fileExtension=".pps" mimeType="application/vnd.ms-powerpoint" />

+			<mimeMap fileExtension=".ppsm" mimeType="application/vnd.ms-powerpoint.slideshow.macroEnabled.12" />

+			<mimeMap fileExtension=".ppsx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slideshow" />

+			<mimeMap fileExtension=".ppt" mimeType="application/vnd.ms-powerpoint" />

+			<mimeMap fileExtension=".pptm" mimeType="application/vnd.ms-powerpoint.presentation.macroEnabled.12" />

+			<mimeMap fileExtension=".pptx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" />

+			<mimeMap fileExtension=".prf" mimeType="application/pics-rules" />

+			<mimeMap fileExtension=".prm" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".prx" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".ps" mimeType="application/postscript" />

+			<mimeMap fileExtension=".psd" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".psm" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".psp" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".pub" mimeType="application/x-mspublisher" />

+			<mimeMap fileExtension=".qt" mimeType="video/quicktime" />

+			<mimeMap fileExtension=".qtl" mimeType="application/x-quicktimeplayer" />

+			<mimeMap fileExtension=".qxd" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".ra" mimeType="audio/x-pn-realaudio" />

+			<mimeMap fileExtension=".ram" mimeType="audio/x-pn-realaudio" />

+			<mimeMap fileExtension=".rar" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".ras" mimeType="image/x-cmu-raster" />

+			<mimeMap fileExtension=".rf" mimeType="image/vnd.rn-realflash" />

+			<mimeMap fileExtension=".rgb" mimeType="image/x-rgb" />

+			<mimeMap fileExtension=".rm" mimeType="application/vnd.rn-realmedia" />

+			<mimeMap fileExtension=".rmi" mimeType="audio/mid" />

+			<mimeMap fileExtension=".roff" mimeType="application/x-troff" />

+			<mimeMap fileExtension=".rpm" mimeType="audio/x-pn-realaudio-plugin" />

+			<mimeMap fileExtension=".rtf" mimeType="application/rtf" />

+			<mimeMap fileExtension=".rtx" mimeType="text/richtext" />

+			<mimeMap fileExtension=".scd" mimeType="application/x-msschedule" />

+			<mimeMap fileExtension=".sct" mimeType="text/scriptlet" />

+			<mimeMap fileExtension=".sea" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".setpay" mimeType="application/set-payment-initiation" />

+			<mimeMap fileExtension=".setreg" mimeType="application/set-registration-initiation" />

+			<mimeMap fileExtension=".sgml" mimeType="text/sgml" />

+			<mimeMap fileExtension=".sh" mimeType="application/x-sh" />

+			<mimeMap fileExtension=".shar" mimeType="application/x-shar" />

+			<mimeMap fileExtension=".sit" mimeType="application/x-stuffit" />

+			<mimeMap fileExtension=".sldm" mimeType="application/vnd.ms-powerpoint.slide.macroEnabled.12" />

+			<mimeMap fileExtension=".sldx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slide" />

+			<mimeMap fileExtension=".smd" mimeType="audio/x-smd" />

+			<mimeMap fileExtension=".smi" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".smx" mimeType="audio/x-smd" />

+			<mimeMap fileExtension=".smz" mimeType="audio/x-smd" />

+			<mimeMap fileExtension=".snd" mimeType="audio/basic" />

+			<mimeMap fileExtension=".snp" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".spc" mimeType="application/x-pkcs7-certificates" />

+			<mimeMap fileExtension=".spl" mimeType="application/futuresplash" />

+			<mimeMap fileExtension=".spx" mimeType="audio/ogg" />

+			<mimeMap fileExtension=".src" mimeType="application/x-wais-source" />

+			<mimeMap fileExtension=".ssm" mimeType="application/streamingmedia" />

+			<mimeMap fileExtension=".sst" mimeType="application/vnd.ms-pki.certstore" />

+			<mimeMap fileExtension=".stl" mimeType="application/vnd.ms-pki.stl" />

+			<mimeMap fileExtension=".sv4cpio" mimeType="application/x-sv4cpio" />

+			<mimeMap fileExtension=".sv4crc" mimeType="application/x-sv4crc" />

+			<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />

+			<mimeMap fileExtension=".svgz" mimeType="image/svg+xml" />

+			<mimeMap fileExtension=".swf" mimeType="application/x-shockwave-flash" />

+			<mimeMap fileExtension=".t" mimeType="application/x-troff" />

+			<mimeMap fileExtension=".tar" mimeType="application/x-tar" />

+			<mimeMap fileExtension=".tcl" mimeType="application/x-tcl" />

+			<mimeMap fileExtension=".tex" mimeType="application/x-tex" />

+			<mimeMap fileExtension=".texi" mimeType="application/x-texinfo" />

+			<mimeMap fileExtension=".texinfo" mimeType="application/x-texinfo" />

+			<mimeMap fileExtension=".tgz" mimeType="application/x-compressed" />

+			<mimeMap fileExtension=".thmx" mimeType="application/vnd.ms-officetheme" />

+			<mimeMap fileExtension=".thn" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".tif" mimeType="image/tiff" />

+			<mimeMap fileExtension=".tiff" mimeType="image/tiff" />

+			<mimeMap fileExtension=".toc" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".tr" mimeType="application/x-troff" />

+			<mimeMap fileExtension=".trm" mimeType="application/x-msterminal" />

+			<mimeMap fileExtension=".ts" mimeType="video/vnd.dlna.mpeg-tts" />

+			<mimeMap fileExtension=".tsv" mimeType="text/tab-separated-values" />

+			<mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".tts" mimeType="video/vnd.dlna.mpeg-tts" />

+			<mimeMap fileExtension=".txt" mimeType="text/plain" />

+			<mimeMap fileExtension=".u32" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".uls" mimeType="text/iuls" />

+			<mimeMap fileExtension=".ustar" mimeType="application/x-ustar" />

+			<mimeMap fileExtension=".vbs" mimeType="text/vbscript" />

+			<mimeMap fileExtension=".vcf" mimeType="text/x-vcard" />

+			<mimeMap fileExtension=".vcs" mimeType="text/plain" />

+			<mimeMap fileExtension=".vdx" mimeType="application/vnd.ms-visio.viewer" />

+			<mimeMap fileExtension=".vml" mimeType="text/xml" />

+			<mimeMap fileExtension=".vsd" mimeType="application/vnd.visio" />

+			<mimeMap fileExtension=".vss" mimeType="application/vnd.visio" />

+			<mimeMap fileExtension=".vst" mimeType="application/vnd.visio" />

+			<mimeMap fileExtension=".vsto" mimeType="application/x-ms-vsto" />

+			<mimeMap fileExtension=".vsw" mimeType="application/vnd.visio" />

+			<mimeMap fileExtension=".vsx" mimeType="application/vnd.visio" />

+			<mimeMap fileExtension=".vtx" mimeType="application/vnd.visio" />

+			<mimeMap fileExtension=".wasm" mimeType="application/wasm" />

+			<mimeMap fileExtension=".wav" mimeType="audio/wav" />

+			<mimeMap fileExtension=".wax" mimeType="audio/x-ms-wax" />

+			<mimeMap fileExtension=".wbmp" mimeType="image/vnd.wap.wbmp" />

+			<mimeMap fileExtension=".wcm" mimeType="application/vnd.ms-works" />

+			<mimeMap fileExtension=".wdb" mimeType="application/vnd.ms-works" />

+			<mimeMap fileExtension=".webm" mimeType="video/webm" />

+			<mimeMap fileExtension=".wks" mimeType="application/vnd.ms-works" />

+			<mimeMap fileExtension=".wm" mimeType="video/x-ms-wm" />

+			<mimeMap fileExtension=".wma" mimeType="audio/x-ms-wma" />

+			<mimeMap fileExtension=".wmd" mimeType="application/x-ms-wmd" />

+			<mimeMap fileExtension=".wmf" mimeType="application/x-msmetafile" />

+			<mimeMap fileExtension=".wml" mimeType="text/vnd.wap.wml" />

+			<mimeMap fileExtension=".wmlc" mimeType="application/vnd.wap.wmlc" />

+			<mimeMap fileExtension=".wmls" mimeType="text/vnd.wap.wmlscript" />

+			<mimeMap fileExtension=".wmlsc" mimeType="application/vnd.wap.wmlscriptc" />

+			<mimeMap fileExtension=".wmp" mimeType="video/x-ms-wmp" />

+			<mimeMap fileExtension=".wmv" mimeType="video/x-ms-wmv" />

+			<mimeMap fileExtension=".wmx" mimeType="video/x-ms-wmx" />

+			<mimeMap fileExtension=".wmz" mimeType="application/x-ms-wmz" />

+			<mimeMap fileExtension=".woff" mimeType="font/x-woff" />

+			<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />

+			<mimeMap fileExtension=".wps" mimeType="application/vnd.ms-works" />

+			<mimeMap fileExtension=".wri" mimeType="application/x-mswrite" />

+			<mimeMap fileExtension=".wrl" mimeType="x-world/x-vrml" />

+			<mimeMap fileExtension=".wrz" mimeType="x-world/x-vrml" />

+			<mimeMap fileExtension=".wsdl" mimeType="text/xml" />

+			<mimeMap fileExtension=".wtv" mimeType="video/x-ms-wtv" />

+			<mimeMap fileExtension=".wvx" mimeType="video/x-ms-wvx" />

+			<mimeMap fileExtension=".x" mimeType="application/directx" />

+			<mimeMap fileExtension=".xaf" mimeType="x-world/x-vrml" />

+			<mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" />

+			<mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" />

+			<mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" />

+			<mimeMap fileExtension=".xbm" mimeType="image/x-xbitmap" />

+			<mimeMap fileExtension=".xdr" mimeType="text/plain" />

+			<mimeMap fileExtension=".xht" mimeType="application/xhtml+xml" />

+			<mimeMap fileExtension=".xhtml" mimeType="application/xhtml+xml" />

+			<mimeMap fileExtension=".xla" mimeType="application/vnd.ms-excel" />

+			<mimeMap fileExtension=".xlam" mimeType="application/vnd.ms-excel.addin.macroEnabled.12" />

+			<mimeMap fileExtension=".xlc" mimeType="application/vnd.ms-excel" />

+			<mimeMap fileExtension=".xlm" mimeType="application/vnd.ms-excel" />

+			<mimeMap fileExtension=".xls" mimeType="application/vnd.ms-excel" />

+			<mimeMap fileExtension=".xlsb" mimeType="application/vnd.ms-excel.sheet.binary.macroEnabled.12" />

+			<mimeMap fileExtension=".xlsm" mimeType="application/vnd.ms-excel.sheet.macroEnabled.12" />

+			<mimeMap fileExtension=".xlsx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />

+			<mimeMap fileExtension=".xlt" mimeType="application/vnd.ms-excel" />

+			<mimeMap fileExtension=".xltm" mimeType="application/vnd.ms-excel.template.macroEnabled.12" />

+			<mimeMap fileExtension=".xltx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.template" />

+			<mimeMap fileExtension=".xlw" mimeType="application/vnd.ms-excel" />

+			<mimeMap fileExtension=".xml" mimeType="text/xml" />

+			<mimeMap fileExtension=".xof" mimeType="x-world/x-vrml" />

+			<mimeMap fileExtension=".xpm" mimeType="image/x-xpixmap" />

+			<mimeMap fileExtension=".xps" mimeType="application/vnd.ms-xpsdocument" />

+			<mimeMap fileExtension=".xsd" mimeType="text/xml" />

+			<mimeMap fileExtension=".xsf" mimeType="text/xml" />

+			<mimeMap fileExtension=".xsl" mimeType="text/xml" />

+			<mimeMap fileExtension=".xslt" mimeType="text/xml" />

+			<mimeMap fileExtension=".xsn" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".xtp" mimeType="application/octet-stream" />

+			<mimeMap fileExtension=".xwd" mimeType="image/x-xwindowdump" />

+			<mimeMap fileExtension=".z" mimeType="application/x-compress" />

+			<mimeMap fileExtension=".zip" mimeType="application/x-zip-compressed" />

+		</staticContent>

+		<tracing>

+			<traceFailedRequests>

+				<add path="*">

+					<traceAreas>

+						<add provider="ASP" verbosity="Verbose" />

+						<add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />

+						<add provider="ISAPI Extension" verbosity="Verbose" />

+						<add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,Rewrite,WebSocket" verbosity="Verbose" />

+					</traceAreas>

+					<failureDefinitions statusCodes="200-999" />

+				</add>

+			</traceFailedRequests>

+			<traceProviderDefinitions>

+				<add name="WWW Server" guid="{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}">

+					<areas>

+						<clear />

+						<add name="Authentication" value="2" />

+						<add name="Security" value="4" />

+						<add name="Filter" value="8" />

+						<add name="StaticFile" value="16" />

+						<add name="CGI" value="32" />

+						<add name="Compression" value="64" />

+						<add name="Cache" value="128" />

+						<add name="RequestNotifications" value="256" />

+						<add name="Module" value="512" />

+						<add name="Rewrite" value="1024" />

+						<add name="FastCGI" value="4096" />

+						<add name="WebSocket" value="16384" />

+                        <add name="ANCM" value="65536" />

+					</areas>

+				</add>

+				<add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}">

+					<areas>

+						<clear />

+					</areas>

+				</add>

+				<add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}">

+					<areas>

+						<clear />

+					</areas>

+				</add>

+				<add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}">

+					<areas>

+						<add name="Infrastructure" value="1" />

+						<add name="Module" value="2" />

+						<add name="Page" value="4" />

+						<add name="AppServices" value="8" />

+					</areas>

+				</add>

+			</traceProviderDefinitions>

+		</tracing>

+		<urlCompression />

+		<validation />

+		<webdav>

+			<globalSettings>

+				<propertyStores>

+					<add name="webdav_simple_prop" image="%IIS_BIN%\webdav_simple_prop.dll" image32="%IIS_BIN%\webdav_simple_prop.dll" />

+				</propertyStores>

+				<lockStores>

+					<add name="webdav_simple_lock" image="%IIS_BIN%\webdav_simple_lock.dll" image32="%IIS_BIN%\webdav_simple_lock.dll" />

+				</lockStores>

+			</globalSettings>

+			<authoring>

+				<locks enabled="true" lockStore="webdav_simple_lock" />

+			</authoring>

+			<authoringRules />

+		</webdav>

+		<webSocket />

+		<applicationInitialization />

+	</system.webServer>

+	<location path="" overrideMode="Allow">

+		<system.webServer>

+			<modules>

+				<add name="IsapiFilterModule" lockItem="true" />

+				<add name="BasicAuthenticationModule" lockItem="true" />

+				<add name="IsapiModule" lockItem="true" />

+				<add name="HttpLoggingModule" lockItem="true" />

+				<add name="DynamicCompressionModule" lockItem="true" />

+				<add name="StaticCompressionModule" lockItem="true" />

+				<add name="DefaultDocumentModule" lockItem="true" />

+				<add name="DirectoryListingModule" lockItem="true" />

+				<add name="ProtocolSupportModule" lockItem="true" />

+				<add name="HttpRedirectionModule" lockItem="true" />

+				<add name="ServerSideIncludeModule" lockItem="true" />

+				<add name="StaticFileModule" lockItem="true" />

+				<add name="AnonymousAuthenticationModule" lockItem="true" />

+				<add name="CertificateMappingAuthenticationModule" lockItem="true" />

+				<add name="UrlAuthorizationModule" lockItem="true" />

+				<add name="WindowsAuthenticationModule" lockItem="true" />

+				<add name="IISCertificateMappingAuthenticationModule" lockItem="true" />

+				<add name="WebMatrixSupportModule" lockItem="true" />

+				<add name="IpRestrictionModule" lockItem="true" />

+				<add name="DynamicIpRestrictionModule" lockItem="true" />

+				<add name="RequestFilteringModule" lockItem="true" />

+				<add name="CustomLoggingModule" lockItem="true" />

+				<add name="CustomErrorModule" lockItem="true" />

+				<add name="FailedRequestsTracingModule" lockItem="true" />

+				<add name="CgiModule" lockItem="true" />

+				<add name="FastCgiModule" lockItem="true" />

+				<!--                <add name="WebDAVModule" /> -->

+				<add name="RewriteModule" />

+				<add name="OutputCache" type="System.Web.Caching.OutputCacheModule" preCondition="managedHandler" />

+				<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="managedHandler" />

+				<add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="managedHandler" />

+				<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />

+				<add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" />

+				<add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" />

+				<add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="managedHandler" />

+				<add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" preCondition="managedHandler" />

+				<add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" preCondition="managedHandler" />

+				<add name="Profile" type="System.Web.Profile.ProfileModule" preCondition="managedHandler" />

+				<add name="UrlMappingsModule" type="System.Web.UrlMappingsModule" preCondition="managedHandler" />

+				<add name="ApplicationInitializationModule" lockItem="true" />

+				<add name="WebSocketModule" lockItem="true" />

+				<add name="ServiceModel-4.0" type="System.ServiceModel.Activation.ServiceHttpModule,System.ServiceModel.Activation,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" />

+				<add name="ConfigurationValidationModule" lockItem="true" />

+				<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="managedHandler,runtimeVersionv4.0" />

+				<add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" />

+				<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler,runtimeVersionv2.0" />

+                <add name="AspNetCoreModuleV2" lockItem="true" />

+			</modules>

+			<handlers accessPolicy="Read, Script">

+				<!--                <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> -->

+				<add name="AXD-ISAPI-4.0_64bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />

+				<add name="PageHandlerFactory-ISAPI-4.0_64bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />

+				<add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />

+				<add name="WebServiceHandlerFactory-ISAPI-4.0_64bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />

+				<add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_64bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />

+				<add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_64bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />

+				<add name="svc-ISAPI-4.0_64bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />

+				<add name="rules-ISAPI-4.0_64bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />

+				<add name="xoml-ISAPI-4.0_64bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />

+				<add name="xamlx-ISAPI-4.0_64bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" />

+				<add name="aspq-ISAPI-4.0_64bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />

+				<add name="cshtm-ISAPI-4.0_64bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />

+				<add name="cshtml-ISAPI-4.0_64bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />

+				<add name="vbhtm-ISAPI-4.0_64bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />

+				<add name="vbhtml-ISAPI-4.0_64bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />

+				<add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />

+				<add name="svc-ISAPI-2.0" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />

+				<add name="xoml-Integrated" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />

+				<add name="xoml-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />

+				<add name="rules-Integrated" path="*.rules" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />

+				<add name="rules-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" />

+				<add name="AXD-ISAPI-4.0_32bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

+				<add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

+				<add name="SimpleHandlerFactory-ISAPI-4.0_32bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

+				<add name="WebServiceHandlerFactory-ISAPI-4.0_32bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

+				<add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

+				<add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_32bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

+				<add name="svc-ISAPI-4.0_32bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />

+				<add name="rules-ISAPI-4.0_32bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />

+				<add name="xoml-ISAPI-4.0_32bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />

+				<add name="xamlx-ISAPI-4.0_32bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" />

+				<add name="aspq-ISAPI-4.0_32bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

+				<add name="cshtm-ISAPI-4.0_32bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

+				<add name="cshtml-ISAPI-4.0_32bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

+				<add name="vbhtm-ISAPI-4.0_32bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

+				<add name="vbhtml-ISAPI-4.0_32bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

+				<add name="TraceHandler-Integrated-4.0" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="WebAdminHandler-Integrated-4.0" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="HttpRemotingHandlerFactory-rem-Integrated-4.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="HttpRemotingHandlerFactory-soap-Integrated-4.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="rules-Integrated-4.0" path="*.rules" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="xoml-Integrated-4.0" path="*.xoml" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="xamlx-Integrated-4.0" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="aspq-Integrated-4.0" path="*.aspq" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="cshtm-Integrated-4.0" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="cshtml-Integrated-4.0" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="vbhtm-Integrated-4.0" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="vbhtml-Integrated-4.0" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="ScriptHandlerFactoryAppServices-Integrated-4.0" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="ScriptResourceIntegrated-4.0" path="*ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" />

+				<add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" />

+				<add name="SecurityCertificate" path="*.cer" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" />

+				<add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />

+				<add name="TraceHandler-Integrated" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv2.0" />

+				<add name="WebAdminHandler-Integrated" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv2.0" />

+				<add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv2.0" />

+				<add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" />

+				<add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" />

+				<add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory,System.Web.Services,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" preCondition="integratedMode,runtimeVersionv2.0" />

+				<add name="HttpRemotingHandlerFactory-rem-Integrated" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />

+				<add name="HttpRemotingHandlerFactory-soap-Integrated" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" />

+				<add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />

+				<add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />

+				<add name="SimpleHandlerFactory-ISAPI-2.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />

+				<add name="WebServiceHandlerFactory-ISAPI-2.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />

+				<add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />

+				<add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" />

+				<add name="svc-ISAPI-2.0-64" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />

+				<add name="AXD-ISAPI-2.0-64" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />

+				<add name="PageHandlerFactory-ISAPI-2.0-64" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />

+				<add name="SimpleHandlerFactory-ISAPI-2.0-64" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />

+				<add name="WebServiceHandlerFactory-ISAPI-2.0-64" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />

+				<add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0-64" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />

+				<add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0-64" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" />

+				<add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />

+				<add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />

+				<add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />

+				<add name="SSINC-stm" path="*.stm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />

+				<add name="SSINC-shtm" path="*.shtm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />

+				<add name="SSINC-shtml" path="*.shtml" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" />

+				<add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" />

+				<add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" />

+				<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />

+				<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />

+				<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />

+				<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />

+			</handlers>

+		</system.webServer>

+	</location>

+</configuration>

diff --git a/customer_maintenance/.vs/CustomerMaintenance/v17/.futdcache.v2 b/customer_maintenance/.vs/CustomerMaintenance/v17/.futdcache.v2
new file mode 100644
index 0000000..1be1c51
--- /dev/null
+++ b/customer_maintenance/.vs/CustomerMaintenance/v17/.futdcache.v2
Binary files differdiff --git a/customer_maintenance/.vs/CustomerMaintenance/v17/.suo b/customer_maintenance/.vs/CustomerMaintenance/v17/.suo
new file mode 100644
index 0000000..275b162
--- /dev/null
+++ b/customer_maintenance/.vs/CustomerMaintenance/v17/.suo
Binary files differdiff --git a/customer_maintenance/.vs/ProjectEvaluation/customermaintenance.metadata.v7.bin b/customer_maintenance/.vs/ProjectEvaluation/customermaintenance.metadata.v7.bin
new file mode 100644
index 0000000..6d98e24
--- /dev/null
+++ b/customer_maintenance/.vs/ProjectEvaluation/customermaintenance.metadata.v7.bin
Binary files differdiff --git a/customer_maintenance/.vs/ProjectEvaluation/customermaintenance.projects.v7.bin b/customer_maintenance/.vs/ProjectEvaluation/customermaintenance.projects.v7.bin
new file mode 100644
index 0000000..eaab5eb
--- /dev/null
+++ b/customer_maintenance/.vs/ProjectEvaluation/customermaintenance.projects.v7.bin
Binary files differdiff --git a/customer_maintenance/CustomerMaintenance.sln b/customer_maintenance/CustomerMaintenance.sln
new file mode 100644
index 0000000..a480f35
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance.sln
@@ -0,0 +1,25 @@
+

+Microsoft Visual Studio Solution File, Format Version 12.00

+# Visual Studio Version 16

+VisualStudioVersion = 16.0.30413.136

+MinimumVisualStudioVersion = 10.0.40219.1

+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomerMaintenance", "CustomerMaintenance\CustomerMaintenance.csproj", "{D8DDF372-EDEB-4CF5-98FA-7A61638AC169}"

+EndProject

+Global

+	GlobalSection(SolutionConfigurationPlatforms) = preSolution

+		Debug|Any CPU = Debug|Any CPU

+		Release|Any CPU = Release|Any CPU

+	EndGlobalSection

+	GlobalSection(ProjectConfigurationPlatforms) = postSolution

+		{D8DDF372-EDEB-4CF5-98FA-7A61638AC169}.Debug|Any CPU.ActiveCfg = Debug|Any CPU

+		{D8DDF372-EDEB-4CF5-98FA-7A61638AC169}.Debug|Any CPU.Build.0 = Debug|Any CPU

+		{D8DDF372-EDEB-4CF5-98FA-7A61638AC169}.Release|Any CPU.ActiveCfg = Release|Any CPU

+		{D8DDF372-EDEB-4CF5-98FA-7A61638AC169}.Release|Any CPU.Build.0 = Release|Any CPU

+	EndGlobalSection

+	GlobalSection(SolutionProperties) = preSolution

+		HideSolutionNode = FALSE

+	EndGlobalSection

+	GlobalSection(ExtensibilityGlobals) = postSolution

+		SolutionGuid = {8A5D61D5-E346-4B5B-8F48-227FBA777756}

+	EndGlobalSection

+EndGlobal

diff --git a/customer_maintenance/CustomerMaintenance/Customer.cs b/customer_maintenance/CustomerMaintenance/Customer.cs
new file mode 100644
index 0000000..138b469
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/Customer.cs
@@ -0,0 +1,23 @@
+using System;

+using System.Collections.Generic;

+using System.Text;

+

+namespace CustomerMaintenance

+{

+	public class Customer

+	{

+		public string FirstName{get; set;}

+		public string LastName{get; set;}

+		public string Email{get; set;}

+

+		public Customer(string firstName = "", string lastName = "",

+			string email = "") =>

+			(this.FirstName, this.LastName, this.Email)

+				= (firstName, lastName, email);

+

+		public string GetDisplayText() {

+			return FirstName + " " + LastName

+				+ ", " + Email;

+		}

+	}

+}

diff --git a/customer_maintenance/CustomerMaintenance/CustomerDB.cs b/customer_maintenance/CustomerMaintenance/CustomerDB.cs
new file mode 100644
index 0000000..a1a3fc6
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/CustomerDB.cs
@@ -0,0 +1,64 @@
+using System;

+using System.Collections.Generic;

+using System.Text;

+using System.IO;

+

+namespace CustomerMaintenance

+{

+	public static class CustomerDB

+	{

+		private const string dir = @"C:\C#\Files\";

+		private const string path = dir + "Customers.txt";

+

+

+		public static void SaveCustomers(List<Customer> customers)

+		{

+			// create the output stream for a text file that exists

+			StreamWriter textOut =

+				new StreamWriter(

+				new FileStream(path, FileMode.Create, FileAccess.Write));

+

+			// write each customer

+			foreach (Customer customer in customers)

+			{

+				textOut.Write(customer.FirstName + "|");

+				textOut.Write(customer.LastName + "|");

+				textOut.WriteLine(customer.Email);

+			}

+

+			// write the end of the document

+			textOut.Close();

+		}

+

+		public static List<Customer> GetCustomers()

+		{

+			// if the directory doesn't exist, create it

+			if (!Directory.Exists(dir))

+				Directory.CreateDirectory(dir);

+

+			// create the object for the input stream for a text file

+			StreamReader textIn =

+				new StreamReader(

+					new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read));

+

+			// create the array list for customers

+			List<Customer> customers = new List<Customer>();

+

+			// read the data from the file and store it in the ArrayList

+			while (textIn.Peek() != -1)

+			{

+				string row = textIn.ReadLine();

+				string[] columns = row.Split('|');

+				Customer customer = new Customer();

+				customer.FirstName = columns[0];

+				customer.LastName = columns[1];

+				customer.Email = columns[2];

+				customers.Add(customer);

+			}

+

+			textIn.Close();

+

+			return customers;

+		}

+	}

+}

diff --git a/customer_maintenance/CustomerMaintenance/CustomerMaintenance.csproj b/customer_maintenance/CustomerMaintenance/CustomerMaintenance.csproj
new file mode 100644
index 0000000..7b05c62
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/CustomerMaintenance.csproj
@@ -0,0 +1,9 @@
+<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

+

+  <PropertyGroup>

+    <OutputType>WinExe</OutputType>

+    <TargetFramework>netcoreapp3.1</TargetFramework>

+    <UseWindowsForms>true</UseWindowsForms>

+  </PropertyGroup>

+

+</Project>
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/CustomerMaintenance.csproj.user b/customer_maintenance/CustomerMaintenance/CustomerMaintenance.csproj.user
new file mode 100644
index 0000000..85671fd
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/CustomerMaintenance.csproj.user
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>

+<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <ItemGroup>

+    <Compile Update="frmAddCustomer.cs">

+      <SubType>Form</SubType>

+    </Compile>

+    <Compile Update="frmCustomers.cs">

+      <SubType>Form</SubType>

+    </Compile>

+  </ItemGroup>

+</Project>
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/Program.cs b/customer_maintenance/CustomerMaintenance/Program.cs
new file mode 100644
index 0000000..ac28377
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/Program.cs
@@ -0,0 +1,23 @@
+using System;

+using System.Collections.Generic;

+using System.Linq;

+using System.Threading.Tasks;

+using System.Windows.Forms;

+

+namespace CustomerMaintenance

+{

+	static class Program

+	{

+		/// <summary>

+		///  The main entry point for the application.

+		/// </summary>

+		[STAThread]

+		static void Main()

+		{

+			Application.SetHighDpiMode(HighDpiMode.SystemAware);

+			Application.EnableVisualStyles();

+			Application.SetCompatibleTextRenderingDefault(false);

+			Application.Run(new frmCustomers());

+		}

+	}

+}

diff --git a/customer_maintenance/CustomerMaintenance/Properties/launchSettings.json b/customer_maintenance/CustomerMaintenance/Properties/launchSettings.json
new file mode 100644
index 0000000..f8d6e4a
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/Properties/launchSettings.json
@@ -0,0 +1,8 @@
+{

+  "profiles": {

+    "CustomerMaintenance": {

+      "commandName": "Project",

+      "commandLineArgs": "Hello Darkness My Old Friend"

+    }

+  }

+}
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/Validator.cs b/customer_maintenance/CustomerMaintenance/Validator.cs
new file mode 100644
index 0000000..ddc01b6
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/Validator.cs
@@ -0,0 +1,81 @@
+using System;

+using System.Collections.Generic;

+using System.Linq;

+using System.Text;

+using System.Threading.Tasks;

+using System.Windows.Forms;

+

+namespace CustomerMaintenance

+{

+	public static class Validator

+	{

+		private static string lineEnd = "\n";

+

+		public static string LineEnd

+		{

+			get

+			{

+				return lineEnd;

+			}

+			set

+			{

+				lineEnd = value;

+			}

+		}

+

+		public static string IsPresent(string value, string name)

+		{

+			string msg = "";

+			if (value == "")

+			{

+				msg += name + " is a required field." + LineEnd;

+			}

+			return msg;

+		}

+

+		public static string IsDecimal(string value, string name)

+		{

+			string msg = "";

+			if (!Decimal.TryParse(value, out _))

+			{

+				msg += name + " must be a valid decimal value." + LineEnd;

+			}

+			return msg;

+		}

+

+		 public static string IsInt32(string value, string name)

+		{

+			string msg = "";

+			if (!Int32.TryParse(value, out _))

+			{

+				msg += name + " must be a valid integer value." + LineEnd;

+			}

+			return msg;

+		}

+

+		public static string IsWithinRange(string value, string name, decimal min,

+			decimal max)

+		{

+			string msg = "";

+			if (Decimal.TryParse(value, out decimal number))

+			{

+				if (number < min || number > max)

+				{

+					msg += name + " must be between " + min + " and " + max + "." + LineEnd;

+				}

+			}

+			return msg;

+		}

+

+		public static string IsValidEmail(string value, string name)

+		{

+			string msg = "";

+			if (value.IndexOf("@") == -1 ||

+				 value.IndexOf(".") == -1)

+			{

+				msg += name + " must be a valid email address." + LineEnd;

+			}

+			return msg;

+		}

+	}

+}

diff --git a/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.deps.json b/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.deps.json
new file mode 100644
index 0000000..d3fd793
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.deps.json
@@ -0,0 +1,23 @@
+{

+  "runtimeTarget": {

+    "name": ".NETCoreApp,Version=v3.1",

+    "signature": ""

+  },

+  "compilationOptions": {},

+  "targets": {

+    ".NETCoreApp,Version=v3.1": {

+      "CustomerMaintenance/1.0.0": {

+        "runtime": {

+          "CustomerMaintenance.dll": {}

+        }

+      }

+    }

+  },

+  "libraries": {

+    "CustomerMaintenance/1.0.0": {

+      "type": "project",

+      "serviceable": false,

+      "sha512": ""

+    }

+  }

+}
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.dll b/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.dll
new file mode 100644
index 0000000..44e7090
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.dll
Binary files differdiff --git a/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.exe b/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.exe
new file mode 100644
index 0000000..6ac5517
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.exe
Binary files differdiff --git a/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.pdb b/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.pdb
new file mode 100644
index 0000000..709773b
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.pdb
Binary files differdiff --git a/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.runtimeconfig.dev.json b/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.runtimeconfig.dev.json
new file mode 100644
index 0000000..214bf78
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.runtimeconfig.dev.json
@@ -0,0 +1,8 @@
+{

+  "runtimeOptions": {

+    "additionalProbingPaths": [

+      "C:\\Users\\User\\.dotnet\\store\\|arch|\\|tfm|",

+      "C:\\Users\\User\\.nuget\\packages"

+    ]

+  }

+}
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.runtimeconfig.json b/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.runtimeconfig.json
new file mode 100644
index 0000000..9b3a644
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/bin/Debug/netcoreapp3.1/CustomerMaintenance.runtimeconfig.json
@@ -0,0 +1,9 @@
+{

+  "runtimeOptions": {

+    "tfm": "netcoreapp3.1",

+    "framework": {

+      "name": "Microsoft.WindowsDesktop.App",

+      "version": "3.1.0"

+    }

+  }

+}
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/frmAddCustomer.Designer.cs b/customer_maintenance/CustomerMaintenance/frmAddCustomer.Designer.cs
new file mode 100644
index 0000000..67b0c2a
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/frmAddCustomer.Designer.cs
@@ -0,0 +1,156 @@
+namespace CustomerMaintenance

+{

+    partial class frmAddCustomer

+    {

+        /// <summary>

+        /// Required designer variable.

+        /// </summary>

+        private System.ComponentModel.IContainer components = null;

+

+        /// <summary>

+        /// Clean up any resources being used.

+        /// </summary>

+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>

+        protected override void Dispose(bool disposing)

+        {

+            if (disposing && (components != null))

+            {

+                components.Dispose();

+            }

+            base.Dispose(disposing);

+        }

+

+        #region Windows Form Designer generated code

+

+        /// <summary>

+        /// Required method for Designer support - do not modify

+        /// the contents of this method with the code editor.

+        /// </summary>

+        private void InitializeComponent()

+        {

+            txtEmail = new System.Windows.Forms.TextBox();

+            txtLastName = new System.Windows.Forms.TextBox();

+            txtFirstName = new System.Windows.Forms.TextBox();

+            label4 = new System.Windows.Forms.Label();

+            label3 = new System.Windows.Forms.Label();

+            label2 = new System.Windows.Forms.Label();

+            btnCancel = new System.Windows.Forms.Button();

+            btnSave = new System.Windows.Forms.Button();

+            SuspendLayout();

+            // 

+            // txtEmail

+            // 

+            txtEmail.Location = new System.Drawing.Point(97, 88);

+            txtEmail.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            txtEmail.Name = "txtEmail";

+            txtEmail.Size = new System.Drawing.Size(205, 23);

+            txtEmail.TabIndex = 15;

+            txtEmail.Tag = "Email";

+            // 

+            // txtLastName

+            // 

+            txtLastName.Location = new System.Drawing.Point(97, 51);

+            txtLastName.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            txtLastName.Name = "txtLastName";

+            txtLastName.Size = new System.Drawing.Size(205, 23);

+            txtLastName.TabIndex = 14;

+            txtLastName.Tag = "Last Name";

+            // 

+            // txtFirstName

+            // 

+            txtFirstName.Location = new System.Drawing.Point(97, 14);

+            txtFirstName.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            txtFirstName.Name = "txtFirstName";

+            txtFirstName.Size = new System.Drawing.Size(205, 23);

+            txtFirstName.TabIndex = 13;

+            txtFirstName.Tag = "First Name";

+            // 

+            // label4

+            // 

+            label4.Location = new System.Drawing.Point(13, 88);

+            label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);

+            label4.Name = "label4";

+            label4.Size = new System.Drawing.Size(84, 27);

+            label4.TabIndex = 20;

+            label4.Text = "Email:";

+            label4.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

+            // 

+            // label3

+            // 

+            label3.Location = new System.Drawing.Point(13, 51);

+            label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);

+            label3.Name = "label3";

+            label3.Size = new System.Drawing.Size(84, 27);

+            label3.TabIndex = 19;

+            label3.Text = "Last Name:";

+            label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

+            // 

+            // label2

+            // 

+            label2.Location = new System.Drawing.Point(13, 14);

+            label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);

+            label2.Name = "label2";

+            label2.Size = new System.Drawing.Size(84, 27);

+            label2.TabIndex = 18;

+            label2.Text = "First Name:";

+            label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

+            // 

+            // btnCancel

+            // 

+            btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;

+            btnCancel.Location = new System.Drawing.Point(212, 123);

+            btnCancel.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            btnCancel.Name = "btnCancel";

+            btnCancel.Size = new System.Drawing.Size(88, 27);

+            btnCancel.TabIndex = 17;

+            btnCancel.Text = "&Cancel";

+            btnCancel.Click += btnCancel_Click;

+            // 

+            // btnSave

+            // 

+            btnSave.Location = new System.Drawing.Point(118, 123);

+            btnSave.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            btnSave.Name = "btnSave";

+            btnSave.Size = new System.Drawing.Size(88, 27);

+            btnSave.TabIndex = 16;

+            btnSave.Text = "&Save";

+            btnSave.Click += btnSave_Click;

+            // 

+            // frmAddCustomer

+            // 

+            AcceptButton = btnSave;

+            AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);

+            AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

+            CancelButton = btnCancel;

+            ClientSize = new System.Drawing.Size(317, 170);

+            ControlBox = false;

+            Controls.Add(txtEmail);

+            Controls.Add(txtLastName);

+            Controls.Add(txtFirstName);

+            Controls.Add(label4);

+            Controls.Add(label3);

+            Controls.Add(label2);

+            Controls.Add(btnCancel);

+            Controls.Add(btnSave);

+            FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;

+            Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            MaximizeBox = false;

+            Name = "frmAddCustomer";

+            StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

+            Text = "Add Customer";

+            ResumeLayout(false);

+            PerformLayout();

+        }

+

+        #endregion

+

+        private System.Windows.Forms.TextBox txtEmail;

+        private System.Windows.Forms.TextBox txtLastName;

+        private System.Windows.Forms.TextBox txtFirstName;

+        private System.Windows.Forms.Label label4;

+        private System.Windows.Forms.Label label3;

+        private System.Windows.Forms.Label label2;

+        private System.Windows.Forms.Button btnCancel;

+        private System.Windows.Forms.Button btnSave;

+    }

+}
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/frmAddCustomer.cs b/customer_maintenance/CustomerMaintenance/frmAddCustomer.cs
new file mode 100644
index 0000000..4021cfd
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/frmAddCustomer.cs
@@ -0,0 +1,47 @@
+using System;

+using System.Collections.Generic;

+using System.ComponentModel;

+using System.Data;

+using System.Drawing;

+using System.Text;

+using System.Windows.Forms;

+

+namespace CustomerMaintenance

+{

+	public partial class frmAddCustomer : Form

+	{

+		public frmAddCustomer()

+		{

+			InitializeComponent();

+		}

+

+		Customer customer = null;

+

+		public Customer GetNewCustomer()

+		{

+			this.ShowDialog();

+			return customer;

+		}

+

+		private void btnSave_Click(object sender, EventArgs e)

+		{

+			string msg = ""

+				+ Validator.IsPresent(txtFirstName.Text, txtFirstName.Tag.ToString())

+				+ Validator.IsPresent(txtLastName.Text, txtLastName.Tag.ToString())

+				+ Validator.IsValidEmail(txtEmail.Text, txtEmail.Tag.ToString());

+			if (msg != "") {

+				MessageBox.Show(msg, "Entry Error");

+				return;

+			}

+

+			customer = new Customer(txtFirstName.Text, txtLastName.Text,

+				txtEmail.Text);

+			this.Close();

+		}

+

+		private void btnCancel_Click(object sender, EventArgs e)

+		{

+			this.Close();

+		}

+	}

+}

diff --git a/customer_maintenance/CustomerMaintenance/frmAddCustomer.resx b/customer_maintenance/CustomerMaintenance/frmAddCustomer.resx
new file mode 100644
index 0000000..b92c163
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/frmAddCustomer.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>

+<root>

+  <!--

+    Microsoft ResX Schema 

+

+    Version 2.0

+

+    The primary goals of this format is to allow a simple XML format

+    that is mostly human readable. The generation and parsing of the

+    various data types are done through the TypeConverter classes

+    associated with the data types.

+

+    Example:

+

+    ... ado.net/XML headers & schema ...

+    <resheader name="resmimetype">text/microsoft-resx</resheader>

+    <resheader name="version">2.0</resheader>

+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>

+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>

+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>

+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>

+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">

+        <value>[base64 mime encoded serialized .NET Framework object]</value>

+    </data>

+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>

+        <comment>This is a comment</comment>

+    </data>

+

+    There are any number of "resheader" rows that contain simple

+    name/value pairs.

+

+    Each data row contains a name, and value. The row also contains a

+    type or mimetype. Type corresponds to a .NET class that support

+    text/value conversion through the TypeConverter architecture.

+    Classes that don't support this are serialized and stored with the

+    mimetype set.

+

+    The mimetype is used for serialized objects, and tells the

+    ResXResourceReader how to depersist the object. This is currently not

+    extensible. For a given mimetype the value must be set accordingly:

+

+    Note - application/x-microsoft.net.object.binary.base64 is the format

+    that the ResXResourceWriter will generate, however the reader can

+    read any of the formats listed below.

+

+    mimetype: application/x-microsoft.net.object.binary.base64

+    value   : The object must be serialized with

+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter

+            : and then encoded with base64 encoding.

+    

+    mimetype: application/x-microsoft.net.object.soap.base64

+    value   : The object must be serialized with

+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter

+            : and then encoded with base64 encoding.

+

+    mimetype: application/x-microsoft.net.object.bytearray.base64

+    value   : The object must be serialized into a byte array

+            : using a System.ComponentModel.TypeConverter

+            : and then encoded with base64 encoding.

+    -->

+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />

+    <xsd:element name="root" msdata:IsDataSet="true">

+      <xsd:complexType>

+        <xsd:choice maxOccurs="unbounded">

+          <xsd:element name="metadata">

+            <xsd:complexType>

+              <xsd:sequence>

+                <xsd:element name="value" type="xsd:string" minOccurs="0" />

+              </xsd:sequence>

+              <xsd:attribute name="name" use="required" type="xsd:string" />

+              <xsd:attribute name="type" type="xsd:string" />

+              <xsd:attribute name="mimetype" type="xsd:string" />

+              <xsd:attribute ref="xml:space" />

+            </xsd:complexType>

+          </xsd:element>

+          <xsd:element name="assembly">

+            <xsd:complexType>

+              <xsd:attribute name="alias" type="xsd:string" />

+              <xsd:attribute name="name" type="xsd:string" />

+            </xsd:complexType>

+          </xsd:element>

+          <xsd:element name="data">

+            <xsd:complexType>

+              <xsd:sequence>

+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />

+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />

+              </xsd:sequence>

+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />

+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />

+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />

+              <xsd:attribute ref="xml:space" />

+            </xsd:complexType>

+          </xsd:element>

+          <xsd:element name="resheader">

+            <xsd:complexType>

+              <xsd:sequence>

+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />

+              </xsd:sequence>

+              <xsd:attribute name="name" type="xsd:string" use="required" />

+            </xsd:complexType>

+          </xsd:element>

+        </xsd:choice>

+      </xsd:complexType>

+    </xsd:element>

+  </xsd:schema>

+  <resheader name="resmimetype">

+    <value>text/microsoft-resx</value>

+  </resheader>

+  <resheader name="version">

+    <value>2.0</value>

+  </resheader>

+  <resheader name="reader">

+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

+  </resheader>

+  <resheader name="writer">

+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

+  </resheader>

+</root>
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/frmCustomers.Designer.cs b/customer_maintenance/CustomerMaintenance/frmCustomers.Designer.cs
new file mode 100644
index 0000000..4f5b60a
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/frmCustomers.Designer.cs
@@ -0,0 +1,116 @@
+namespace CustomerMaintenance

+{

+    partial class frmCustomers

+    {

+        /// <summary>

+        ///  Required designer variable.

+        /// </summary>

+        private System.ComponentModel.IContainer components = null;

+

+        /// <summary>

+        ///  Clean up any resources being used.

+        /// </summary>

+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>

+        protected override void Dispose(bool disposing)

+        {

+            if (disposing && (components != null))

+            {

+                components.Dispose();

+            }

+            base.Dispose(disposing);

+        }

+

+        #region Windows Form Designer generated code

+

+        /// <summary>

+        ///  Required method for Designer support - do not modify

+        ///  the contents of this method with the code editor.

+        /// </summary>

+        private void InitializeComponent()

+        {

+            btnDelete = new System.Windows.Forms.Button();

+            btnAdd = new System.Windows.Forms.Button();

+            lstCustomers = new System.Windows.Forms.ListBox();

+            btnExit = new System.Windows.Forms.Button();

+            label1 = new System.Windows.Forms.Label();

+            SuspendLayout();

+            // 

+            // btnDelete

+            // 

+            btnDelete.Location = new System.Drawing.Point(359, 72);

+            btnDelete.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            btnDelete.Name = "btnDelete";

+            btnDelete.Size = new System.Drawing.Size(88, 27);

+            btnDelete.TabIndex = 8;

+            btnDelete.Text = "&Delete";

+            btnDelete.Click += btnDelete_Click;

+            // 

+            // btnAdd

+            // 

+            btnAdd.Location = new System.Drawing.Point(359, 35);

+            btnAdd.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            btnAdd.Name = "btnAdd";

+            btnAdd.Size = new System.Drawing.Size(88, 27);

+            btnAdd.TabIndex = 7;

+            btnAdd.Text = "&Add";

+            btnAdd.Click += btnAdd_Click;

+            // 

+            // lstCustomers

+            // 

+            lstCustomers.ItemHeight = 15;

+            lstCustomers.Location = new System.Drawing.Point(14, 35);

+            lstCustomers.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            lstCustomers.Name = "lstCustomers";

+            lstCustomers.Size = new System.Drawing.Size(326, 169);

+            lstCustomers.TabIndex = 5;

+            // 

+            // btnExit

+            // 

+            btnExit.DialogResult = System.Windows.Forms.DialogResult.Cancel;

+            btnExit.Location = new System.Drawing.Point(359, 108);

+            btnExit.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            btnExit.Name = "btnExit";

+            btnExit.Size = new System.Drawing.Size(88, 27);

+            btnExit.TabIndex = 9;

+            btnExit.Text = "&Exit";

+            btnExit.Click += btnExit_Click;

+            // 

+            // label1

+            // 

+            label1.Location = new System.Drawing.Point(14, 10);

+            label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);

+            label1.Name = "label1";

+            label1.Size = new System.Drawing.Size(112, 21);

+            label1.TabIndex = 6;

+            label1.Text = "Customers:";

+            label1.TextAlign = System.Drawing.ContentAlignment.BottomLeft;

+            // 

+            // frmCustomers

+            // 

+            AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);

+            AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

+            CancelButton = btnExit;

+            ClientSize = new System.Drawing.Size(470, 220);

+            Controls.Add(btnDelete);

+            Controls.Add(btnAdd);

+            Controls.Add(lstCustomers);

+            Controls.Add(btnExit);

+            Controls.Add(label1);

+            Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);

+            Name = "frmCustomers";

+            StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

+            Text = "Customer Maintenance";

+            Load += frmCustomers_Load;

+            ResumeLayout(false);

+        }

+

+        #endregion

+

+        private System.Windows.Forms.Button btnDelete;

+        private System.Windows.Forms.Button btnAdd;

+        private System.Windows.Forms.ListBox lstCustomers;

+        private System.Windows.Forms.Button btnExit;

+        private System.Windows.Forms.Label label1;

+    }

+}

+

diff --git a/customer_maintenance/CustomerMaintenance/frmCustomers.cs b/customer_maintenance/CustomerMaintenance/frmCustomers.cs
new file mode 100644
index 0000000..d40bb11
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/frmCustomers.cs
@@ -0,0 +1,58 @@
+using System;

+using System.Collections.Generic;

+using System.ComponentModel;

+using System.Data;

+using System.Drawing;

+using System.Linq;

+using System.Text;

+using System.Threading.Tasks;

+using System.Windows.Forms;

+

+namespace CustomerMaintenance

+{

+	public partial class frmCustomers : Form

+	{

+		public frmCustomers()

+		{

+			InitializeComponent();

+		}

+

+		public List<Customer> customers = null;

+

+		private void frmCustomers_Load(object sender, EventArgs e)

+		{

+			customers = CustomerDB.GetCustomers();

+			foreach (Customer i in customers)

+				lstCustomers.Items.Add(i.GetDisplayText());

+		}

+

+		private void btnAdd_Click(object sender, EventArgs e)

+		{

+			frmAddCustomer customer = new frmAddCustomer();

+			Customer newCustomer = customer.GetNewCustomer();

+			if (newCustomer != null)

+				customers.Add(newCustomer);

+

+			CustomerDB.SaveCustomers(customers);

+			lstCustomers.Items.Clear();

+			foreach (Customer i in customers)

+				lstCustomers.Items.Add(i.GetDisplayText());

+		}

+

+		private void btnDelete_Click(object sender, EventArgs e)

+		{

+			if (lstCustomers.SelectedIndex != -1)

+				customers.RemoveAt(lstCustomers.SelectedIndex);

+

+			CustomerDB.SaveCustomers(customers);

+			lstCustomers.Items.Clear();

+			foreach (Customer i in customers)

+				lstCustomers.Items.Add(i.GetDisplayText());

+		}

+

+		private void btnExit_Click(object sender, EventArgs e)

+		{

+			this.Close();

+		}

+	}

+}

diff --git a/customer_maintenance/CustomerMaintenance/frmCustomers.resx b/customer_maintenance/CustomerMaintenance/frmCustomers.resx
new file mode 100644
index 0000000..b92c163
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/frmCustomers.resx
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>

+<root>

+  <!--

+    Microsoft ResX Schema 

+

+    Version 2.0

+

+    The primary goals of this format is to allow a simple XML format

+    that is mostly human readable. The generation and parsing of the

+    various data types are done through the TypeConverter classes

+    associated with the data types.

+

+    Example:

+

+    ... ado.net/XML headers & schema ...

+    <resheader name="resmimetype">text/microsoft-resx</resheader>

+    <resheader name="version">2.0</resheader>

+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>

+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>

+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>

+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>

+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">

+        <value>[base64 mime encoded serialized .NET Framework object]</value>

+    </data>

+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>

+        <comment>This is a comment</comment>

+    </data>

+

+    There are any number of "resheader" rows that contain simple

+    name/value pairs.

+

+    Each data row contains a name, and value. The row also contains a

+    type or mimetype. Type corresponds to a .NET class that support

+    text/value conversion through the TypeConverter architecture.

+    Classes that don't support this are serialized and stored with the

+    mimetype set.

+

+    The mimetype is used for serialized objects, and tells the

+    ResXResourceReader how to depersist the object. This is currently not

+    extensible. For a given mimetype the value must be set accordingly:

+

+    Note - application/x-microsoft.net.object.binary.base64 is the format

+    that the ResXResourceWriter will generate, however the reader can

+    read any of the formats listed below.

+

+    mimetype: application/x-microsoft.net.object.binary.base64

+    value   : The object must be serialized with

+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter

+            : and then encoded with base64 encoding.

+    

+    mimetype: application/x-microsoft.net.object.soap.base64

+    value   : The object must be serialized with

+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter

+            : and then encoded with base64 encoding.

+

+    mimetype: application/x-microsoft.net.object.bytearray.base64

+    value   : The object must be serialized into a byte array

+            : using a System.ComponentModel.TypeConverter

+            : and then encoded with base64 encoding.

+    -->

+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />

+    <xsd:element name="root" msdata:IsDataSet="true">

+      <xsd:complexType>

+        <xsd:choice maxOccurs="unbounded">

+          <xsd:element name="metadata">

+            <xsd:complexType>

+              <xsd:sequence>

+                <xsd:element name="value" type="xsd:string" minOccurs="0" />

+              </xsd:sequence>

+              <xsd:attribute name="name" use="required" type="xsd:string" />

+              <xsd:attribute name="type" type="xsd:string" />

+              <xsd:attribute name="mimetype" type="xsd:string" />

+              <xsd:attribute ref="xml:space" />

+            </xsd:complexType>

+          </xsd:element>

+          <xsd:element name="assembly">

+            <xsd:complexType>

+              <xsd:attribute name="alias" type="xsd:string" />

+              <xsd:attribute name="name" type="xsd:string" />

+            </xsd:complexType>

+          </xsd:element>

+          <xsd:element name="data">

+            <xsd:complexType>

+              <xsd:sequence>

+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />

+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />

+              </xsd:sequence>

+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />

+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />

+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />

+              <xsd:attribute ref="xml:space" />

+            </xsd:complexType>

+          </xsd:element>

+          <xsd:element name="resheader">

+            <xsd:complexType>

+              <xsd:sequence>

+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />

+              </xsd:sequence>

+              <xsd:attribute name="name" type="xsd:string" use="required" />

+            </xsd:complexType>

+          </xsd:element>

+        </xsd:choice>

+      </xsd:complexType>

+    </xsd:element>

+  </xsd:schema>

+  <resheader name="resmimetype">

+    <value>text/microsoft-resx</value>

+  </resheader>

+  <resheader name="version">

+    <value>2.0</value>

+  </resheader>

+  <resheader name="reader">

+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

+  </resheader>

+  <resheader name="writer">

+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

+  </resheader>

+</root>
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/obj/CustomerMaintenance.csproj.nuget.dgspec.json b/customer_maintenance/CustomerMaintenance/obj/CustomerMaintenance.csproj.nuget.dgspec.json
new file mode 100644
index 0000000..a343797
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/CustomerMaintenance.csproj.nuget.dgspec.json
@@ -0,0 +1,66 @@
+{

+  "format": 1,

+  "restore": {

+    "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 12\\CustomerMaintenance\\CustomerMaintenance\\CustomerMaintenance.csproj": {}

+  },

+  "projects": {

+    "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 12\\CustomerMaintenance\\CustomerMaintenance\\CustomerMaintenance.csproj": {

+      "version": "1.0.0",

+      "restore": {

+        "projectUniqueName": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 12\\CustomerMaintenance\\CustomerMaintenance\\CustomerMaintenance.csproj",

+        "projectName": "CustomerMaintenance",

+        "projectPath": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 12\\CustomerMaintenance\\CustomerMaintenance\\CustomerMaintenance.csproj",

+        "packagesPath": "C:\\Users\\User\\.nuget\\packages\\",

+        "outputPath": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 12\\CustomerMaintenance\\CustomerMaintenance\\obj\\",

+        "projectStyle": "PackageReference",

+        "configFilePaths": [

+          "C:\\Users\\User\\AppData\\Roaming\\NuGet\\NuGet.Config",

+          "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"

+        ],

+        "originalTargetFrameworks": [

+          "netcoreapp3.1"

+        ],

+        "sources": {

+          "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},

+          "https://api.nuget.org/v3/index.json": {}

+        },

+        "frameworks": {

+          "netcoreapp3.1": {

+            "targetAlias": "netcoreapp3.1",

+            "projectReferences": {}

+          }

+        },

+        "warningProperties": {

+          "warnAsError": [

+            "NU1605"

+          ]

+        }

+      },

+      "frameworks": {

+        "netcoreapp3.1": {

+          "targetAlias": "netcoreapp3.1",

+          "imports": [

+            "net461",

+            "net462",

+            "net47",

+            "net471",

+            "net472",

+            "net48",

+            "net481"

+          ],

+          "assetTargetFallback": true,

+          "warn": true,

+          "frameworkReferences": {

+            "Microsoft.NETCore.App": {

+              "privateAssets": "all"

+            },

+            "Microsoft.WindowsDesktop.App.WindowsForms": {

+              "privateAssets": "none"

+            }

+          },

+          "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.100\\RuntimeIdentifierGraph.json"

+        }

+      }

+    }

+  }

+}
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/obj/CustomerMaintenance.csproj.nuget.g.props b/customer_maintenance/CustomerMaintenance/obj/CustomerMaintenance.csproj.nuget.g.props
new file mode 100644
index 0000000..af28506
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/CustomerMaintenance.csproj.nuget.g.props
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>

+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

+  <PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">

+    <RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>

+    <RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>

+    <ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>

+    <NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>

+    <NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\User\.nuget\packages\</NuGetPackageFolders>

+    <NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>

+    <NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.8.0</NuGetToolVersion>

+  </PropertyGroup>

+  <ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">

+    <SourceRoot Include="C:\Users\User\.nuget\packages\" />

+  </ItemGroup>

+</Project>
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/obj/CustomerMaintenance.csproj.nuget.g.targets b/customer_maintenance/CustomerMaintenance/obj/CustomerMaintenance.csproj.nuget.g.targets
new file mode 100644
index 0000000..35a7576
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/CustomerMaintenance.csproj.nuget.g.targets
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>

+<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
new file mode 100644
index 0000000..3364fdf
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+// <autogenerated />

+using System;

+using System.Reflection;

+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = ".NET Core 3.1")]

diff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.AssemblyInfo.cs b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.AssemblyInfo.cs
new file mode 100644
index 0000000..c1791a1
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.AssemblyInfo.cs
@@ -0,0 +1,23 @@
+//------------------------------------------------------------------------------

+// <auto-generated>

+//     This code was generated by a tool.

+//     Runtime Version:4.0.30319.42000

+//

+//     Changes to this file may cause incorrect behavior and will be lost if

+//     the code is regenerated.

+// </auto-generated>

+//------------------------------------------------------------------------------

+

+using System;

+using System.Reflection;

+

+[assembly: System.Reflection.AssemblyCompanyAttribute("CustomerMaintenance")]

+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]

+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]

+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]

+[assembly: System.Reflection.AssemblyProductAttribute("CustomerMaintenance")]

+[assembly: System.Reflection.AssemblyTitleAttribute("CustomerMaintenance")]

+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

+

+// Generated by the MSBuild WriteCodeFragment class.

+

diff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.AssemblyInfoInputs.cache b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..3d031a2
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+2b5b56016897ba9e18ca8673431d68449aebe4c513d689a2a25faa26b6ca37f6

diff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.GeneratedMSBuildEditorConfig.editorconfig b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000..7892d27
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,11 @@
+is_global = true

+build_property.ApplicationManifest = 

+build_property.StartupObject = 

+build_property.ApplicationDefaultFont = 

+build_property.ApplicationHighDpiMode = 

+build_property.ApplicationUseCompatibleTextRendering = 

+build_property.ApplicationVisualStyles = 

+build_property.RootNamespace = CustomerMaintenance

+build_property.ProjectDir = C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\

+build_property.EnableComHosting = 

+build_property.EnableGeneratedComInterfaceComImportInterop = 

diff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.assets.cache b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.assets.cache
new file mode 100644
index 0000000..6124af1
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.assets.cache
Binary files differdiff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.BuildWithSkipAnalyzers b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.BuildWithSkipAnalyzers
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.BuildWithSkipAnalyzers
diff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.CoreCompileInputs.cache b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..b99453c
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+082547597834cf1c5e119290a95b53b7c29c2cf3532f1d044a0899803d8f4c17

diff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.FileListAbsolute.txt b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..ef17d06
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.FileListAbsolute.txt
@@ -0,0 +1,40 @@
+C:\murach\C#\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.csproj.AssemblyReference.cache

+C:\murach\C#\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.frmAddCustomer.resources

+C:\murach\C#\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.frmCustomers.resources

+C:\murach\C#\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.csproj.GenerateResource.cache

+C:\murach\C#\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.AssemblyInfoInputs.cache

+C:\murach\C#\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.AssemblyInfo.cs

+C:\murach\C#\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.csproj.CoreCompileInputs.cache

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.csproj.AssemblyReference.cache

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.frmAddCustomer.resources

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.frmCustomers.resources

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.csproj.GenerateResource.cache

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.GeneratedMSBuildEditorConfig.editorconfig

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.AssemblyInfoInputs.cache

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.AssemblyInfo.cs

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.csproj.CoreCompileInputs.cache

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\bin\Debug\netcoreapp3.1\CustomerMaintenance.exe

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\bin\Debug\netcoreapp3.1\CustomerMaintenance.deps.json

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\bin\Debug\netcoreapp3.1\CustomerMaintenance.runtimeconfig.json

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\bin\Debug\netcoreapp3.1\CustomerMaintenance.runtimeconfig.dev.json

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\bin\Debug\netcoreapp3.1\CustomerMaintenance.dll

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\bin\Debug\netcoreapp3.1\CustomerMaintenance.pdb

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.dll

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.pdb

+C:\Users\andrew.honey\OneDrive - Southeast Technical College\Desktop\CIS 131\Student Download\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.genruntimeconfig.cache

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.frmAddCustomer.resources

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.frmCustomers.resources

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.csproj.GenerateResource.cache

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.GeneratedMSBuildEditorConfig.editorconfig

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.AssemblyInfoInputs.cache

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.AssemblyInfo.cs

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.csproj.CoreCompileInputs.cache

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.dll

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.pdb

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\bin\Debug\netcoreapp3.1\CustomerMaintenance.exe

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\bin\Debug\netcoreapp3.1\CustomerMaintenance.deps.json

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\bin\Debug\netcoreapp3.1\CustomerMaintenance.runtimeconfig.json

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\bin\Debug\netcoreapp3.1\CustomerMaintenance.runtimeconfig.dev.json

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\bin\Debug\netcoreapp3.1\CustomerMaintenance.dll

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\bin\Debug\netcoreapp3.1\CustomerMaintenance.pdb

+C:\Users\User\Documents\cs\Exercise Starts\Chapter 12\CustomerMaintenance\CustomerMaintenance\obj\Debug\netcoreapp3.1\CustomerMaintenance.genruntimeconfig.cache

diff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.GenerateResource.cache b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.GenerateResource.cache
new file mode 100644
index 0000000..22209f4
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.csproj.GenerateResource.cache
Binary files differdiff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.designer.deps.json b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.designer.deps.json
new file mode 100644
index 0000000..9bb9f82
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.designer.deps.json
@@ -0,0 +1,11 @@
+{

+  "runtimeTarget": {

+    "name": ".NETCoreApp,Version=v3.1",

+    "signature": ""

+  },

+  "compilationOptions": {},

+  "targets": {

+    ".NETCoreApp,Version=v3.1": {}

+  },

+  "libraries": {}

+}
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.designer.runtimeconfig.json b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.designer.runtimeconfig.json
new file mode 100644
index 0000000..fdc9c5f
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.designer.runtimeconfig.json
@@ -0,0 +1,16 @@
+{

+  "runtimeOptions": {

+    "tfm": "netcoreapp3.1",

+    "framework": {

+      "name": "Microsoft.WindowsDesktop.App",

+      "version": "3.1.0"

+    },

+    "additionalProbingPaths": [

+      "C:\\Users\\User\\.dotnet\\store\\|arch|\\|tfm|",

+      "C:\\Users\\User\\.nuget\\packages"

+    ],

+    "configProperties": {

+      "Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true

+    }

+  }

+}
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.dll b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.dll
new file mode 100644
index 0000000..44e7090
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.dll
Binary files differdiff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.frmAddCustomer.resources b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.frmAddCustomer.resources
new file mode 100644
index 0000000..6c05a97
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.frmAddCustomer.resources
Binary files differdiff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.frmCustomers.resources b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.frmCustomers.resources
new file mode 100644
index 0000000..6c05a97
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.frmCustomers.resources
Binary files differdiff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.genruntimeconfig.cache b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.genruntimeconfig.cache
new file mode 100644
index 0000000..bfe45b8
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.genruntimeconfig.cache
@@ -0,0 +1 @@
+2db253a0fcc357e7ff82e44e85d626576a7b31aeb85235c118ac4615d8226681

diff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.pdb b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.pdb
new file mode 100644
index 0000000..709773b
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/CustomerMaintenance.pdb
Binary files differdiff --git a/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/apphost.exe b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/apphost.exe
new file mode 100644
index 0000000..6ac5517
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/Debug/netcoreapp3.1/apphost.exe
Binary files differdiff --git a/customer_maintenance/CustomerMaintenance/obj/project.assets.json b/customer_maintenance/CustomerMaintenance/obj/project.assets.json
new file mode 100644
index 0000000..987b6b5
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/project.assets.json
@@ -0,0 +1,71 @@
+{

+  "version": 3,

+  "targets": {

+    ".NETCoreApp,Version=v3.1": {}

+  },

+  "libraries": {},

+  "projectFileDependencyGroups": {

+    ".NETCoreApp,Version=v3.1": []

+  },

+  "packageFolders": {

+    "C:\\Users\\User\\.nuget\\packages\\": {}

+  },

+  "project": {

+    "version": "1.0.0",

+    "restore": {

+      "projectUniqueName": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 12\\CustomerMaintenance\\CustomerMaintenance\\CustomerMaintenance.csproj",

+      "projectName": "CustomerMaintenance",

+      "projectPath": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 12\\CustomerMaintenance\\CustomerMaintenance\\CustomerMaintenance.csproj",

+      "packagesPath": "C:\\Users\\User\\.nuget\\packages\\",

+      "outputPath": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 12\\CustomerMaintenance\\CustomerMaintenance\\obj\\",

+      "projectStyle": "PackageReference",

+      "configFilePaths": [

+        "C:\\Users\\User\\AppData\\Roaming\\NuGet\\NuGet.Config",

+        "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"

+      ],

+      "originalTargetFrameworks": [

+        "netcoreapp3.1"

+      ],

+      "sources": {

+        "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},

+        "https://api.nuget.org/v3/index.json": {}

+      },

+      "frameworks": {

+        "netcoreapp3.1": {

+          "targetAlias": "netcoreapp3.1",

+          "projectReferences": {}

+        }

+      },

+      "warningProperties": {

+        "warnAsError": [

+          "NU1605"

+        ]

+      }

+    },

+    "frameworks": {

+      "netcoreapp3.1": {

+        "targetAlias": "netcoreapp3.1",

+        "imports": [

+          "net461",

+          "net462",

+          "net47",

+          "net471",

+          "net472",

+          "net48",

+          "net481"

+        ],

+        "assetTargetFallback": true,

+        "warn": true,

+        "frameworkReferences": {

+          "Microsoft.NETCore.App": {

+            "privateAssets": "all"

+          },

+          "Microsoft.WindowsDesktop.App.WindowsForms": {

+            "privateAssets": "none"

+          }

+        },

+        "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.100\\RuntimeIdentifierGraph.json"

+      }

+    }

+  }

+}
\ No newline at end of file
diff --git a/customer_maintenance/CustomerMaintenance/obj/project.nuget.cache b/customer_maintenance/CustomerMaintenance/obj/project.nuget.cache
new file mode 100644
index 0000000..8e4a481
--- /dev/null
+++ b/customer_maintenance/CustomerMaintenance/obj/project.nuget.cache
@@ -0,0 +1,8 @@
+{

+  "version": 2,

+  "dgSpecHash": "Tb1ZcogrngwcJXKB45nYVRA86/RGpF/pUQzWji87SH+AhsRNS5ucWrqjZtWvYcdYfHjK1hoLIJ6Cd/mGGQ4R+w==",

+  "success": true,

+  "projectFilePath": "C:\\Users\\User\\Documents\\cs\\Exercise Starts\\Chapter 12\\CustomerMaintenance\\CustomerMaintenance\\CustomerMaintenance.csproj",

+  "expectedPackageFiles": [],

+  "logs": []

+}
\ No newline at end of file