(This page was automatically generated by the tools in the opsboy project on 04:19:13 08-Jan-2018 GMT.)
Commit | Testing Time | Unexpected Failures |
Expected Failures |
Files | Tests | Elapsed Time |
---|---|---|---|---|---|---|
858753bb | 2018-01-06 22:19:29 GMT | 0 | 340 | 193 | 19986 | 2093 sec |
File | Name | Details |
---|---|---|
023-rewrite/socket-keepalive.t | TEST 11: sanity (uds) - pattern "lua tcp socket keepalive: free connection pool for " should not match any line in error.log but matches line "2018/01/07 00:02:37 [debug] 14174\#0: lua tcp socket keepalive: free connection pool for \"127.0.0.1:1984\"" (req 0) | |
043-shdict.t | nginx: [emerg] | lua_shared_dict "dogs" is already defined as "dogs" in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:26 |
043-shdict.t | TEST 12: get non-existent keys - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ -nil +32 -nil +32 ' |
043-shdict.t | TEST 57: list all keys in a shdict with more than 1024 keys with 0 limit set - response_body - response is expected (repeated req 0, req 0) |
got: '2049 ' expected: '2048 ' |
043-shdict.t | TEST 36: incr key (key not exists) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ -incr: nil not found +incr: 34 nil -foo = nil +foo = 34 ' |
043-shdict.t | TEST 51: list all keys in a shdict with expires - response_body - response is expected (repeated req 0, req 0) |
got: '3 ' expected: '2 ' |
043-shdict.t | TEST 53: list keys in an empty shdict - response_body - response is expected (repeated req 0, req 0) |
got: '1024 ' expected: '0 ' |
043-shdict.t | TEST 49: list all keys in a shdict - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1,1025 @@ +1024 +1 +10 +100 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +101 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +102 +1020 +1021 +1022 +1023 +103 +104 +105 +106 +107 +108 +109 +11 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +12 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +13 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +14 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +15 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +16 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +17 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +18 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +19 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 2 -bah +20 -bar +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +21 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +22 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +23 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +24 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +25 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +26 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +27 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +28 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +29 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +3 +30 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +31 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +32 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +33 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +34 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +35 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +36 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +37 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +38 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +39 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +4 +40 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +41 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +42 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +43 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +44 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +45 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +46 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +47 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +48 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +49 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +5 +50 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +51 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +52 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +53 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +54 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +55 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +56 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +57 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +58 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +59 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +6 +60 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +61 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +62 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +63 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +64 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +65 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +66 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +67 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +68 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +69 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +7 +70 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +71 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +72 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +73 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +74 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +75 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +76 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +77 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +78 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +79 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +8 +80 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +81 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +82 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +83 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +84 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +85 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +86 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +87 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +88 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +89 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +9 +90 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +91 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +92 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +93 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +94 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +95 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +96 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +97 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +98 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +99 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ' |
043-shdict.t | TEST 45: flush_expires - response_body - response is expected (repeated req 0, req 0) |
got: '2 ' expected: '1 ' |
043-shdict.t | TEST 32: replace key (key not exists) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ -replace: false not found false +replace: true nil false -foo = nil +foo = 10502 ' |
043-shdict.t | TEST 48: flush_expires a dict without expired items - response_body - response is expected (repeated req 0, req 0) |
got: '50 ' expected: '0 ' |
043-shdict.t | TEST 54: list keys in an empty shdict with a limit - response_body - response is expected (repeated req 0, req 0) |
got: '3 ' expected: '0 ' |
056-flush.t | TEST 1: flush wait - content - pattern "lua reuse free buf chain, but reallocate memory because 5 >= 0" should match a line in error.log (req 0) | |
056-flush.t | TEST 1: flush wait - content - pattern "lua reuse free buf chain, but reallocate memory because 5 >= 0" should match a line in error.log (req 1) | |
068-socket-keepalive.t | TEST 11: sanity (uds) - pattern "lua tcp socket keepalive: free connection pool for " should not match any line in error.log but matches line "2018/01/07 00:16:22 [debug] 5066\#0: lua tcp socket keepalive: free connection pool for \"127.0.0.1:1984\"" (req 0) | |
068-socket-keepalive.t | TEST 15: custom pools (same pool for different host:port) - tcp - pattern "lua tcp socket keepalive: free connection pool for " should not match any line in error.log but matches line "2018/01/07 00:16:24 [debug] 5147\#0: lua tcp socket keepalive: free connection pool for \"A\"" (req 0) | |
068-socket-keepalive.t | TEST 15: custom pools (same pool for different host:port) - tcp - pattern "lua tcp socket keepalive: free connection pool for " should not match any line in error.log but matches line "2018/01/07 00:16:24 [debug] 5147\#0: lua tcp socket keepalive: free connection pool for \"B\"" (req 0) | |
068-socket-keepalive.t | TEST 16: custom pools (different pool for the same host:port) - unix - pattern "lua tcp socket keepalive: free connection pool for " should not match any line in error.log but matches line "2018/01/07 00:16:24 [debug] 5167\#0: lua tcp socket keepalive: free connection pool for \"foo\"" (req 0) | |
068-socket-keepalive.t | TEST 17: custom pools (same pool for the same path) - unix - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ -connected: 1, reused: 0 +failed to connect: no such file or directory -connected: 1, reused: 1 +failed to connect: no such file or directory ' |
068-socket-keepalive.t | TEST 17: custom pools (same pool for the same path) - unix - pattern "lua tcp socket keepalive create connection pool for key "A"" should match a line in error.log (req 0) | |
068-socket-keepalive.t | TEST 17: custom pools (same pool for the same path) - unix - pattern "lua tcp socket get keepalive peer: using connection" should match a line in error.log (req 0) | |
068-socket-keepalive.t | TEST 17: custom pools (same pool for the same path) - unix - pattern "lua tcp socket keepalive: free connection pool for " should not match any line in error.log but matches line "2018/01/07 00:16:25 [debug] 5187\#0: lua tcp socket keepalive: free connection pool for \"A\"" (req 0) | |
068-socket-keepalive.t | TEST 17: custom pools (same pool for the same path) - unix - pattern "lua tcp socket keepalive: free connection pool for " should not match any line in error.log but matches line "2018/01/07 00:16:25 [debug] 5187\#0: lua tcp socket keepalive: free connection pool for \"B\"" (req 0) | |
086-init-by.t | nginx: [error] | init_by_lua error: init_by_lua:2: failed to init |
106-timer.t | TEST 4: simple at (sleep in the timer callback) - pattern "(?^:\[lua\] content_by_lua\(nginx\.conf:\d+\):\d+: elapsed: 0\.(?:1[4-9]|2[0-6]?))" should match a line in error.log (req 0) | |
106-timer.t | TEST 2: separated global env - pattern "(?^:\[lua\] content_by_lua\(nginx\.conf:\d+\):\d+: elapsed: 0\.0(?:4[4-9]|5[0-6]))" should match a line in error.log (req 0) | |
106-timer.t | TEST 9: simple at (sleep in the timer callback) - log_by_lua - pattern "(?^:\[lua\] log_by_lua\(nginx\.conf:\d+\):\d+: elapsed: 0\.0(?:6[4-9]|7[0-6]))" should match a line in error.log (req 0) | |
106-timer.t | TEST 30: user args - pattern "(?^:\[lua\] content_by_lua\(nginx\.conf:\d+\):\d+: elapsed: 0\.0(?:4[4-9]|5[0-6])\d*, context: ngx\.timer)" should match a line in error.log (req 0) | |
106-timer.t | TEST 3: lua variable sharing via upvalue - pattern "(?^:\[lua\] content_by_lua\(nginx\.conf:\d+\):\d+: elapsed: 0\.0(?:4[4-9]|5[0-6]))" should match a line in error.log (req 0) | |
106-timer.t | TEST 1: simple at - pattern "(?^:\[lua\] content_by_lua\(nginx\.conf:\d+\):\d+: elapsed: 0\.0(?:4[4-9]|5[0-6])\d*, context: ngx\.timer, client: \d+\.\d+\.\d+\.\d+, server: 0\.0\.0\.0:\d+)" should match a line in error.log (req 0) | |
108-timer-safe.t | TEST 1: simple at - pattern "(?^:\[lua\] content_by_lua\(nginx\.conf:\d+\):\d+: elapsed: 0\.0(?:4[4-9]|5[0-6]))" should match a line in error.log (req 0) | |
108-timer-safe.t | TEST 2: simple at (sleep in the timer callback) - pattern "(?^:\[lua\] content_by_lua\(nginx\.conf:\d+\):\d+: elapsed: 0\.0(?:6[4-9]|7[0-6]))" should match a line in error.log (req 0) | |
108-timer-safe.t | TEST 7: simple at (sleep in the timer callback) - log_by_lua - pattern "(?^:\[lua\] log_by_lua\(nginx\.conf:\d+\):\d+: elapsed: 0\.0(?:6[4-9]|7[0-6]))" should match a line in error.log (req 0) | |
109-timer-hup.t | TEST 7: HUP reload should abort pending timers (fuzz test) - grep_error_log_out (req 1) |
got: 'lua found 8186 pending timers ' expected: 'lua found 8191 pending timers ' |
124-init-worker.t | TEST 18: syslog error log - udp_query ok |
'' doesn't match '(?^:Bad bad bad)' |
126-shdict-frag.t | TEST 2: merge 2 single-page free slabs (forcibly evicted, merge backward) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,4 +1,4 @@ -successfully set foo. +successfully set foo with force. successfully set bar. found foo: 4000 successfully set baz with force. ' |
126-shdict-frag.t | TEST 3: merge 3 single-page free slabs (actively deleted, merge backward AND forward) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,5 +1,5 @@ successfully set foo. -successfully set bar. +successfully set bar with force. successfully set baz. found foo: 4000 found bar: 4001 ' |
129-ssl-socket.t | TEST 29: unix domain ssl cosocket (keepalive) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,4 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: true -connected: 1 -ssl handshake: true ' |
129-ssl-socket.t | TEST 29: unix domain ssl cosocket (keepalive) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,4 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: true -connected: 1 -ssl handshake: true ' |
129-ssl-socket.t | TEST 21: unix domain ssl cosocket (no verify) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
129-ssl-socket.t | TEST 21: unix domain ssl cosocket (no verify) - grep_error_log_out (req 0) |
'' doesn't match '(?^:^lua ssl save session: ([0-9A-F]+) lua ssl free session: ([0-9A-F]+) $)' |
129-ssl-socket.t | TEST 21: unix domain ssl cosocket (no verify) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
129-ssl-socket.t | TEST 21: unix domain ssl cosocket (no verify) - grep_error_log_out (req 1) |
'' doesn't match '(?^:^lua ssl save session: ([0-9A-F]+) lua ssl free session: ([0-9A-F]+) $)' |
132-lua-blocks.t | nginx: [emerg] | "events" directive is not allowed here in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:56 |
132-lua-blocks.t | nginx: [emerg] | Lua code block missing the closing long bracket "]==]" in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:41 |
132-lua-blocks.t | nginx: [emerg] | Lua code block missing the closing long bracket "]]" in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:41 |
132-lua-blocks.t | nginx: [emerg] | Lua code block missing the closing long bracket "]=]" in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:41 |
132-lua-blocks.t | nginx: [emerg] | Lua code block missing the closing long bracket "]]" in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:41 |
139-ssl-cert-by.t | TEST 11: get phase - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
139-ssl-cert-by.t | TEST 11: get phase - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 11: get phase - pattern "get_phase: ssl_cert" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 11: get phase - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
139-ssl-cert-by.t | TEST 11: get phase - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 11: get phase - pattern "get_phase: ssl_cert" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 11: get phase - response_body - response is expected (repeated req 2, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata ' |
139-ssl-cert-by.t | TEST 11: get phase - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 11: get phase - pattern "get_phase: ssl_cert" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 18: simple logging (syslog) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 18: simple logging (syslog) - pattern "(?^:\[error\] .*? send\(\) failed)" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 18: simple logging (syslog) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 18: simple logging (syslog) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 18: simple logging (syslog) - pattern "(?^:\[error\] .*? send\(\) failed)" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 18: simple logging (syslog) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 18: simple logging (syslog) - response_body - response is expected (repeated req 2, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 18: simple logging (syslog) - pattern "(?^:\[error\] .*? send\(\) failed)" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 18: simple logging (syslog) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 3: timer - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 3: timer - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 3: timer - pattern "my timer run!" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 3: timer - pattern "[error]" should not match any line in error.log but matches line "2018/01/07 00:27:07 [error] 19211\#0: send() failed (111: Connection refused)" (req 0) | |
139-ssl-cert-by.t | TEST 3: timer - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 3: timer - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 3: timer - pattern "my timer run!" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 3: timer - response_body - response is expected (repeated req 2, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 3: timer - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 3: timer - pattern "my timer run!" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 5: ngx.exit(0) - no yield - pattern "[emerg]" should not match any line in error.log but matches line "2018/01/07 00:27:08 [emerg] 19181\#0: unlink() /home/ec2-user/git/lua-nginx-module/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0) | |
139-ssl-cert-by.t | TEST 20: some server {} block missing ssl_certificate_by_lua* handlers (literal server name) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -failed to do SSL handshake: handshake failed ' |
139-ssl-cert-by.t | TEST 20: some server {} block missing ssl_certificate_by_lua* handlers (literal server name) - pattern "(?^:\[alert\] .*? no ssl_certificate_by_lua\* defined in server test2\.com\b)" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 20: some server {} block missing ssl_certificate_by_lua* handlers (literal server name) - pattern "(?^:\[crit\] .*? SSL_do_handshake\(\) failed\b)" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 20: some server {} block missing ssl_certificate_by_lua* handlers (literal server name) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -failed to do SSL handshake: handshake failed ' |
139-ssl-cert-by.t | TEST 20: some server {} block missing ssl_certificate_by_lua* handlers (literal server name) - pattern "(?^:\[alert\] .*? no ssl_certificate_by_lua\* defined in server test2\.com\b)" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 20: some server {} block missing ssl_certificate_by_lua* handlers (literal server name) - pattern "(?^:\[crit\] .*? SSL_do_handshake\(\) failed\b)" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 20: some server {} block missing ssl_certificate_by_lua* handlers (literal server name) - response_body - response is expected (repeated req 2, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -failed to do SSL handshake: handshake failed ' |
139-ssl-cert-by.t | TEST 20: some server {} block missing ssl_certificate_by_lua* handlers (literal server name) - pattern "(?^:\[alert\] .*? no ssl_certificate_by_lua\* defined in server test2\.com\b)" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 20: some server {} block missing ssl_certificate_by_lua* handlers (literal server name) - pattern "(?^:\[crit\] .*? SSL_do_handshake\(\) failed\b)" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 2: sleep - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 2: sleep - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 2: sleep - pattern "(?^:elapsed in ssl cert by lua: 0.(?:09|1[01])\d+,)" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 2: sleep - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 2: sleep - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 2: sleep - pattern "(?^:elapsed in ssl cert by lua: 0.(?:09|1[01])\d+,)" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 2: sleep - response_body - response is expected (repeated req 2, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 2: sleep - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 2: sleep - pattern "(?^:elapsed in ssl cert by lua: 0.(?:09|1[01])\d+,)" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 23: get raw_client_addr - unix domain socket - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 23: get raw_client_addr - unix domain socket - pattern "client socket file: " should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 23: get raw_client_addr - unix domain socket - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 23: get raw_client_addr - unix domain socket - pattern "client socket file: " should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 23: get raw_client_addr - unix domain socket - response_body - response is expected (repeated req 2, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 23: get raw_client_addr - unix domain socket - pattern "client socket file: " should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 21: some server {} block missing ssl_certificate_by_lua* handlers (regex server name) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -failed to do SSL handshake: handshake failed ' |
139-ssl-cert-by.t | TEST 21: some server {} block missing ssl_certificate_by_lua* handlers (regex server name) - pattern "(?^:\[alert\] .*? no ssl_certificate_by_lua\* defined in server ~test2\\\.com\b)" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 21: some server {} block missing ssl_certificate_by_lua* handlers (regex server name) - pattern "(?^:\[crit\] .*? SSL_do_handshake\(\) failed\b)" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 21: some server {} block missing ssl_certificate_by_lua* handlers (regex server name) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -failed to do SSL handshake: handshake failed ' |
139-ssl-cert-by.t | TEST 21: some server {} block missing ssl_certificate_by_lua* handlers (regex server name) - pattern "(?^:\[alert\] .*? no ssl_certificate_by_lua\* defined in server ~test2\\\.com\b)" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 21: some server {} block missing ssl_certificate_by_lua* handlers (regex server name) - pattern "(?^:\[crit\] .*? SSL_do_handshake\(\) failed\b)" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 21: some server {} block missing ssl_certificate_by_lua* handlers (regex server name) - response_body - response is expected (repeated req 2, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -failed to do SSL handshake: handshake failed ' |
139-ssl-cert-by.t | TEST 21: some server {} block missing ssl_certificate_by_lua* handlers (regex server name) - pattern "(?^:\[alert\] .*? no ssl_certificate_by_lua\* defined in server ~test2\\\.com\b)" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 21: some server {} block missing ssl_certificate_by_lua* handlers (regex server name) - pattern "(?^:\[crit\] .*? SSL_do_handshake\(\) failed\b)" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 19: check the count of running timers - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 59 bytes. -received: HTTP/1.1 200 OK -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 2 -received: Connection: close -received: -received: 3 -close: 1 nil ' |
139-ssl-cert-by.t | TEST 19: check the count of running timers - pattern "ssl_certificate_by_lua:1: ssl cert by lua is running!" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 19: check the count of running timers - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 19: check the count of running timers - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 59 bytes. -received: HTTP/1.1 200 OK -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 2 -received: Connection: close -received: -received: 3 -close: 1 nil ' |
139-ssl-cert-by.t | TEST 19: check the count of running timers - pattern "ssl_certificate_by_lua:1: ssl cert by lua is running!" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 19: check the count of running timers - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 19: check the count of running timers - response_body - response is expected (repeated req 2, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 59 bytes. -received: HTTP/1.1 200 OK -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 2 -received: Connection: close -received: -received: 3 -close: 1 nil ' |
139-ssl-cert-by.t | TEST 19: check the count of running timers - pattern "ssl_certificate_by_lua:1: ssl cert by lua is running!" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 19: check the count of running timers - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 13: subrequests disabled - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -failed to do SSL handshake: handshake failed ' |
139-ssl-cert-by.t | TEST 13: subrequests disabled - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 13: subrequests disabled - pattern "ssl_certificate_by_lua:1: API disabled in the context of ssl_certificate_by_lua*" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 13: subrequests disabled - pattern "(?^:\[crit\] .*?cert cb error)" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 13: subrequests disabled - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -failed to do SSL handshake: handshake failed ' |
139-ssl-cert-by.t | TEST 13: subrequests disabled - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 13: subrequests disabled - pattern "ssl_certificate_by_lua:1: API disabled in the context of ssl_certificate_by_lua*" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 13: subrequests disabled - pattern "(?^:\[crit\] .*?cert cb error)" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 13: subrequests disabled - response_body - response is expected (repeated req 2, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -failed to do SSL handshake: handshake failed ' |
139-ssl-cert-by.t | TEST 13: subrequests disabled - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 13: subrequests disabled - pattern "ssl_certificate_by_lua:1: API disabled in the context of ssl_certificate_by_lua*" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 13: subrequests disabled - pattern "(?^:\[crit\] .*?cert cb error)" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 14: simple logging (by_lua_file) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 14: simple logging (by_lua_file) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 14: simple logging (by_lua_file) - pattern "a.lua:1: ssl cert by lua is running!" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 14: simple logging (by_lua_file) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 14: simple logging (by_lua_file) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 14: simple logging (by_lua_file) - pattern "a.lua:1: ssl cert by lua is running!" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 14: simple logging (by_lua_file) - response_body - response is expected (repeated req 2, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 14: simple logging (by_lua_file) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 14: simple logging (by_lua_file) - pattern "a.lua:1: ssl cert by lua is running!" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 7: ngx.exit(0) - yield - pattern "[emerg]" should not match any line in error.log but matches line "2018/01/07 00:27:14 [emerg] 19181\#0: unlink() /home/ec2-user/git/lua-nginx-module/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0) | |
139-ssl-cert-by.t | TEST 12: connection aborted prematurely - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -failed to do SSL handshake: timeout ' |
139-ssl-cert-by.t | TEST 12: connection aborted prematurely - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 12: connection aborted prematurely - pattern "ssl-cert-by-lua: after sleeping" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 12: connection aborted prematurely - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -failed to do SSL handshake: timeout ' |
139-ssl-cert-by.t | TEST 12: connection aborted prematurely - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 12: connection aborted prematurely - pattern "ssl-cert-by-lua: after sleeping" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 12: connection aborted prematurely - response_body - response is expected (repeated req 2, req 0) |
@@ -1,2 +1 @@ -connected: 1 +failed to connect: no such file or directory -failed to do SSL handshake: timeout ' |
139-ssl-cert-by.t | TEST 12: connection aborted prematurely - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 12: connection aborted prematurely - pattern "ssl-cert-by-lua: after sleeping" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 4: cosocket - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 4: cosocket - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 4: cosocket - pattern "received memc reply: OK" should match a line in error.log (req 0) | |
139-ssl-cert-by.t | TEST 4: cosocket - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 4: cosocket - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 4: cosocket - pattern "received memc reply: OK" should match a line in error.log (req 1) | |
139-ssl-cert-by.t | TEST 4: cosocket - response_body - response is expected (repeated req 2, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
139-ssl-cert-by.t | TEST 4: cosocket - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 4: cosocket - pattern "received memc reply: OK" should match a line in error.log (req 2) | |
139-ssl-cert-by.t | TEST 9: lua exception - no yield - pattern "[emerg]" should not match any line in error.log but matches line "2018/01/07 00:27:20 [emerg] 19181\#0: unlink() /home/ec2-user/git/lua-nginx-module/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0) | |
139-ssl-cert-by.t | TEST 6: ngx.exit(ngx.ERROR) - no yield - pattern "[emerg]" should not match any line in error.log but matches line "2018/01/07 00:27:23 [emerg] 19181\#0: unlink() /home/ec2-user/git/lua-nginx-module/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0) | |
140-ssl-c-api.t | TEST 4: simple cert + private key cdata - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
140-ssl-c-api.t | TEST 4: simple cert + private key cdata - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
140-ssl-c-api.t | TEST 4: simple cert + private key cdata - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
140-ssl-c-api.t | TEST 4: simple cert + private key cdata - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
140-ssl-c-api.t | TEST 4: simple cert + private key cdata - response_body - response is expected (repeated req 2, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
140-ssl-c-api.t | TEST 4: simple cert + private key cdata - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
140-ssl-c-api.t | TEST 5: ECDSA cert + private key cdata - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
140-ssl-c-api.t | TEST 5: ECDSA cert + private key cdata - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
140-ssl-c-api.t | TEST 5: ECDSA cert + private key cdata - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
140-ssl-c-api.t | TEST 5: ECDSA cert + private key cdata - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
140-ssl-c-api.t | TEST 5: ECDSA cert + private key cdata - response_body - response is expected (repeated req 2, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
140-ssl-c-api.t | TEST 5: ECDSA cert + private key cdata - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
140-ssl-c-api.t | TEST 1: simple cert + private key - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
140-ssl-c-api.t | TEST 1: simple cert + private key - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
140-ssl-c-api.t | TEST 1: simple cert + private key - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
140-ssl-c-api.t | TEST 1: simple cert + private key - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
140-ssl-c-api.t | TEST 1: simple cert + private key - response_body - response is expected (repeated req 2, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
140-ssl-c-api.t | TEST 1: simple cert + private key - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
140-ssl-c-api.t | TEST 3: Handshake continue when cert_pem_to_der errors - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
140-ssl-c-api.t | TEST 3: Handshake continue when cert_pem_to_der errors - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
140-ssl-c-api.t | TEST 3: Handshake continue when cert_pem_to_der errors - pattern "failed to parse PEM cert: PEM_read_bio_X509_AUX()" should match a line in error.log (req 0) | |
140-ssl-c-api.t | TEST 3: Handshake continue when cert_pem_to_der errors - pattern "failed to parse PEM priv key: PEM_read_bio_PrivateKey() failed" should match a line in error.log (req 0) | |
140-ssl-c-api.t | TEST 3: Handshake continue when cert_pem_to_der errors - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
140-ssl-c-api.t | TEST 3: Handshake continue when cert_pem_to_der errors - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
140-ssl-c-api.t | TEST 3: Handshake continue when cert_pem_to_der errors - pattern "failed to parse PEM cert: PEM_read_bio_X509_AUX()" should match a line in error.log (req 1) | |
140-ssl-c-api.t | TEST 3: Handshake continue when cert_pem_to_der errors - pattern "failed to parse PEM priv key: PEM_read_bio_PrivateKey() failed" should match a line in error.log (req 1) | |
140-ssl-c-api.t | TEST 3: Handshake continue when cert_pem_to_der errors - response_body - response is expected (repeated req 2, req 0) |
@@ -1,11 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
140-ssl-c-api.t | TEST 3: Handshake continue when cert_pem_to_der errors - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
140-ssl-c-api.t | TEST 3: Handshake continue when cert_pem_to_der errors - pattern "failed to parse PEM cert: PEM_read_bio_X509_AUX()" should match a line in error.log (req 2) | |
140-ssl-c-api.t | TEST 3: Handshake continue when cert_pem_to_der errors - pattern "failed to parse PEM priv key: PEM_read_bio_PrivateKey() failed" should match a line in error.log (req 2) | |
142-ssl-session-store.t | TEST 8: get phase - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 8: get phase - pattern "get_phase: ssl_session_store" should match a line in error.log (req 0) | |
142-ssl-session-store.t | TEST 8: get phase - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 8: get phase - pattern "get_phase: ssl_session_store" should match a line in error.log (req 1) | |
142-ssl-session-store.t | TEST 8: get phase - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 8: get phase - pattern "get_phase: ssl_session_store" should match a line in error.log (req 2) | |
142-ssl-session-store.t | TEST 7: lua exception - no yield - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 7: lua exception - no yield - pattern "failed to run session_store_by_lua*: ssl_session_store_by_lua_block:2: bad bad bad" should match a line in error.log (req 0) | |
142-ssl-session-store.t | TEST 7: lua exception - no yield - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 7: lua exception - no yield - pattern "failed to run session_store_by_lua*: ssl_session_store_by_lua_block:2: bad bad bad" should match a line in error.log (req 1) | |
142-ssl-session-store.t | TEST 7: lua exception - no yield - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 7: lua exception - no yield - pattern "failed to run session_store_by_lua*: ssl_session_store_by_lua_block:2: bad bad bad" should match a line in error.log (req 2) | |
142-ssl-session-store.t | TEST 5: ngx.exit(0) - no yield - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 5: ngx.exit(0) - no yield - pattern "lua exit with code 0" should match a line in error.log (req 0) | |
142-ssl-session-store.t | TEST 5: ngx.exit(0) - no yield - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 5: ngx.exit(0) - no yield - pattern "lua exit with code 0" should match a line in error.log (req 1) | |
142-ssl-session-store.t | TEST 5: ngx.exit(0) - no yield - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 5: ngx.exit(0) - no yield - pattern "lua exit with code 0" should match a line in error.log (req 2) | |
142-ssl-session-store.t | TEST 4: cosocket is not allowed - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 4: cosocket is not allowed - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
142-ssl-session-store.t | TEST 4: cosocket is not allowed - pattern "API disabled in the context of ssl_session_store_by_lua*" should match a line in error.log (req 0) | |
142-ssl-session-store.t | TEST 4: cosocket is not allowed - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 4: cosocket is not allowed - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
142-ssl-session-store.t | TEST 4: cosocket is not allowed - pattern "API disabled in the context of ssl_session_store_by_lua*" should match a line in error.log (req 1) | |
142-ssl-session-store.t | TEST 4: cosocket is not allowed - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 4: cosocket is not allowed - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
142-ssl-session-store.t | TEST 4: cosocket is not allowed - pattern "API disabled in the context of ssl_session_store_by_lua*" should match a line in error.log (req 2) | |
142-ssl-session-store.t | TEST 10: simple logging (by file) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 10: simple logging (by file) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
142-ssl-session-store.t | TEST 10: simple logging (by file) - pattern "a.lua:1: ssl store session by lua is running!" should match a line in error.log (req 0) | |
142-ssl-session-store.t | TEST 10: simple logging (by file) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 10: simple logging (by file) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
142-ssl-session-store.t | TEST 10: simple logging (by file) - pattern "a.lua:1: ssl store session by lua is running!" should match a line in error.log (req 1) | |
142-ssl-session-store.t | TEST 10: simple logging (by file) - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 10: simple logging (by file) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
142-ssl-session-store.t | TEST 10: simple logging (by file) - pattern "a.lua:1: ssl store session by lua is running!" should match a line in error.log (req 2) | |
142-ssl-session-store.t | TEST 6: ngx.exit(ngx.ERROR) - no yield - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 6: ngx.exit(ngx.ERROR) - no yield - pattern "lua exit with code -1" should match a line in error.log (req 0) | |
142-ssl-session-store.t | TEST 6: ngx.exit(ngx.ERROR) - no yield - pattern "ssl_session_store_by_lua*: handler return value: 0, sess new cb exit code: 0" should match a line in error.log (req 0) | |
142-ssl-session-store.t | TEST 6: ngx.exit(ngx.ERROR) - no yield - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 6: ngx.exit(ngx.ERROR) - no yield - pattern "lua exit with code -1" should match a line in error.log (req 1) | |
142-ssl-session-store.t | TEST 6: ngx.exit(ngx.ERROR) - no yield - pattern "ssl_session_store_by_lua*: handler return value: 0, sess new cb exit code: 0" should match a line in error.log (req 1) | |
142-ssl-session-store.t | TEST 6: ngx.exit(ngx.ERROR) - no yield - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 6: ngx.exit(ngx.ERROR) - no yield - pattern "lua exit with code -1" should match a line in error.log (req 2) | |
142-ssl-session-store.t | TEST 6: ngx.exit(ngx.ERROR) - no yield - pattern "ssl_session_store_by_lua*: handler return value: 0, sess new cb exit code: 0" should match a line in error.log (req 2) | |
142-ssl-session-store.t | TEST 2: sleep is not allowed - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 2: sleep is not allowed - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
142-ssl-session-store.t | TEST 2: sleep is not allowed - pattern "API disabled in the context of ssl_session_store_by_lua*" should match a line in error.log (req 0) | |
142-ssl-session-store.t | TEST 2: sleep is not allowed - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 2: sleep is not allowed - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
142-ssl-session-store.t | TEST 2: sleep is not allowed - pattern "API disabled in the context of ssl_session_store_by_lua*" should match a line in error.log (req 1) | |
142-ssl-session-store.t | TEST 2: sleep is not allowed - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 2: sleep is not allowed - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
142-ssl-session-store.t | TEST 2: sleep is not allowed - pattern "API disabled in the context of ssl_session_store_by_lua*" should match a line in error.log (req 2) | |
142-ssl-session-store.t | nginx: [emerg] | "ssl_session_store_by_lua_block" directive is not allowed here in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:28 |
142-ssl-session-store.t | TEST 1: simple logging - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 1: simple logging - grep_error_log_out (req 0) |
'reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 1 reusable connection: 0 reusable connection: 0 reusable connection: 0 ' doesn't match '(?^m:^reusable connection: 0 ssl session store: connection reusable: 0 ssl_session_store_by_lua_block:1: ssl session store by lua is running!, )' |
142-ssl-session-store.t | TEST 1: simple logging - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0) | |
142-ssl-session-store.t | TEST 1: simple logging - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 1: simple logging - grep_error_log_out (req 1) |
'reusable connection: 1 reusable connection: 0 reusable connection: 0 reusable connection: 0 ' doesn't match '(?^m:^reusable connection: 0 ssl session store: connection reusable: 0 ssl_session_store_by_lua_block:1: ssl session store by lua is running!, )' |
142-ssl-session-store.t | TEST 1: simple logging - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
142-ssl-session-store.t | TEST 1: simple logging - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
142-ssl-session-store.t | TEST 1: simple logging - grep_error_log_out (req 2) |
'reusable connection: 1 reusable connection: 0 reusable connection: 0 reusable connection: 0 ' doesn't match '(?^m:^reusable connection: 0 ssl session store: connection reusable: 0 ssl_session_store_by_lua_block:1: ssl session store by lua is running!, )' |
142-ssl-session-store.t | TEST 1: simple logging - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 2) | |
143-ssl-session-fetch.t | TEST 6: ngx.exit(ngx.ERROR) - yield - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 6: ngx.exit(ngx.ERROR) - yield - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 6: ngx.exit(ngx.ERROR) - yield - grep_error_log_out (req 1) |
got: '' expected: 'ssl_session_fetch_by_lua*: handler return value: -1, sess get cb exit code: 0 ' |
143-ssl-session-fetch.t | TEST 6: ngx.exit(ngx.ERROR) - yield - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 6: ngx.exit(ngx.ERROR) - yield - grep_error_log_out (req 2) |
got: '' expected: 'ssl_session_fetch_by_lua*: handler return value: -1, sess get cb exit code: 0 ' |
143-ssl-session-fetch.t | TEST 13: mixing ssl virtual servers with non-ssl virtual servers - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 13: mixing ssl virtual servers with non-ssl virtual servers - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 13: mixing ssl virtual servers with non-ssl virtual servers - grep_error_log_out (req 1) |
got: '' expected: 'ssl_session_fetch_by_lua_block:1: ssl fetch sess by lua is running! ' |
143-ssl-session-fetch.t | TEST 13: mixing ssl virtual servers with non-ssl virtual servers - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 13: mixing ssl virtual servers with non-ssl virtual servers - grep_error_log_out (req 2) |
got: '' expected: 'ssl_session_fetch_by_lua_block:1: ssl fetch sess by lua is running! ' |
143-ssl-session-fetch.t | TEST 4: cosocket - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 4: cosocket - pattern "[emerg]" should not match any line in error.log but matches line "2018/01/07 00:27:43 [emerg] 19916\#0: unlink() /home/ec2-user/git/lua-nginx-module/t/servroot/html/http.sock failed (2: No such file or directory)" (req 0) | |
143-ssl-session-fetch.t | TEST 4: cosocket - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 4: cosocket - grep_error_log_out (req 1) |
got: '' expected: 'received memc reply: OK ' |
143-ssl-session-fetch.t | TEST 4: cosocket - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 4: cosocket - grep_error_log_out (req 2) |
got: '' expected: 'received memc reply: OK ' |
143-ssl-session-fetch.t | TEST 5: ngx.exit(0) - yield - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 5: ngx.exit(0) - yield - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 5: ngx.exit(0) - yield - grep_error_log_out (req 1) |
got: '' expected: 'lua exit with code 0 ' |
143-ssl-session-fetch.t | TEST 5: ngx.exit(0) - yield - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 5: ngx.exit(0) - yield - grep_error_log_out (req 2) |
got: '' expected: 'lua exit with code 0 ' |
143-ssl-session-fetch.t | TEST 10: get phase - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 10: get phase - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 10: get phase - grep_error_log_out (req 1) |
got: '' expected: 'get_phase: ssl_session_fetch ' |
143-ssl-session-fetch.t | TEST 10: get phase - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 10: get phase - grep_error_log_out (req 2) |
got: '' expected: 'get_phase: ssl_session_fetch ' |
143-ssl-session-fetch.t | TEST 3: timer - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 3: timer - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 3: timer - grep_error_log_out (req 1) |
got: '' expected: 'my timer run! ' |
143-ssl-session-fetch.t | TEST 3: timer - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 3: timer - grep_error_log_out (req 2) |
got: '' expected: 'my timer run! ' |
143-ssl-session-fetch.t | TEST 7: ngx.exit(ngx.ERROR) - yield - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 7: ngx.exit(ngx.ERROR) - yield - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 7: ngx.exit(ngx.ERROR) - yield - grep_error_log_out (req 1) |
got: '' expected: 'ssl_session_fetch_by_lua*: sess get cb exit code: 0 ' |
143-ssl-session-fetch.t | TEST 7: ngx.exit(ngx.ERROR) - yield - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 7: ngx.exit(ngx.ERROR) - yield - grep_error_log_out (req 2) |
got: '' expected: 'ssl_session_fetch_by_lua*: sess get cb exit code: 0 ' |
143-ssl-session-fetch.t | TEST 2: sleep - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 2: sleep - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 2: sleep - grep_error_log_out (req 1) |
'' doesn't match '(?^:elapsed in ssl fetch session by lua: 0.(?:09|1[01])\d+,)' |
143-ssl-session-fetch.t | TEST 2: sleep - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 2: sleep - grep_error_log_out (req 2) |
'' doesn't match '(?^:elapsed in ssl fetch session by lua: 0.(?:09|1[01])\d+,)' |
143-ssl-session-fetch.t | TEST 8: lua exception - no yield - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 8: lua exception - no yield - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 8: lua exception - no yield - grep_error_log_out (req 1) |
got: '' expected: 'ssl_session_fetch_by_lua_block:2: bad bad bad ' |
143-ssl-session-fetch.t | TEST 8: lua exception - no yield - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 8: lua exception - no yield - grep_error_log_out (req 2) |
got: '' expected: 'ssl_session_fetch_by_lua_block:2: bad bad bad ' |
143-ssl-session-fetch.t | TEST 1: simple logging - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 1: simple logging - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 1: simple logging - grep_error_log_out (req 1) |
'reusable connection: 1 reusable connection: 0 reusable connection: 0 reusable connection: 0 ' doesn't match '(?^m:^reusable connection: 1 ssl session fetch: connection reusable: 1 reusable connection: 0 ssl_session_fetch_by_lua_block:1: ssl fetch sess by lua is running!, )' |
143-ssl-session-fetch.t | TEST 1: simple logging - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 1: simple logging - grep_error_log_out (req 2) |
'reusable connection: 1 reusable connection: 0 reusable connection: 0 reusable connection: 0 ' doesn't match '(?^m:^reusable connection: 1 ssl session fetch: connection reusable: 1 reusable connection: 0 ssl_session_fetch_by_lua_block:1: ssl fetch sess by lua is running!, )' |
143-ssl-session-fetch.t | TEST 11: inter-operation with ssl_certificate_by_lua - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 11: inter-operation with ssl_certificate_by_lua - grep_error_log_out (req 0) |
@@ -1,2 +0,0 @@ -ssl cert by lua is running! -ssl store session by lua is running! ' |
143-ssl-session-fetch.t | TEST 11: inter-operation with ssl_certificate_by_lua - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 11: inter-operation with ssl_certificate_by_lua - grep_error_log_out (req 1) |
@@ -1,3 +0,0 @@ -ssl fetch session by lua is running! -ssl cert by lua is running! -ssl store session by lua is running! ' |
143-ssl-session-fetch.t | TEST 11: inter-operation with ssl_certificate_by_lua - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 11: inter-operation with ssl_certificate_by_lua - grep_error_log_out (req 2) |
@@ -1,3 +0,0 @@ -ssl fetch session by lua is running! -ssl cert by lua is running! -ssl store session by lua is running! ' |
143-ssl-session-fetch.t | TEST 12: simple logging (by file) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 12: simple logging (by file) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 12: simple logging (by file) - grep_error_log_out (req 1) |
got: '' expected: 'a.lua:1: ssl fetch sess by lua is running! ' |
143-ssl-session-fetch.t | TEST 12: simple logging (by file) - response_body - response is expected (repeated req 2, req 0) |
@@ -1,3 +1 @@ -connected: 1 +failed to connect: no such file or directory -ssl handshake: userdata -close: 1 nil ' |
143-ssl-session-fetch.t | TEST 12: simple logging (by file) - grep_error_log_out (req 2) |
got: '' expected: 'a.lua:1: ssl fetch sess by lua is running! ' |
145-shdict-list.t | TEST 14: rpush and lpop - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1,2 @@ -1 +push err: value not a list -2 +pop err: value not a list -3 ' |
145-shdict-list.t | TEST 3: set operation on list type - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1,3 @@ -push success +push err: value not a list true nil bar nil ' |
145-shdict-list.t | TEST 2: get operation on list type - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ -push success +push err: value not a list -nil value is a list +bar nil ' |
145-shdict-list.t | TEST 17: expire on all types - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ -keys number: 2 +keys number: 3 keys number: 0 ' |
145-shdict-list.t | TEST 12: lpush and lpop - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1,2 @@ -3 +push err: value not a list -2 +pop err: value not a list -1 ' |
145-shdict-list.t | TEST 13: lpush and rpop - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1,2 @@ -1 +push err: value not a list -2 +pop err: value not a list -3 ' |
145-shdict-list.t | TEST 6: delete operation on list type - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1,3 @@ -push success +push err: value not a list true nil nil nil ' |
145-shdict-list.t | TEST 16: list removed: forcibly - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1,3 @@ -two == number 2: true +two == number 2: false no one left: 0 -two == number 2: true +two == number 2: false ' |
146-malloc-trim.t | TEST 7: zero count means off, log_by_lua - grep_error_log_out (req 0) |
got: 'malloc_trim(1) returned 0 ' expected: '' |
146-malloc-trim.t | TEST 5: malloc_trim() every 2 req, in subreq, big memory usage - grep_error_log_out (req 0) |
@@ -1,3 +1,8 @@ -malloc_trim(1) returned 1 +malloc_trim(1) returned 0 -malloc_trim(1) returned 1 +malloc_trim(1) returned 0 -malloc_trim(1) returned 1 +malloc_trim(1) returned 0 +malloc_trim(1) returned 0 +malloc_trim(1) returned 0 +malloc_trim(1) returned 0 +malloc_trim(1) returned 0 +malloc_trim(1) returned 0 ' |
146-malloc-trim.t | TEST 6: zero count means off - grep_error_log_out (req 0) |
got: 'malloc_trim(1) returned 0 ' expected: '' |
146-malloc-trim.t | TEST 2: malloc_trim() every 1 req, in subreq - grep_error_log_out (req 0) |
'malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 ' doesn't match '(?^:\Amalloc_trim\(1\) returned [01] malloc_trim\(1\) returned [01] malloc_trim\(1\) returned [01] malloc_trim\(1\) returned [01] malloc_trim\(1\) returned [01] malloc_trim\(1\) returned [01] \z)' |
146-malloc-trim.t | TEST 8: malloc_trim() every 1 req - grep_error_log_out (req 0) |
'malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 ' doesn't match '(?^:\Amalloc_trim\(1\) returned [01] \z)' |
146-malloc-trim.t | TEST 3: malloc_trim() every 2 req, in subreq - grep_error_log_out (req 0) |
'malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 ' doesn't match '(?^:\Amalloc_trim\(1\) returned [01] malloc_trim\(1\) returned [01] malloc_trim\(1\) returned [01] \z)' |
146-malloc-trim.t | TEST 1: malloc_trim() every 1 req, in subreq - grep_error_log_out (req 0) |
'malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 malloc_trim(1) returned 0 ' doesn't match '(?^:\Amalloc_trim\(1\) returned [01] \z)' |
148-fake-shm-zone.t | nginx: [emerg] | lua_fake_shm "x1" is already defined as "x1" in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:26 |
148-fake-shm-zone.t | TEST 3: get_info - response_body - response is expected (repeated req 0, req 0) |
@@ -1,4 +1,4 @@ name=x1 size=1048576 isinit=true -isold=false +isold=true ' |
152-timer-every.t | TEST 3: lua variable sharing via upvalue - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ registered timer -foo = 6 +foo = 3 ' |
152-timer-every.t | TEST 1: simple very - pattern "(?^:\[lua\] content_by_lua\(nginx\.conf:\d+\):\d+: elapsed: 0\.0(?:4[4-9]|5[0-6])\d*, context: ngx\.timer, client: \d+\.\d+\.\d+\.\d+, server: 0\.0\.0\.0:\d+)" should match a line in error.log (req 0) | |
152-timer-every.t | TEST 4: create the next timer immediately when timer start running - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ registered timer -foo = 6 +foo = 3 ' |
152-timer-every.t | TEST 6: memory leak check - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ registered timer -growth1 == growth2: true +growth1 == growth2: false ' |
152-timer-every.t | TEST 7: respect lua_max_pending_timers - pattern "[alert]" should not match any line in error.log but matches line "2018/01/07 00:28:46 [alert] 21284\#0: 9 lua_max_running_timers are not enough" (req 0) | |
153-semaphore-hup.t | TEST 2: timer + reload (lua code cache off) - grep_error_log_out (req 0) |
@@ -1,5 +1,2 @@ created semaphore object created semaphore object -try to reload nginx -created semaphore object -created semaphore object ' |
Go back to the index page.