diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test117 b/sonic3air-main/framework/external/curl/curl/tests/data/test117
new file mode 100644
index 00000000..014223a3
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test117
@@ -0,0 +1,44 @@
+
+
+
+FTP
+FAILURE
+
+
+# Server-side
+
+
+REPLY EPSV 314 bluah you f00l!
+REPLY TYPE 314 bluah you f00l!
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download, failed TYPE
+
+
+ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
+
+
+
+# Verify data after the test has been "shot"
+
+
+17
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE I
+QUIT
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1170 b/sonic3air-main/framework/external/curl/curl/tests/data/test1170
new file mode 100644
index 00000000..1da2019f
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1170
@@ -0,0 +1,67 @@
+
+
+
+HTTP
+HTTP GET
+compressed
+Transfer-Encoding
+
+
+#
+# Server-side
+
+
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
+UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
+VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
+U08tODg1OS0xDQpUcmFuc2Zlci1FbmNvZGluZzogZ3ppcCwgY2h1bmtlZA0KDQoyYw0KH4sICHme
+q0EAA2xhbGFsYQDLycxLVTDkUsgB0UZcChCGMRcACgJxYBgAAAANCjANCg0K
+
+
+
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip, chunked
+
+line 1
+ line 2
+ line 3
+
+
+
+
+#
+# Client-side
+
+
+libz
+
+
+http
+
+
+HTTP GET transfer-encoding with removed Connection:
+
+
+http://%HOSTIP:%HTTPPORT/%TESTNUMBER --tr-encoding -H "Connection:"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+Connection: TE
+TE: gzip
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1171 b/sonic3air-main/framework/external/curl/curl/tests/data/test1171
new file mode 100644
index 00000000..aaf23502
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1171
@@ -0,0 +1,67 @@
+
+
+
+HTTP
+HTTP GET
+compressed
+Transfer-Encoding
+
+
+#
+# Server-side
+
+
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
+UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
+VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
+U08tODg1OS0xDQpUcmFuc2Zlci1FbmNvZGluZzogZ3ppcCwgY2h1bmtlZA0KDQoyYw0KH4sICHme
+q0EAA2xhbGFsYQDLycxLVTDkUsgB0UZcChCGMRcACgJxYBgAAAANCjANCg0K
+
+
+
+HTTP/1.1 200 OK
+Date: Mon, 29 Nov 2004 21:56:53 GMT
+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29
+Vary: Accept-Encoding
+Content-Type: text/html; charset=ISO-8859-1
+Transfer-Encoding: gzip, chunked
+
+line 1
+ line 2
+ line 3
+
+
+
+
+#
+# Client-side
+
+
+libz
+
+
+http
+
+
+HTTP GET transfer-encoding with blanked Connection:
+
+
+http://%HOSTIP:%HTTPPORT/%TESTNUMBER --tr-encoding -H "Connection;"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+Connection: TE
+TE: gzip
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1172 b/sonic3air-main/framework/external/curl/curl/tests/data/test1172
new file mode 100644
index 00000000..c154293a
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1172
@@ -0,0 +1,48 @@
+
+
+
+HTTP
+HTTP/0.9
+
+
+
+#
+# Server-side
+
+
+-foo- swsclose
+
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP/0.9 GET response denied
+
+
+http://%HOSTIP:%HTTPPORT/%TESTNUMBER --no-http0.9
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+
+
+# unsupported protocol
+
+1
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1173 b/sonic3air-main/framework/external/curl/curl/tests/data/test1173
new file mode 100644
index 00000000..f52afa6b
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1173
@@ -0,0 +1,32 @@
+
+
+
+source analysis
+documentation
+--manual
+
+
+
+#
+# Client-side
+
+
+none
+
+
+
+Man page syntax checks
+
+
+
+%SRCDIR/manpage-syntax.pl %SRCDIR/../docs/libcurl/symbols-in-versions %SRCDIR/../docs/*.1 %SRCDIR/../docs/libcurl/*.3 %SRCDIR/../docs/libcurl/opts/*.3
+
+
+
+
+
+ok
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1174 b/sonic3air-main/framework/external/curl/curl/tests/data/test1174
new file mode 100644
index 00000000..194c32fd
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1174
@@ -0,0 +1,48 @@
+
+
+
+HTTP
+HTTP/0.9
+
+
+
+#
+# Server-side
+
+
+-foo- swsclose
+
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP/0.9 GET response denied by default
+
+
+http://%HOSTIP:%HTTPPORT/%TESTNUMBER
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+
+
+# unsupported protocol
+
+1
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1175 b/sonic3air-main/framework/external/curl/curl/tests/data/test1175
new file mode 100644
index 00000000..61f06891
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1175
@@ -0,0 +1,25 @@
+
+
+
+source analysis
+symbols-in-versions
+
+
+
+#
+# Client-side
+
+
+none
+
+
+
+Verify that symbols-in-versions and libcurl-errors.3 are in sync
+
+
+
+%SRCDIR/error-codes.pl %SRCDIR
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1176 b/sonic3air-main/framework/external/curl/curl/tests/data/test1176
new file mode 100644
index 00000000..7a7d1287
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1176
@@ -0,0 +1,66 @@
+
+
+
+globbing
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+--output using #0
+
+
+http://%HOSTIP:%HTTPPORT/%TESTNUMBER -o 'log/base-#0'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+
+
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1177 b/sonic3air-main/framework/external/curl/curl/tests/data/test1177
new file mode 100644
index 00000000..85b520ce
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1177
@@ -0,0 +1,25 @@
+
+
+
+source analysis
+CURL_VERSION
+
+
+
+#
+# Client-side
+
+
+none
+
+
+
+Verify that CURL_VERSION_* in headers and docs are in sync
+
+
+
+%SRCDIR/version-scan.pl %SRCDIR/../docs/libcurl/curl_version_info.3 %SRCDIR/../include/curl/curl.h
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1178 b/sonic3air-main/framework/external/curl/curl/tests/data/test1178
new file mode 100644
index 00000000..d3b6b619
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1178
@@ -0,0 +1,53 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP proxy auth with credentials longer than 256 bytes
+
+# 400 x 'A' : 600 x 'B' ...
+
+http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER -x http://%HOSTIP:%HTTPPORT -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+
+
+proxy
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET http://%HOSTIP:%HTTPPORT/we/want/that/page/%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Proxy-Authorization: Basic QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTpCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkI=
+User-Agent: curl/%VERSION
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1179 b/sonic3air-main/framework/external/curl/curl/tests/data/test1179
new file mode 100644
index 00000000..8dca8ab8
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1179
@@ -0,0 +1,43 @@
+
+
+
+cmdline
+wrong option
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+none
+
+# make this test require manual as the error message is different without it
+
+manual
+
+
+error when using unknown command line option
+
+
+--never-implemented http://never.use.this.example.com/%TESTNUMBER
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+2
+
+
+curl: option --never-implemented: is unknown
+curl: try 'curl --help' or 'curl --manual' for more information
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test118 b/sonic3air-main/framework/external/curl/curl/tests/data/test118
new file mode 100644
index 00000000..750d91eb
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test118
@@ -0,0 +1,49 @@
+
+
+
+FTP
+PASV
+RETR
+FAILURE
+
+
+# Server-side
+
+
+REPLY RETR 314 bluah you f00l!
+REPLY EPSV 314 bluah you f00l!
+REPLY SIZE 500 command not understood
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download, failed RETR
+
+
+ftp://%HOSTIP:%FTPPORT/%TESTNUMBER
+
+
+
+# Verify data after the test has been "shot"
+
+
+19
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE I
+SIZE %TESTNUMBER
+RETR %TESTNUMBER
+QUIT
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1180 b/sonic3air-main/framework/external/curl/curl/tests/data/test1180
new file mode 100644
index 00000000..ca28886c
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1180
@@ -0,0 +1,48 @@
+
+
+
+HTTP
+HTTP proxy
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: Blafasel/5.0
+Date: Sat, 16 Jan 2021 14:48:30 GMT
+Content-Length: 12
+
+Bla bla bla
+
+
+
+
+# Client-side
+
+
+http
+
+
+proxy
+
+
+HTTP GET request with proxy and -H "Proxy-Connection: keep-alive"
+
+
+--proxy http://%HOSTIP:%HTTPPORT -H "Proxy-Connection: Keep-Alive" http://%HOSTIP:%HTTPPORT/%TESTNUMBER
+
+
+
+
+
+GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1181 b/sonic3air-main/framework/external/curl/curl/tests/data/test1181
new file mode 100644
index 00000000..5afb43d1
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1181
@@ -0,0 +1,48 @@
+
+
+
+HTTP
+HTTP proxy
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: Blafasel/5.0
+Date: Sat, 16 Jan 2021 14:48:30 GMT
+Content-Length: 12
+
+Bla bla bla
+
+
+
+
+# Client-side
+
+
+http
+
+
+proxy
+
+
+HTTP GET request with proxy and --proxy-header "Proxy-Connection: Keep-Alive"
+
+
+--proxy http://%HOSTIP:%HTTPPORT --proxy-header "Proxy-Connection: Keep-Alive" http://%HOSTIP:%HTTPPORT/%TESTNUMBER
+
+
+
+
+
+GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1182 b/sonic3air-main/framework/external/curl/curl/tests/data/test1182
new file mode 100644
index 00000000..105d3d1f
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1182
@@ -0,0 +1,36 @@
+
+
+
+runtests.pl
+
+
+
+#
+# Client-side
+
+
+none
+
+
+Verify that runtests.pl accepts an exclude file with the -E option
+
+
+
+%SRCDIR/runtests.pl -o TESTDIR=%SRCDIR/log/data -o LOGDIR=%SRCDIR/log/log -E %SRCDIR/log/test%TESTNUMBER-exclude-file 1
+
+
+mkdir %SRCDIR/log/data ; mkdir %SRCDIR/log/log; cp %SRCDIR/data/test1 %SRCDIR/log/data; echo 'test:1:Test should not run for unit test %TESTNUMBER' > %SRCDIR/log/test%TESTNUMBER-exclude-file
+
+
+grep -q "Test should not run for unit test %TESTNUMBER" %SRCDIR/log/stdout%TESTNUMBER
+
+
+
+
+
+
+1
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1183 b/sonic3air-main/framework/external/curl/curl/tests/data/test1183
new file mode 100644
index 00000000..0223c1fe
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1183
@@ -0,0 +1,48 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: Blafasel/5.0
+Date: Sat, 16 Jan 2021 14:48:30 GMT
+Content-Length: 12
+
+Bla bla bla
+
+
+
+
+# Client-side
+
+
+http
+
+
+proxy
+
+
+%TESTNUMBER used instead of actual test number
+
+
+http://%HOSTIP:%HTTPPORT/%TESTNUMBER
+
+
+
+# Verify that the %TESTNUMBER has been resolved to %TESTNUMBER
+
+
+GET /%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1184 b/sonic3air-main/framework/external/curl/curl/tests/data/test1184
new file mode 100644
index 00000000..8db9665a
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1184
@@ -0,0 +1,108 @@
+
+
+
+HTTP
+HTTP CONNECT
+HTTP proxy
+proxytunnel
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 Mighty fine indeed
+Server: test tunnel 2000
+
+
+
+
+HTTP/1.1 302 OK
+Location: http://%HOSTIP.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+Connection: close
+
+contents
+
+
+
+HTTP/1.1 200 OK
+Content-Length: 7
+
+second
+
+
+
+#
+# Client-side
+
+
+http
+http-proxy
+
+
+HTTP 1.1 CONNECT with redirect and set -H user-agent
+
+
+-x %HOSTIP:%PROXYPORT -p http://%HOSTIP.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER -L -H "User-Agent: %TESTNUMBER-agent"
+
+
+proxy
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+CONNECT %HOSTIP.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: %HOSTIP.%TESTNUMBER:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
+CONNECT %HOSTIP.%TESTNUMBER:%HTTPPORT HTTP/1.1
+Host: %HOSTIP.%TESTNUMBER:%HTTPPORT
+User-Agent: curl/%VERSION
+Proxy-Connection: Keep-Alive
+
+
+
+GET /we/want/that/page/%TESTNUMBER HTTP/1.1
+Host: %HOSTIP.%TESTNUMBER:%HTTPPORT
+Accept: */*
+User-Agent: %TESTNUMBER-agent
+
+GET /we/want/that/page/%TESTNUMBER0002 HTTP/1.1
+Host: %HOSTIP.%TESTNUMBER:%HTTPPORT
+Accept: */*
+User-Agent: %TESTNUMBER-agent
+
+
+
+HTTP/1.1 200 Mighty fine indeed
+Server: test tunnel 2000
+
+HTTP/1.1 302 OK
+Location: http://%HOSTIP.%TESTNUMBER:%HTTPPORT/we/want/that/page/%TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 9
+Connection: close
+
+HTTP/1.1 200 Mighty fine indeed
+Server: test tunnel 2000
+
+HTTP/1.1 200 OK
+Content-Length: 7
+
+second
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1185 b/sonic3air-main/framework/external/curl/curl/tests/data/test1185
new file mode 100644
index 00000000..eb672efa
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1185
@@ -0,0 +1,184 @@
+
+
+
+checksrc
+
+
+
+#
+# Client-side
+
+
+none
+
+
+checksrc
+
+
+
+%SRCDIR/../scripts/checksrc.pl log/code%TESTNUMBER.c
+
+
+/* test source code
+ * Violate each rule at least once.
+ **/
+int hello; /*------------------------------------------------------------------*/
+int tab;
+int trailing_space;
+int a = func ();
+int b = func( b);
+int b = func(b );
+func(a, b , c);
+
+int hello()
+{
+ return(2);
+}
+func(a, b,c);
+
+if(a == 2) {
+ ;
+} else {
+ moo = 2;
+}
+
+if(a == 2){ /* followed by comment */
+ ;
+}
+
+func() ;
+
+a = sprintf(buffer, "%s", moo);
+
+FILE *f = fopen("filename", "r");
+
+void startfunc(int a, int b) {
+ func();
+}
+
+ for(;;) {
+ func(1);
+ } while(1);
+
+ char * name = "hello";
+ char* name = "hello";
+
+ int foo=bar;
+ int foo= bar;
+ int foo = bar;
+ int foo = bar;foo++;
+ for(;;) {
+ }
+
+ int a = sizeof int;
+ int a = snprintf(buffer, sizeof(buffer), "%d", 99);
+
+ if(a) b++;
+
+ // CPP comment?
+
+ /* comment doesn't end
+
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+./log/code1185.c:4:82: warning: Longer than 79 columns (LONGLINE)
+ int hello; /*------------------------------------------------------------------*/
+./log/code1185.c:5:4: error: Contains TAB character (TABS)
+ int tab;
+ ^
+./log/code1185.c:7:13: warning: func with space (SPACEBEFOREPAREN)
+ int a = func ();
+ ^
+./log/code1185.c:8:14: warning: space after open parenthesis (SPACEAFTERPAREN)
+ int b = func( b);
+ ^
+./log/code1185.c:9:16: warning: space before close parenthesis (SPACEBEFORECLOSE)
+ int b = func(b );
+ ^
+./log/code1185.c:10:11: warning: space before comma (SPACEBEFORECOMMA)
+ func(a, b , c);
+ ^
+./log/code1185.c:14:9: warning: return without space before paren (RETURNNOSPACE)
+ return(2);
+ ^
+./log/code1185.c:16:11: warning: comma without following space (COMMANOSPACE)
+ func(a, b,c);
+ ^
+./log/code1185.c:18:12: warning: wrongly placed open brace (BRACEPOS)
+ if(a == 2) {
+ ^
+./log/code1185.c:20:1: warning: else after closing brace on same line (BRACEELSE)
+ } else {
+ ^
+./log/code1185.c:24:11: warning: missing space after close paren (PARENBRACE)
+ if(a == 2){
+ ^
+./log/code1185.c:28:7: warning: no space before semicolon (SPACESEMICOLON)
+ func() ;
+ ^
+./log/code1185.c:30:5: warning: use of sprintf is banned (BANNEDFUNC)
+ a = sprintf(buffer, "%s", moo);
+ ^
+./log/code1185.c:32:11: warning: use of non-binary fopen without FOPEN_* macro: r (FOPENMODE)
+ FILE *f = fopen("filename", "r");
+ ^
+./log/code1185.c:34:30: warning: wrongly placed open brace (BRACEPOS)
+ void startfunc(int a, int b) {
+ ^
+./log/code1185.c:39:6: warning: not indented 2 steps (uses 4) (INDENTATION)
+ func(1);
+ ^
+./log/code1185.c:42:8: warning: space after declarative asterisk (ASTERISKSPACE)
+ char * name = "hello";
+ ^
+./log/code1185.c:43:7: warning: space after declarative asterisk (ASTERISKSPACE)
+ char* name = "hello";
+ ^
+./log/code1185.c:43:6: warning: no space before asterisk (ASTERISKNOSPACE)
+ char* name = "hello";
+ ^
+./log/code1185.c:45:10: warning: no space after equals sign (EQUALSNOSPACE)
+ int foo=bar;
+ ^
+./log/code1185.c:46:9: warning: no space before equals sign (NOSPACEEQUALS)
+ int foo= bar;
+ ^
+./log/code1185.c:48:16: warning: no space after semicolon (SEMINOSPACE)
+ int foo = bar;foo++;
+ ^
+./log/code1185.c:49:10: warning: multiple spaces (MULTISPACE)
+ for(;;) {
+ ^
+./log/code1185.c:50:2: warning: not indented 2 steps (uses 0) (INDENTATION)
+ }
+ ^
+./log/code1185.c:52:16: warning: sizeof without parenthesis (SIZEOFNOPAREN)
+ int a = sizeof int;
+ ^
+./log/code1185.c:53:10: warning: use of snprintf is banned (SNPRINTF)
+ int a = snprintf(buffer, sizeof(buffer), "%d", 99);
+ ^
+./log/code1185.c:55:7: warning: conditional block on the same line (ONELINECONDITION)
+ if(a) b++;
+ ^
+./log/code1185.c:57:2: warning: // comment (CPPCOMMENTS)
+ // CPP comment?
+ ^
+./log/code1185.c:1:1: error: Missing copyright statement (COPYRIGHT)
+
+ ^
+./log/code1185.c:1:1: error: Missing closing comment (OPENCOMMENT)
+
+ ^
+checksrc: 0 errors and 30 warnings
+
+
+5
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1186 b/sonic3air-main/framework/external/curl/curl/tests/data/test1186
new file mode 100644
index 00000000..283536e3
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1186
@@ -0,0 +1,98 @@
+
+
+
+HTTP
+HTTP FORMPOST
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 10
+
+blablabla
+
+
+
+# Client-side
+
+
+http
+
+
+Multipart formposting with backslash-escaping filename containing '"'
+
+
+http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER --form-escape -F "file=@\"log/test%TESTNUMBER\\\".txt\";type=mo/foo;filename=\"test%TESTNUMBER\\\".txt\"" -F 'file2=@"log/test%TESTNUMBER\".txt"' -F 'file3=@"log/test%TESTNUMBER\".txt";type=m/f,"log/test%TESTNUMBER\".txt"'
+
+
+perl -e "print 'Test requires a system supporting double quotes in file names' if ($^O eq 'msys');"
+
+# We create this file before the command is invoked!
+
+foo bar
+This is a bar foo
+bar
+foo
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(Content-Type: multipart/form-data;|Content-Type: multipart/mixed; boundary=|-------).*
+
+
+POST /we/want/%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+Content-Length: 954
+Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32
+
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER\".txt"
+Content-Type: mo/foo
+
+foo bar
+This is a bar foo
+bar
+foo
+
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="file2"; filename="test%TESTNUMBER\".txt"
+Content-Type: text/plain
+
+foo bar
+This is a bar foo
+bar
+foo
+
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="file3"
+Content-Type: multipart/mixed; boundary=----------------------------7f0e85a48b0b
+
+Content-Disposition: attachment; filename="test%TESTNUMBER\".txt"
+Content-Type: m/f
+
+foo bar
+This is a bar foo
+bar
+foo
+
+Content-Disposition: attachment; filename="test%TESTNUMBER\".txt"
+Content-Type: text/plain
+
+foo bar
+This is a bar foo
+bar
+foo
+
+
+------------------------------24e78000bd32--
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1187 b/sonic3air-main/framework/external/curl/curl/tests/data/test1187
new file mode 100644
index 00000000..f5ab6625
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1187
@@ -0,0 +1,63 @@
+
+
+
+SMTP
+MULTIPART
+
+
+
+#
+# Server-side
+
+
+
+#
+# Client-side
+
+
+smtp
+
+
+SMTP multipart with file name escaping
+
+
+From: different
+To: another
+
+body
+
+
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -F "=This is the mail text" -F '=File content;filename="strange\file\"name"'
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+s/^--------------------------[a-z0-9]*/------------------------------/
+s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/
+
+
+EHLO %TESTNUMBER
+MAIL FROM:
+RCPT TO:
+DATA
+QUIT
+
+
+Content-Type: multipart/mixed; boundary=----------------------------
+Mime-Version: 1.0
+
+------------------------------
+
+This is the mail text
+------------------------------
+Content-Disposition: attachment; filename="strange\\file\"name"
+
+File content
+--------------------------------
+.
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1188 b/sonic3air-main/framework/external/curl/curl/tests/data/test1188
new file mode 100644
index 00000000..c8ac1745
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1188
@@ -0,0 +1,56 @@
+
+
+
+HTTP
+HTTP GET
+--write-out
+
+
+
+# Server-side
+
+
+HTTP/1.1 404 Not Found
+Content-Length: 0
+Connection: close
+
+
+
+
+# Client-side
+
+
+http
+
+
+--write-out with %{onerror} and %{urlnum} to stderr
+
+
+-f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER http://%HOSTIP:%HTTPPORT/we/want/our/%TESTNUMBER
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET /we/want/our/%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+
+GET /we/want/our/%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+
+
+
+0 says 22 The requested URL returned error: 404
+1 says 22 The requested URL returned error: 404
+
+# 22 is CURLE_HTTP_RETURNED_ERROR
+
+22
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1189 b/sonic3air-main/framework/external/curl/curl/tests/data/test1189
new file mode 100644
index 00000000..60c13586
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1189
@@ -0,0 +1,108 @@
+
+
+
+HTTP
+HTTP FORMPOST
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 10
+
+blablabla
+
+
+
+# Client-side
+
+
+http
+
+
+Multipart formposting with backslash-escaping of name= and filename=
+
+
+http://%HOSTIP:%HTTPPORT/we/want/%TESTNUMBER --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2=
+# We create this file before the command is invoked!
+
+foo bar
+This is a bar foo
+bar
+foo
+
+
+
+# Verify data after the test has been "shot"
+
+
+^(Content-Type: multipart/form-data;|-------).*
+
+
+POST /we/want/%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+Content-Length: 1186
+Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32
+
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="name"
+
+daniel
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="tool"
+
+curl
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="str1"
+
+@literal
+------------------------------24e78000bd32
+Content-Disposition: form-data; name="str2"
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test119 b/sonic3air-main/framework/external/curl/curl/tests/data/test119
new file mode 100644
index 00000000..cd9960a3
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test119
@@ -0,0 +1,51 @@
+
+
+
+FTP
+PORT
+RETR
+FAILURE
+
+
+# Server-side
+
+
+REPLY RETR 314 bluah you f00l!
+REPLY SIZE 500 command not understood
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP download, failed RETR with PORT
+
+
+ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P -
+
+
+
+# Verify data after the test has been "shot"
+
+
+19
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+TYPE I
+SIZE %TESTNUMBER
+RETR %TESTNUMBER
+QUIT
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1190 b/sonic3air-main/framework/external/curl/curl/tests/data/test1190
new file mode 100644
index 00000000..f866352e
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1190
@@ -0,0 +1,56 @@
+
+
+
+MQTT
+MQTT SUBSCRIBE
+
+
+
+#
+# Server-side
+
+
+hello
+
+
+00 04 31 31 39 30 68 65 6c 6c 6f 5b 4c 46 5d 0a
+
+
+
+#
+# Client-side
+
+
+mqtt
+
+
+mqtt
+
+
+MQTT SUBSCRIBE
+
+
+mqtt://%HOSTIP:%MQTTPORT/%TESTNUMBER
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# These are hexadecimal protocol dumps from the client
+#
+# Strip out the random part of the client id from the CONNECT message
+# before comparison
+
+s/^(.* 00044d5154540402003c000c6375726c).*/$1/
+
+
+client CONNECT 18 00044d5154540402003c000c6375726c
+server CONNACK 2 20020000
+client SUBSCRIBE 9 000100043131393000
+server SUBACK 3 9003000100
+server PUBLISH c 300c00043131393068656c6c6f0a
+server DISCONNECT 0 e000
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1191 b/sonic3air-main/framework/external/curl/curl/tests/data/test1191
new file mode 100644
index 00000000..69cf33fb
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1191
@@ -0,0 +1,50 @@
+
+
+
+MQTT
+MQTT PUBLISH
+
+
+
+#
+# Server-side
+
+
+
+
+
+#
+# Client-side
+
+
+mqtt
+
+
+mqtt
+
+
+MQTT PUBLISH
+
+
+mqtt://%HOSTIP:%MQTTPORT/%TESTNUMBER -d something
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# These are hexadecimal protocol dumps from the client
+#
+# Strip out the random part of the client id from the CONNECT message
+# before comparison
+
+s/^(.* 00044d5154540402003c000c6375726c).*/$1/
+
+
+client CONNECT 18 00044d5154540402003c000c6375726c
+server CONNACK 2 20020000
+client PUBLISH f 000431313931736f6d657468696e67
+client DISCONNECT 0 e000
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1192 b/sonic3air-main/framework/external/curl/curl/tests/data/test1192
new file mode 100644
index 00000000..47036ab8
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1192
@@ -0,0 +1,56 @@
+
+
+
+MQTT
+MQTT SUBSCRIBE
+
+
+
+#
+# Server-side
+
+
+hello
+
+
+00 04 31 31 39 30 68 65 6c 6c 6f 5b 4c 46 5d 0a
+
+
+
+#
+# Client-side
+
+
+mqtt
+
+
+mqtt
+
+
+MQTT SUBSCRIBE 2k topic
+
+
+mqtt://%HOSTIP:%MQTTPORT/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/%TESTNUMBER
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# These are hexadecimal protocol dumps from the client
+#
+# Strip out the random part of the client id from the CONNECT message
+# before comparison
+
+s/^(.* 00044d5154540402003c000c6375726c).*/$1/
+
+
+client CONNECT 18 00044d5154540402003c000c6375726c
+server CONNACK 2 20020000
+client SUBSCRIBE 80a 0001080541414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141412f3131393200
+server SUBACK 3 9003000100
+server PUBLISH 80d 308d10080541414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141412f3131393268656c6c6f0a
+server DISCONNECT 0 e000
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1193 b/sonic3air-main/framework/external/curl/curl/tests/data/test1193
new file mode 100644
index 00000000..bed10b24
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1193
@@ -0,0 +1,72 @@
+
+
+
+MQTT
+MQTT PUBLISH
+
+
+
+#
+# Server-side
+
+
+
+
+
+#
+# Client-side
+
+
+mqtt
+
+
+mqtt
+
+
+MQTT PUBLISH 2k payload
+
+
+mqtt://%HOSTIP:%MQTTPORT/%TESTNUMBER -d @log/payload%TESTNUMBER
+
+
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# These are hexadecimal protocol dumps from the client
+#
+# Strip out the random part of the client id from the CONNECT message
+# before comparison
+
+s/^(.* 00044d5154540402003c000c6375726c).*/$1/
+
+
+client CONNECT 18 00044d5154540402003c000c6375726c
+server CONNACK 2 20020000
+client PUBLISH 7c2 000431313933313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839
+client DISCONNECT 0 e000
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1194 b/sonic3air-main/framework/external/curl/curl/tests/data/test1194
new file mode 100644
index 00000000..cabf6beb
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1194
@@ -0,0 +1,59 @@
+
+
+
+MQTT
+MQTT SUBSCRIBE
+
+
+
+#
+# Server-side
+
+
+hello
+
+
+00 04 31 31 39 30 68 65 6c 6c 6f 5b 4c 46 5d 0a
+
+
+PUBLISH-before-SUBACK TRUE
+
+
+
+#
+# Client-side
+
+
+mqtt
+
+
+mqtt
+
+
+MQTT SUBSCRIBE with PUBLISH befoire SUBACK
+
+
+mqtt://%HOSTIP:%MQTTPORT/%TESTNUMBER
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# These are hexadecimal protocol dumps from the client
+#
+# Strip out the random part of the client id from the CONNECT message
+# before comparison
+
+s/^(.* 00044d5154540402003c000c6375726c).*/$1/
+
+
+client CONNECT 18 00044d5154540402003c000c6375726c
+server CONNACK 2 20020000
+client SUBSCRIBE 9 000100043131393400
+server PUBLISH c 300c00043131393468656c6c6f0a
+server SUBACK 3 9003000100
+server DISCONNECT 0 e000
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1195 b/sonic3air-main/framework/external/curl/curl/tests/data/test1195
new file mode 100644
index 00000000..803bdd98
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1195
@@ -0,0 +1,63 @@
+
+
+
+MQTT
+MQTT SUBSCRIBE
+
+
+
+#
+# Server-side
+
+
+hello
+
+
+00 04 31 31 39 30 68 65 6c 6c 6f 5b 4c 46 5d 0a
+
+
+PUBLISH-before-SUBACK TRUE
+short-PUBLISH TRUE
+
+
+
+#
+# Client-side
+
+
+mqtt
+
+
+mqtt
+
+
+MQTT SUBSCRIBE with short PUBLISH
+
+
+mqtt://%HOSTIP:%MQTTPORT/%TESTNUMBER
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# These are hexadecimal protocol dumps from the client
+#
+# Strip out the random part of the client id from the CONNECT message
+# before comparison
+
+s/^(.* 00044d5154540402003c000c6375726c).*/$1/
+
+
+client CONNECT 18 00044d5154540402003c000c6375726c
+server CONNACK 2 20020000
+client SUBSCRIBE 9 000100043131393500
+server PUBLISH c 300c00043131393568656c6c
+
+
+# 18 is CURLE_PARTIAL_FILE
+
+18
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1196 b/sonic3air-main/framework/external/curl/curl/tests/data/test1196
new file mode 100644
index 00000000..92901441
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1196
@@ -0,0 +1,62 @@
+
+
+
+MQTT
+MQTT SUBSCRIBE
+
+
+
+#
+# Server-side
+
+
+hello
+
+
+00 04 31 31 39 30 68 65 6c 6c 6f 5b 4c 46 5d 0a
+
+
+# error 1 - "Connection Refused, unacceptable protocol version"
+
+error-CONNACK 1
+
+
+
+#
+# Client-side
+
+
+mqtt
+
+
+mqtt
+
+
+MQTT with error in CONNACK
+
+
+mqtt://%HOSTIP:%MQTTPORT/%TESTNUMBER
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# These are hexadecimal protocol dumps from the client
+#
+# Strip out the random part of the client id from the CONNECT message
+# before comparison
+
+s/^(.* 00044d5154540402003c000c6375726c).*/$1/
+
+
+client CONNECT 18 00044d5154540402003c000c6375726c
+server CONNACK 2 20020001
+
+
+# 8 is CURLE_WEIRD_SERVER_REPLY
+
+8
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1197 b/sonic3air-main/framework/external/curl/curl/tests/data/test1197
new file mode 100644
index 00000000..48ebe30e
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1197
@@ -0,0 +1,87 @@
+
+
+
+HTTP
+HTTP GET
+followlocation
+--write-out
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Content-Type: text/plain
+Location: ./%TESTNUMBER0001
+
+monster
+
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 15
+Connection: close
+Content-Type: text/plain; charset=us-ascii
+
+bigger monster
+
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP POST redirected to GET and --write-out method
+
+
+http://%HOSTIP:%HTTPPORT/%TESTNUMBER -w "%{method}\n" -L -d "twinkle twinkle little star"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+POST /%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+Content-Length: 27
+Content-Type: application/x-www-form-urlencoded
+
+twinkle twinkle little starGET /%TESTNUMBER0001 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+
+
+
+
+HTTP/1.1 302 OK swsbounce swsclose
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 8
+Connection: close
+Content-Type: text/plain
+Location: ./%TESTNUMBER0001
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 15
+Connection: close
+Content-Type: text/plain; charset=us-ascii
+
+bigger monster
+GET
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1198 b/sonic3air-main/framework/external/curl/curl/tests/data/test1198
new file mode 100644
index 00000000..a81e4bb8
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1198
@@ -0,0 +1,54 @@
+
+
+
+MQTT
+MQTT SUBSCRIBE
+
+
+
+#
+# Server-side
+
+
+hello
+
+
+00 04 31 31 39 30 68 65 6c 6c 6f 5b 4c 46 5d 0a
+
+
+
+#
+# Client-side
+
+
+mqtt
+
+
+mqtt
+
+
+MQTT PUBLISH empty payload, single space topic
+
+
+mqtt://%HOSTIP:%MQTTPORT/%20 -d ""
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# These are hexadecimal protocol dumps from the client
+#
+# Strip out the random part of the client id from the CONNECT message
+# before comparison
+
+s/^(.* 00044d5154540402003c000c6375726c).*/$1/
+
+
+client CONNECT 18 00044d5154540402003c000c6375726c
+server CONNACK 2 20020000
+client PUBLISH 3 000120
+client DISCONNECT 0 e000
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1199 b/sonic3air-main/framework/external/curl/curl/tests/data/test1199
new file mode 100644
index 00000000..d710e701
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1199
@@ -0,0 +1,55 @@
+
+
+
+MQTT
+MQTT SUBSCRIBE
+
+
+
+#
+# Server-side
+
+
+hello
+
+
+00 04 31 31 39 30 68 65 6c 6c 6f 5b 4c 46 5d 0a
+
+
+
+#
+# Client-side
+
+
+mqtt
+
+
+mqtt
+
+
+MQTT PUBLISH empty payload, no topic
+
+
+mqtt://%HOSTIP:%MQTTPORT -d ""
+
+
+
+#
+# Verify data after the test has been "shot"
+
+# These are hexadecimal protocol dumps from the client
+#
+# Strip out the random part of the client id from the CONNECT message
+# before comparison
+
+s/^(.* 00044d5154540402003c000c6375726c).*/$1/
+
+
+client CONNECT 18 00044d5154540402003c000c6375726c
+server CONNACK 2 20020000
+
+
+3
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test12 b/sonic3air-main/framework/external/curl/curl/tests/data/test12
new file mode 100644
index 00000000..49c300d4
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test12
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP GET
+Content-Range
+
+
+
+# Server-side
+
+
+HTTP/1.1 206 Partial Content
+Date: Mon, 13 Nov 2000 13:41:09 GMT
+Server: Apache/1.3.11 (Unix) PHP/3.0.14
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 101
+Content-Range: bytes 100-200/3527
+Connection: close
+Content-Type: text/html
+
+..partial data returned from the
+server as a result of setting an explicit byte range
+in the request
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP range support
+
+
+http://%HOSTIP:%HTTPPORT/want/%TESTNUMBER -r 100-200
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET /want/%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Range: bytes=100-200
+User-Agent: curl/%VERSION
+Accept: */*
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test120 b/sonic3air-main/framework/external/curl/curl/tests/data/test120
new file mode 100644
index 00000000..7896c53b
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test120
@@ -0,0 +1,53 @@
+
+
+
+FTP
+PASV
+RETR
+post-quote
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+REPLY EPSV 314 bluah you f00l!
+
+
+
+# Client-side
+
+
+ftp
+
+
+ftp download with post-quote delete operation
+
+
+ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -Q "-DELE file"
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPSV
+PASV
+TYPE I
+SIZE %TESTNUMBER
+RETR %TESTNUMBER
+DELE file
+QUIT
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1200 b/sonic3air-main/framework/external/curl/curl/tests/data/test1200
new file mode 100644
index 00000000..18d556d1
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1200
@@ -0,0 +1,39 @@
+
+
+
+GOPHER
+INDEX
+
+
+
+#
+# Server-side
+
+
+iMenu results error.host 1
+0Selector /bar bar.foo.invalid 70
+.
+
+
+
+# Client-side
+
+
+gopher
+
+
+Gopher index
+
+
+gopher://%HOSTIP:%GOPHERPORT/1/%TESTNUMBER
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+/%TESTNUMBER
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1201 b/sonic3air-main/framework/external/curl/curl/tests/data/test1201
new file mode 100644
index 00000000..274807c5
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1201
@@ -0,0 +1,39 @@
+
+
+
+GOPHER
+SELECTOR
+
+
+
+#
+# Server-side
+
+
+iMenu results error.host 1
+0Selector /selector/SELECTOR /bar bar.foo.invalid 70
+.
+
+
+
+# Client-side
+
+
+gopher
+
+
+Gopher selector
+
+
+gopher://%HOSTIP:%GOPHERPORT/1/selector/SELECTOR/%TESTNUMBER?
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+/selector/SELECTOR/%TESTNUMBER?
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1202 b/sonic3air-main/framework/external/curl/curl/tests/data/test1202
new file mode 100644
index 00000000..d19fb679
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1202
@@ -0,0 +1,40 @@
+
+
+
+GOPHER
+QUERY
+
+
+
+#
+# Server-side
+
+
+iSearch results error.host 1
+0Query query succeeded /foo foo.bar.invalid 70
+0Selector /the/search/engine /bar bar.foo.invalid 70
+.
+
+
+
+# Client-side
+
+
+gopher
+
+
+Gopher query
+
+
+"gopher://%HOSTIP:%GOPHERPORT/7/the/search/engine%09query%20succeeded/%TESTNUMBER"
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+/the/search/engine query succeeded/%TESTNUMBER
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1203 b/sonic3air-main/framework/external/curl/curl/tests/data/test1203
new file mode 100644
index 00000000..73c6495b
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1203
@@ -0,0 +1,43 @@
+
+
+
+GOPHER-ipv6
+IPv6
+INDEX
+
+
+
+#
+# Server-side
+
+
+iMenu results error.host 1
+0Selector /bar bar.foo.invalid 70
+.
+
+
+
+# Client-side
+
+
+ipv6
+
+
+gopher-ipv6
+
+
+Gopher IPv6 index
+
+
+-g gopher://%HOST6IP:%GOPHER6PORT/1/moo/%TESTNUMBER
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+/moo/%TESTNUMBER
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1204 b/sonic3air-main/framework/external/curl/curl/tests/data/test1204
new file mode 100644
index 00000000..ccec4cfe
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1204
@@ -0,0 +1,78 @@
+
+
+
+HTTP
+HTTP GET
+HTTP Basic auth
+--anyauth
+
+
+# Server-side
+
+
+HTTP/1.1 401 Authorization Required swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: X-MobileMe-AuthToken realm="Newcastle", Basic realm="fun fun fun"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+This is not the real page
+
+
+# This is supposed to be returned when the server gets the second request
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+HTTP/1.1 401 Authorization Required swsbounce
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+WWW-Authenticate: X-MobileMe-AuthToken realm="Newcastle", Basic realm="fun fun fun"
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 26
+
+HTTP/1.1 200 OK
+Server: Apache/1.3.27 (Darwin) PHP/4.1.2
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 23
+
+This IS the real page!
+
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with WWW-Authenticate and multiple auths in a single line
+
+
+http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --anyauth
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET /%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+
+GET /%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dGVzdHVzZXI6dGVzdHBhc3M=
+User-Agent: curl/%VERSION
+Accept: */*
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1205 b/sonic3air-main/framework/external/curl/curl/tests/data/test1205
new file mode 100644
index 00000000..261267bc
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1205
@@ -0,0 +1,48 @@
+
+
+
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Content-Length: 6
+Connection: close
+Funny-head: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAendofthem
+
+-foo-
+
+
+
+#
+# Client-side
+
+
+http
+
+
+HTTP GET with 18K HTTP header
+
+
+http://%HOSTIP:%HTTPPORT/%TESTNUMBER
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1206 b/sonic3air-main/framework/external/curl/curl/tests/data/test1206
new file mode 100644
index 00000000..6dcd2a23
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1206
@@ -0,0 +1,53 @@
+
+
+
+FTP
+PORT
+RETR
+NODATACONN425
+
+
+# Server-side
+
+
+some bytes
+
+
+NODATACONN425
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PORT and 425 on download
+
+
+--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P -
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |1|
+TYPE I
+SIZE %TESTNUMBER
+RETR %TESTNUMBER
+QUIT
+
+
+10
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1207 b/sonic3air-main/framework/external/curl/curl/tests/data/test1207
new file mode 100644
index 00000000..79d2e388
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1207
@@ -0,0 +1,53 @@
+
+
+
+FTP
+PORT
+RETR
+NODATACONN421
+
+
+# Server-side
+
+
+some bytes
+
+
+NODATACONN421
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PORT and 421 on download
+
+
+--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P -
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |1|
+TYPE I
+SIZE %TESTNUMBER
+RETR %TESTNUMBER
+QUIT
+
+
+10
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1208 b/sonic3air-main/framework/external/curl/curl/tests/data/test1208
new file mode 100644
index 00000000..416212ca
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1208
@@ -0,0 +1,58 @@
+
+
+
+FTP
+PORT
+RETR
+NODATACONN150
+flaky
+
+
+# Server-side
+
+
+some bytes
+
+
+NODATACONN150
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PORT download, no data conn and no transient negative reply
+
+
+--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P -
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+# This test doesn't send a QUIT because the main state machine in multi.c
+# triggers the timeout and sets the CURLE_OPERATION_TIMEDOUT error (28) for
+# which the FTP disconnect code generically has to assume could mean the
+# control the connection and thus it cannot send any command.
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |1|
+TYPE I
+SIZE %TESTNUMBER
+RETR %TESTNUMBER
+
+
+28
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1209 b/sonic3air-main/framework/external/curl/curl/tests/data/test1209
new file mode 100644
index 00000000..9ec489ba
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1209
@@ -0,0 +1,58 @@
+
+
+
+FTP
+PORT
+RETR
+NODATACONN
+
+
+# Server-side
+
+
+some bytes
+
+
+NODATACONN
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PORT download, no data conn and no positive preliminary reply
+
+
+--max-time %FTPTIME2 ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P -
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+# The protocol part does not include QUIT simply because the error is
+# CURLE_OPERATION_TIMEDOUT (28) which is a generic timeout error without
+# specifically saying for which connection it concerns, and for timeouts libcurl
+# marks the control channel as "invalid". As this test case times out for the
+# data connection it could still use the control channel.
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |1|
+TYPE I
+SIZE %TESTNUMBER
+RETR %TESTNUMBER
+
+
+28
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test121 b/sonic3air-main/framework/external/curl/curl/tests/data/test121
new file mode 100644
index 00000000..e0491195
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test121
@@ -0,0 +1,51 @@
+
+
+
+FTP
+EPSV
+RETR
+post-quote
+pre-quote
+
+
+# Server-side
+
+
+data
+ to
+ see
+that FTP
+works
+ so does it?
+
+
+
+# Client-side
+
+
+ftp
+
+
+ftp download with post- and pre-transfer delete operations
+
+
+ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -Q "-DELE after_transfer" -Q "DELE before_transfer"
+
+
+
+# Verify data after the test has been "shot"
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+DELE before_transfer
+EPSV
+TYPE I
+SIZE %TESTNUMBER
+RETR %TESTNUMBER
+DELE after_transfer
+QUIT
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1210 b/sonic3air-main/framework/external/curl/curl/tests/data/test1210
new file mode 100644
index 00000000..e1e12918
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1210
@@ -0,0 +1,61 @@
+
+
+
+HTTP
+HTTP GET
+-J
+
+
+
+#
+
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+
+12345
+
+
+
+#
+# Client-side
+
+# this relies on the debug feature to allow us to set directory to store the
+# -O output in, using the CURL_TESTDIR variable
+
+debug
+
+
+http
+
+
+HTTP GET with -J without Content-Disposition
+
+
+CURL_TESTDIR=%PWD/log
+
+
+http://%HOSTIP:%HTTPPORT/%TESTNUMBER -J -O
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+GET /%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+
+
+
+12345
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1211 b/sonic3air-main/framework/external/curl/curl/tests/data/test1211
new file mode 100644
index 00000000..b9f05ba0
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1211
@@ -0,0 +1,53 @@
+
+
+
+FTP
+PORT
+RETR
+NODATACONN425
+
+
+# Server-side
+
+
+some bytes
+
+
+NODATACONN425
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP PORT and 425 on download
+
+
+ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -P -
+
+
+
+
+# Verify data after the test has been "shot"
+
+
+s/^EPRT \|1\|(.*)/EPRT \|1\|/
+
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+EPRT |1|
+TYPE I
+SIZE %TESTNUMBER
+RETR %TESTNUMBER
+
+
+28
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1212 b/sonic3air-main/framework/external/curl/curl/tests/data/test1212
new file mode 100644
index 00000000..88ab9733
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1212
@@ -0,0 +1,52 @@
+
+
+
+HTTP
+SOCKS5
+NO_PROXY
+noproxy
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 4
+Content-Type: text/html
+
+boo
+
+
+
+# Client-side
+
+
+proxy
+
+
+http
+
+
+noproxy setting together with socks proxy
+
+
+
+http://user:secret@%HOSTIP:%HTTPPORT/ulion/%TESTNUMBER --socks5 non-existing-host.haxx.se:1080 --noproxy %HOSTIP --max-time 5
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET /ulion/%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Basic dXNlcjpzZWNyZXQ=
+User-Agent: curl/%VERSION
+Accept: */*
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1213 b/sonic3air-main/framework/external/curl/curl/tests/data/test1213
new file mode 100644
index 00000000..cfa47d3b
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1213
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 22
+
+the content goes here
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with proxy and host-only URL
+
+# the thing here is that this sloppy form is accepted and we convert it
+# for normal server use, and we need to make sure it gets converted to
+# RFC style even for proxies
+
+-x %HOSTIP:%HTTPPORT we.want.that.site.com.%TESTNUMBER
+
+
+proxy
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET http://we.want.that.site.com.%TESTNUMBER/ HTTP/1.1
+Host: we.want.that.site.com.%TESTNUMBER
+User-Agent: curl/%VERSION
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1214 b/sonic3air-main/framework/external/curl/curl/tests/data/test1214
new file mode 100644
index 00000000..fea91b3f
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1214
@@ -0,0 +1,54 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 22
+
+the content goes here
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP with proxy and URL with ? and no slash separator
+
+# the thing here is that this sloppy form is accepted and we convert it
+# for normal server use, and we need to make sure it gets converted to
+# RFC style even for proxies
+
+-x %HOSTIP:%HTTPPORT http://we.want.that.site.com.%TESTNUMBER?moo=foo
+
+
+proxy
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET http://we.want.that.site.com.%TESTNUMBER/?moo=foo HTTP/1.1
+Host: we.want.that.site.com.%TESTNUMBER
+User-Agent: curl/%VERSION
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1215 b/sonic3air-main/framework/external/curl/curl/tests/data/test1215
new file mode 100644
index 00000000..69fc622e
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1215
@@ -0,0 +1,96 @@
+
+
+# This test is a copy of test 67, modified to use a HTTP proxy.
+
+HTTP
+HTTP GET
+HTTP NTLM auth
+HTTP proxy
+NTLM
+
+
+# Server-side
+
+
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+This is not the real page either!
+
+
+# This is supposed to be returned when the server gets the second
+# Authorization: NTLM line passed-in from the client
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+HTTP/1.1 401 Now gimme that second request of crap
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 34
+WWW-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==
+
+HTTP/1.1 200 Things are fine in server land swsclose
+Server: Microsoft-IIS/5.0
+Content-Type: text/html; charset=iso-8859-1
+Content-Length: 32
+
+Finally, this is the real page!
+
+
+
+
+# Client-side
+
+
+NTLM
+SSL
+!SSPI
+proxy
+
+
+http
+
+
+HTTP with server NTLM authorization using a proxy
+
+
+http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --ntlm --proxy http://%HOSTIP:%HTTPPORT
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
+User-Agent: curl/%VERSION
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://%HOSTIP:%HTTPPORT/%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04=
+User-Agent: curl/%VERSION
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1216 b/sonic3air-main/framework/external/curl/curl/tests/data/test1216
new file mode 100644
index 00000000..326910ab
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1216
@@ -0,0 +1,65 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+cookies
+
+
+
+# Server-side
+
+
+HTTP/1.1 200 OK
+Server: Microsoft-IIS/4.0
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Content-Type: text/html
+Connection: close
+Content-Length: 21
+
+This server says moo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP cookie domains tailmatching the host name
+
+
+http://example.fake/c/%TESTNUMBER http://bexample.fake/c/%TESTNUMBER -b log/injar%TESTNUMBER -x %HOSTIP:%HTTPPORT
+
+
+example.fake FALSE /a FALSE 2139150993 mooo indeed
+example.fake FALSE /b FALSE 0 moo1 indeed
+example.fake FALSE /c FALSE 2139150993 moo2 indeed
+example.fake TRUE /c FALSE 2139150993 moo3 indeed
+
+
+proxy
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET http://example.fake/c/%TESTNUMBER HTTP/1.1
+Host: example.fake
+User-Agent: curl/%VERSION
+Accept: */*
+Proxy-Connection: Keep-Alive
+Cookie: moo3=indeed; moo2=indeed
+
+GET http://bexample.fake/c/%TESTNUMBER HTTP/1.1
+Host: bexample.fake
+User-Agent: curl/%VERSION
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1217 b/sonic3air-main/framework/external/curl/curl/tests/data/test1217
new file mode 100644
index 00000000..a0aba128
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1217
@@ -0,0 +1,57 @@
+
+
+
+FTP
+PORT
+NLST
+--data-binary
+
+
+# Server-side
+
+
+contents
+
+
+REPLY PWD 257 there is rubbish all over "/this/is/the/path"
+
+
+
+# Client-side
+
+
+ftp
+
+
+FTP with rubbish before name in 257-response
+
+
+ftp://%HOSTIP:%FTPPORT/get/file/%TESTNUMBER ftp://%HOSTIP:%FTPPORT/get/file/again/%TESTNUMBER --ftp-method singlecwd
+
+
+
+# Verify data after the test has been "shot"
+
+# Strip all valid kinds of PORT and EPRT that curl can send
+
+^PORT \d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3},\d{1,3}
+^EPRT \|1\|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\|\d{1,5}\|
+
+
+USER anonymous
+PASS ftp@example.com
+PWD
+CWD get/file
+EPSV
+TYPE I
+SIZE %TESTNUMBER
+RETR %TESTNUMBER
+CWD /this/is/the/path
+CWD get/file/again
+EPSV
+SIZE %TESTNUMBER
+RETR %TESTNUMBER
+QUIT
+
+
+
diff --git a/sonic3air-main/framework/external/curl/curl/tests/data/test1218 b/sonic3air-main/framework/external/curl/curl/tests/data/test1218
new file mode 100644
index 00000000..7d9df364
--- /dev/null
+++ b/sonic3air-main/framework/external/curl/curl/tests/data/test1218
@@ -0,0 +1,64 @@
+
+
+
+HTTP
+HTTP GET
+HTTP proxy
+cookies
+
+
+
+# This test is very similar to 1216, only that it sets the cookies from the
+# first site instead of reading from a file
+
+
+HTTP/1.1 200 OK
+Date: Tue, 25 Sep 2001 19:37:44 GMT
+Set-Cookie: bug=fixed; domain=.example.fake;
+Content-Length: 21
+
+This server says moo
+
+
+
+# Client-side
+
+
+http
+
+
+HTTP cookies and domains with same prefix
+
+
+http://example.fake/c/%TESTNUMBER http://example.fake/c/%TESTNUMBER http://bexample.fake/c/%TESTNUMBER -b nonexisting -x %HOSTIP:%HTTPPORT
+
+
+proxy
+
+
+
+# Verify data after the test has been "shot"
+
+
+GET http://example.fake/c/%TESTNUMBER HTTP/1.1
+Host: example.fake
+User-Agent: curl/%VERSION
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+GET http://example.fake/c/%TESTNUMBER HTTP/1.1
+Host: example.fake
+User-Agent: curl/%VERSION
+Accept: */*
+Proxy-Connection: Keep-Alive
+Cookie: bug=fixed
+
+GET http://bexample.fake/c/%TESTNUMBER HTTP/1.1
+Host: bexample.fake
+User-Agent: curl/%VERSION
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+
+
+