diff --git a/docs/categories/all.html b/docs/categories/all.html index 050d4111..832b5656 100644 --- a/docs/categories/all.html +++ b/docs/categories/all.html @@ -234,7 +234,7 @@

No Yes Yes - 4476 + 4475 @@ -357,7 +357,7 @@

Yes Yes Yes - 6184 + 6193 @@ -380,7 +380,7 @@

Yes No No - 1169 + 1170 @@ -403,7 +403,7 @@

No Yes No - 1697 + 1698 @@ -466,7 +466,7 @@

Yes Yes Yes - 23337 + 23340 @@ -529,7 +529,7 @@

Yes Yes Yes - 614 + 617 @@ -552,7 +552,7 @@

No Yes No - 693 + 695 @@ -575,7 +575,7 @@

Yes Yes No - 1349 + 1350 @@ -665,7 +665,7 @@

Yes Yes Yes - 154 + 155 @@ -732,7 +732,7 @@

No Yes No - 91 + 92 @@ -887,7 +887,7 @@

No Yes Yes - 21391 + 21399 @@ -933,7 +933,7 @@

No Yes Yes - 2851 + 2855 @@ -979,7 +979,7 @@

Yes Yes Yes - 39 + 40 @@ -1091,7 +1091,7 @@

Yes Yes Yes - 8885 + 8886 @@ -1410,7 +1410,7 @@

Yes Yes Yes - 4241 + 4243 @@ -1433,7 +1433,7 @@

Yes Yes Yes - 1355 + 1358 @@ -1587,7 +1587,7 @@

Yes Yes Yes - 1056 + 1057 @@ -1702,7 +1702,7 @@

No Yes Yes - 8532 + 8538 @@ -1880,7 +1880,7 @@

No Yes Yes - 4180 + 4182 @@ -1989,7 +1989,7 @@

No Yes No - 1629 + 1630 @@ -2341,7 +2341,7 @@

No Yes Yes - 2560 + 2562 @@ -2490,7 +2490,7 @@

No Yes Yes - 1389 + 1391 @@ -2597,7 +2597,7 @@

No Yes No - 31 + 32 @@ -2641,7 +2641,7 @@

No No Yes - 9485 + 9484 @@ -2756,7 +2756,7 @@

No Yes Yes - 16920 + 16922 @@ -2846,7 +2846,7 @@

Yes Yes Yes - 570 + 571 @@ -2993,7 +2993,7 @@

No Yes No - 217 + 218 @@ -3077,7 +3077,7 @@

No Yes No - 533 + 534 @@ -3100,7 +3100,7 @@

Yes Yes Yes - 1168 + 1169 @@ -3325,7 +3325,7 @@

No Yes No - 148 + 150 @@ -3348,7 +3348,7 @@

No Yes No - 81 + 82 @@ -3438,7 +3438,7 @@

No Yes No - 4333 + 4339 @@ -3637,7 +3637,7 @@

No Yes Yes - 12545 + 12547 @@ -3878,7 +3878,7 @@

No Yes No - 28193 + 28190 @@ -4145,7 +4145,7 @@

Yes Yes No - 1118 + 1119 @@ -4191,7 +4191,7 @@

Yes Yes No - 39 + 40 @@ -4369,7 +4369,7 @@

Yes Yes Yes - 572 + 573 @@ -4436,7 +4436,7 @@

Yes Yes Yes - 441 + 442 @@ -4662,7 +4662,7 @@

Yes Yes Yes - 175 + 176 @@ -5121,7 +5121,7 @@

No Yes No - 814 + 813 @@ -5144,7 +5144,7 @@

Yes Yes No - 1919 + 1923 @@ -5167,7 +5167,7 @@

No Yes No - 128 + 129 @@ -5305,7 +5305,7 @@

No Yes No - 75996 + 76029 @@ -5328,7 +5328,7 @@

Yes Yes No - 26364 + 26374 @@ -5351,7 +5351,7 @@

Yes Yes No - 23337 + 23340 @@ -5372,7 +5372,7 @@

No Yes No - 7373 + 7372 @@ -5393,7 +5393,7 @@

No Yes No - 6271 + 6278 @@ -5416,7 +5416,7 @@

No Yes No - 6060 + 6065 @@ -5439,7 +5439,7 @@

Yes Yes Yes - 5605 + 5611 @@ -5460,7 +5460,7 @@

No Yes No - 4086 + 4088 @@ -5481,7 +5481,7 @@

No Yes No - 3834 + 3836 @@ -5525,7 +5525,7 @@

No Yes No - 2690 + 2691 @@ -5567,7 +5567,7 @@

No Yes No - 2322 + 2323 @@ -5588,7 +5588,7 @@

No Yes No - 2271 + 2275 @@ -5611,7 +5611,7 @@

No Yes No - 2240 + 2242 @@ -5632,7 +5632,7 @@

No Yes No - 2078 + 2079 @@ -5674,7 +5674,7 @@

No Yes No - 1419 + 1420 @@ -5718,7 +5718,7 @@

No Yes No - 1316 + 1320 @@ -5760,7 +5760,7 @@

No Yes No - 1020 + 1021 @@ -5781,7 +5781,7 @@

No Yes No - 910 + 912 @@ -5844,7 +5844,7 @@

No Yes No - 806 + 807 @@ -5909,7 +5909,7 @@

Yes Yes No - 672 + 673 @@ -5972,7 +5972,7 @@

No Yes No - 623 + 624 @@ -6098,7 +6098,7 @@

No Yes No - 487 + 488 @@ -6287,7 +6287,7 @@

No Yes No - 378 + 379 @@ -6308,7 +6308,7 @@

No Yes No - 371 + 372 @@ -6648,7 +6648,7 @@

No Yes No - 247 + 248 @@ -6690,7 +6690,7 @@

No Yes No - 246 + 248 @@ -6795,7 +6795,7 @@

No Yes No - 217 + 218 @@ -7070,7 +7070,7 @@

No Yes No - 188 + 190 @@ -7133,7 +7133,7 @@

No Yes No - 183 + 184 @@ -7343,7 +7343,7 @@

Yes Yes No - 153 + 154 @@ -7385,7 +7385,7 @@

No Yes No - 145 + 146 @@ -7597,7 +7597,7 @@

Yes Yes No - 112 + 113 @@ -7933,7 +7933,7 @@

No Yes No - 91 + 92 @@ -8458,7 +8458,7 @@

No Yes No - 54 + 55 @@ -8693,7 +8693,7 @@

No Yes No - 50 + 51 @@ -8800,7 +8800,7 @@

No Yes No - 46 + 47 @@ -8842,7 +8842,7 @@

No Yes No - 45 + 44 @@ -9073,7 +9073,7 @@

No Yes No - 40 + 41 @@ -9115,7 +9115,7 @@

No Yes No - 39 + 40 @@ -9833,7 +9833,7 @@

No Yes No - 27 + 28 @@ -10906,7 +10906,7 @@

No Yes No - 17 + 18 @@ -11095,7 +11095,7 @@

No Yes No - 16 + 17 @@ -11158,7 +11158,7 @@

No Yes No - 16 + 18 @@ -13117,7 +13117,7 @@

No Yes No - 7 + 8 @@ -14881,7 +14881,7 @@

No Yes No - 4 + 5 @@ -24751,7 +24751,7 @@

Yes Yes No - 2226 + 2228 @@ -25276,7 +25276,7 @@

No Yes Yes - 2865 + 2867 @@ -26981,7 +26981,7 @@

Yes Yes Yes - 658 + 659 @@ -27065,7 +27065,7 @@

No Yes No - 26354 + 26371 @@ -31123,7 +31123,7 @@

No No No - 7373 + 7372 @@ -31146,7 +31146,7 @@

No No No - 1389 + 1391 @@ -31371,7 +31371,7 @@

No No No - 217 + 218 @@ -31459,7 +31459,7 @@

No No No - 3589 + 3590 @@ -32113,7 +32113,7 @@

No Yes No - 4930 + 4934 @@ -32157,7 +32157,7 @@

No Yes Yes - 2570 + 2578 @@ -33280,7 +33280,7 @@

Connexion (link)

Stars - 4476 + 4475 Watchers @@ -33296,7 +33296,7 @@

Connexion (link)

Last Updated - 2024-09-24T22:37:43Z + 2024-09-26T18:03:58Z Archived @@ -33586,7 +33586,7 @@

Scalar (link)

Stars - 6184 + 6193 Watchers @@ -33594,7 +33594,7 @@

Scalar (link)

Forks - 196 + 197 Created @@ -33602,7 +33602,7 @@

Scalar (link)

Last Updated - 2024-09-26T02:58:44Z + 2024-09-27T00:40:20Z Archived @@ -33637,7 +33637,7 @@

Scramble (link)

Stars - 1169 + 1170 Watchers @@ -33645,7 +33645,7 @@

Scramble (link)

Forks - 112 + 113 Created @@ -33653,7 +33653,7 @@

Scramble (link)

Last Updated - 2024-09-25T13:34:40Z + 2024-09-26T19:04:08Z Archived @@ -33688,15 +33688,15 @@

Scribe (link)

Stars - 1697 + 1698 Watchers - 17 + 18 Forks - 304 + 303 Created @@ -33704,7 +33704,7 @@

Scribe (link)

Last Updated - 2024-09-25T07:33:51Z + 2024-09-26T16:44:40Z Archived @@ -33841,7 +33841,7 @@

ReDoc (link)

Stars - 23337 + 23340 Watchers @@ -33857,7 +33857,7 @@

ReDoc (link)

Last Updated - 2024-09-26T02:56:22Z + 2024-09-27T03:22:28Z Archived @@ -33994,7 +33994,7 @@

OpenAPI-UI (link)

Stars - 614 + 617 Watchers @@ -34010,7 +34010,7 @@

OpenAPI-UI (link)

Last Updated - 2024-09-18T03:04:01Z + 2024-09-27T02:31:30Z Archived @@ -34045,7 +34045,7 @@

oasdiff (link)

Stars - 693 + 695 Watchers @@ -34053,7 +34053,7 @@

oasdiff (link)

Forks - 60 + 61 Created @@ -34061,7 +34061,7 @@

oasdiff (link)

Last Updated - 2024-09-25T07:54:10Z + 2024-09-26T15:04:12Z Archived @@ -34096,7 +34096,7 @@

optic diff (link)

Stars - 1349 + 1350 Watchers @@ -34112,7 +34112,7 @@

optic diff (link)

Last Updated - 2024-09-25T02:33:57Z + 2024-09-26T16:25:45Z Archived @@ -34300,7 +34300,7 @@

OpenAPI Filter (link)

Stars - 154 + 155 Watchers @@ -34316,7 +34316,7 @@

OpenAPI Filter (link)

Last Updated - 2024-08-24T07:18:08Z + 2024-09-26T11:52:51Z Archived @@ -34453,7 +34453,7 @@

oas3-api-snippet-enricher (link)

Stars - 91 + 92 Watchers @@ -34469,7 +34469,7 @@

oas3-api-snippet-enricher (link)

Last Updated - 2024-09-04T16:22:44Z + 2024-09-26T05:41:00Z Archived @@ -34810,15 +34810,15 @@

OpenAPI Generator (link)

Stars - 21391 + 21399 Watchers - 221 + 220 Forks - 6468 + 6475 Created @@ -34826,7 +34826,7 @@

OpenAPI Generator (link)

Last Updated - 2024-09-26T00:57:42Z + 2024-09-27T01:05:12Z Archived @@ -34912,7 +34912,7 @@

Kiota Api Client Generator (link)

Stars - 2851 + 2855 Watchers @@ -34920,7 +34920,7 @@

Kiota Api Client Generator (link)

Forks - 195 + 194 Created @@ -34928,7 +34928,7 @@

Kiota Api Client Generator (link)

Last Updated - 2024-09-25T18:59:36Z + 2024-09-26T22:28:22Z Archived @@ -35014,7 +35014,7 @@

Bump.sh (link)

Stars - 39 + 40 Watchers @@ -35030,7 +35030,7 @@

Bump.sh (link)

Last Updated - 2024-08-15T09:51:27Z + 2024-09-26T09:18:19Z Archived @@ -35269,7 +35269,7 @@

Swagger Editor (link)

Stars - 8885 + 8886 Watchers @@ -35285,7 +35285,7 @@

Swagger Editor (link)

Last Updated - 2024-09-25T14:54:20Z + 2024-09-27T00:34:16Z Archived @@ -36034,7 +36034,7 @@

Prism (link)

Stars - 4241 + 4243 Watchers @@ -36050,7 +36050,7 @@

Prism (link)

Last Updated - 2024-09-26T02:43:50Z + 2024-09-26T12:25:51Z Archived @@ -36085,7 +36085,7 @@

Microcks (link)

Stars - 1355 + 1358 Watchers @@ -36093,7 +36093,7 @@

Microcks (link)

Forks - 211 + 212 Created @@ -36101,7 +36101,7 @@

Microcks (link)

Last Updated - 2024-09-25T14:57:53Z + 2024-09-26T16:11:30Z Archived @@ -36407,7 +36407,7 @@

tsoa (link)

Last Updated - 2024-09-25T20:52:46Z + 2024-09-26T10:23:10Z Archived @@ -36442,7 +36442,7 @@

@hey-api/openapi-ts (link)

Stars - 1056 + 1057 Watchers @@ -36450,7 +36450,7 @@

@hey-api/openapi-ts (link)

Forks - 86 + 88 Created @@ -36458,7 +36458,7 @@

@hey-api/openapi-ts (link)

Last Updated - 2024-09-26T02:47:46Z + 2024-09-26T15:55:35Z Archived @@ -36697,7 +36697,7 @@

API Platform (link)

Stars - 8532 + 8538 Watchers @@ -36713,7 +36713,7 @@

API Platform (link)

Last Updated - 2024-09-24T18:38:20Z + 2024-09-26T17:41:46Z Archived @@ -37007,7 +37007,7 @@

@nestjs/swagger (link)

Watchers - 32 + 31 Forks @@ -37105,11 +37105,11 @@

Dredd (link)

Stars - 4180 + 4182 Watchers - 76 + 75 Forks @@ -37121,7 +37121,7 @@

Dredd (link)

Last Updated - 2024-09-17T08:25:18Z + 2024-09-26T12:20:23Z Archived @@ -37360,7 +37360,7 @@

Step CI (link)

Stars - 1629 + 1630 Watchers @@ -37368,7 +37368,7 @@

Step CI (link)

Forks - 75 + 76 Created @@ -37376,7 +37376,7 @@

Step CI (link)

Last Updated - 2024-09-24T09:59:47Z + 2024-09-26T07:47:16Z Archived @@ -37478,7 +37478,7 @@

Spectral (link)

Last Updated - 2024-09-25T20:27:26Z + 2024-09-26T12:01:26Z Archived @@ -37725,7 +37725,7 @@

committee (link)

Forks - 134 + 135 Created @@ -38176,7 +38176,7 @@

kin-openapi (link)

Stars - 2560 + 2562 Watchers @@ -38184,7 +38184,7 @@

kin-openapi (link)

Forks - 428 + 426 Created @@ -38192,7 +38192,7 @@

kin-openapi (link)

Last Updated - 2024-09-25T17:44:01Z + 2024-09-27T03:26:38Z Archived @@ -38533,7 +38533,7 @@

Microsoft/OpenAPI.NET (link)

Stars - 1389 + 1391 Watchers @@ -38549,7 +38549,7 @@

Microsoft/OpenAPI.NET (link)

Last Updated - 2024-09-26T02:51:56Z + 2024-09-26T15:51:13Z Archived @@ -38788,7 +38788,7 @@

docler-labs/api-client-generator (link) Stars - 31 + 32 Watchers @@ -38804,7 +38804,7 @@

docler-labs/api-client-generator (link) Last Updated - 2024-09-09T23:44:46Z + 2024-09-26T11:52:08Z Archived @@ -38890,7 +38890,7 @@

go-swagger (link)

Stars - 9485 + 9484 Watchers @@ -38906,7 +38906,7 @@

go-swagger (link)

Last Updated - 2024-09-25T06:08:32Z + 2024-09-26T10:44:36Z Archived @@ -39047,11 +39047,11 @@

NSwag (link)

Watchers - 168 + 167 Forks - 1240 + 1241 Created @@ -39145,7 +39145,7 @@

Swagger-Codegen (link)

Stars - 16920 + 16922 Watchers @@ -39161,7 +39161,7 @@

Swagger-Codegen (link)

Last Updated - 2024-09-25T15:29:03Z + 2024-09-26T21:47:50Z Archived @@ -39200,7 +39200,7 @@

Azure AutoRest (link)

Watchers - 891 + 894 Forks @@ -39349,7 +39349,7 @@

api (link)

Stars - 570 + 571 Watchers @@ -39365,7 +39365,7 @@

api (link)

Last Updated - 2024-09-24T09:15:45Z + 2024-09-26T07:38:53Z Archived @@ -39706,7 +39706,7 @@

Tcases for OpenAPI (link)

Stars - 217 + 218 Watchers @@ -39722,7 +39722,7 @@

Tcases for OpenAPI (link)

Last Updated - 2024-09-15T01:19:26Z + 2024-09-26T17:27:56Z Archived @@ -39910,7 +39910,7 @@

openapi-fuzzer (link)

Stars - 533 + 534 Watchers @@ -39926,7 +39926,7 @@

openapi-fuzzer (link)

Last Updated - 2024-09-18T23:27:25Z + 2024-09-26T07:34:10Z Archived @@ -39961,7 +39961,7 @@

cats (link)

Stars - 1168 + 1169 Watchers @@ -39977,7 +39977,7 @@

cats (link)

Last Updated - 2024-09-26T02:10:45Z + 2024-09-26T07:45:14Z Archived @@ -40436,7 +40436,7 @@

OpenApiSpecGeneratorPlugin (link)

Last Updated - 2024-09-25T10:37:28Z + 2024-09-26T12:11:50Z Archived @@ -40471,7 +40471,7 @@

har2openapi (link)

Stars - 148 + 150 Watchers @@ -40487,7 +40487,7 @@

har2openapi (link)

Last Updated - 2024-09-10T23:47:27Z + 2024-09-26T22:14:38Z Archived @@ -40522,7 +40522,7 @@

har-to-openapi (link)

Stars - 81 + 82 Watchers @@ -40530,7 +40530,7 @@

har-to-openapi (link)

Forks - 9 + 10 Created @@ -40538,7 +40538,7 @@

har-to-openapi (link)

Last Updated - 2024-09-09T15:10:29Z + 2024-09-26T21:04:41Z Archived @@ -40683,7 +40683,7 @@

OpenAPI DevTools (link)

Forks - 70 + 71 Created @@ -40726,7 +40726,7 @@

TypeSpec (link)

Stars - 4333 + 4339 Watchers @@ -40742,7 +40742,7 @@

TypeSpec (link)

Last Updated - 2024-09-26T03:12:20Z + 2024-09-27T02:18:41Z Archived @@ -40997,7 +40997,7 @@

openapi-format (link)

Last Updated - 2024-09-16T08:50:33Z + 2024-09-26T11:06:09Z Archived @@ -41185,7 +41185,7 @@

OWASP ZAP (link)

Stars - 12545 + 12547 Watchers @@ -41201,7 +41201,7 @@

OWASP ZAP (link)

Last Updated - 2024-09-26T01:55:17Z + 2024-09-26T11:55:17Z Archived @@ -41746,7 +41746,7 @@

Django REST Framework (link)

Stars - 28193 + 28190 Watchers @@ -41762,7 +41762,7 @@

Django REST Framework (link)

Last Updated - 2024-09-26T03:12:36Z + 2024-09-27T03:09:53Z Archived @@ -42358,7 +42358,7 @@

Cherrybomb (link)

Stars - 1118 + 1119 Watchers @@ -42374,7 +42374,7 @@

Cherrybomb (link)

Last Updated - 2024-09-23T12:53:10Z + 2024-09-26T19:11:02Z Archived @@ -42460,7 +42460,7 @@

Typoas (link)

Stars - 39 + 40 Watchers @@ -42476,7 +42476,7 @@

Typoas (link)

Last Updated - 2024-09-24T06:32:52Z + 2024-09-26T23:39:51Z Archived @@ -42782,7 +42782,7 @@

Counterfact (link)

Last Updated - 2024-09-24T02:44:58Z + 2024-09-27T03:25:56Z Archived @@ -42868,7 +42868,7 @@

vacuum (link)

Stars - 572 + 573 Watchers @@ -42884,7 +42884,7 @@

vacuum (link)

Last Updated - 2024-09-24T18:18:06Z + 2024-09-26T23:04:21Z Archived @@ -43021,7 +43021,7 @@

libopenapi (link)

Stars - 441 + 442 Watchers @@ -43037,7 +43037,7 @@

libopenapi (link)

Last Updated - 2024-09-24T08:57:22Z + 2024-09-26T11:18:01Z Archived @@ -43496,7 +43496,7 @@

Specmatic (link)

Last Updated - 2024-09-25T11:55:57Z + 2024-09-26T04:41:27Z Archived @@ -43531,7 +43531,7 @@

openapi-changes (link)

Stars - 175 + 176 Watchers @@ -43547,7 +43547,7 @@

openapi-changes (link)

Last Updated - 2024-09-21T19:29:30Z + 2024-09-26T08:12:34Z Archived @@ -44108,7 +44108,7 @@

🌿 Fern (link)

Last Updated - 2024-09-26T02:23:41Z + 2024-09-26T22:52:06Z Archived @@ -44602,7 +44602,7 @@

Fuego (link)

Stars - 814 + 813 Watchers @@ -44618,7 +44618,7 @@

Fuego (link)

Last Updated - 2024-09-25T17:16:17Z + 2024-09-26T08:19:25Z Archived @@ -44653,7 +44653,7 @@

Huma (link)

Stars - 1919 + 1923 Watchers @@ -44669,7 +44669,7 @@

Huma (link)

Last Updated - 2024-09-25T20:33:54Z + 2024-09-27T01:07:04Z Archived @@ -44704,7 +44704,7 @@

openapi-merge (link)

Stars - 128 + 129 Watchers @@ -44720,7 +44720,7 @@

openapi-merge (link)

Last Updated - 2024-08-22T13:12:47Z + 2024-09-26T17:21:46Z Archived @@ -45010,7 +45010,7 @@

FastAPI (link)

Stars - 75996 + 76029 Watchers @@ -45018,7 +45018,7 @@

FastAPI (link)

Forks - 6405 + 6407 Created @@ -45026,7 +45026,7 @@

FastAPI (link)

Last Updated - 2024-09-26T02:45:02Z + 2024-09-27T03:30:27Z Archived @@ -45061,7 +45061,7 @@

swagger-ui (link)

Stars - 26364 + 26374 Watchers @@ -45077,7 +45077,7 @@

swagger-ui (link)

Last Updated - 2024-09-26T02:42:37Z + 2024-09-27T03:22:47Z Archived @@ -45112,7 +45112,7 @@

Redoc (link)

Stars - 23337 + 23340 Watchers @@ -45128,7 +45128,7 @@

Redoc (link)

Last Updated - 2024-09-26T02:56:22Z + 2024-09-27T03:22:28Z Archived @@ -45163,7 +45163,7 @@

swagger-core (link)

Stars - 7373 + 7372 Watchers @@ -45179,7 +45179,7 @@

swagger-core (link)

Last Updated - 2024-09-25T20:25:04Z + 2024-09-26T11:22:03Z Archived @@ -45214,7 +45214,7 @@

mockoon (link)

Stars - 6271 + 6278 Watchers @@ -45230,7 +45230,7 @@

mockoon (link)

Last Updated - 2024-09-26T00:00:24Z + 2024-09-26T19:38:26Z Archived @@ -45265,7 +45265,7 @@

OpenAPI Server Code Generator (oapi-cod Stars - 6060 + 6065 Watchers @@ -45273,7 +45273,7 @@

OpenAPI Server Code Generator (oapi-cod Forks - 841 + 840 Created @@ -45281,7 +45281,7 @@

OpenAPI Server Code Generator (oapi-cod Last Updated - 2024-09-25T18:37:28Z + 2024-09-26T16:46:02Z Archived @@ -45316,7 +45316,7 @@

OpenAPI TypeScript (link)

Stars - 5605 + 5611 Watchers @@ -45332,7 +45332,7 @@

OpenAPI TypeScript (link)

Last Updated - 2024-09-25T15:50:53Z + 2024-09-26T23:39:58Z Archived @@ -45367,7 +45367,7 @@

knife4j (link)

Stars - 4086 + 4088 Watchers @@ -45383,7 +45383,7 @@

knife4j (link)

Last Updated - 2024-09-25T11:46:11Z + 2024-09-26T10:38:04Z Archived @@ -45418,7 +45418,7 @@

openapi-directory (link)

Stars - 3834 + 3836 Watchers @@ -45434,7 +45434,7 @@

openapi-directory (link)

Last Updated - 2024-09-22T19:11:28Z + 2024-09-26T16:11:51Z Archived @@ -45485,7 +45485,7 @@

springdoc-openapi (link)

Last Updated - 2024-09-25T08:57:06Z + 2024-09-26T09:23:23Z Archived @@ -45520,7 +45520,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Stars - 2690 + 2691 Watchers @@ -45536,7 +45536,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Last Updated - 2024-09-25T13:12:31Z + 2024-09-26T07:14:24Z Archived @@ -45622,7 +45622,7 @@

drf-spectacular (link)

Stars - 2322 + 2323 Watchers @@ -45638,7 +45638,7 @@

drf-spectacular (link)

Last Updated - 2024-09-25T20:30:43Z + 2024-09-26T11:24:11Z Archived @@ -45673,7 +45673,7 @@

msgspec (link)

Stars - 2271 + 2275 Watchers @@ -45689,7 +45689,7 @@

msgspec (link)

Last Updated - 2024-09-25T11:27:28Z + 2024-09-26T16:46:32Z Archived @@ -45724,7 +45724,7 @@

Schemathesis (link)

Stars - 2240 + 2242 Watchers @@ -45740,7 +45740,7 @@

Schemathesis (link)

Last Updated - 2024-09-25T19:39:27Z + 2024-09-26T21:43:12Z Archived @@ -45775,7 +45775,7 @@

gnostic (link)

Stars - 2078 + 2079 Watchers @@ -45783,7 +45783,7 @@

gnostic (link)

Forks - 245 + 246 Created @@ -45791,7 +45791,7 @@

gnostic (link)

Last Updated - 2024-09-24T10:07:23Z + 2024-09-26T07:38:19Z Archived @@ -45842,7 +45842,7 @@

rapidoc (link)

Last Updated - 2024-09-26T00:44:49Z + 2024-09-27T00:34:15Z Archived @@ -45877,7 +45877,7 @@

openapi-generator-cli (link)

Stars - 1419 + 1420 Watchers @@ -45893,7 +45893,7 @@

openapi-generator-cli (link)

Last Updated - 2024-09-26T02:44:59Z + 2024-09-26T12:55:18Z Archived @@ -45979,7 +45979,7 @@

ogen (link)

Stars - 1316 + 1320 Watchers @@ -45995,7 +45995,7 @@

ogen (link)

Last Updated - 2024-09-25T18:41:38Z + 2024-09-26T16:26:38Z Archived @@ -46081,7 +46081,7 @@

apiflask (link)

Stars - 1020 + 1021 Watchers @@ -46097,7 +46097,7 @@

apiflask (link)

Last Updated - 2024-09-25T13:28:05Z + 2024-09-26T06:39:40Z Archived @@ -46132,7 +46132,7 @@

zod-to-openapi (link)

Stars - 910 + 912 Watchers @@ -46140,7 +46140,7 @@

zod-to-openapi (link)

Forks - 57 + 58 Created @@ -46148,7 +46148,7 @@

zod-to-openapi (link)

Last Updated - 2024-09-25T09:53:24Z + 2024-09-27T01:37:54Z Archived @@ -46285,7 +46285,7 @@

openapi-diff (link)

Stars - 806 + 807 Watchers @@ -46301,7 +46301,7 @@

openapi-diff (link)

Last Updated - 2024-09-25T16:43:52Z + 2024-09-26T08:29:50Z Archived @@ -46438,7 +46438,7 @@

openapi.tools (link)

Stars - 672 + 673 Watchers @@ -46454,7 +46454,7 @@

openapi.tools (link)

Last Updated - 2024-09-25T02:14:42Z + 2024-09-26T19:29:30Z Archived @@ -46591,7 +46591,7 @@

awesome-openapi3 (link)

Stars - 623 + 624 Watchers @@ -46607,7 +46607,7 @@

awesome-openapi3 (link)

Last Updated - 2024-09-12T00:15:42Z + 2024-09-26T09:20:42Z Archived @@ -46897,7 +46897,7 @@

openapi-mock (link)

Stars - 487 + 488 Watchers @@ -46913,7 +46913,7 @@

openapi-mock (link)

Last Updated - 2024-09-01T16:47:44Z + 2024-09-26T19:34:58Z Archived @@ -47007,7 +47007,7 @@

swagger-autogen (link)

Forks - 63 + 64 Created @@ -47356,7 +47356,7 @@

openapi-boilerplate (link)

Stars - 378 + 379 Watchers @@ -47364,7 +47364,7 @@

openapi-boilerplate (link)

Forks - 86 + 87 Created @@ -47372,7 +47372,7 @@

openapi-boilerplate (link)

Last Updated - 2024-09-21T16:22:44Z + 2024-09-26T13:45:56Z Archived @@ -47407,7 +47407,7 @@

fastapi-clean-example (link)

Stars - 371 + 372 Watchers @@ -47423,7 +47423,7 @@

fastapi-clean-example (link)

Last Updated - 2024-09-25T02:51:56Z + 2024-09-26T16:49:13Z Archived @@ -47984,7 +47984,7 @@

esmerald (link)

Last Updated - 2024-09-25T10:19:41Z + 2024-09-26T14:04:36Z Archived @@ -48223,7 +48223,7 @@

openapi-go (link)

Stars - 247 + 248 Watchers @@ -48239,7 +48239,7 @@

openapi-go (link)

Last Updated - 2024-09-21T19:20:42Z + 2024-09-26T19:27:08Z Archived @@ -48325,7 +48325,7 @@

znai (link)

Stars - 246 + 248 Watchers @@ -48341,7 +48341,7 @@

znai (link)

Last Updated - 2024-09-25T10:46:02Z + 2024-09-26T09:37:18Z Archived @@ -48580,7 +48580,7 @@

tcases (link)

Stars - 217 + 218 Watchers @@ -48596,7 +48596,7 @@

tcases (link)

Last Updated - 2024-09-15T01:19:26Z + 2024-09-26T17:27:56Z Archived @@ -48690,7 +48690,7 @@

class-validator-jsonschema (link)

Forks - 34 + 35 Created @@ -49243,7 +49243,7 @@

paypal-rest-api-specifications (link) Stars - 188 + 190 Watchers @@ -49259,7 +49259,7 @@

paypal-rest-api-specifications (link) Last Updated - 2024-09-25T21:48:22Z + 2024-09-26T12:22:08Z Archived @@ -49396,7 +49396,7 @@

refitter (link)

Stars - 183 + 184 Watchers @@ -49412,7 +49412,7 @@

refitter (link)

Last Updated - 2024-09-25T10:06:20Z + 2024-09-26T19:44:30Z Archived @@ -49514,7 +49514,7 @@

speakeasy (link)

Last Updated - 2024-09-25T10:56:26Z + 2024-09-26T18:18:05Z Archived @@ -49616,7 +49616,7 @@

apiclientcodegen (link)

Last Updated - 2024-09-23T09:03:04Z + 2024-09-26T08:27:43Z Archived @@ -49906,7 +49906,7 @@

openapi-starter (link)

Stars - 153 + 154 Watchers @@ -49922,7 +49922,7 @@

openapi-starter (link)

Last Updated - 2024-09-15T20:48:28Z + 2024-09-26T12:45:28Z Archived @@ -50008,7 +50008,7 @@

deeptest (link)

Stars - 145 + 146 Watchers @@ -50024,7 +50024,7 @@

deeptest (link)

Last Updated - 2024-09-25T00:56:10Z + 2024-09-26T23:06:31Z Archived @@ -50279,7 +50279,7 @@

awesome-jsonschema (link)

Last Updated - 2024-09-18T23:05:16Z + 2024-09-26T20:18:18Z Archived @@ -50518,7 +50518,7 @@

learn.openapis.org (link)

Stars - 112 + 113 Watchers @@ -50534,7 +50534,7 @@

learn.openapis.org (link)

Last Updated - 2024-09-22T06:06:23Z + 2024-09-26T17:20:06Z Archived @@ -50789,7 +50789,7 @@

openapi (link)

Last Updated - 2024-09-24T23:10:44Z + 2024-09-26T17:37:03Z Archived @@ -51146,7 +51146,7 @@

tools.openapis.org (link)

Last Updated - 2024-09-25T12:48:13Z + 2024-09-26T03:33:49Z Archived @@ -51334,7 +51334,7 @@

oas3-api-snippet-enricher (link)

Stars - 91 + 92 Watchers @@ -51350,7 +51350,7 @@

oas3-api-snippet-enricher (link)

Last Updated - 2024-09-04T16:22:44Z + 2024-09-26T05:41:00Z Archived @@ -51809,7 +51809,7 @@

httpgenerator (link)

Last Updated - 2024-09-23T10:03:28Z + 2024-09-26T08:27:42Z Archived @@ -52609,7 +52609,7 @@

openapi-python-generator (link)

Stars - 54 + 55 Watchers @@ -52625,7 +52625,7 @@

openapi-python-generator (link)

Last Updated - 2024-09-24T17:57:13Z + 2024-09-27T02:57:44Z Archived @@ -52676,7 +52676,7 @@

sideko (link)

Last Updated - 2024-09-25T00:17:45Z + 2024-09-26T17:34:59Z Archived @@ -53170,7 +53170,7 @@

apity (link)

Stars - 50 + 51 Watchers @@ -53186,7 +53186,7 @@

apity (link)

Last Updated - 2024-09-25T19:40:35Z + 2024-09-26T17:20:10Z Archived @@ -53390,7 +53390,7 @@

swagger-editor-validate (link)

Last Updated - 2024-09-19T04:26:25Z + 2024-09-26T04:09:26Z Archived @@ -53425,7 +53425,7 @@

rest (link)

Stars - 46 + 47 Watchers @@ -53441,7 +53441,7 @@

rest (link)

Last Updated - 2024-09-24T13:50:07Z + 2024-09-26T19:24:49Z Archived @@ -53527,7 +53527,7 @@

javalin-openapi (link)

Stars - 45 + 44 Watchers @@ -53543,7 +53543,7 @@

javalin-openapi (link)

Last Updated - 2024-09-25T18:45:08Z + 2024-09-26T03:35:55Z Archived @@ -54088,7 +54088,7 @@

schema-tools (link)

Stars - 40 + 41 Watchers @@ -54104,7 +54104,7 @@

schema-tools (link)

Last Updated - 2024-09-05T16:59:24Z + 2024-09-26T19:05:35Z Archived @@ -54190,7 +54190,7 @@

full-stack-fastapi-mysql (link)

Stars - 39 + 40 Watchers @@ -54206,7 +54206,7 @@

full-stack-fastapi-mysql (link)

Last Updated - 2024-07-13T15:03:10Z + 2024-09-26T11:59:34Z Archived @@ -54716,7 +54716,7 @@

openapi-search (link)

Last Updated - 2024-09-25T12:48:06Z + 2024-09-26T14:05:38Z Archived @@ -55583,7 +55583,7 @@

hei-admin-api (link)

Last Updated - 2024-09-25T13:15:44Z + 2024-09-26T12:00:10Z Archived @@ -55924,7 +55924,7 @@

keycloak-webhook (link)

Stars - 27 + 28 Watchers @@ -55940,7 +55940,7 @@

keycloak-webhook (link)

Last Updated - 2024-09-25T05:00:10Z + 2024-09-26T14:03:59Z Archived @@ -56960,7 +56960,7 @@

sbt-openapi-schema (link)

Last Updated - 2024-09-25T22:10:42Z + 2024-09-26T23:09:48Z Archived @@ -58525,7 +58525,7 @@

file-service (link)

Stars - 17 + 18 Watchers @@ -58541,7 +58541,7 @@

file-service (link)

Last Updated - 2024-05-03T09:56:13Z + 2024-09-26T04:17:30Z Archived @@ -58984,7 +58984,7 @@

openapi-overlays-js (link)

Stars - 16 + 17 Watchers @@ -59000,7 +59000,7 @@

openapi-overlays-js (link)

Last Updated - 2024-08-11T07:25:59Z + 2024-09-26T09:18:12Z Archived @@ -59137,7 +59137,7 @@

igomokugame (link)

Stars - 16 + 18 Watchers @@ -59153,7 +59153,7 @@

igomokugame (link)

Last Updated - 2024-09-24T05:53:55Z + 2024-09-26T13:49:16Z Archived @@ -60326,7 +60326,7 @@

yapily-openapi (link)

Last Updated - 2024-09-19T09:34:56Z + 2024-09-26T12:50:35Z Archived @@ -63641,7 +63641,7 @@

sandbox (link)

Last Updated - 2024-09-25T15:59:09Z + 2024-09-26T15:17:59Z Archived @@ -63880,7 +63880,7 @@

dinonce (link)

Stars - 7 + 8 Watchers @@ -63896,7 +63896,7 @@

dinonce (link)

Last Updated - 2023-07-14T18:34:39Z + 2024-09-26T10:17:59Z Archived @@ -66140,7 +66140,7 @@

stackql-azure-openapi (link)

Last Updated - 2024-06-15T05:40:46Z + 2024-09-26T23:07:56Z Archived @@ -68164,7 +68164,7 @@

openisbt (link)

Stars - 4 + 5 Watchers @@ -68180,7 +68180,7 @@

openisbt (link)

Last Updated - 2024-08-12T09:05:41Z + 2024-09-26T18:26:19Z Archived @@ -70577,7 +70577,7 @@

pulumi-provider-template (link)

Last Updated - 2024-09-24T03:21:42Z + 2024-09-26T03:44:15Z Archived @@ -71087,7 +71087,7 @@

woocoo (link)

Last Updated - 2024-09-26T00:09:46Z + 2024-09-26T16:05:00Z Archived @@ -79247,7 +79247,7 @@

goapi (link)

Last Updated - 2024-09-25T07:06:41Z + 2024-09-26T08:34:52Z Archived @@ -80573,7 +80573,7 @@

openapi-to-java-records-mustache-templa Last Updated - 2024-09-23T20:16:41Z + 2024-09-26T21:52:38Z Archived @@ -92134,7 +92134,7 @@

utoipa (link)

Stars - 2226 + 2228 Watchers @@ -92150,7 +92150,7 @@

utoipa (link)

Last Updated - 2024-09-26T00:30:56Z + 2024-09-27T00:04:35Z Archived @@ -93409,7 +93409,7 @@

orval (link)

Stars - 2865 + 2867 Watchers @@ -93425,7 +93425,7 @@

orval (link)

Last Updated - 2024-09-25T18:54:05Z + 2024-09-27T02:09:45Z Archived @@ -93680,7 +93680,7 @@

frontend (link)

Last Updated - 2024-09-12T23:50:22Z + 2024-09-26T23:07:30Z Archived @@ -94904,7 +94904,7 @@

EvoMaster (link)

Last Updated - 2024-09-25T12:33:35Z + 2024-09-26T18:59:56Z Archived @@ -97540,7 +97540,7 @@

kubb (link)

Stars - 658 + 659 Watchers @@ -97556,7 +97556,7 @@

kubb (link)

Last Updated - 2024-09-26T01:50:53Z + 2024-09-26T14:54:12Z Archived @@ -97744,15 +97744,15 @@

full-stack-fastapi-template (link)

Stars - 26354 + 26371 Watchers - 265 + 264 Forks - 4627 + 4634 Created @@ -97760,7 +97760,7 @@

full-stack-fastapi-template (link)

Last Updated - 2024-09-26T03:11:07Z + 2024-09-27T01:44:26Z Archived @@ -107638,7 +107638,7 @@

swagger-models (link)

Stars - 7373 + 7372 Watchers @@ -107654,7 +107654,7 @@

swagger-models (link)

Last Updated - 2024-09-25T20:25:04Z + 2024-09-26T11:22:03Z Archived @@ -107689,7 +107689,7 @@

Microsoft.OpenApi.net (link)

Stars - 1389 + 1391 Watchers @@ -107705,7 +107705,7 @@

Microsoft.OpenApi.net (link)

Last Updated - 2024-09-26T02:51:56Z + 2024-09-26T15:51:13Z Archived @@ -108250,7 +108250,7 @@

Tcases for OpenAPI (link)

Stars - 217 + 218 Watchers @@ -108266,7 +108266,7 @@

Tcases for OpenAPI (link)

Last Updated - 2024-09-15T01:19:26Z + 2024-09-26T17:27:56Z Archived @@ -108454,7 +108454,7 @@

PHP-CRUD-API (link)

Stars - 3589 + 3590 Watchers @@ -108470,7 +108470,7 @@

PHP-CRUD-API (link)

Last Updated - 2024-09-25T20:37:00Z + 2024-09-26T15:05:44Z Archived @@ -109984,7 +109984,7 @@

LoopBack 4 (link)

Stars - 4930 + 4934 Watchers @@ -110000,7 +110000,7 @@

LoopBack 4 (link)

Last Updated - 2024-09-25T11:04:50Z + 2024-09-26T22:31:49Z Archived @@ -110086,7 +110086,7 @@

RESTler (link)

Stars - 2570 + 2578 Watchers @@ -110102,7 +110102,7 @@

RESTler (link)

Last Updated - 2024-09-25T20:45:04Z + 2024-09-26T22:47:41Z Archived @@ -111530,7 +111530,7 @@

go-doudou (link)

Last Updated - 2024-09-25T16:08:02Z + 2024-09-26T14:49:15Z Archived diff --git a/docs/categories/auto-generators.html b/docs/categories/auto-generators.html index aef30a91..ca7a11d7 100644 --- a/docs/categories/auto-generators.html +++ b/docs/categories/auto-generators.html @@ -91,7 +91,7 @@

Yes No No - 1169 + 1170 @@ -160,7 +160,7 @@

No Yes No - 148 + 150 @@ -183,7 +183,7 @@

No Yes No - 81 + 82 @@ -273,7 +273,7 @@

No Yes No - 4333 + 4339 @@ -296,7 +296,7 @@

No Yes No - 814 + 813 @@ -319,7 +319,7 @@

Yes Yes No - 1919 + 1923 @@ -373,7 +373,7 @@

Scramble (link)

Stars - 1169 + 1170 Watchers @@ -381,7 +381,7 @@

Scramble (link)

Forks - 112 + 113 Created @@ -389,7 +389,7 @@

Scramble (link)

Last Updated - 2024-09-25T13:34:40Z + 2024-09-26T19:04:08Z Archived @@ -491,7 +491,7 @@

OpenApiSpecGeneratorPlugin (link)

Last Updated - 2024-09-25T10:37:28Z + 2024-09-26T12:11:50Z Archived @@ -526,7 +526,7 @@

har2openapi (link)

Stars - 148 + 150 Watchers @@ -542,7 +542,7 @@

har2openapi (link)

Last Updated - 2024-09-10T23:47:27Z + 2024-09-26T22:14:38Z Archived @@ -577,7 +577,7 @@

har-to-openapi (link)

Stars - 81 + 82 Watchers @@ -585,7 +585,7 @@

har-to-openapi (link)

Forks - 9 + 10 Created @@ -593,7 +593,7 @@

har-to-openapi (link)

Last Updated - 2024-09-09T15:10:29Z + 2024-09-26T21:04:41Z Archived @@ -738,7 +738,7 @@

OpenAPI DevTools (link)

Forks - 70 + 71 Created @@ -781,7 +781,7 @@

TypeSpec (link)

Stars - 4333 + 4339 Watchers @@ -797,7 +797,7 @@

TypeSpec (link)

Last Updated - 2024-09-26T03:12:20Z + 2024-09-27T02:18:41Z Archived @@ -832,7 +832,7 @@

Fuego (link)

Stars - 814 + 813 Watchers @@ -848,7 +848,7 @@

Fuego (link)

Last Updated - 2024-09-25T17:16:17Z + 2024-09-26T08:19:25Z Archived @@ -883,7 +883,7 @@

Huma (link)

Stars - 1919 + 1923 Watchers @@ -899,7 +899,7 @@

Huma (link)

Last Updated - 2024-09-25T20:33:54Z + 2024-09-27T01:07:04Z Archived diff --git a/docs/categories/code-generators.html b/docs/categories/code-generators.html index 0c132e82..9b4ee2db 100644 --- a/docs/categories/code-generators.html +++ b/docs/categories/code-generators.html @@ -114,7 +114,7 @@

No Yes Yes - 21391 + 21399 @@ -160,7 +160,7 @@

No Yes Yes - 2851 + 2855 @@ -248,7 +248,7 @@

No Yes Yes - 16920 + 16922 @@ -386,7 +386,7 @@

Yes Yes No - 26364 + 26374 @@ -407,7 +407,7 @@

No Yes No - 7373 + 7372 @@ -430,7 +430,7 @@

No Yes No - 6060 + 6065 @@ -472,7 +472,7 @@

No Yes No - 1419 + 1420 @@ -558,7 +558,7 @@

No Yes No - 188 + 190 @@ -812,7 +812,7 @@

No Yes No - 16 + 18 @@ -1381,7 +1381,7 @@

No Yes Yes - 2865 + 2867 @@ -1591,7 +1591,7 @@

Yes Yes Yes - 658 + 659 @@ -1868,7 +1868,7 @@

No No No - 7373 + 7372 @@ -2168,15 +2168,15 @@

OpenAPI Generator (link)

Stars - 21391 + 21399 Watchers - 221 + 220 Forks - 6468 + 6475 Created @@ -2184,7 +2184,7 @@

OpenAPI Generator (link)

Last Updated - 2024-09-26T00:57:42Z + 2024-09-27T01:05:12Z Archived @@ -2270,7 +2270,7 @@

Kiota Api Client Generator (link)

Stars - 2851 + 2855 Watchers @@ -2278,7 +2278,7 @@

Kiota Api Client Generator (link)

Forks - 195 + 194 Created @@ -2286,7 +2286,7 @@

Kiota Api Client Generator (link)

Last Updated - 2024-09-25T18:59:36Z + 2024-09-26T22:28:22Z Archived @@ -2474,7 +2474,7 @@

Swagger-Codegen (link)

Stars - 16920 + 16922 Watchers @@ -2490,7 +2490,7 @@

Swagger-Codegen (link)

Last Updated - 2024-09-25T15:29:03Z + 2024-09-26T21:47:50Z Archived @@ -2694,7 +2694,7 @@

🌿 Fern (link)

Last Updated - 2024-09-26T02:23:41Z + 2024-09-26T22:52:06Z Archived @@ -2780,7 +2780,7 @@

swagger-ui (link)

Stars - 26364 + 26374 Watchers @@ -2796,7 +2796,7 @@

swagger-ui (link)

Last Updated - 2024-09-26T02:42:37Z + 2024-09-27T03:22:47Z Archived @@ -2831,7 +2831,7 @@

swagger-core (link)

Stars - 7373 + 7372 Watchers @@ -2847,7 +2847,7 @@

swagger-core (link)

Last Updated - 2024-09-25T20:25:04Z + 2024-09-26T11:22:03Z Archived @@ -2882,7 +2882,7 @@

OpenAPI Server Code Generator (oapi-cod Stars - 6060 + 6065 Watchers @@ -2890,7 +2890,7 @@

OpenAPI Server Code Generator (oapi-cod Forks - 841 + 840 Created @@ -2898,7 +2898,7 @@

OpenAPI Server Code Generator (oapi-cod Last Updated - 2024-09-25T18:37:28Z + 2024-09-26T16:46:02Z Archived @@ -2984,7 +2984,7 @@

openapi-generator-cli (link)

Stars - 1419 + 1420 Watchers @@ -3000,7 +3000,7 @@

openapi-generator-cli (link)

Last Updated - 2024-09-26T02:44:59Z + 2024-09-26T12:55:18Z Archived @@ -3188,7 +3188,7 @@

paypal-rest-api-specifications (link) Stars - 188 + 190 Watchers @@ -3204,7 +3204,7 @@

paypal-rest-api-specifications (link) Last Updated - 2024-09-25T21:48:22Z + 2024-09-26T12:22:08Z Archived @@ -3561,7 +3561,7 @@

hei-admin-api (link)

Last Updated - 2024-09-25T13:15:44Z + 2024-09-26T12:00:10Z Archived @@ -3800,7 +3800,7 @@

igomokugame (link)

Stars - 16 + 18 Watchers @@ -3816,7 +3816,7 @@

igomokugame (link)

Last Updated - 2024-09-24T05:53:55Z + 2024-09-26T13:49:16Z Archived @@ -5177,7 +5177,7 @@

orval (link)

Stars - 2865 + 2867 Watchers @@ -5193,7 +5193,7 @@

orval (link)

Last Updated - 2024-09-25T18:54:05Z + 2024-09-27T02:09:45Z Archived @@ -5687,7 +5687,7 @@

kubb (link)

Stars - 658 + 659 Watchers @@ -5703,7 +5703,7 @@

kubb (link)

Last Updated - 2024-09-26T01:50:53Z + 2024-09-26T14:54:12Z Archived @@ -6350,7 +6350,7 @@

swagger-models (link)

Stars - 7373 + 7372 Watchers @@ -6366,7 +6366,7 @@

swagger-models (link)

Last Updated - 2024-09-25T20:25:04Z + 2024-09-26T11:22:03Z Archived diff --git a/docs/categories/converters.html b/docs/categories/converters.html index 12d0e977..1c31e4d1 100644 --- a/docs/categories/converters.html +++ b/docs/categories/converters.html @@ -177,7 +177,7 @@

Yes Yes Yes - 154 + 155 @@ -221,7 +221,7 @@

Yes Yes Yes - 1056 + 1057 @@ -267,7 +267,7 @@

No Yes No - 1629 + 1630 @@ -290,7 +290,7 @@

No No Yes - 9485 + 9484 @@ -359,7 +359,7 @@

Yes Yes Yes - 570 + 571 @@ -581,7 +581,7 @@

No Yes No - 128 + 129 @@ -604,7 +604,7 @@

Yes Yes Yes - 5605 + 5611 @@ -625,7 +625,7 @@

No Yes No - 2078 + 2079 @@ -1368,7 +1368,7 @@

OpenAPI Filter (link)

Stars - 154 + 155 Watchers @@ -1384,7 +1384,7 @@

OpenAPI Filter (link)

Last Updated - 2024-08-24T07:18:08Z + 2024-09-26T11:52:51Z Archived @@ -1470,7 +1470,7 @@

@hey-api/openapi-ts (link)

Stars - 1056 + 1057 Watchers @@ -1478,7 +1478,7 @@

@hey-api/openapi-ts (link)

Forks - 86 + 88 Created @@ -1486,7 +1486,7 @@

@hey-api/openapi-ts (link)

Last Updated - 2024-09-26T02:47:46Z + 2024-09-26T15:55:35Z Archived @@ -1572,7 +1572,7 @@

Step CI (link)

Stars - 1629 + 1630 Watchers @@ -1580,7 +1580,7 @@

Step CI (link)

Forks - 75 + 76 Created @@ -1588,7 +1588,7 @@

Step CI (link)

Last Updated - 2024-09-24T09:59:47Z + 2024-09-26T07:47:16Z Archived @@ -1623,7 +1623,7 @@

go-swagger (link)

Stars - 9485 + 9484 Watchers @@ -1639,7 +1639,7 @@

go-swagger (link)

Last Updated - 2024-09-25T06:08:32Z + 2024-09-26T10:44:36Z Archived @@ -1776,7 +1776,7 @@

api (link)

Stars - 570 + 571 Watchers @@ -1792,7 +1792,7 @@

api (link)

Last Updated - 2024-09-24T09:15:45Z + 2024-09-26T07:38:53Z Archived @@ -2047,7 +2047,7 @@

openapi-format (link)

Last Updated - 2024-09-16T08:50:33Z + 2024-09-26T11:06:09Z Archived @@ -2286,7 +2286,7 @@

openapi-merge (link)

Stars - 128 + 129 Watchers @@ -2302,7 +2302,7 @@

openapi-merge (link)

Last Updated - 2024-08-22T13:12:47Z + 2024-09-26T17:21:46Z Archived @@ -2337,7 +2337,7 @@

OpenAPI TypeScript (link)

Stars - 5605 + 5611 Watchers @@ -2353,7 +2353,7 @@

OpenAPI TypeScript (link)

Last Updated - 2024-09-25T15:50:53Z + 2024-09-26T23:39:58Z Archived @@ -2388,7 +2388,7 @@

gnostic (link)

Stars - 2078 + 2079 Watchers @@ -2396,7 +2396,7 @@

gnostic (link)

Forks - 245 + 246 Created @@ -2404,7 +2404,7 @@

gnostic (link)

Last Updated - 2024-09-24T10:07:23Z + 2024-09-26T07:38:19Z Archived @@ -2557,7 +2557,7 @@

awesome-jsonschema (link)

Last Updated - 2024-09-18T23:05:16Z + 2024-09-26T20:18:18Z Archived diff --git a/docs/categories/data-validators.html b/docs/categories/data-validators.html index b09cdbdf..013c839a 100644 --- a/docs/categories/data-validators.html +++ b/docs/categories/data-validators.html @@ -177,7 +177,7 @@

No Yes No - 1629 + 1630 @@ -309,7 +309,7 @@

No Yes Yes - 2560 + 2562 @@ -527,7 +527,7 @@

Yes Yes Yes - 572 + 573 @@ -573,7 +573,7 @@

Yes Yes Yes - 175 + 176 @@ -663,7 +663,7 @@

No Yes No - 814 + 813 @@ -686,7 +686,7 @@

Yes Yes No - 1919 + 1923 @@ -2035,7 +2035,7 @@

tsoa (link)

Last Updated - 2024-09-25T20:52:46Z + 2024-09-26T10:23:10Z Archived @@ -2172,7 +2172,7 @@

Step CI (link)

Stars - 1629 + 1630 Watchers @@ -2180,7 +2180,7 @@

Step CI (link)

Forks - 75 + 76 Created @@ -2188,7 +2188,7 @@

Step CI (link)

Last Updated - 2024-09-24T09:59:47Z + 2024-09-26T07:47:16Z Archived @@ -2333,7 +2333,7 @@

committee (link)

Forks - 134 + 135 Created @@ -2478,7 +2478,7 @@

kin-openapi (link)

Stars - 2560 + 2562 Watchers @@ -2486,7 +2486,7 @@

kin-openapi (link)

Forks - 428 + 426 Created @@ -2494,7 +2494,7 @@

kin-openapi (link)

Last Updated - 2024-09-25T17:44:01Z + 2024-09-27T03:26:38Z Archived @@ -2988,7 +2988,7 @@

vacuum (link)

Stars - 572 + 573 Watchers @@ -3004,7 +3004,7 @@

vacuum (link)

Last Updated - 2024-09-24T18:18:06Z + 2024-09-26T23:04:21Z Archived @@ -3090,7 +3090,7 @@

openapi-changes (link)

Stars - 175 + 176 Watchers @@ -3106,7 +3106,7 @@

openapi-changes (link)

Last Updated - 2024-09-21T19:29:30Z + 2024-09-26T08:12:34Z Archived @@ -3294,7 +3294,7 @@

Fuego (link)

Stars - 814 + 813 Watchers @@ -3310,7 +3310,7 @@

Fuego (link)

Last Updated - 2024-09-25T17:16:17Z + 2024-09-26T08:19:25Z Archived @@ -3345,7 +3345,7 @@

Huma (link)

Stars - 1919 + 1923 Watchers @@ -3361,7 +3361,7 @@

Huma (link)

Last Updated - 2024-09-25T20:33:54Z + 2024-09-27T01:07:04Z Archived @@ -3506,7 +3506,7 @@

class-validator-jsonschema (link)

Forks - 34 + 35 Created diff --git a/docs/categories/description-validators.html b/docs/categories/description-validators.html index 7d68acc7..1e246e4d 100644 --- a/docs/categories/description-validators.html +++ b/docs/categories/description-validators.html @@ -352,7 +352,7 @@

Yes Yes Yes - 570 + 571 @@ -417,7 +417,7 @@

Yes Yes No - 1118 + 1119 @@ -440,7 +440,7 @@

Yes Yes Yes - 572 + 573 @@ -574,7 +574,7 @@

Yes Yes No - 672 + 673 @@ -616,7 +616,7 @@

No Yes No - 487 + 488 @@ -637,7 +637,7 @@

No Yes No - 378 + 379 @@ -1928,7 +1928,7 @@

Spectral (link)

Last Updated - 2024-09-25T20:27:26Z + 2024-09-26T12:01:26Z Archived @@ -2269,7 +2269,7 @@

api (link)

Stars - 570 + 571 Watchers @@ -2285,7 +2285,7 @@

api (link)

Last Updated - 2024-09-24T09:15:45Z + 2024-09-26T07:38:53Z Archived @@ -2422,7 +2422,7 @@

Cherrybomb (link)

Stars - 1118 + 1119 Watchers @@ -2438,7 +2438,7 @@

Cherrybomb (link)

Last Updated - 2024-09-23T12:53:10Z + 2024-09-26T19:11:02Z Archived @@ -2473,7 +2473,7 @@

vacuum (link)

Stars - 572 + 573 Watchers @@ -2489,7 +2489,7 @@

vacuum (link)

Last Updated - 2024-09-24T18:18:06Z + 2024-09-26T23:04:21Z Archived @@ -2779,7 +2779,7 @@

openapi.tools (link)

Stars - 672 + 673 Watchers @@ -2795,7 +2795,7 @@

openapi.tools (link)

Last Updated - 2024-09-25T02:14:42Z + 2024-09-26T19:29:30Z Archived @@ -2881,7 +2881,7 @@

openapi-mock (link)

Stars - 487 + 488 Watchers @@ -2897,7 +2897,7 @@

openapi-mock (link)

Last Updated - 2024-09-01T16:47:44Z + 2024-09-26T19:34:58Z Archived @@ -2932,7 +2932,7 @@

openapi-boilerplate (link)

Stars - 378 + 379 Watchers @@ -2940,7 +2940,7 @@

openapi-boilerplate (link)

Forks - 86 + 87 Created @@ -2948,7 +2948,7 @@

openapi-boilerplate (link)

Last Updated - 2024-09-21T16:22:44Z + 2024-09-26T13:45:56Z Archived diff --git a/docs/categories/documentation.html b/docs/categories/documentation.html index 6db1d8c8..f72fde3c 100644 --- a/docs/categories/documentation.html +++ b/docs/categories/documentation.html @@ -169,7 +169,7 @@

Yes Yes Yes - 6184 + 6193 @@ -192,7 +192,7 @@

Yes No No - 1169 + 1170 @@ -215,7 +215,7 @@

No Yes No - 1697 + 1698 @@ -259,7 +259,7 @@

Yes Yes Yes - 23337 + 23340 @@ -322,7 +322,7 @@

Yes Yes Yes - 614 + 617 @@ -368,7 +368,7 @@

No Yes No - 91 + 92 @@ -479,7 +479,7 @@

Yes Yes Yes - 39 + 40 @@ -877,7 +877,7 @@

Yes Yes Yes - 175 + 176 @@ -1135,7 +1135,7 @@

No Yes No - 246 + 248 @@ -1240,7 +1240,7 @@

No Yes No - 91 + 92 @@ -2602,7 +2602,7 @@

Scalar (link)

Stars - 6184 + 6193 Watchers @@ -2610,7 +2610,7 @@

Scalar (link)

Forks - 196 + 197 Created @@ -2618,7 +2618,7 @@

Scalar (link)

Last Updated - 2024-09-26T02:58:44Z + 2024-09-27T00:40:20Z Archived @@ -2653,7 +2653,7 @@

Scramble (link)

Stars - 1169 + 1170 Watchers @@ -2661,7 +2661,7 @@

Scramble (link)

Forks - 112 + 113 Created @@ -2669,7 +2669,7 @@

Scramble (link)

Last Updated - 2024-09-25T13:34:40Z + 2024-09-26T19:04:08Z Archived @@ -2704,15 +2704,15 @@

Scribe (link)

Stars - 1697 + 1698 Watchers - 17 + 18 Forks - 304 + 303 Created @@ -2720,7 +2720,7 @@

Scribe (link)

Last Updated - 2024-09-25T07:33:51Z + 2024-09-26T16:44:40Z Archived @@ -2806,7 +2806,7 @@

ReDoc (link)

Stars - 23337 + 23340 Watchers @@ -2822,7 +2822,7 @@

ReDoc (link)

Last Updated - 2024-09-26T02:56:22Z + 2024-09-27T03:22:28Z Archived @@ -2959,7 +2959,7 @@

OpenAPI-UI (link)

Stars - 614 + 617 Watchers @@ -2975,7 +2975,7 @@

OpenAPI-UI (link)

Last Updated - 2024-09-18T03:04:01Z + 2024-09-27T02:31:30Z Archived @@ -3061,7 +3061,7 @@

oas3-api-snippet-enricher (link)

Stars - 91 + 92 Watchers @@ -3077,7 +3077,7 @@

oas3-api-snippet-enricher (link)

Last Updated - 2024-09-04T16:22:44Z + 2024-09-26T05:41:00Z Archived @@ -3316,7 +3316,7 @@

Bump.sh (link)

Stars - 39 + 40 Watchers @@ -3332,7 +3332,7 @@

Bump.sh (link)

Last Updated - 2024-08-15T09:51:27Z + 2024-09-26T09:18:19Z Archived @@ -3681,7 +3681,7 @@

OpenAPI DevTools (link)

Forks - 70 + 71 Created @@ -4234,7 +4234,7 @@

openapi-changes (link)

Stars - 175 + 176 Watchers @@ -4250,7 +4250,7 @@

openapi-changes (link)

Last Updated - 2024-09-21T19:29:30Z + 2024-09-26T08:12:34Z Archived @@ -4454,7 +4454,7 @@

🌿 Fern (link)

Last Updated - 2024-09-26T02:23:41Z + 2024-09-26T22:52:06Z Archived @@ -4760,7 +4760,7 @@

rapidoc (link)

Last Updated - 2024-09-26T00:44:49Z + 2024-09-27T00:34:15Z Archived @@ -4846,7 +4846,7 @@

znai (link)

Stars - 246 + 248 Watchers @@ -4862,7 +4862,7 @@

znai (link)

Last Updated - 2024-09-25T10:46:02Z + 2024-09-26T09:37:18Z Archived @@ -5101,7 +5101,7 @@

oas3-api-snippet-enricher (link)

Stars - 91 + 92 Watchers @@ -5117,7 +5117,7 @@

oas3-api-snippet-enricher (link)

Last Updated - 2024-09-04T16:22:44Z + 2024-09-26T05:41:00Z Archived diff --git a/docs/categories/learning.html b/docs/categories/learning.html index 1a632f2d..41e41ba8 100644 --- a/docs/categories/learning.html +++ b/docs/categories/learning.html @@ -91,7 +91,7 @@

Yes Yes No - 1349 + 1350 @@ -346,7 +346,7 @@

optic diff (link)

Stars - 1349 + 1350 Watchers @@ -362,7 +362,7 @@

optic diff (link)

Last Updated - 2024-09-25T02:33:57Z + 2024-09-26T16:25:45Z Archived diff --git a/docs/categories/low-level-tooling.html b/docs/categories/low-level-tooling.html index fb9276af..238568bd 100644 --- a/docs/categories/low-level-tooling.html +++ b/docs/categories/low-level-tooling.html @@ -114,7 +114,7 @@

No Yes No - 247 + 248 @@ -1277,7 +1277,7 @@

No No No - 7373 + 7372 @@ -1300,7 +1300,7 @@

No No No - 1389 + 1391 @@ -1456,7 +1456,7 @@

springdoc-openapi (link)

Last Updated - 2024-09-25T08:57:06Z + 2024-09-26T09:23:23Z Archived @@ -1491,7 +1491,7 @@

openapi-go (link)

Stars - 247 + 248 Watchers @@ -1507,7 +1507,7 @@

openapi-go (link)

Last Updated - 2024-09-21T19:20:42Z + 2024-09-26T19:27:08Z Archived @@ -4296,7 +4296,7 @@

swagger-models (link)

Stars - 7373 + 7372 Watchers @@ -4312,7 +4312,7 @@

swagger-models (link)

Last Updated - 2024-09-25T20:25:04Z + 2024-09-26T11:22:03Z Archived @@ -4347,7 +4347,7 @@

Microsoft.OpenApi.net (link)

Stars - 1389 + 1391 Watchers @@ -4363,7 +4363,7 @@

Microsoft.OpenApi.net (link)

Last Updated - 2024-09-26T02:51:56Z + 2024-09-26T15:51:13Z Archived diff --git a/docs/categories/mock-testing.html b/docs/categories/mock-testing.html index 15f9a406..a6c47386 100644 --- a/docs/categories/mock-testing.html +++ b/docs/categories/mock-testing.html @@ -91,7 +91,7 @@

Yes Yes Yes - 1355 + 1358 @@ -145,7 +145,7 @@

Microcks (link)

Stars - 1355 + 1358 Watchers @@ -153,7 +153,7 @@

Microcks (link)

Forks - 211 + 212 Created @@ -161,7 +161,7 @@

Microcks (link)

Last Updated - 2024-09-25T14:57:53Z + 2024-09-26T16:11:30Z Archived diff --git a/docs/categories/mock.html b/docs/categories/mock.html index 74601372..f3a3a087 100644 --- a/docs/categories/mock.html +++ b/docs/categories/mock.html @@ -110,7 +110,7 @@

Yes Yes Yes - 4241 + 4243 @@ -543,7 +543,7 @@

No Yes Yes - 2865 + 2867 @@ -821,7 +821,7 @@

Prism (link)

Stars - 4241 + 4243 Watchers @@ -837,7 +837,7 @@

Prism (link)

Last Updated - 2024-09-26T02:43:50Z + 2024-09-26T12:25:51Z Archived @@ -1296,7 +1296,7 @@

Counterfact (link)

Last Updated - 2024-09-24T02:44:58Z + 2024-09-27T03:25:56Z Archived @@ -1449,7 +1449,7 @@

Specmatic (link)

Last Updated - 2024-09-25T11:55:57Z + 2024-09-26T04:41:27Z Archived @@ -1841,7 +1841,7 @@

orval (link)

Stars - 2865 + 2867 Watchers @@ -1857,7 +1857,7 @@

orval (link)

Last Updated - 2024-09-25T18:54:05Z + 2024-09-27T02:09:45Z Archived diff --git a/docs/categories/parsers.html b/docs/categories/parsers.html index e3227a42..0368c6cd 100644 --- a/docs/categories/parsers.html +++ b/docs/categories/parsers.html @@ -91,7 +91,7 @@

Yes Yes Yes - 23337 + 23340 @@ -114,7 +114,7 @@

No Yes No - 693 + 695 @@ -135,7 +135,7 @@

Yes Yes Yes - 154 + 155 @@ -202,7 +202,7 @@

No Yes No - 91 + 92 @@ -719,7 +719,7 @@

No Yes Yes - 2560 + 2562 @@ -828,7 +828,7 @@

No Yes Yes - 1389 + 1391 @@ -918,7 +918,7 @@

No No Yes - 9485 + 9484 @@ -1010,7 +1010,7 @@

Yes Yes Yes - 570 + 571 @@ -1056,7 +1056,7 @@

No Yes No - 533 + 534 @@ -1148,7 +1148,7 @@

No Yes No - 148 + 150 @@ -1171,7 +1171,7 @@

No Yes No - 81 + 82 @@ -1437,7 +1437,7 @@

Yes Yes No - 39 + 40 @@ -1529,7 +1529,7 @@

Yes Yes Yes - 441 + 442 @@ -1755,7 +1755,7 @@

No Yes No - 128 + 129 @@ -1801,7 +1801,7 @@

Yes Yes No - 23337 + 23340 @@ -1822,7 +1822,7 @@

No Yes No - 1419 + 1420 @@ -1843,7 +1843,7 @@

No Yes No - 1316 + 1320 @@ -1885,7 +1885,7 @@

No Yes No - 910 + 912 @@ -1927,7 +1927,7 @@

No Yes No - 806 + 807 @@ -2011,7 +2011,7 @@

No Yes No - 623 + 624 @@ -2053,7 +2053,7 @@

No Yes No - 487 + 488 @@ -2137,7 +2137,7 @@

No Yes No - 378 + 379 @@ -2244,7 +2244,7 @@

No Yes No - 247 + 248 @@ -2435,7 +2435,7 @@

No Yes No - 183 + 184 @@ -2519,7 +2519,7 @@

Yes Yes No - 153 + 154 @@ -2689,7 +2689,7 @@

Yes Yes No - 112 + 113 @@ -2836,7 +2836,7 @@

No Yes No - 91 + 92 @@ -3216,7 +3216,7 @@

No Yes No - 50 + 51 @@ -3281,7 +3281,7 @@

No Yes No - 46 + 47 @@ -3428,7 +3428,7 @@

No Yes No - 40 + 41 @@ -4335,7 +4335,7 @@

No Yes No - 16 + 17 @@ -8917,7 +8917,7 @@

Yes Yes No - 2226 + 2228 @@ -10475,7 +10475,7 @@

No No No - 1389 + 1391 @@ -10963,7 +10963,7 @@

ReDoc (link)

Stars - 23337 + 23340 Watchers @@ -10979,7 +10979,7 @@

ReDoc (link)

Last Updated - 2024-09-26T02:56:22Z + 2024-09-27T03:22:28Z Archived @@ -11014,7 +11014,7 @@

oasdiff (link)

Stars - 693 + 695 Watchers @@ -11022,7 +11022,7 @@

oasdiff (link)

Forks - 60 + 61 Created @@ -11030,7 +11030,7 @@

oasdiff (link)

Last Updated - 2024-09-25T07:54:10Z + 2024-09-26T15:04:12Z Archived @@ -11065,7 +11065,7 @@

OpenAPI Filter (link)

Stars - 154 + 155 Watchers @@ -11081,7 +11081,7 @@

OpenAPI Filter (link)

Last Updated - 2024-08-24T07:18:08Z + 2024-09-26T11:52:51Z Archived @@ -11218,7 +11218,7 @@

oas3-api-snippet-enricher (link)

Stars - 91 + 92 Watchers @@ -11234,7 +11234,7 @@

oas3-api-snippet-enricher (link)

Last Updated - 2024-09-04T16:22:44Z + 2024-09-26T05:41:00Z Archived @@ -11846,7 +11846,7 @@

tsoa (link)

Last Updated - 2024-09-25T20:52:46Z + 2024-09-26T10:23:10Z Archived @@ -12391,7 +12391,7 @@

kin-openapi (link)

Stars - 2560 + 2562 Watchers @@ -12399,7 +12399,7 @@

kin-openapi (link)

Forks - 428 + 426 Created @@ -12407,7 +12407,7 @@

kin-openapi (link)

Last Updated - 2024-09-25T17:44:01Z + 2024-09-27T03:26:38Z Archived @@ -12646,7 +12646,7 @@

Microsoft/OpenAPI.NET (link)

Stars - 1389 + 1391 Watchers @@ -12662,7 +12662,7 @@

Microsoft/OpenAPI.NET (link)

Last Updated - 2024-09-26T02:51:56Z + 2024-09-26T15:51:13Z Archived @@ -12850,7 +12850,7 @@

go-swagger (link)

Stars - 9485 + 9484 Watchers @@ -12866,7 +12866,7 @@

go-swagger (link)

Last Updated - 2024-09-25T06:08:32Z + 2024-09-26T10:44:36Z Archived @@ -13054,7 +13054,7 @@

api (link)

Stars - 570 + 571 Watchers @@ -13070,7 +13070,7 @@

api (link)

Last Updated - 2024-09-24T09:15:45Z + 2024-09-26T07:38:53Z Archived @@ -13156,7 +13156,7 @@

openapi-fuzzer (link)

Stars - 533 + 534 Watchers @@ -13172,7 +13172,7 @@

openapi-fuzzer (link)

Last Updated - 2024-09-18T23:27:25Z + 2024-09-26T07:34:10Z Archived @@ -13360,7 +13360,7 @@

har2openapi (link)

Stars - 148 + 150 Watchers @@ -13376,7 +13376,7 @@

har2openapi (link)

Last Updated - 2024-09-10T23:47:27Z + 2024-09-26T22:14:38Z Archived @@ -13411,7 +13411,7 @@

har-to-openapi (link)

Stars - 81 + 82 Watchers @@ -13419,7 +13419,7 @@

har-to-openapi (link)

Forks - 9 + 10 Created @@ -13427,7 +13427,7 @@

har-to-openapi (link)

Last Updated - 2024-09-09T15:10:29Z + 2024-09-26T21:04:41Z Archived @@ -13631,7 +13631,7 @@

openapi-format (link)

Last Updated - 2024-09-16T08:50:33Z + 2024-09-26T11:06:09Z Archived @@ -14023,7 +14023,7 @@

Typoas (link)

Stars - 39 + 40 Watchers @@ -14039,7 +14039,7 @@

Typoas (link)

Last Updated - 2024-09-24T06:32:52Z + 2024-09-26T23:39:51Z Archived @@ -14227,7 +14227,7 @@

libopenapi (link)

Stars - 441 + 442 Watchers @@ -14243,7 +14243,7 @@

libopenapi (link)

Last Updated - 2024-09-24T08:57:22Z + 2024-09-26T11:18:01Z Archived @@ -14737,7 +14737,7 @@

openapi-merge (link)

Stars - 128 + 129 Watchers @@ -14753,7 +14753,7 @@

openapi-merge (link)

Last Updated - 2024-08-22T13:12:47Z + 2024-09-26T17:21:46Z Archived @@ -14839,7 +14839,7 @@

Redoc (link)

Stars - 23337 + 23340 Watchers @@ -14855,7 +14855,7 @@

Redoc (link)

Last Updated - 2024-09-26T02:56:22Z + 2024-09-27T03:22:28Z Archived @@ -14890,7 +14890,7 @@

openapi-generator-cli (link)

Stars - 1419 + 1420 Watchers @@ -14906,7 +14906,7 @@

openapi-generator-cli (link)

Last Updated - 2024-09-26T02:44:59Z + 2024-09-26T12:55:18Z Archived @@ -14941,7 +14941,7 @@

ogen (link)

Stars - 1316 + 1320 Watchers @@ -14957,7 +14957,7 @@

ogen (link)

Last Updated - 2024-09-25T18:41:38Z + 2024-09-26T16:26:38Z Archived @@ -15043,7 +15043,7 @@

zod-to-openapi (link)

Stars - 910 + 912 Watchers @@ -15051,7 +15051,7 @@

zod-to-openapi (link)

Forks - 57 + 58 Created @@ -15059,7 +15059,7 @@

zod-to-openapi (link)

Last Updated - 2024-09-25T09:53:24Z + 2024-09-27T01:37:54Z Archived @@ -15145,7 +15145,7 @@

openapi-diff (link)

Stars - 806 + 807 Watchers @@ -15161,7 +15161,7 @@

openapi-diff (link)

Last Updated - 2024-09-25T16:43:52Z + 2024-09-26T08:29:50Z Archived @@ -15349,7 +15349,7 @@

awesome-openapi3 (link)

Stars - 623 + 624 Watchers @@ -15365,7 +15365,7 @@

awesome-openapi3 (link)

Last Updated - 2024-09-12T00:15:42Z + 2024-09-26T09:20:42Z Archived @@ -15451,7 +15451,7 @@

openapi-mock (link)

Stars - 487 + 488 Watchers @@ -15467,7 +15467,7 @@

openapi-mock (link)

Last Updated - 2024-09-01T16:47:44Z + 2024-09-26T19:34:58Z Archived @@ -15510,7 +15510,7 @@

swagger-autogen (link)

Forks - 63 + 64 Created @@ -15655,7 +15655,7 @@

openapi-boilerplate (link)

Stars - 378 + 379 Watchers @@ -15663,7 +15663,7 @@

openapi-boilerplate (link)

Forks - 86 + 87 Created @@ -15671,7 +15671,7 @@

openapi-boilerplate (link)

Last Updated - 2024-09-21T16:22:44Z + 2024-09-26T13:45:56Z Archived @@ -15910,7 +15910,7 @@

openapi-go (link)

Stars - 247 + 248 Watchers @@ -15926,7 +15926,7 @@

openapi-go (link)

Last Updated - 2024-09-21T19:20:42Z + 2024-09-26T19:27:08Z Archived @@ -15969,7 +15969,7 @@

class-validator-jsonschema (link)

Forks - 34 + 35 Created @@ -16369,7 +16369,7 @@

refitter (link)

Stars - 183 + 184 Watchers @@ -16385,7 +16385,7 @@

refitter (link)

Last Updated - 2024-09-25T10:06:20Z + 2024-09-26T19:44:30Z Archived @@ -16487,7 +16487,7 @@

speakeasy (link)

Last Updated - 2024-09-25T10:56:26Z + 2024-09-26T18:18:05Z Archived @@ -16573,7 +16573,7 @@

openapi-starter (link)

Stars - 153 + 154 Watchers @@ -16589,7 +16589,7 @@

openapi-starter (link)

Last Updated - 2024-09-15T20:48:28Z + 2024-09-26T12:45:28Z Archived @@ -16981,7 +16981,7 @@

learn.openapis.org (link)

Stars - 112 + 113 Watchers @@ -16997,7 +16997,7 @@

learn.openapis.org (link)

Last Updated - 2024-09-22T06:06:23Z + 2024-09-26T17:20:06Z Archived @@ -17150,7 +17150,7 @@

openapi (link)

Last Updated - 2024-09-24T23:10:44Z + 2024-09-26T17:37:03Z Archived @@ -17338,7 +17338,7 @@

oas3-api-snippet-enricher (link)

Stars - 91 + 92 Watchers @@ -17354,7 +17354,7 @@

oas3-api-snippet-enricher (link)

Last Updated - 2024-09-04T16:22:44Z + 2024-09-26T05:41:00Z Archived @@ -17660,7 +17660,7 @@

httpgenerator (link)

Last Updated - 2024-09-23T10:03:28Z + 2024-09-26T08:27:42Z Archived @@ -18256,7 +18256,7 @@

apity (link)

Stars - 50 + 51 Watchers @@ -18272,7 +18272,7 @@

apity (link)

Last Updated - 2024-09-25T19:40:35Z + 2024-09-26T17:20:10Z Archived @@ -18409,7 +18409,7 @@

rest (link)

Stars - 46 + 47 Watchers @@ -18425,7 +18425,7 @@

rest (link)

Last Updated - 2024-09-24T13:50:07Z + 2024-09-26T19:24:49Z Archived @@ -18766,7 +18766,7 @@

schema-tools (link)

Stars - 40 + 41 Watchers @@ -18782,7 +18782,7 @@

schema-tools (link)

Last Updated - 2024-09-05T16:59:24Z + 2024-09-26T19:05:35Z Archived @@ -19904,7 +19904,7 @@

sbt-openapi-schema (link)

Last Updated - 2024-09-25T22:10:42Z + 2024-09-26T23:09:48Z Archived @@ -20959,7 +20959,7 @@

openapi-overlays-js (link)

Stars - 16 + 17 Watchers @@ -20975,7 +20975,7 @@

openapi-overlays-js (link)

Last Updated - 2024-08-11T07:25:59Z + 2024-09-26T09:18:12Z Archived @@ -21434,7 +21434,7 @@

yapily-openapi (link)

Last Updated - 2024-09-19T09:34:56Z + 2024-09-26T12:50:35Z Archived @@ -23627,7 +23627,7 @@

stackql-azure-openapi (link)

Last Updated - 2024-06-15T05:40:46Z + 2024-09-26T23:07:56Z Archived @@ -27656,7 +27656,7 @@

goapi (link)

Last Updated - 2024-09-25T07:06:41Z + 2024-09-26T08:34:52Z Archived @@ -28064,7 +28064,7 @@

openapi-to-java-records-mustache-templa Last Updated - 2024-09-23T20:16:41Z + 2024-09-26T21:52:38Z Archived @@ -32077,7 +32077,7 @@

utoipa (link)

Stars - 2226 + 2228 Watchers @@ -32093,7 +32093,7 @@

utoipa (link)

Last Updated - 2024-09-26T00:30:56Z + 2024-09-27T00:04:35Z Archived @@ -35851,7 +35851,7 @@

Microsoft.OpenApi.net (link)

Stars - 1389 + 1391 Watchers @@ -35867,7 +35867,7 @@

Microsoft.OpenApi.net (link)

Last Updated - 2024-09-26T02:51:56Z + 2024-09-26T15:51:13Z Archived diff --git a/docs/categories/sdk.html b/docs/categories/sdk.html index 32d66be9..7ad0d0b0 100644 --- a/docs/categories/sdk.html +++ b/docs/categories/sdk.html @@ -114,7 +114,7 @@

No Yes Yes - 21391 + 21399 @@ -160,7 +160,7 @@

No Yes Yes - 2851 + 2855 @@ -206,7 +206,7 @@

Yes Yes Yes - 1355 + 1358 @@ -229,7 +229,7 @@

Yes Yes Yes - 1056 + 1057 @@ -269,7 +269,7 @@

No Yes No - 31 + 32 @@ -313,7 +313,7 @@

No No Yes - 9485 + 9484 @@ -537,7 +537,7 @@

No Yes Yes - 12545 + 12547 @@ -629,7 +629,7 @@

Yes Yes No - 39 + 40 @@ -878,7 +878,7 @@

Yes Yes Yes - 5605 + 5611 @@ -899,7 +899,7 @@

No Yes No - 4086 + 4088 @@ -920,7 +920,7 @@

No Yes No - 3834 + 3836 @@ -1214,7 +1214,7 @@

No Yes No - 45 + 44 @@ -3169,15 +3169,15 @@

OpenAPI Generator (link)

Stars - 21391 + 21399 Watchers - 221 + 220 Forks - 6468 + 6475 Created @@ -3185,7 +3185,7 @@

OpenAPI Generator (link)

Last Updated - 2024-09-26T00:57:42Z + 2024-09-27T01:05:12Z Archived @@ -3271,7 +3271,7 @@

Kiota Api Client Generator (link)

Stars - 2851 + 2855 Watchers @@ -3279,7 +3279,7 @@

Kiota Api Client Generator (link)

Forks - 195 + 194 Created @@ -3287,7 +3287,7 @@

Kiota Api Client Generator (link)

Last Updated - 2024-09-25T18:59:36Z + 2024-09-26T22:28:22Z Archived @@ -3373,7 +3373,7 @@

Microcks (link)

Stars - 1355 + 1358 Watchers @@ -3381,7 +3381,7 @@

Microcks (link)

Forks - 211 + 212 Created @@ -3389,7 +3389,7 @@

Microcks (link)

Last Updated - 2024-09-25T14:57:53Z + 2024-09-26T16:11:30Z Archived @@ -3424,7 +3424,7 @@

@hey-api/openapi-ts (link)

Stars - 1056 + 1057 Watchers @@ -3432,7 +3432,7 @@

@hey-api/openapi-ts (link)

Forks - 86 + 88 Created @@ -3440,7 +3440,7 @@

@hey-api/openapi-ts (link)

Last Updated - 2024-09-26T02:47:46Z + 2024-09-26T15:55:35Z Archived @@ -3526,7 +3526,7 @@

docler-labs/api-client-generator (link) Stars - 31 + 32 Watchers @@ -3542,7 +3542,7 @@

docler-labs/api-client-generator (link) Last Updated - 2024-09-09T23:44:46Z + 2024-09-26T11:52:08Z Archived @@ -3628,7 +3628,7 @@

go-swagger (link)

Stars - 9485 + 9484 Watchers @@ -3644,7 +3644,7 @@

go-swagger (link)

Last Updated - 2024-09-25T06:08:32Z + 2024-09-26T10:44:36Z Archived @@ -3785,11 +3785,11 @@

NSwag (link)

Watchers - 168 + 167 Forks - 1240 + 1241 Created @@ -3887,7 +3887,7 @@

Azure AutoRest (link)

Watchers - 891 + 894 Forks @@ -4138,7 +4138,7 @@

OWASP ZAP (link)

Stars - 12545 + 12547 Watchers @@ -4154,7 +4154,7 @@

OWASP ZAP (link)

Last Updated - 2024-09-26T01:55:17Z + 2024-09-26T11:55:17Z Archived @@ -4342,7 +4342,7 @@

Typoas (link)

Stars - 39 + 40 Watchers @@ -4358,7 +4358,7 @@

Typoas (link)

Last Updated - 2024-09-24T06:32:52Z + 2024-09-26T23:39:51Z Archived @@ -4460,7 +4460,7 @@

Counterfact (link)

Last Updated - 2024-09-24T02:44:58Z + 2024-09-27T03:25:56Z Archived @@ -4664,7 +4664,7 @@

🌿 Fern (link)

Last Updated - 2024-09-26T02:23:41Z + 2024-09-26T22:52:06Z Archived @@ -4903,7 +4903,7 @@

OpenAPI TypeScript (link)

Stars - 5605 + 5611 Watchers @@ -4919,7 +4919,7 @@

OpenAPI TypeScript (link)

Last Updated - 2024-09-25T15:50:53Z + 2024-09-26T23:39:58Z Archived @@ -4954,7 +4954,7 @@

knife4j (link)

Stars - 4086 + 4088 Watchers @@ -4970,7 +4970,7 @@

knife4j (link)

Last Updated - 2024-09-25T11:46:11Z + 2024-09-26T10:38:04Z Archived @@ -5005,7 +5005,7 @@

openapi-directory (link)

Stars - 3834 + 3836 Watchers @@ -5021,7 +5021,7 @@

openapi-directory (link)

Last Updated - 2024-09-22T19:11:28Z + 2024-09-26T16:11:51Z Archived @@ -5378,7 +5378,7 @@

apiclientcodegen (link)

Last Updated - 2024-09-23T09:03:04Z + 2024-09-26T08:27:43Z Archived @@ -5582,7 +5582,7 @@

sideko (link)

Last Updated - 2024-09-25T00:17:45Z + 2024-09-26T17:34:59Z Archived @@ -5719,7 +5719,7 @@

javalin-openapi (link)

Stars - 45 + 44 Watchers @@ -5735,7 +5735,7 @@

javalin-openapi (link)

Last Updated - 2024-09-25T18:45:08Z + 2024-09-26T03:35:55Z Archived @@ -6143,7 +6143,7 @@

yapily-openapi (link)

Last Updated - 2024-09-19T09:34:56Z + 2024-09-26T12:50:35Z Archived @@ -10223,7 +10223,7 @@

go-doudou (link)

Last Updated - 2024-09-25T16:08:02Z + 2024-09-26T14:49:15Z Archived diff --git a/docs/categories/security.html b/docs/categories/security.html index ca54365b..2abf1ad9 100644 --- a/docs/categories/security.html +++ b/docs/categories/security.html @@ -175,7 +175,7 @@

No Yes No - 533 + 534 @@ -198,7 +198,7 @@

Yes Yes Yes - 1168 + 1169 @@ -240,7 +240,7 @@

No Yes Yes - 12545 + 12547 @@ -326,7 +326,7 @@

No Yes Yes - 2570 + 2578 @@ -584,7 +584,7 @@

openapi-fuzzer (link)

Stars - 533 + 534 Watchers @@ -600,7 +600,7 @@

openapi-fuzzer (link)

Last Updated - 2024-09-18T23:27:25Z + 2024-09-26T07:34:10Z Archived @@ -635,7 +635,7 @@

cats (link)

Stars - 1168 + 1169 Watchers @@ -651,7 +651,7 @@

cats (link)

Last Updated - 2024-09-26T02:10:45Z + 2024-09-26T07:45:14Z Archived @@ -737,7 +737,7 @@

OWASP ZAP (link)

Stars - 12545 + 12547 Watchers @@ -753,7 +753,7 @@

OWASP ZAP (link)

Last Updated - 2024-09-26T01:55:17Z + 2024-09-26T11:55:17Z Archived @@ -941,7 +941,7 @@

RESTler (link)

Stars - 2570 + 2578 Watchers @@ -957,7 +957,7 @@

RESTler (link)

Last Updated - 2024-09-25T20:45:04Z + 2024-09-26T22:47:41Z Archived diff --git a/docs/categories/server-implementations.html b/docs/categories/server-implementations.html index 8099a849..00ec300a 100644 --- a/docs/categories/server-implementations.html +++ b/docs/categories/server-implementations.html @@ -91,7 +91,7 @@

No Yes Yes - 4476 + 4475 @@ -137,7 +137,7 @@

Yes No No - 1169 + 1170 @@ -160,7 +160,7 @@

Yes Yes No - 1349 + 1350 @@ -229,7 +229,7 @@

Yes Yes Yes - 39 + 40 @@ -298,7 +298,7 @@

Yes Yes Yes - 8885 + 8886 @@ -344,7 +344,7 @@

Yes Yes Yes - 4241 + 4243 @@ -367,7 +367,7 @@

No Yes Yes - 8532 + 8538 @@ -457,7 +457,7 @@

Yes Yes Yes - 1168 + 1169 @@ -549,7 +549,7 @@

No Yes No - 4333 + 4339 @@ -616,7 +616,7 @@

No Yes No - 28193 + 28190 @@ -777,7 +777,7 @@

No Yes No - 75996 + 76029 @@ -821,7 +821,7 @@

No Yes No - 2690 + 2691 @@ -842,7 +842,7 @@

No Yes No - 2322 + 2323 @@ -863,7 +863,7 @@

No Yes No - 2271 + 2275 @@ -886,7 +886,7 @@

No Yes No - 2240 + 2242 @@ -951,7 +951,7 @@

No Yes No - 1020 + 1021 @@ -1100,7 +1100,7 @@

No Yes No - 371 + 372 @@ -1417,7 +1417,7 @@

No Yes No - 145 + 146 @@ -1438,7 +1438,7 @@

Yes Yes No - 112 + 113 @@ -1648,7 +1648,7 @@

No Yes No - 54 + 55 @@ -1858,7 +1858,7 @@

No Yes No - 39 + 40 @@ -2152,7 +2152,7 @@

No Yes No - 27 + 28 @@ -2488,7 +2488,7 @@

No Yes No - 17 + 18 @@ -3267,7 +3267,7 @@

No Yes No - 7 + 8 @@ -9277,7 +9277,7 @@

No Yes No - 26354 + 26371 @@ -11215,7 +11215,7 @@

No No No - 3589 + 3590 @@ -11718,7 +11718,7 @@

Connexion (link)

Stars - 4476 + 4475 Watchers @@ -11734,7 +11734,7 @@

Connexion (link)

Last Updated - 2024-09-24T22:37:43Z + 2024-09-26T18:03:58Z Archived @@ -11820,7 +11820,7 @@

Scramble (link)

Stars - 1169 + 1170 Watchers @@ -11828,7 +11828,7 @@

Scramble (link)

Forks - 112 + 113 Created @@ -11836,7 +11836,7 @@

Scramble (link)

Last Updated - 2024-09-25T13:34:40Z + 2024-09-26T19:04:08Z Archived @@ -11871,7 +11871,7 @@

optic diff (link)

Stars - 1349 + 1350 Watchers @@ -11887,7 +11887,7 @@

optic diff (link)

Last Updated - 2024-09-25T02:33:57Z + 2024-09-26T16:25:45Z Archived @@ -12024,7 +12024,7 @@

Bump.sh (link)

Stars - 39 + 40 Watchers @@ -12040,7 +12040,7 @@

Bump.sh (link)

Last Updated - 2024-08-15T09:51:27Z + 2024-09-26T09:18:19Z Archived @@ -12177,7 +12177,7 @@

Swagger Editor (link)

Stars - 8885 + 8886 Watchers @@ -12193,7 +12193,7 @@

Swagger Editor (link)

Last Updated - 2024-09-25T14:54:20Z + 2024-09-27T00:34:16Z Archived @@ -12279,7 +12279,7 @@

Prism (link)

Stars - 4241 + 4243 Watchers @@ -12295,7 +12295,7 @@

Prism (link)

Last Updated - 2024-09-26T02:43:50Z + 2024-09-26T12:25:51Z Archived @@ -12330,7 +12330,7 @@

API Platform (link)

Stars - 8532 + 8538 Watchers @@ -12346,7 +12346,7 @@

API Platform (link)

Last Updated - 2024-09-24T18:38:20Z + 2024-09-26T17:41:46Z Archived @@ -12534,7 +12534,7 @@

cats (link)

Stars - 1168 + 1169 Watchers @@ -12550,7 +12550,7 @@

cats (link)

Last Updated - 2024-09-26T02:10:45Z + 2024-09-26T07:45:14Z Archived @@ -12652,7 +12652,7 @@

OpenApiSpecGeneratorPlugin (link)

Last Updated - 2024-09-25T10:37:28Z + 2024-09-26T12:11:50Z Archived @@ -12738,7 +12738,7 @@

TypeSpec (link)

Stars - 4333 + 4339 Watchers @@ -12754,7 +12754,7 @@

TypeSpec (link)

Last Updated - 2024-09-26T03:12:20Z + 2024-09-27T02:18:41Z Archived @@ -12891,7 +12891,7 @@

Django REST Framework (link)

Stars - 28193 + 28190 Watchers @@ -12907,7 +12907,7 @@

Django REST Framework (link)

Last Updated - 2024-09-26T03:12:36Z + 2024-09-27T03:09:53Z Archived @@ -13060,7 +13060,7 @@

Counterfact (link)

Last Updated - 2024-09-24T02:44:58Z + 2024-09-27T03:25:56Z Archived @@ -13248,7 +13248,7 @@

FastAPI (link)

Stars - 75996 + 76029 Watchers @@ -13256,7 +13256,7 @@

FastAPI (link)

Forks - 6405 + 6407 Created @@ -13264,7 +13264,7 @@

FastAPI (link)

Last Updated - 2024-09-26T02:45:02Z + 2024-09-27T03:30:27Z Archived @@ -13315,7 +13315,7 @@

springdoc-openapi (link)

Last Updated - 2024-09-25T08:57:06Z + 2024-09-26T09:23:23Z Archived @@ -13350,7 +13350,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Stars - 2690 + 2691 Watchers @@ -13366,7 +13366,7 @@

uvicorn-gunicorn-fastapi-docker (link)< Last Updated - 2024-09-25T13:12:31Z + 2024-09-26T07:14:24Z Archived @@ -13401,7 +13401,7 @@

drf-spectacular (link)

Stars - 2322 + 2323 Watchers @@ -13417,7 +13417,7 @@

drf-spectacular (link)

Last Updated - 2024-09-25T20:30:43Z + 2024-09-26T11:24:11Z Archived @@ -13452,7 +13452,7 @@

msgspec (link)

Stars - 2271 + 2275 Watchers @@ -13468,7 +13468,7 @@

msgspec (link)

Last Updated - 2024-09-25T11:27:28Z + 2024-09-26T16:46:32Z Archived @@ -13503,7 +13503,7 @@

Schemathesis (link)

Stars - 2240 + 2242 Watchers @@ -13519,7 +13519,7 @@

Schemathesis (link)

Last Updated - 2024-09-25T19:39:27Z + 2024-09-26T21:43:12Z Archived @@ -13570,7 +13570,7 @@

rapidoc (link)

Last Updated - 2024-09-26T00:44:49Z + 2024-09-27T00:34:15Z Archived @@ -13656,7 +13656,7 @@

apiflask (link)

Stars - 1020 + 1021 Watchers @@ -13672,7 +13672,7 @@

apiflask (link)

Last Updated - 2024-09-25T13:28:05Z + 2024-09-26T06:39:40Z Archived @@ -14013,7 +14013,7 @@

fastapi-clean-example (link)

Stars - 371 + 372 Watchers @@ -14029,7 +14029,7 @@

fastapi-clean-example (link)

Last Updated - 2024-09-25T02:51:56Z + 2024-09-26T16:49:13Z Archived @@ -14335,7 +14335,7 @@

esmerald (link)

Last Updated - 2024-09-25T10:19:41Z + 2024-09-26T14:04:36Z Archived @@ -14778,7 +14778,7 @@

deeptest (link)

Stars - 145 + 146 Watchers @@ -14794,7 +14794,7 @@

deeptest (link)

Last Updated - 2024-09-25T00:56:10Z + 2024-09-26T23:06:31Z Archived @@ -14829,7 +14829,7 @@

learn.openapis.org (link)

Stars - 112 + 113 Watchers @@ -14845,7 +14845,7 @@

learn.openapis.org (link)

Last Updated - 2024-09-22T06:06:23Z + 2024-09-26T17:20:06Z Archived @@ -15100,7 +15100,7 @@

tools.openapis.org (link)

Last Updated - 2024-09-25T12:48:13Z + 2024-09-26T03:33:49Z Archived @@ -15339,7 +15339,7 @@

openapi-python-generator (link)

Stars - 54 + 55 Watchers @@ -15355,7 +15355,7 @@

openapi-python-generator (link)

Last Updated - 2024-09-24T17:57:13Z + 2024-09-27T02:57:44Z Archived @@ -15610,7 +15610,7 @@

swagger-editor-validate (link)

Last Updated - 2024-09-19T04:26:25Z + 2024-09-26T04:09:26Z Archived @@ -15849,7 +15849,7 @@

full-stack-fastapi-mysql (link)

Stars - 39 + 40 Watchers @@ -15865,7 +15865,7 @@

full-stack-fastapi-mysql (link)

Last Updated - 2024-07-13T15:03:10Z + 2024-09-26T11:59:34Z Archived @@ -16069,7 +16069,7 @@

openapi-search (link)

Last Updated - 2024-09-25T12:48:06Z + 2024-09-26T14:05:38Z Archived @@ -16563,7 +16563,7 @@

keycloak-webhook (link)

Stars - 27 + 28 Watchers @@ -16579,7 +16579,7 @@

keycloak-webhook (link)

Last Updated - 2024-09-25T05:00:10Z + 2024-09-26T14:03:59Z Archived @@ -17379,7 +17379,7 @@

file-service (link)

Stars - 17 + 18 Watchers @@ -17395,7 +17395,7 @@

file-service (link)

Last Updated - 2024-05-03T09:56:13Z + 2024-09-26T04:17:30Z Archived @@ -19180,7 +19180,7 @@

sandbox (link)

Last Updated - 2024-09-25T15:59:09Z + 2024-09-26T15:17:59Z Archived @@ -19266,7 +19266,7 @@

dinonce (link)

Stars - 7 + 8 Watchers @@ -19282,7 +19282,7 @@

dinonce (link)

Last Updated - 2023-07-14T18:34:39Z + 2024-09-26T10:17:59Z Archived @@ -21985,7 +21985,7 @@

pulumi-provider-template (link)

Last Updated - 2024-09-24T03:21:42Z + 2024-09-26T03:44:15Z Archived @@ -22240,7 +22240,7 @@

woocoo (link)

Last Updated - 2024-09-26T00:09:46Z + 2024-09-26T16:05:00Z Archived @@ -31726,7 +31726,7 @@

frontend (link)

Last Updated - 2024-09-12T23:50:22Z + 2024-09-26T23:07:30Z Archived @@ -33852,15 +33852,15 @@

full-stack-fastapi-template (link)

Stars - 26354 + 26371 Watchers - 265 + 264 Forks - 4627 + 4634 Created @@ -33868,7 +33868,7 @@

full-stack-fastapi-template (link)

Last Updated - 2024-09-26T03:11:07Z + 2024-09-27T01:44:26Z Archived @@ -38544,7 +38544,7 @@

PHP-CRUD-API (link)

Stars - 3589 + 3590 Watchers @@ -38560,7 +38560,7 @@

PHP-CRUD-API (link)

Last Updated - 2024-09-25T20:37:00Z + 2024-09-26T15:05:44Z Archived diff --git a/docs/categories/server.html b/docs/categories/server.html index 73452d15..97fbd1f9 100644 --- a/docs/categories/server.html +++ b/docs/categories/server.html @@ -91,7 +91,7 @@

No Yes Yes - 4476 + 4475 @@ -229,7 +229,7 @@

No Yes Yes - 8532 + 8538 @@ -592,7 +592,7 @@

No Yes No - 814 + 813 @@ -615,7 +615,7 @@

Yes Yes No - 1919 + 1923 @@ -1039,7 +1039,7 @@

No Yes No - 7 + 8 @@ -1207,7 +1207,7 @@

No Yes No - 4 + 5 @@ -2771,7 +2771,7 @@

No Yes No - 4930 + 4934 @@ -2892,7 +2892,7 @@

Connexion (link)

Stars - 4476 + 4475 Watchers @@ -2908,7 +2908,7 @@

Connexion (link)

Last Updated - 2024-09-24T22:37:43Z + 2024-09-26T18:03:58Z Archived @@ -2959,7 +2959,7 @@

tsoa (link)

Last Updated - 2024-09-25T20:52:46Z + 2024-09-26T10:23:10Z Archived @@ -3198,7 +3198,7 @@

API Platform (link)

Stars - 8532 + 8538 Watchers @@ -3214,7 +3214,7 @@

API Platform (link)

Last Updated - 2024-09-24T18:38:20Z + 2024-09-26T17:41:46Z Archived @@ -3457,7 +3457,7 @@

@nestjs/swagger (link)

Watchers - 32 + 31 Forks @@ -3928,7 +3928,7 @@

🌿 Fern (link)

Last Updated - 2024-09-26T02:23:41Z + 2024-09-26T22:52:06Z Archived @@ -4014,7 +4014,7 @@

Fuego (link)

Stars - 814 + 813 Watchers @@ -4030,7 +4030,7 @@

Fuego (link)

Last Updated - 2024-09-25T17:16:17Z + 2024-09-26T08:19:25Z Archived @@ -4065,7 +4065,7 @@

Huma (link)

Stars - 1919 + 1923 Watchers @@ -4081,7 +4081,7 @@

Huma (link)

Last Updated - 2024-09-25T20:33:54Z + 2024-09-27T01:07:04Z Archived @@ -5085,7 +5085,7 @@

dinonce (link)

Stars - 7 + 8 Watchers @@ -5101,7 +5101,7 @@

dinonce (link)

Last Updated - 2023-07-14T18:34:39Z + 2024-09-26T10:17:59Z Archived @@ -5493,7 +5493,7 @@

openisbt (link)

Stars - 4 + 5 Watchers @@ -5509,7 +5509,7 @@

openisbt (link)

Last Updated - 2024-08-12T09:05:41Z + 2024-09-26T18:26:19Z Archived @@ -9267,7 +9267,7 @@

LoopBack 4 (link)

Stars - 4930 + 4934 Watchers @@ -9283,7 +9283,7 @@

LoopBack 4 (link)

Last Updated - 2024-09-25T11:04:50Z + 2024-09-26T22:31:49Z Archived diff --git a/docs/categories/testing-tools.html b/docs/categories/testing-tools.html index f646158c..265dc32b 100644 --- a/docs/categories/testing-tools.html +++ b/docs/categories/testing-tools.html @@ -114,7 +114,7 @@

No Yes No - 2240 + 2242 @@ -137,7 +137,7 @@

No No No - 217 + 218 @@ -242,7 +242,7 @@

Schemathesis (link)

Stars - 2240 + 2242 Watchers @@ -258,7 +258,7 @@

Schemathesis (link)

Last Updated - 2024-09-25T19:39:27Z + 2024-09-26T21:43:12Z Archived @@ -293,7 +293,7 @@

Tcases for OpenAPI (link)

Stars - 217 + 218 Watchers @@ -309,7 +309,7 @@

Tcases for OpenAPI (link)

Last Updated - 2024-09-15T01:19:26Z + 2024-09-26T17:27:56Z Archived diff --git a/docs/categories/testing.html b/docs/categories/testing.html index 0f077dd6..77540780 100644 --- a/docs/categories/testing.html +++ b/docs/categories/testing.html @@ -173,7 +173,7 @@

No Yes Yes - 4180 + 4182 @@ -240,7 +240,7 @@

No Yes No - 1629 + 1630 @@ -345,7 +345,7 @@

No Yes No - 217 + 218 @@ -631,7 +631,7 @@

Yes Yes Yes - 175 + 176 @@ -717,7 +717,7 @@

No Yes No - 6271 + 6278 @@ -780,7 +780,7 @@

No Yes No - 217 + 218 @@ -2487,7 +2487,7 @@

No No No - 217 + 218 @@ -2640,7 +2640,7 @@

No Yes Yes - 2570 + 2578 @@ -2938,11 +2938,11 @@

Dredd (link)

Stars - 4180 + 4182 Watchers - 76 + 75 Forks @@ -2954,7 +2954,7 @@

Dredd (link)

Last Updated - 2024-09-17T08:25:18Z + 2024-09-26T12:20:23Z Archived @@ -3091,7 +3091,7 @@

Step CI (link)

Stars - 1629 + 1630 Watchers @@ -3099,7 +3099,7 @@

Step CI (link)

Forks - 75 + 76 Created @@ -3107,7 +3107,7 @@

Step CI (link)

Last Updated - 2024-09-24T09:59:47Z + 2024-09-26T07:47:16Z Archived @@ -3346,7 +3346,7 @@

Tcases for OpenAPI (link)

Stars - 217 + 218 Watchers @@ -3362,7 +3362,7 @@

Tcases for OpenAPI (link)

Last Updated - 2024-09-15T01:19:26Z + 2024-09-26T17:27:56Z Archived @@ -3974,7 +3974,7 @@

Specmatic (link)

Last Updated - 2024-09-25T11:55:57Z + 2024-09-26T04:41:27Z Archived @@ -4009,7 +4009,7 @@

openapi-changes (link)

Stars - 175 + 176 Watchers @@ -4025,7 +4025,7 @@

openapi-changes (link)

Last Updated - 2024-09-21T19:29:30Z + 2024-09-26T08:12:34Z Archived @@ -4213,7 +4213,7 @@

mockoon (link)

Stars - 6271 + 6278 Watchers @@ -4229,7 +4229,7 @@

mockoon (link)

Last Updated - 2024-09-26T00:00:24Z + 2024-09-26T19:38:26Z Archived @@ -4366,7 +4366,7 @@

tcases (link)

Stars - 217 + 218 Watchers @@ -4382,7 +4382,7 @@

tcases (link)

Last Updated - 2024-09-15T01:19:26Z + 2024-09-26T17:27:56Z Archived @@ -4688,7 +4688,7 @@

openapi (link)

Last Updated - 2024-09-24T23:10:44Z + 2024-09-26T17:37:03Z Archived @@ -7442,7 +7442,7 @@

EvoMaster (link)

Last Updated - 2024-09-25T12:33:35Z + 2024-09-26T18:59:56Z Archived @@ -8497,7 +8497,7 @@

Tcases for OpenAPI (link)

Stars - 217 + 218 Watchers @@ -8513,7 +8513,7 @@

Tcases for OpenAPI (link)

Last Updated - 2024-09-15T01:19:26Z + 2024-09-26T17:27:56Z Archived @@ -8854,7 +8854,7 @@

RESTler (link)

Stars - 2570 + 2578 Watchers @@ -8870,7 +8870,7 @@

RESTler (link)

Last Updated - 2024-09-25T20:45:04Z + 2024-09-26T22:47:41Z Archived diff --git a/docs/categories/text-editors.html b/docs/categories/text-editors.html index 7b3d6341..579b8e89 100644 --- a/docs/categories/text-editors.html +++ b/docs/categories/text-editors.html @@ -157,7 +157,7 @@

Yes Yes Yes - 8885 + 8886 @@ -594,7 +594,7 @@

Swagger Editor (link)

Stars - 8885 + 8886 Watchers @@ -610,7 +610,7 @@

Swagger Editor (link)

Last Updated - 2024-09-25T14:54:20Z + 2024-09-27T00:34:16Z Archived diff --git a/docs/categories/user-interfaces.html b/docs/categories/user-interfaces.html index a48e1536..0d191516 100644 --- a/docs/categories/user-interfaces.html +++ b/docs/categories/user-interfaces.html @@ -91,7 +91,7 @@

Yes Yes No - 26364 + 26374 @@ -114,7 +114,7 @@

Yes Yes No - 23337 + 23340 @@ -275,7 +275,7 @@

swagger-ui (link)

Stars - 26364 + 26374 Watchers @@ -291,7 +291,7 @@

swagger-ui (link)

Last Updated - 2024-09-26T02:42:37Z + 2024-09-27T03:22:47Z Archived @@ -326,7 +326,7 @@

Redoc (link)

Stars - 23337 + 23340 Watchers @@ -342,7 +342,7 @@

Redoc (link)

Last Updated - 2024-09-26T02:56:22Z + 2024-09-27T03:22:28Z Archived diff --git a/src/_data/tools.yaml b/src/_data/tools.yaml index bad6db38..a0c3695f 100644 --- a/src/_data/tools.yaml +++ b/src/_data/tools.yaml @@ -142,17 +142,17 @@ Connexion is a modern Python web framework that makes spec-first and api-first development easy. created: '2015-05-19T13:05:58Z' - updated: '2024-09-24T22:37:43Z' + updated: '2024-09-26T18:03:58Z' language: Python archived: false - stars: 4476 + stars: 4475 watchers: 84 forks: 761 owner: spec-first logo: https://avatars.githubusercontent.com/u/58754196?v=4 license: Apache-2.0 - repoEtag: '"28c33ca2718dca2d9f77a82d45f231b31b86bfcbdf26e53e1a489993a3e26d9a"' - repoLastModified: Tue, 24 Sep 2024 22:37:43 GMT + repoEtag: '"688d4412b1c44a14abe35c6e2cce886df4a52a87249f1cb957d6f80b424c5f90"' + repoLastModified: Thu, 26 Sep 2024 18:03:58 GMT foundInMaster: true homepage: https://github.com/zalando/connexion id: 2d575abdf2671028868058b2442d9131 @@ -279,17 +279,17 @@ References                                        ✨ 1st-Class OpenAPI/Swagger Support created: '2023-08-16T13:42:32Z' - updated: '2024-09-26T02:58:44Z' + updated: '2024-09-27T00:40:20Z' language: TypeScript archived: false - stars: 6184 + stars: 6193 watchers: 21 - forks: 196 + forks: 197 owner: scalar logo: https://avatars.githubusercontent.com/u/301879?v=4 license: MIT - repoEtag: '"3014da320883b5481ee8638099321b2197bf4dbfefe1bfa887fc16b45b278e40"' - repoLastModified: Thu, 26 Sep 2024 02:58:44 GMT + repoEtag: '"877a429b408941086bf0894e83a752a36d49960273d7923c68dd0f2920d21d80"' + repoLastModified: Fri, 27 Sep 2024 00:40:20 GMT foundInMaster: true - source: https://openapi.tools/ name: Scramble @@ -317,17 +317,17 @@ Modern Laravel OpenAPI (Swagger) documentation generator. No PHPDoc annotations required. created: '2022-08-05T17:16:20Z' - updated: '2024-09-25T13:34:40Z' + updated: '2024-09-26T19:04:08Z' language: PHP archived: false - stars: 1169 + stars: 1170 watchers: 14 - forks: 112 + forks: 113 owner: dedoc logo: https://avatars.githubusercontent.com/u/93313138?v=4 license: MIT - repoEtag: '"abfd85423e25c1f5ea41393511e19ade6e25d72ab9ce8c3b3da3e679d5b83f8c"' - repoLastModified: Wed, 25 Sep 2024 13:34:40 GMT + repoEtag: '"a1e8178721755b7560cdc2db1715432138ea8f65e2eb56888be377ed077dcc49"' + repoLastModified: Thu, 26 Sep 2024 19:04:08 GMT foundInMaster: true - source: https://openapi.tools/ name: Scribe @@ -348,17 +348,17 @@ repositoryId: 260729799 description: Generate API documentation for humans from your Laravel codebase.✍ created: '2020-05-02T16:36:45Z' - updated: '2024-09-25T07:33:51Z' + updated: '2024-09-26T16:44:40Z' language: PHP archived: false - stars: 1697 - watchers: 17 - forks: 304 + stars: 1698 + watchers: 18 + forks: 303 owner: knuckleswtf logo: https://avatars.githubusercontent.com/u/63367037?v=4 license: MIT - repoEtag: '"476d6426c1be90cf68b16423f42264fbd94299b3f3ef2caf9cf365d8be8ca8ae"' - repoLastModified: Wed, 25 Sep 2024 07:33:51 GMT + repoEtag: '"42b1e1e28beab892f8920879ca77c83994283e66f41f83a855d0956eaaec6704"' + repoLastModified: Thu, 26 Sep 2024 16:44:40 GMT foundInMaster: true - source: https://openapi.tools/ name: Supermodel @@ -405,17 +405,17 @@ repositoryId: 45250726 description: 📘 OpenAPI/Swagger-generated API Reference Documentation created: '2015-10-30T12:53:02Z' - updated: '2024-09-26T02:56:22Z' + updated: '2024-09-27T03:22:28Z' language: TypeScript archived: false - stars: 23337 + stars: 23340 watchers: 296 forks: 2289 owner: Redocly logo: https://avatars.githubusercontent.com/u/32099856?v=4 license: MIT - repoEtag: '"113107c9bc9e24e07ef6b6db7eab5d56402837133a6e7602f4699021acf43312"' - repoLastModified: Thu, 26 Sep 2024 02:56:22 GMT + repoEtag: '"8b32056d88f6199df1454281f9c7a4f1547c68a99c45b7225cfa5aed43aafbfb"' + repoLastModified: Fri, 27 Sep 2024 03:22:28 GMT foundInMaster: true - source: https://openapi.tools/ name: RestCase Docs @@ -477,17 +477,17 @@ also simplified postman tool. 基于 OpenAPI/Swagger 规范的接口文档,快速模拟请求参数并调用接口,也是简化版 postman 工具 created: '2023-12-20T14:51:12Z' - updated: '2024-09-18T03:04:01Z' + updated: '2024-09-27T02:31:30Z' language: TypeScript archived: false - stars: 614 + stars: 617 watchers: 2 forks: 57 owner: rookie-luochao logo: https://avatars.githubusercontent.com/u/22948077?v=4 license: MIT - repoEtag: '"084acb1914f61663412ff442aeef6d482695404e1536eb4c3326cd05b4a25df0"' - repoLastModified: Wed, 18 Sep 2024 03:04:01 GMT + repoEtag: '"bb4cd3aaecc87c4be8f0e0d75751ad6368cd0499a68cc285d894833c7948f9d7"' + repoLastModified: Fri, 27 Sep 2024 02:31:30 GMT category: Documentation foundInMaster: true v3_1: true @@ -512,17 +512,17 @@ repositoryId: 337689065 description: OpenAPI Diff and Breaking Changes created: '2021-02-10T10:28:36Z' - updated: '2024-09-25T07:54:10Z' + updated: '2024-09-26T15:04:12Z' language: Go archived: false - stars: 693 + stars: 695 watchers: 10 - forks: 60 + forks: 61 owner: Tufin logo: https://avatars.githubusercontent.com/u/5352131?v=4 license: Apache-2.0 - repoEtag: '"c061e765bf9783baad6f0c48a3401aab73dc59239935e7b05633467ca7bec874"' - repoLastModified: Wed, 25 Sep 2024 07:54:10 GMT + repoEtag: '"cf5f5cb969ccca31b19c2b7272d6afdf36118786aa75f6cd9ae90f6886bb2b98"' + repoLastModified: Thu, 26 Sep 2024 15:04:12 GMT foundInMaster: true name: oasdiff language: Go @@ -570,17 +570,17 @@ changes, publish accurate documentation and improve the design of your APIs. created: '2018-03-02T17:02:50Z' - updated: '2024-09-25T02:33:57Z' + updated: '2024-09-26T16:25:45Z' language: TypeScript archived: false - stars: 1349 + stars: 1350 watchers: 11 forks: 79 owner: opticdev logo: https://avatars.githubusercontent.com/u/34556970?v=4 license: MIT - repoEtag: '"da177988725c5ca54986436269207e646260ae05e972f5879de7e05e5fb58fc7"' - repoLastModified: Wed, 25 Sep 2024 02:33:57 GMT + repoEtag: '"5cd43de37dc7db923ccc3f02c28814b640caf99d5d8d1d9b668773b4f7b85885"' + repoLastModified: Thu, 26 Sep 2024 16:25:45 GMT foundInMaster: true id: 8c3d08406ca659662808d51ddc10b4e4 v3_1: true @@ -713,17 +713,17 @@ Filter internal paths, operations, parameters, schemas etc from OpenAPI/Swagger/AsyncAPI definitions created: '2017-08-02T13:42:57Z' - updated: '2024-08-24T07:18:08Z' + updated: '2024-09-26T11:52:51Z' language: JavaScript archived: false - stars: 154 + stars: 155 watchers: 5 forks: 33 owner: Mermade logo: https://avatars.githubusercontent.com/u/15950345?v=4 license: BSD-3-Clause - repoEtag: '"313d59b5d8014e2c556f7519eaf24d0d651bbc105780a4be61689272c9312632"' - repoLastModified: Sat, 24 Aug 2024 07:18:08 GMT + repoEtag: '"86e37e50f593d674f0acbd6c87b6766579e97022926a6365f460776e5857e738"' + repoLastModified: Thu, 26 Sep 2024 11:52:51 GMT foundInMaster: true id: c00a8a003ace3ce47f5740bb641667fb v3_1: true @@ -813,17 +813,17 @@ repositoryId: 220618185 description: Enrich your OpenAPI 3.0 JSON with code samples created: '2019-11-09T09:13:16Z' - updated: '2024-09-04T16:22:44Z' + updated: '2024-09-26T05:41:00Z' language: JavaScript archived: false - stars: 91 + stars: 92 watchers: 9 forks: 13 owner: cdwv logo: https://avatars.githubusercontent.com/u/6742687?v=4 license: MIT - repoEtag: '"b88a4b46b7ebb062f047b4d568636eb42aab5d8eb805c4d9fddb52497aeb82ce"' - repoLastModified: Wed, 04 Sep 2024 16:22:44 GMT + repoEtag: '"b0b77dad5fa046f7e9982c3df81e2c10e1c4aca3fa4cae74fd7d0e863e86faf1"' + repoLastModified: Thu, 26 Sep 2024 05:41:00 GMT foundInMaster: true id: 90d603135b448f5444c654b9aba124e2 - source: https://openapi.tools/ @@ -1035,17 +1035,17 @@ generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3) created: '2018-05-12T09:57:56Z' - updated: '2024-09-26T00:57:42Z' + updated: '2024-09-27T01:05:12Z' language: Java archived: false - stars: 21391 - watchers: 221 - forks: 6468 + stars: 21399 + watchers: 220 + forks: 6475 owner: OpenAPITools logo: https://avatars.githubusercontent.com/u/37325267?v=4 license: Apache-2.0 - repoEtag: '"69fee7b3cf2764436884c4bb28dda47ac78de61e44b2df67e30c9d57d1c802fb"' - repoLastModified: Thu, 26 Sep 2024 00:57:42 GMT + repoEtag: '"035da46d8527aa725a93891cdf9bcbbe72f00b7e3d54451fd0a05f6aaca84e20"' + repoLastModified: Fri, 27 Sep 2024 01:05:12 GMT foundInMaster: true id: 0418f8afcd0196c648d1a46c0c5c20d1 v3_1_link: https://github.com/OpenAPITools/openapi-generator/issues/9083 @@ -1119,17 +1119,17 @@ repositoryId: 323665366 description: OpenAPI based HTTP Client code generator created: '2020-12-22T15:35:49Z' - updated: '2024-09-25T18:59:36Z' + updated: '2024-09-26T22:28:22Z' language: C# archived: false - stars: 2851 + stars: 2855 watchers: 43 - forks: 195 + forks: 194 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"e67d53120fd6079e4244cff3967f906e0c7aee6b3bc9b00c1bc2b4d594b306e7"' - repoLastModified: Wed, 25 Sep 2024 18:59:36 GMT + repoEtag: '"e7cad298a3a3062fd019c5336d7749a6c4a0499370756204a7e3dafe024d0025"' + repoLastModified: Thu, 26 Sep 2024 22:28:22 GMT foundInMaster: true - source: https://openapi.tools/ name: FabriKt @@ -1182,17 +1182,17 @@ repositoryId: 353317141 description: Bump.sh CLI - Deploy your OpenAPI & AsyncAPI documentations from your CI created: '2021-03-31T10:29:18Z' - updated: '2024-08-15T09:51:27Z' + updated: '2024-09-26T09:18:19Z' language: TypeScript archived: false - stars: 39 + stars: 40 watchers: 4 forks: 3 owner: bump-sh logo: https://avatars.githubusercontent.com/u/33217836?v=4 license: MIT - repoEtag: '"0fdf6666931c3b66a44f53e5189c1f68a4c1f018f675494dbddb1210a2e4ba78"' - repoLastModified: Thu, 15 Aug 2024 09:51:27 GMT + repoEtag: '"12b0b692b97ada2d2764ed5ad7acd196611eadc2d1f0a7dd06f3e2f6656da36a"' + repoLastModified: Thu, 26 Sep 2024 09:18:19 GMT foundInMaster: true category: - Documentation @@ -1293,7 +1293,7 @@ owner: 42Crunch logo: https://avatars.githubusercontent.com/u/25365245?v=4 license: AGPL-3.0 - repoEtag: '"4f23d852be3b960e59ab80a5e7ece5df1071e0943c7eff2dcb5f577afdb910ab"' + repoEtag: '"1223789166920f4db1986c724fdb1831bd8469279cfd56ee3deab50330f598b8"' repoLastModified: Wed, 25 Sep 2024 12:09:15 GMT foundInMaster: true id: 782ecbb10f1ff8ac9685e0ed24e52e58 @@ -1359,17 +1359,17 @@ repositoryId: 19390712 description: Swagger Editor created: '2014-05-02T22:47:10Z' - updated: '2024-09-25T14:54:20Z' + updated: '2024-09-27T00:34:16Z' language: JavaScript archived: false - stars: 8885 + stars: 8886 watchers: 261 forks: 2245 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"f4dbc64fc6ec96f266565072911b37ed9391132e45d23ebadd247cd7e1787d74"' - repoLastModified: Wed, 25 Sep 2024 14:54:20 GMT + repoEtag: '"648b388c72c467bfddf44c1e011a812786a30502bfd64bc36f779ed7ddc89b45"' + repoLastModified: Fri, 27 Sep 2024 00:34:16 GMT foundInMaster: true id: 951cf61d12c812ef9b201ad76b5d278d v3_1: true @@ -1522,7 +1522,7 @@ owner: Apicurio logo: https://avatars.githubusercontent.com/u/28107283?v=4 license: Apache-2.0 - repoEtag: '"fcea4b7d224125c599780fe40a9b64c4ca17cdde0df248fba60c7580a41b208d"' + repoEtag: '"120b198934fa00d3840aa11003b8b795cda1316fc4e5993c7273524d8427be4e"' repoLastModified: Fri, 20 Sep 2024 12:41:38 GMT foundInMaster: true homepage: https://github.com/Apicurio/apicurio-studio @@ -1729,17 +1729,17 @@ Turn any OpenAPI2/3 and Postman Collection file into an API server with mocking, transformations and validations. created: '2016-03-18T03:52:09Z' - updated: '2024-09-26T02:43:50Z' + updated: '2024-09-26T12:25:51Z' language: TypeScript archived: false - stars: 4241 + stars: 4243 watchers: 55 forks: 345 owner: stoplightio logo: https://avatars.githubusercontent.com/u/10767217?v=4 license: Apache-2.0 - repoEtag: '"98fce5a737fbfa043ed075a45bead8d136ed1e6becdcd92f7579fc6e94d1cda0"' - repoLastModified: Thu, 26 Sep 2024 02:43:50 GMT + repoEtag: '"20e979ab48d4b30ebac77cb02e0eced87203bb6be6ef600f7dba85b4717c7dab"' + repoLastModified: Thu, 26 Sep 2024 12:25:51 GMT foundInMaster: true useMasterProperties: true id: 15aad8cd322242e03733b07f2a37890a @@ -1772,17 +1772,17 @@ The open source, cloud native tool for API Mocking and Testing. Microcks is a Cloud Native Computing Foundation sandbox project 🚀 created: '2015-02-23T15:46:09Z' - updated: '2024-09-25T14:57:53Z' + updated: '2024-09-26T16:11:30Z' language: Java archived: false - stars: 1355 + stars: 1358 watchers: 22 - forks: 211 + forks: 212 owner: microcks logo: https://avatars.githubusercontent.com/u/11051048?v=4 license: Apache-2.0 - repoEtag: '"562bb6e56fad56737de2ecdb61c10a847ee28d0ffca90be2303b650e343d97a6"' - repoLastModified: Wed, 25 Sep 2024 14:57:53 GMT + repoEtag: '"b0020d9ab269dbdeeb2f6ceea1de176c4aeca63d4915fe1cf0a6df861fcc6105"' + repoLastModified: Thu, 26 Sep 2024 16:11:30 GMT foundInMaster: true id: 1c0e918b5a733b0f1726199e3ea101d6 - source: https://openapi.tools/ @@ -1951,7 +1951,7 @@ repositoryId: 61366800 description: Build OpenAPI-compliant REST APIs using TypeScript and Node created: '2016-06-17T10:42:50Z' - updated: '2024-09-25T20:52:46Z' + updated: '2024-09-26T10:23:10Z' language: TypeScript archived: false stars: 3471 @@ -1960,8 +1960,8 @@ owner: lukeautry logo: https://avatars.githubusercontent.com/u/8770560?v=4 license: MIT - repoEtag: '"8f22c1ebdc1790cbdbfb23fe9a48ca7453d6d888d48002ca3c70ccb13809ff4f"' - repoLastModified: Wed, 25 Sep 2024 20:52:46 GMT + repoEtag: '"fcf648c5f295e0ced1551c69e223cb833343e1252f4cff7e4343b751d4691e7d"' + repoLastModified: Thu, 26 Sep 2024 10:23:10 GMT foundInMaster: true id: 2529db76d3d9f042b0c624f65b13fc41 - source: @@ -1978,17 +1978,17 @@ repositoryId: 741524414 description: ✨ Turn your OpenAPI specification into a beautiful TypeScript client created: '2024-01-10T15:19:25Z' - updated: '2024-09-26T02:47:46Z' + updated: '2024-09-26T15:55:35Z' language: TypeScript archived: false - stars: 1056 + stars: 1057 watchers: 7 - forks: 86 + forks: 88 owner: hey-api logo: https://avatars.githubusercontent.com/u/164436240?v=4 license: NOASSERTION - repoEtag: '"0da49982ee7d8f6cf8ac056771dc6285549be6246e9ca23569b63d55ceb2b279"' - repoLastModified: Thu, 26 Sep 2024 02:47:46 GMT + repoEtag: '"2a60d05e12812148f103423833a3432002411559b8da14fae6ab8783b4b632e2"' + repoLastModified: Thu, 26 Sep 2024 15:55:35 GMT category: - Converters - SDK @@ -2165,17 +2165,17 @@ 🕸️ Create REST and GraphQL APIs, scaffold Jamstack webapps, stream changes in real-time. created: '2015-03-06T21:46:05Z' - updated: '2024-09-24T18:38:20Z' + updated: '2024-09-26T17:41:46Z' language: TypeScript archived: false - stars: 8532 + stars: 8538 watchers: 212 forks: 958 owner: api-platform logo: https://avatars.githubusercontent.com/u/13420081?v=4 license: MIT - repoEtag: '"4eb2f651b3f6e1dee9bf8aeae888fde3d801abd06c410ac3297d2ffb8d4e7e8b"' - repoLastModified: Tue, 24 Sep 2024 18:38:20 GMT + repoEtag: '"3220e69ad8b464e6a053a17d28d018da5091c00dd3f298b335515acf16917d9a"' + repoLastModified: Thu, 26 Sep 2024 17:41:46 GMT foundInMaster: true id: d14f5904300aabf1ceef4660a6b3d57e - source: https://openapi.tools/ @@ -2351,12 +2351,12 @@ language: TypeScript archived: false stars: 1678 - watchers: 32 + watchers: 31 forks: 468 owner: nestjs logo: https://avatars.githubusercontent.com/u/28507035?v=4 license: MIT - repoEtag: '"c66cb5cd779a2bfc2fc996b2ac5c8fd1b0b4c8e652d0c844d102f1cae77ba461"' + repoEtag: '"38bf350ccc893a694617ab2990100449750d944d904d68b1e5c88bd669462e8b"' repoLastModified: Thu, 26 Sep 2024 01:32:55 GMT foundInMaster: true id: 7071babd9853fc901c5decfa9b465b67 @@ -2420,17 +2420,17 @@ repositoryId: 12590052 description: Language-agnostic HTTP API Testing Tool created: '2013-09-04T12:21:35Z' - updated: '2024-09-17T08:25:18Z' + updated: '2024-09-26T12:20:23Z' language: JavaScript archived: false - stars: 4180 - watchers: 76 + stars: 4182 + watchers: 75 forks: 279 owner: apiaryio logo: https://avatars.githubusercontent.com/u/765943?v=4 license: MIT - repoEtag: '"dfeeaffbd34872931c1f5320ea92bf1cf56c06d98c39a912baffd2ada1f3023f"' - repoLastModified: Tue, 17 Sep 2024 08:25:18 GMT + repoEtag: '"807e0d2c024625f94aab75ed5544966285df3e52d7593a640a2f680a6371ff06"' + repoLastModified: Thu, 26 Sep 2024 12:20:23 GMT foundInMaster: true id: bb2e4b0879fce0d8706dcebfd2c10a4c - source: https://openapi.tools/ @@ -2498,7 +2498,7 @@ owner: cdimascio logo: https://avatars.githubusercontent.com/u/4706618?v=4 license: MIT - repoEtag: '"d80538782e335826f77085a98c5d8554b068f43349a3fcb5eaf7f712ef894ea8"' + repoEtag: '"bf8ce9b4293f792c5b6ee9214cb08e4d699b317e967860a927c9ab728906c488"' repoLastModified: Mon, 23 Sep 2024 03:04:21 GMT foundInMaster: true id: 3a27bc1a71642e0c1c020c41dc66e206 @@ -2571,7 +2571,7 @@ owner: apideck-libraries logo: https://avatars.githubusercontent.com/u/73573473?v=4 license: Apache-2.0 - repoEtag: '"9af3b5cb4cd6589c983ed23a1b31f8542d5fb9ebf5566248ceeab29a87aa50cb"' + repoEtag: '"ce8bf831e176cf2c5fa140f34fc4eb15a8c9c6888a32854ecb8d15d754219525"' repoLastModified: Wed, 11 Sep 2024 07:15:03 GMT foundInMaster: true id: a03cdb329f630a946a946dfe26802c43 @@ -2600,17 +2600,17 @@ repositoryId: 537500924 description: Automated API Testing and Quality Assurance created: '2022-09-16T14:48:21Z' - updated: '2024-09-24T09:59:47Z' + updated: '2024-09-26T07:47:16Z' language: TypeScript archived: false - stars: 1629 + stars: 1630 watchers: 14 - forks: 75 + forks: 76 owner: stepci logo: https://avatars.githubusercontent.com/u/61350067?v=4 license: MPL-2.0 - repoEtag: '"9f754410504e0a587fe0724778acbb746089742bb6117ce6e73d2cfcd582f9b9"' - repoLastModified: Tue, 24 Sep 2024 09:59:47 GMT + repoEtag: '"a97d9dd0377032f2965798deb14da744eed9a56b4911183ddd4ac1846adbb931"' + repoLastModified: Thu, 26 Sep 2024 07:47:16 GMT foundInMaster: true - source: - https://openapi.tools/ @@ -2681,7 +2681,7 @@ baked in support for OpenAPI (v3.1, v3.0, and v2.0), Arazzo v1.0, as well as AsyncAPI v2.x. created: '2018-08-15T18:43:18Z' - updated: '2024-09-25T20:27:26Z' + updated: '2024-09-26T12:01:26Z' language: TypeScript archived: false stars: 2470 @@ -2690,8 +2690,8 @@ owner: stoplightio logo: https://avatars.githubusercontent.com/u/10767217?v=4 license: Apache-2.0 - repoEtag: '"191bed9ccd9cd3faa564cfd0e4974a88837aa8c947ae8093566a7b4ed4fd38cf"' - repoLastModified: Wed, 25 Sep 2024 20:27:26 GMT + repoEtag: '"6b60d94a0429d49d16dc4532650ec9b5a554909dc56b9d4a43abbe1ca063bee7"' + repoLastModified: Thu, 26 Sep 2024 12:01:26 GMT foundInMaster: true id: fab3cc58898cd8953a30e43cc622e0fe - source: https://openapi.tools/ @@ -2786,7 +2786,7 @@ owner: Redocly logo: https://avatars.githubusercontent.com/u/32099856?v=4 license: MIT - repoEtag: '"1a733dc21ac69212f328418eeb8b7fd1f8f32b6a07561f8d11067020f1420a34"' + repoEtag: '"f911465d6f516762d30c9a1ff82f28f418b24444870790611c88bce4867c4c35"' repoLastModified: Thu, 26 Sep 2024 02:45:24 GMT category: - Description Validators @@ -2871,11 +2871,11 @@ archived: false stars: 871 watchers: 16 - forks: 134 + forks: 135 owner: interagent logo: https://avatars.githubusercontent.com/u/7388387?v=4 license: MIT - repoEtag: '"390db9782874d33201680a438a8f8744c190eeb54efc4e4d1c66bf646f114d49"' + repoEtag: '"89dde450be799b6aa2ee66ea3dedf3e8fe8aaf8d48781c3b0d1e4cb347b5cbad"' repoLastModified: Tue, 17 Sep 2024 06:18:16 GMT foundInMaster: true id: 64f8f7a816e2d8825abd1a213d9e3fb5 @@ -2904,7 +2904,7 @@ owner: ahx logo: https://avatars.githubusercontent.com/u/8669?v=4 license: MIT - repoEtag: '"a73bd64f339cb19d988d169144792920bcd02082bb24315d1321adf51c9365e9"' + repoEtag: '"fd39453cb1cf797bb88eea3c30dd40f6ec42a0840f7ac345f50532ea0e14d5bb"' repoLastModified: Wed, 25 Sep 2024 15:48:00 GMT foundInMaster: true category: Data Validators @@ -3169,17 +3169,17 @@ OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more) created: '2017-06-11T20:12:06Z' - updated: '2024-09-25T17:44:01Z' + updated: '2024-09-27T03:26:38Z' language: Go archived: false - stars: 2560 + stars: 2562 watchers: 24 - forks: 428 + forks: 426 owner: getkin logo: https://avatars.githubusercontent.com/u/40365715?v=4 license: MIT - repoEtag: '"cbb4a96e3e0da8fce7c78c2d79c2225954c34611bf32d8d259813891d86cd2cd"' - repoLastModified: Wed, 25 Sep 2024 17:44:01 GMT + repoEtag: '"f92043d31f54cd3b76e06efa4e19af4a9822c31468182e77af958b2fef043bb4"' + repoLastModified: Fri, 27 Sep 2024 03:26:38 GMT foundInMaster: true v2: true id: f6838ce08e87fa4c3dc813c97193ece3 @@ -3378,17 +3378,17 @@ in .NET along with common serializers to extract raw OpenAPI JSON and YAML documents from the model. created: '2017-07-14T00:24:14Z' - updated: '2024-09-26T02:51:56Z' + updated: '2024-09-26T15:51:13Z' language: C# archived: false - stars: 1389 + stars: 1391 watchers: 64 forks: 230 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"6446f6909cfd82231a12192e41d1c9f83275b940e6e2a679adf78b1f30193500"' - repoLastModified: Thu, 26 Sep 2024 02:51:56 GMT + repoEtag: '"5b6c10b4481c977fa7977af73f051bf4b19d8a2ab0ccd194f1c2dc0912e8135d"' + repoLastModified: Thu, 26 Sep 2024 15:51:13 GMT foundInMaster: true id: 1066748bb5b1f114a70856a29fee4aa7 - source: @@ -3522,17 +3522,17 @@ API client generator is a console application capable of generating an API client based on OpenAPI(Swagger) specification. created: '2020-05-26T12:57:31Z' - updated: '2024-09-09T23:44:46Z' + updated: '2024-09-26T11:52:08Z' language: PHP archived: false - stars: 31 + stars: 32 watchers: 15 forks: 19 owner: DoclerLabs logo: https://avatars.githubusercontent.com/u/12913135?v=4 license: MIT - repoEtag: '"0cbe5c5579063473207f4c976dc271e5353adc68ac4dae52736c2c9820bfbfb5"' - repoLastModified: Mon, 09 Sep 2024 23:44:46 GMT + repoEtag: '"d6f7220d9307050a42a998f5550285de6bcc54afd624bcac06c075ed30ccbe4a"' + repoLastModified: Thu, 26 Sep 2024 11:52:08 GMT foundInMaster: true - source: https://openapi.tools/ name: janephp/open-api @@ -3585,17 +3585,17 @@ repositoryId: 26726495 description: Swagger 2.0 implementation for go created: '2014-11-16T20:13:15Z' - updated: '2024-09-25T06:08:32Z' + updated: '2024-09-26T10:44:36Z' language: Go archived: false - stars: 9485 + stars: 9484 watchers: 120 forks: 1247 owner: go-swagger logo: https://avatars.githubusercontent.com/u/10362650?v=4 license: Apache-2.0 - repoEtag: '"a06477bb567e08cd8baec40dd6967a0d6ef371f2eaf8c63a134e514c6f6ea3ca"' - repoLastModified: Wed, 25 Sep 2024 06:08:32 GMT + repoEtag: '"b9e6330ee10a0356e9d719e88d387f78995fd2b3c2fe5dd8fc33b9efe7e7b176"' + repoLastModified: Thu, 26 Sep 2024 10:44:36 GMT foundInMaster: true id: ef136df9ffb40bb33ccbd76665d8f5b4 - source: https://openapi.tools/ @@ -3692,12 +3692,12 @@ language: C# archived: false stars: 6708 - watchers: 168 - forks: 1240 + watchers: 167 + forks: 1241 owner: RicoSuter logo: https://avatars.githubusercontent.com/u/2603405?v=4 license: MIT - repoEtag: '"7413279b0e0cb68bd281baab34c940d39c4a491fe78daeb1924cac7588c66b25"' + repoEtag: '"8ec47cf153e55200d0257e36f6ebeb138fcb44d2e688547c577b5809ab14c445"' repoLastModified: Thu, 26 Sep 2024 02:43:37 GMT foundInMaster: true id: 93636e95435e95198d7d15c9d507f0d3 @@ -3761,17 +3761,17 @@ documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. created: '2011-07-06T14:26:48Z' - updated: '2024-09-25T15:29:03Z' + updated: '2024-09-26T21:47:50Z' language: Mustache archived: false - stars: 16920 + stars: 16922 watchers: 412 forks: 6027 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"62db97cf9cc54bf025e0f0476e504fd0695b08474b1497cd2619c2636e56aa17"' - repoLastModified: Wed, 25 Sep 2024 15:29:03 GMT + repoEtag: '"c5520d89582979fc59579cb4e11da8d98e1bca6a76fe2032cf28c56cc8e05805"' + repoLastModified: Thu, 26 Sep 2024 21:47:50 GMT foundInMaster: true id: eda1e66e1b7805496e42f57851791a32 - source: https://openapi.tools/ @@ -3799,12 +3799,12 @@ language: TypeScript archived: false stars: 4597 - watchers: 891 + watchers: 894 forks: 733 owner: Azure logo: https://avatars.githubusercontent.com/u/6844498?v=4 license: MIT - repoEtag: '"6e897c4df36cbb4b0160146f42e137a54f8683110d73fa0de4221722600f098b"' + repoEtag: '"8cc84d8af9dcefd31ebb3ca7bcec06d56a34e677d8763af8465ce9a81c3e0500"' repoLastModified: Thu, 26 Sep 2024 03:22:23 GMT foundInMaster: true id: 648d92bca90bf58cd74407e0bcad2936 @@ -3904,17 +3904,17 @@ repositoryId: 81140437 description: 🚀 Automatic SDK generation from an OpenAPI definition created: '2017-02-06T22:31:07Z' - updated: '2024-09-24T09:15:45Z' + updated: '2024-09-26T07:38:53Z' language: TypeScript archived: false - stars: 570 + stars: 571 watchers: 21 forks: 25 owner: readmeio logo: https://avatars.githubusercontent.com/u/6878153?v=4 license: MIT - repoEtag: '"b179510dca212ca8ab914b09a0c97ffddb065a10936c6670d7bcfb87fba27026"' - repoLastModified: Tue, 24 Sep 2024 09:15:45 GMT + repoEtag: '"ed84841cda1cb810cd06f4b18dc3c9de7ed045f37e438d74c734f79a3e027ed4"' + repoLastModified: Thu, 26 Sep 2024 07:38:53 GMT foundInMaster: true - source: - https://openapi.tools/ @@ -4111,17 +4111,17 @@ repositoryId: 32223373 description: A model-based test case generator created: '2015-03-14T17:22:38Z' - updated: '2024-09-15T01:19:26Z' + updated: '2024-09-26T17:27:56Z' language: Java archived: false - stars: 217 + stars: 218 watchers: 20 forks: 53 owner: Cornutum logo: https://avatars.githubusercontent.com/u/11477145?v=4 license: MIT - repoEtag: '"5830883b5647b431645d510c02afa64a545071cfc47647ea5a560c526d8450e3"' - repoLastModified: Sun, 15 Sep 2024 01:19:26 GMT + repoEtag: '"40a77919a7097e1315eca5559ef94db3eee622c723287eb53b61d30e94d3abf9"' + repoLastModified: Thu, 26 Sep 2024 17:27:56 GMT foundInMaster: true id: 64dc602f01798a9a39aba18c09d655ae - source: https://openapi.tools/ @@ -4189,17 +4189,17 @@ Black-box fuzzer that fuzzes APIs based on OpenAPI specification. Find bugs for free! created: '2020-12-23T22:33:38Z' - updated: '2024-09-18T23:27:25Z' + updated: '2024-09-26T07:34:10Z' language: Rust archived: false - stars: 533 + stars: 534 watchers: 8 forks: 22 owner: matusf logo: https://avatars.githubusercontent.com/u/18228995?v=4 license: AGPL-3.0 - repoEtag: '"d5de21b764676a5e1232062c01800cfed5159ad331d4256243033802487dea68"' - repoLastModified: Wed, 18 Sep 2024 23:27:25 GMT + repoEtag: '"a363967487413bf22ab78fcef425af9bc192602508ce4c6ec7fd56e75cdd79cd"' + repoLastModified: Thu, 26 Sep 2024 07:34:10 GMT id: 9e0191ba47403298459b30242dbfe9ad - source: https://openapi.tools/ name: cats @@ -4230,17 +4230,17 @@ configuration and no coding effort. Tests are self-healing and do not require maintenance. created: '2020-04-02T13:14:39Z' - updated: '2024-09-26T02:10:45Z' + updated: '2024-09-26T07:45:14Z' language: Java archived: false - stars: 1168 + stars: 1169 watchers: 14 forks: 74 owner: Endava logo: https://avatars.githubusercontent.com/u/19396140?v=4 license: Apache-2.0 - repoEtag: '"8e1c792eb9b46fb8d477fbb43737f798001fcd6e5391b363a36dccb967183e5b"' - repoLastModified: Thu, 26 Sep 2024 02:10:45 GMT + repoEtag: '"58151726ef66c09376b7a3548444c7551a32e21963efd62d1742100a03151e6e"' + repoLastModified: Thu, 26 Sep 2024 07:45:14 GMT foundInMaster: true - source: https://openapi.tools/ name: API Insights @@ -4446,7 +4446,7 @@ owner: openapi-processor logo: https://avatars.githubusercontent.com/u/66728774?v=4 license: Apache-2.0 - repoEtag: '"162eb423e854cde42d5b4c4b5ee03f6d5c39eb378be6936afbf8db53b67fbbf1"' + repoEtag: '"d9ec3430e00880d125d2512985a477b413fc85670ddf12b11f1a1d76d3478dbd"' repoLastModified: Sun, 22 Sep 2024 07:33:57 GMT foundInMaster: true - source: https://openapi.tools/ @@ -4506,7 +4506,7 @@ Dev Proxy is an API simulator that helps you effortlessly test your app beyond the happy path. created: '2022-09-09T18:11:29Z' - updated: '2024-09-25T10:37:28Z' + updated: '2024-09-26T12:11:50Z' language: C# archived: false stars: 475 @@ -4515,8 +4515,8 @@ owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"96b8587fb62d93d2c708b5a69e130fea2947c3a3d142390ca9c8fc2fba8253a7"' - repoLastModified: Wed, 25 Sep 2024 10:37:28 GMT + repoEtag: '"79caa3a3b17d800fa752212411b9204bd7254a87a614d0cdf98ec23e05fb9e96"' + repoLastModified: Thu, 26 Sep 2024 12:11:50 GMT foundInMaster: true - source: https://openapi.tools/ name: har2openapi @@ -4539,16 +4539,16 @@ repositoryId: 262170349 description: Generate openapi spec api documentation from captured har files created: '2020-05-07T22:19:19Z' - updated: '2024-09-10T23:47:27Z' + updated: '2024-09-26T22:14:38Z' language: JavaScript archived: false - stars: 148 + stars: 150 watchers: 8 forks: 22 owner: dcarr178 logo: https://avatars.githubusercontent.com/u/2379611?v=4 - repoEtag: '"10e7bb151625d2c2eb054a49376e0bd4c97e463756767355ab997bc979e7efc9"' - repoLastModified: Tue, 10 Sep 2024 23:47:27 GMT + repoEtag: '"76c5edb8e6660510256502a0bae99f8bd143e0c6de176d1fc50a6060c53cada3"' + repoLastModified: Thu, 26 Sep 2024 22:14:38 GMT foundInMaster: true id: 4df801fc431a2975d8981b7c4879ff7a - source: https://openapi.tools/ @@ -4572,16 +4572,16 @@ repositoryId: 519317344 description: HAR to OpenAPI spec generator created: '2022-07-29T18:43:20Z' - updated: '2024-09-09T15:10:29Z' + updated: '2024-09-26T21:04:41Z' language: TypeScript archived: false - stars: 81 + stars: 82 watchers: 2 - forks: 9 + forks: 10 owner: jonluca logo: https://avatars.githubusercontent.com/u/13029040?v=4 - repoEtag: '"fcd3fddb5fb1636a2376b7887e4de4776aef6538beb315814e43a8c2c2b4706b"' - repoLastModified: Mon, 09 Sep 2024 15:10:29 GMT + repoEtag: '"bc0dfeaca68b9f860098bcd0930523fc66f362d874f2bcc83cd98c1b2290db5b"' + repoLastModified: Thu, 26 Sep 2024 21:04:41 GMT foundInMaster: true - source: https://openapi.tools/ name: GranthAi @@ -4654,11 +4654,11 @@ archived: false stars: 3909 watchers: 22 - forks: 70 + forks: 71 owner: AndrewWalsh logo: https://avatars.githubusercontent.com/u/15863952?v=4 license: MIT - repoEtag: '"97a8df9964adc5263f8035ef914f553ce3a48c4d4ce9a351ee075640ff058500"' + repoEtag: '"4da42ca3c3d2128923f287fdcd2b2554b0c84d8993d1165ac6ddd91d00c3db11"' repoLastModified: Thu, 26 Sep 2024 00:54:19 GMT category: - Auto Generators @@ -4686,17 +4686,17 @@ repositoryId: 381857226 description: null created: '2021-06-30T23:29:49Z' - updated: '2024-09-26T03:12:20Z' + updated: '2024-09-27T02:18:41Z' language: Java archived: false - stars: 4333 + stars: 4339 watchers: 45 forks: 200 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"edbcbcd43bf7ad6e278eb796285890cfe3a4dd7ec68b3607e8e4c4477118cffd"' - repoLastModified: Thu, 26 Sep 2024 03:12:20 GMT + repoEtag: '"f47b41b8b482d4bdb771d0d51562da7080f715b0f1f9ae6e2e540e189249ded9"' + repoLastModified: Fri, 27 Sep 2024 02:18:41 GMT category: - Auto Generators - Server Implementations @@ -4782,7 +4782,7 @@ owner: danielgtaylor logo: https://avatars.githubusercontent.com/u/106826?v=4 license: MIT - repoEtag: '"69b342ff85516e4104e26040e43392a70a03558d012e2e3aed0f888f831f2b12"' + repoEtag: '"da44e6c033fcefb5816b333e4c1dd1e81aeda325001ffd27f55eb540e62d612b"' repoLastModified: Tue, 24 Sep 2024 18:45:02 GMT foundInMaster: true id: 22a8c610015b1b9d89af39221beabe66 @@ -4817,7 +4817,7 @@ owner: codekie logo: https://avatars.githubusercontent.com/u/1512840?v=4 license: MIT - repoEtag: '"3c19f86200166c885efa690e7d9cc8b8010891fe520d0e8d7891841323b4e591"' + repoEtag: '"e7fd26432b1cdd7f98f526967dbb03c3e63fd39a13098a47b0ebb1c03029c2d4"' repoLastModified: Wed, 28 Aug 2024 16:03:44 GMT foundInMaster: true id: 301e3f380f248daf345a88c8971d2a71 @@ -4881,7 +4881,7 @@ repositoryId: 345077537 description: Format an OpenAPI document by ordering, formatting and filtering fields. created: '2021-03-06T11:31:52Z' - updated: '2024-09-16T08:50:33Z' + updated: '2024-09-26T11:06:09Z' language: JavaScript archived: false stars: 93 @@ -4890,8 +4890,8 @@ owner: thim81 logo: https://avatars.githubusercontent.com/u/952446?v=4 license: MIT - repoEtag: '"6fc18fdbfc7056a5ca8186e644ed7eef5eb9a1d9211f3838badffe9f2d1dc097"' - repoLastModified: Mon, 16 Sep 2024 08:50:33 GMT + repoEtag: '"98ec866907bdc1e681830d66dbe7e4e5012af004907f94c806799510f9b67b5b"' + repoLastModified: Thu, 26 Sep 2024 11:06:09 GMT foundInMaster: true id: 788dd625de099d0d3403fe30067f3743 v3_1: true @@ -4926,7 +4926,7 @@ owner: github logo: https://avatars.githubusercontent.com/u/9919?v=4 license: MIT - repoEtag: '"9b9c8bca560740c926fd5ff3b19d5e7cdafaf3a234c63938915595fc67c63524"' + repoEtag: '"83eb0c137ad0318bdf42fc3133f67197e71a53e42e5ce767fc002556e8c8ee84"' repoLastModified: Mon, 23 Sep 2024 14:00:26 GMT foundInMaster: true id: ec6a7a1e4a69a9beeb95bdebb88cb36d @@ -5020,17 +5020,17 @@ repositoryId: 36817565 description: The ZAP by Checkmarx Core project created: '2015-06-03T16:55:01Z' - updated: '2024-09-26T01:55:17Z' + updated: '2024-09-26T11:55:17Z' language: Java archived: false - stars: 12545 + stars: 12547 watchers: 395 forks: 2243 owner: zaproxy logo: https://avatars.githubusercontent.com/u/6716868?v=4 license: Apache-2.0 - repoEtag: '"9b089fd25399c967b27407180f369807011fcb105b27b93762cff291cb0dc355"' - repoLastModified: Thu, 26 Sep 2024 01:55:17 GMT + repoEtag: '"da3d9cd8c711b27359b7684f8290b841f91d5ab8466989784aadbb9f1571ed4c"' + repoLastModified: Thu, 26 Sep 2024 11:55:17 GMT foundInMaster: true id: 9eedc1be44837a65f912bcf562844f39 - source: @@ -5364,17 +5364,17 @@ repositoryId: 1431547 description: Web APIs for Django. 🎸 created: '2011-03-02T17:13:56Z' - updated: '2024-09-26T03:12:36Z' + updated: '2024-09-27T03:09:53Z' language: Python archived: false - stars: 28193 + stars: 28190 watchers: 626 forks: 6815 owner: encode logo: https://avatars.githubusercontent.com/u/19159390?v=4 license: NOASSERTION - repoEtag: '"8b40195d97d75ebe1207a3e41c433a3b5fd0bd8e1ee6d5955dcd186e020cbe13"' - repoLastModified: Thu, 26 Sep 2024 03:12:36 GMT + repoEtag: '"21a4a893b3118467a43e4af3aaed653e424830224ff2c1c0b5f5b1099f02e07b"' + repoLastModified: Fri, 27 Sep 2024 03:09:53 GMT foundInMaster: true id: fb8994c078a380cc3510b024f6ed1202 category: Server Implementations @@ -5608,7 +5608,7 @@ owner: stoplightio logo: https://avatars.githubusercontent.com/u/10767217?v=4 license: Apache-2.0 - repoEtag: '"4d7d4628b8dde81d073d2686581cf42f67455f00856e7c02f7207998aaf448b5"' + repoEtag: '"27c5fb0098fe6ee34c0139c9e9298098f55ff25d792a27809b5ef5beb885e7b9"' repoLastModified: Wed, 25 Sep 2024 15:33:27 GMT foundInMaster: true id: 2f94cc1fc980953b17a9979d4ff2e7ec @@ -5735,17 +5735,17 @@ undefined user behaviour by auditing your API specifications, validating them and running API security tests. created: '2021-11-17T07:02:22Z' - updated: '2024-09-23T12:53:10Z' + updated: '2024-09-26T19:11:02Z' language: Rust archived: false - stars: 1118 + stars: 1119 watchers: 12 forks: 78 owner: blst-security logo: https://avatars.githubusercontent.com/u/54233087?v=4 license: Apache-2.0 - repoEtag: '"9182aa8fe5c5340544ed65e61282214153b59b966a9d637dd413a73a577623f4"' - repoLastModified: Mon, 23 Sep 2024 12:53:10 GMT + repoEtag: '"4930568dd14364df7462f6a4554254ad12265e06e9882947a924007a2898059b"' + repoLastModified: Thu, 26 Sep 2024 19:11:02 GMT foundInMaster: true name: Cherrybomb category: Description Validators @@ -5813,17 +5813,17 @@ repositoryId: 350501832 description: Open API (OAS 3.0) Typescript generator created: '2021-03-22T22:01:11Z' - updated: '2024-09-24T06:32:52Z' + updated: '2024-09-26T23:39:51Z' language: TypeScript archived: false - stars: 39 + stars: 40 watchers: 3 forks: 5 owner: Embraser01 logo: https://avatars.githubusercontent.com/u/8802277?v=4 license: MIT - repoEtag: '"029eeab0492e820237987ccc65c284d2d83aa9825bdab5b887e727291b9ed1a3"' - repoLastModified: Tue, 24 Sep 2024 06:32:52 GMT + repoEtag: '"865154701d7973b5921f2a4885358e19679c86e90fdfa1ae0e1dfdee356a5a6d"' + repoLastModified: Thu, 26 Sep 2024 23:39:51 GMT foundInMaster: true category: - SDK @@ -6011,7 +6011,7 @@ repositoryId: 479515560 description: OpenAPI / Swagger to TypeScript generator and mock server created: '2022-04-08T19:32:15Z' - updated: '2024-09-24T02:44:58Z' + updated: '2024-09-27T03:25:56Z' language: TypeScript archived: false stars: 101 @@ -6020,8 +6020,8 @@ owner: pmcelhaney logo: https://avatars.githubusercontent.com/u/51504?v=4 license: MIT - repoEtag: '"2157f98d3f9d1b0c82faae4f432df885ac370276bb512aa090f60695f5feabfd"' - repoLastModified: Tue, 24 Sep 2024 02:44:58 GMT + repoEtag: '"a5f63aba7d096bf82795949c0783e3de6521f90c1374e7cbf96fbed6c4afc821"' + repoLastModified: Fri, 27 Sep 2024 03:25:56 GMT category: - Mock - SDK @@ -6074,17 +6074,17 @@ you can think. vacuum is compatible with Spectral rulesets and generates compatible reports. created: '2021-10-10T18:24:19Z' - updated: '2024-09-24T18:18:06Z' + updated: '2024-09-26T23:04:21Z' language: Go archived: false - stars: 572 + stars: 573 watchers: 7 forks: 48 owner: daveshanley logo: https://avatars.githubusercontent.com/u/187345?v=4 license: MIT - repoEtag: '"f7436f818815d99625bca6d294e7cc032428a9a5cb0bbd6b3ae0337228e6bece"' - repoLastModified: Tue, 24 Sep 2024 18:18:06 GMT + repoEtag: '"a8aa04e0b95518ce1aa62f6f6ce953b6949692df8c54b0f070869ce3aa5fcb34"' + repoLastModified: Thu, 26 Sep 2024 23:04:21 GMT foundInMaster: true category: - Description Validators @@ -6169,17 +6169,17 @@ libopenapi is a fully featured, high performance OpenAPI 3.1, 3.0 and Swagger parser, library, validator and toolkit for golang applications. created: '2022-07-17T19:41:10Z' - updated: '2024-09-24T08:57:22Z' + updated: '2024-09-26T11:18:01Z' language: Go archived: false - stars: 441 + stars: 442 watchers: 7 forks: 59 owner: pb33f logo: https://avatars.githubusercontent.com/u/104016643?v=4 license: NOASSERTION - repoEtag: '"5772bdb834596635abcbf22a318871b51dbe1d3535fa182413d97e5cefc25ebd"' - repoLastModified: Tue, 24 Sep 2024 08:57:22 GMT + repoEtag: '"098f4de256600f08d677c452ca1f7448a691411f07ee100cac32f1f3692752cc"' + repoLastModified: Thu, 26 Sep 2024 11:18:01 GMT category: Parsers foundInMaster: true name: libopenapi @@ -6298,7 +6298,7 @@ owner: abap-openapi logo: https://avatars.githubusercontent.com/u/77685491?v=4 license: MIT - repoEtag: '"b8a0d6f5a92a08f09bb820bc3c6faa3e3f5cfb4af09fdb3a04723eb1378c9618"' + repoEtag: '"8e088c8a1ebd2678469bacfd4178ca2d8cc80e9d92245d6655bfb51cd377e208"' repoLastModified: Fri, 20 Sep 2024 13:40:33 GMT foundInMaster: true - source: @@ -6474,7 +6474,7 @@ Development - Collaboratively Design & Independently Deploy MicroServices & MicroFrontends. created: '2020-03-16T13:33:07Z' - updated: '2024-09-25T11:55:57Z' + updated: '2024-09-26T04:41:27Z' language: Kotlin archived: false stars: 275 @@ -6483,8 +6483,8 @@ owner: znsio logo: https://avatars.githubusercontent.com/u/75619722?v=4 license: MIT - repoEtag: '"eec39505ddd3012c58430f4b4ba411b09e59697a76e7a275367809c9480d593e"' - repoLastModified: Wed, 25 Sep 2024 11:55:57 GMT + repoEtag: '"1594d27a02d1d8a19dd7bd2301c911ad44239eb32b43b908abc5022076bc08d5"' + repoLastModified: Thu, 26 Sep 2024 04:41:27 GMT foundInMaster: true - source: - https://openapi.tools/ @@ -6503,17 +6503,17 @@ changed between two OpenAPI specs, or a single spec over time. Supports OpenAPI 3.1, 3.0 and Swagger created: '2022-11-28T16:53:14Z' - updated: '2024-09-21T19:29:30Z' + updated: '2024-09-26T08:12:34Z' language: Go archived: false - stars: 175 + stars: 176 watchers: 1 forks: 16 owner: pb33f logo: https://avatars.githubusercontent.com/u/104016643?v=4 license: NOASSERTION - repoEtag: '"5b21f0e0a77a0cbe17363a13736b1267c52a86f9069d020022aed992e4e99f92"' - repoLastModified: Sat, 21 Sep 2024 19:29:30 GMT + repoEtag: '"537ff66fb01388319c025dcabca5f609d493f7bd63ac288ce8e630b2fb3fc405"' + repoLastModified: Thu, 26 Sep 2024 08:12:34 GMT category: - Data Validators - Testing @@ -6878,7 +6878,7 @@ repositoryId: 476820102 description: Input OpenAPI. Output SDKs and Docs. created: '2022-04-01T17:56:54Z' - updated: '2024-09-26T02:23:41Z' + updated: '2024-09-26T22:52:06Z' language: TypeScript archived: false stars: 2598 @@ -6887,8 +6887,8 @@ owner: fern-api logo: https://avatars.githubusercontent.com/u/102944815?v=4 license: Apache-2.0 - repoEtag: '"f7fca10a4d7c5c06a95b4e80aae71db9bd4a25add09a4074fdf8d7886e813a8b"' - repoLastModified: Thu, 26 Sep 2024 02:23:41 GMT + repoEtag: '"a43c6cc15631be82e432b26e2c7aca1b32e91ca7901b707af759b8c6b266c1c9"' + repoLastModified: Thu, 26 Sep 2024 22:52:06 GMT foundInMaster: true sponsored: true testimonial: > @@ -7231,17 +7231,17 @@ repositoryId: 706256859 description: Golang Fuego - web framework generating OpenAPI 3 spec from source code created: '2023-10-17T15:36:43Z' - updated: '2024-09-25T17:16:17Z' + updated: '2024-09-26T08:19:25Z' language: Go archived: false - stars: 814 + stars: 813 watchers: 7 forks: 41 owner: go-fuego logo: https://avatars.githubusercontent.com/u/148255240?v=4 license: MIT - repoEtag: '"a3685ffa29187ab7248886aba2f712392cf8c5c5445f4569b1d849085ae44c29"' - repoLastModified: Wed, 25 Sep 2024 17:16:17 GMT + repoEtag: '"b9a254b103435e377ca7637ffde0cc78caf27c646bc67c44704ae754acce168b"' + repoLastModified: Thu, 26 Sep 2024 08:19:25 GMT foundInMaster: true - source: - https://openapi.tools/ @@ -7257,17 +7257,17 @@ repositoryId: 245763170 description: Huma REST/HTTP API Framework for Golang with OpenAPI 3.1 created: '2020-03-08T06:19:51Z' - updated: '2024-09-25T20:33:54Z' + updated: '2024-09-27T01:07:04Z' language: Go archived: false - stars: 1919 + stars: 1923 watchers: 27 forks: 139 owner: danielgtaylor logo: https://avatars.githubusercontent.com/u/106826?v=4 license: MIT - repoEtag: '"31ba789f9bc1799d7e4d78a03a3f50042047e03a110ea65b707ddc4684152bc3"' - repoLastModified: Wed, 25 Sep 2024 20:33:54 GMT + repoEtag: '"c56dc9793c6c7f5695f3cdbd8e251bfd0885885cd26e65e267068e1f990f5b74"' + repoLastModified: Fri, 27 Sep 2024 01:07:04 GMT foundInMaster: true category: - Auto Generators @@ -7307,17 +7307,17 @@ Merge multiple OpenAPI 3.0 (Swagger) files together via a library or CLI tool. created: '2021-05-23T02:23:17Z' - updated: '2024-08-22T13:12:47Z' + updated: '2024-09-26T17:21:46Z' language: TypeScript archived: false - stars: 128 + stars: 129 watchers: 4 forks: 25 owner: robertmassaioli logo: https://avatars.githubusercontent.com/u/149178?v=4 license: MIT - repoEtag: '"7027708368c50362ab51a9c985a11c5d0fb78c7e40eece99c26880c995324c1a"' - repoLastModified: Thu, 22 Aug 2024 13:12:47 GMT + repoEtag: '"2c9445ac01aa438c04d664b8e1a0974b88b6173fb359f1c3014e910194c1d0e3"' + repoLastModified: Thu, 26 Sep 2024 17:21:46 GMT foundInMaster: true - source: https://openapi.tools/ name: OpenAPI::Modern @@ -7386,7 +7386,7 @@ owner: OpenAPI-Qraft logo: https://avatars.githubusercontent.com/u/159651230?v=4 license: MIT - repoEtag: '"c4889ad04947cb910720d7cf96cc14e8f8bea13b2d7c8b8a20929cbb364c27df"' + repoEtag: '"15d4278a6b5734f1908b58d1f63f0b87b4672222d4dc9a5c780ea1284978c6eb"' repoLastModified: Wed, 25 Sep 2024 23:32:17 GMT foundInMaster: true - source: https://openapi.tools/ @@ -7500,25 +7500,25 @@ v3: true repositoryMetadata: base64Readme: >- - PHAgYWxpZ249ImNlbnRlciI+CiAgPGEgaHJlZj0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbSI+PGltZyBzcmM9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL2xvZ28tbWFyZ2luL2xvZ28tdGVhbC5wbmciIGFsdD0iRmFzdEFQSSI+PC9hPgo8L3A+CjxwIGFsaWduPSJjZW50ZXIiPgogICAgPGVtPkZhc3RBUEkgZnJhbWV3b3JrLCBoaWdoIHBlcmZvcm1hbmNlLCBlYXN5IHRvIGxlYXJuLCBmYXN0IHRvIGNvZGUsIHJlYWR5IGZvciBwcm9kdWN0aW9uPC9lbT4KPC9wPgo8cCBhbGlnbj0iY2VudGVyIj4KPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9hY3Rpb25zP3F1ZXJ5PXdvcmtmbG93JTNBVGVzdCtldmVudCUzQXB1c2grYnJhbmNoJTNBbWFzdGVyIiB0YXJnZXQ9Il9ibGFuayI+CiAgICA8aW1nIHNyYz0iaHR0cHM6Ly9naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS93b3JrZmxvd3MvVGVzdC9iYWRnZS5zdmc/ZXZlbnQ9cHVzaCZicmFuY2g9bWFzdGVyIiBhbHQ9IlRlc3QiPgo8L2E+CjxhIGhyZWY9Imh0dHBzOi8vY292ZXJhZ2UtYmFkZ2Uuc2FtdWVsY29sdmluLndvcmtlcnMuZGV2L3JlZGlyZWN0L2Zhc3RhcGkvZmFzdGFwaSIgdGFyZ2V0PSJfYmxhbmsiPgogICAgPGltZyBzcmM9Imh0dHBzOi8vY292ZXJhZ2UtYmFkZ2Uuc2FtdWVsY29sdmluLndvcmtlcnMuZGV2L2Zhc3RhcGkvZmFzdGFwaS5zdmciIGFsdD0iQ292ZXJhZ2UiPgo8L2E+CjxhIGhyZWY9Imh0dHBzOi8vcHlwaS5vcmcvcHJvamVjdC9mYXN0YXBpIiB0YXJnZXQ9Il9ibGFuayI+CiAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9weXBpL3YvZmFzdGFwaT9jb2xvcj0lMjMzNEQwNTgmbGFiZWw9cHlwaSUyMHBhY2thZ2UiIGFsdD0iUGFja2FnZSB2ZXJzaW9uIj4KPC9hPgo8YSBocmVmPSJodHRwczovL3B5cGkub3JnL3Byb2plY3QvZmFzdGFwaSIgdGFyZ2V0PSJfYmxhbmsiPgogICAgPGltZyBzcmM9Imh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vcHlwaS9weXZlcnNpb25zL2Zhc3RhcGkuc3ZnP2NvbG9yPSUyMzM0RDA1OCIgYWx0PSJTdXBwb3J0ZWQgUHl0aG9uIHZlcnNpb25zIj4KPC9hPgo8L3A+CgotLS0KCioqRG9jdW1lbnRhdGlvbioqOiA8YSBocmVmPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbTwvYT4KCioqU291cmNlIENvZGUqKjogPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGk8L2E+CgotLS0KCkZhc3RBUEkgaXMgYSBtb2Rlcm4sIGZhc3QgKGhpZ2gtcGVyZm9ybWFuY2UpLCB3ZWIgZnJhbWV3b3JrIGZvciBidWlsZGluZyBBUElzIHdpdGggUHl0aG9uIGJhc2VkIG9uIHN0YW5kYXJkIFB5dGhvbiB0eXBlIGhpbnRzLgoKVGhlIGtleSBmZWF0dXJlcyBhcmU6CgoqICoqRmFzdCoqOiBWZXJ5IGhpZ2ggcGVyZm9ybWFuY2UsIG9uIHBhciB3aXRoICoqTm9kZUpTKiogYW5kICoqR28qKiAodGhhbmtzIHRvIFN0YXJsZXR0ZSBhbmQgUHlkYW50aWMpLiBbT25lIG9mIHRoZSBmYXN0ZXN0IFB5dGhvbiBmcmFtZXdvcmtzIGF2YWlsYWJsZV0oI3BlcmZvcm1hbmNlKS4KKiAqKkZhc3QgdG8gY29kZSoqOiBJbmNyZWFzZSB0aGUgc3BlZWQgdG8gZGV2ZWxvcCBmZWF0dXJlcyBieSBhYm91dCAyMDAlIHRvIDMwMCUuICoKKiAqKkZld2VyIGJ1Z3MqKjogUmVkdWNlIGFib3V0IDQwJSBvZiBodW1hbiAoZGV2ZWxvcGVyKSBpbmR1Y2VkIGVycm9ycy4gKgoqICoqSW50dWl0aXZlKio6IEdyZWF0IGVkaXRvciBzdXBwb3J0LiA8YWJiciB0aXRsZT0iYWxzbyBrbm93biBhcyBhdXRvLWNvbXBsZXRlLCBhdXRvY29tcGxldGlvbiwgSW50ZWxsaVNlbnNlIj5Db21wbGV0aW9uPC9hYmJyPiBldmVyeXdoZXJlLiBMZXNzIHRpbWUgZGVidWdnaW5nLgoqICoqRWFzeSoqOiBEZXNpZ25lZCB0byBiZSBlYXN5IHRvIHVzZSBhbmQgbGVhcm4uIExlc3MgdGltZSByZWFkaW5nIGRvY3MuCiogKipTaG9ydCoqOiBNaW5pbWl6ZSBjb2RlIGR1cGxpY2F0aW9uLiBNdWx0aXBsZSBmZWF0dXJlcyBmcm9tIGVhY2ggcGFyYW1ldGVyIGRlY2xhcmF0aW9uLiBGZXdlciBidWdzLgoqICoqUm9idXN0Kio6IEdldCBwcm9kdWN0aW9uLXJlYWR5IGNvZGUuIFdpdGggYXV0b21hdGljIGludGVyYWN0aXZlIGRvY3VtZW50YXRpb24uCiogKipTdGFuZGFyZHMtYmFzZWQqKjogQmFzZWQgb24gKGFuZCBmdWxseSBjb21wYXRpYmxlIHdpdGgpIHRoZSBvcGVuIHN0YW5kYXJkcyBmb3IgQVBJczogPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL09BSS9PcGVuQVBJLVNwZWNpZmljYXRpb24iIGNsYXNzPSJleHRlcm5hbC1saW5rIiB0YXJnZXQ9Il9ibGFuayI+T3BlbkFQSTwvYT4gKHByZXZpb3VzbHkga25vd24gYXMgU3dhZ2dlcikgYW5kIDxhIGhyZWY9Imh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyIgY2xhc3M9ImV4dGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj5KU09OIFNjaGVtYTwvYT4uCgo8c21hbGw+KiBlc3RpbWF0aW9uIGJhc2VkIG9uIHRlc3RzIG9uIGFuIGludGVybmFsIGRldmVsb3BtZW50IHRlYW0sIGJ1aWxkaW5nIHByb2R1Y3Rpb24gYXBwbGljYXRpb25zLjwvc21hbGw+CgojIyBTcG9uc29ycwoKPCEtLSBzcG9uc29ycyAtLT4KCjxhIGhyZWY9Imh0dHBzOi8vY3J5cHRhcGkuaW8vIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IkNyeXB0QVBJOiBZb3VyIGVhc3kgdG8gdXNlLCBzZWN1cmUgYW5kIHByaXZhY3kgb3JpZW50ZWQgcGF5bWVudCBnYXRld2F5LiI+PGltZyBzcmM9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL3Nwb25zb3JzL2NyeXB0YXBpLnN2ZyI+PC9hPgo8YSBocmVmPSJodHRwczovL3BsYXRmb3JtLnNoL3RyeS1pdC1ub3cvP3V0bV9zb3VyY2U9ZmFzdGFwaS1zaWdudXAmdXRtX21lZGl1bT1iYW5uZXImdXRtX2NhbXBhaWduPUZhc3RBUEktc2lnbnVwLUp1bmUtMjAyMyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJCdWlsZCwgcnVuIGFuZCBzY2FsZSB5b3VyIGFwcHMgb24gYSBtb2Rlcm4sIHJlbGlhYmxlLCBhbmQgc2VjdXJlIFBhYVMuIj48aW1nIHNyYz0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvc3BvbnNvcnMvcGxhdGZvcm0tc2gucG5nIj48L2E+CjxhIGhyZWY9Imh0dHBzOi8vd3d3LnBvcnRlci5ydW4iIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iRGVwbG95IEZhc3RBUEkgb24gQVdTIHdpdGggYSBmZXcgY2xpY2tzIj48aW1nIHNyYz0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvc3BvbnNvcnMvcG9ydGVyLnBuZyI+PC9hPgo8YSBocmVmPSJodHRwczovL2J1bXAuc2gvZmFzdGFwaT91dG1fc291cmNlPWZhc3RhcGkmdXRtX21lZGl1bT1yZWZlcnJhbCZ1dG1fY2FtcGFpZ249c3BvbnNvciIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJBdXRvbWF0ZSBGYXN0QVBJIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbiB3aXRoIEJ1bXAuc2giPjxpbWcgc3JjPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9zcG9uc29ycy9idW1wLXNoLnN2ZyI+PC9hPgo8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2NhbGFyL3NjYWxhci8/dXRtX3NvdXJjZT1mYXN0YXBpJnV0bV9tZWRpdW09d2Vic2l0ZSZ1dG1fY2FtcGFpZ249bWFpbi1iYWRnZSIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJTY2FsYXI6IEJlYXV0aWZ1bCBPcGVuLVNvdXJjZSBBUEkgUmVmZXJlbmNlcyBmcm9tIFN3YWdnZXIvT3BlbkFQSSBmaWxlcyI+PGltZyBzcmM9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL3Nwb25zb3JzL3NjYWxhci5zdmciPjwvYT4KPGEgaHJlZj0iaHR0cHM6Ly93d3cucHJvcGVsYXV0aC5jb20vP3V0bV9zb3VyY2U9ZmFzdGFwaSZ1dG1fY2FtcGFpZ249MTIyMyZ1dG1fbWVkaXVtPW1haW5iYWRnZSIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJBdXRoLCB1c2VyIG1hbmFnZW1lbnQgYW5kIG1vcmUgZm9yIHlvdXIgQjJCIHByb2R1Y3QiPjxpbWcgc3JjPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9zcG9uc29ycy9wcm9wZWxhdXRoLnBuZyI+PC9hPgo8YSBocmVmPSJodHRwczovL3d3dy53aXRoY29oZXJlbmNlLmNvbS8/dXRtX21lZGl1bT1hZHZlcnRpc2luZyZ1dG1fc291cmNlPWZhc3RhcGkmdXRtX2NhbXBhaWduPXdlYnNpdGUiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iQ29oZXJlbmNlIj48aW1nIHNyYz0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvc3BvbnNvcnMvY29oZXJlbmNlLnBuZyI+PC9hPgo8YSBocmVmPSJodHRwczovL3d3dy5tb25nb2RiLmNvbS9kZXZlbG9wZXIvbGFuZ3VhZ2VzL3B5dGhvbi9weXRob24tcXVpY2tzdGFydC1mYXN0YXBpLz91dG1fY2FtcGFpZ249ZmFzdGFwaV9mcmFtZXdvcmsmdXRtX3NvdXJjZT1mYXN0YXBpX3Nwb25zb3JzaGlwJnV0bV9tZWRpdW09d2ViX3JlZmVycmFsIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IlNpbXBsaWZ5IEZ1bGwgU3RhY2sgRGV2ZWxvcG1lbnQgd2l0aCBGYXN0QVBJICYgTW9uZ29EQiI+PGltZyBzcmM9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL3Nwb25zb3JzL21vbmdvZGIucG5nIj48L2E+CjxhIGhyZWY9Imh0dHBzOi8venVwbG8ubGluay9mYXN0YXBpLWdoIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9Ilp1cGxvOiBTY2FsZSwgUHJvdGVjdCwgRG9jdW1lbnQsIGFuZCBNb25ldGl6ZSB5b3VyIEZhc3RBUEkiPjxpbWcgc3JjPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9zcG9uc29ycy96dXBsby5wbmciPjwvYT4KPGEgaHJlZj0iaHR0cHM6Ly9maW5lLmRldj9yZWY9ZmFzdGFwaWJhZGdlIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IkZpbmUncyBBSSBGYXN0QVBJIFdvcmtmbG93OiBFZmZvcnRsZXNzbHkgRGVwbG95IGFuZCBJbnRlZ3JhdGUgRmFzdEFQSSBpbnRvIFlvdXIgUHJvamVjdCI+PGltZyBzcmM9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL3Nwb25zb3JzL2ZpbmUucG5nIj48L2E+CjxhIGhyZWY9Imh0dHBzOi8vbGlibGFiLmNvbT91dG1fc291cmNlPWZhc3RhcGkiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0ibGlibGFiIC0gR2VuZXJhdGUgU0RLcyBmcm9tIEZhc3RBUEkiPjxpbWcgc3JjPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9zcG9uc29ycy9saWJsYWIucG5nIj48L2E+CjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9kZWVwc2V0LWFpL2hheXN0YWNrLyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJCdWlsZCBwb3dlcmZ1bCBzZWFyY2ggZnJvbSBjb21wb3NhYmxlLCBvcGVuIHNvdXJjZSBidWlsZGluZyBibG9ja3MiPjxpbWcgc3JjPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9zcG9uc29ycy9oYXlzdGFjay1mYXN0YXBpLnN2ZyI+PC9hPgo8YSBocmVmPSJodHRwczovL2RhdGFiZW50by5jb20vIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IlBheSBhcyB5b3UgZ28gZm9yIG1hcmtldCBkYXRhIj48aW1nIHNyYz0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvc3BvbnNvcnMvZGF0YWJlbnRvLnN2ZyI+PC9hPgo8YSBocmVmPSJodHRwczovL3NwZWFrZWFzeS5jb20/dXRtX3NvdXJjZT1mYXN0YXBpK3JlcG8mdXRtX21lZGl1bT1naXRodWIrc3BvbnNvcnNoaXAiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iU0RLcyBmb3IgeW91ciBBUEkgfCBTcGVha2Vhc3kiPjxpbWcgc3JjPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9zcG9uc29ycy9zcGVha2Vhc3kucG5nIj48L2E+CjxhIGhyZWY9Imh0dHBzOi8vd3d3LnN2aXguY29tLyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJTdml4IC0gV2ViaG9va3MgYXMgYSBzZXJ2aWNlIj48aW1nIHNyYz0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvc3BvbnNvcnMvc3ZpeC5zdmciPjwvYT4KPGEgaHJlZj0iaHR0cHM6Ly93d3cuY29kYWN5LmNvbS8/dXRtX3NvdXJjZT1naXRodWImdXRtX21lZGl1bT1zcG9uc29ycyZ1dG1faWQ9cGlvbmVlcnMiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iVGFrZSBjb2RlIHJldmlld3MgZnJvbSBob3VycyB0byBtaW51dGVzIj48aW1nIHNyYz0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvc3BvbnNvcnMvY29kYWN5LnBuZyI+PC9hPgo8YSBocmVmPSJodHRwczovL3d3dy5zdGFpbmxlc3NhcGkuY29tLz91dG1fc291cmNlPWZhc3RhcGkmdXRtX21lZGl1bT1yZWZlcnJhbCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJTdGFpbmxlc3MgfCBHZW5lcmF0ZSBiZXN0LWluLWNsYXNzIFNES3MiPjxpbWcgc3JjPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9zcG9uc29ycy9zdGFpbmxlc3MucG5nIj48L2E+Cgo8IS0tIC9zcG9uc29ycyAtLT4KCjxhIGhyZWY9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vZmFzdGFwaS1wZW9wbGUvI3Nwb25zb3JzIiBjbGFzcz0iZXh0ZXJuYWwtbGluayIgdGFyZ2V0PSJfYmxhbmsiPk90aGVyIHNwb25zb3JzPC9hPgoKIyMgT3BpbmlvbnMKCiJfWy4uLl0gSSdtIHVzaW5nICoqRmFzdEFQSSoqIGEgdG9uIHRoZXNlIGRheXMuIFsuLi5dIEknbSBhY3R1YWxseSBwbGFubmluZyB0byB1c2UgaXQgZm9yIGFsbCBvZiBteSB0ZWFtJ3MgKipNTCBzZXJ2aWNlcyBhdCBNaWNyb3NvZnQqKi4gU29tZSBvZiB0aGVtIGFyZSBnZXR0aW5nIGludGVncmF0ZWQgaW50byB0aGUgY29yZSAqKldpbmRvd3MqKiBwcm9kdWN0IGFuZCBzb21lICoqT2ZmaWNlKiogcHJvZHVjdHMuXyIKCjxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBtYXJnaW4tcmlnaHQ6IDEwJTsiPkthYmlyIEtoYW4gLSA8c3Ryb25nPk1pY3Jvc29mdDwvc3Ryb25nPiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMjYiIHRhcmdldD0iX2JsYW5rIj48c21hbGw+KHJlZik8L3NtYWxsPjwvYT48L2Rpdj4KCi0tLQoKIl9XZSBhZG9wdGVkIHRoZSAqKkZhc3RBUEkqKiBsaWJyYXJ5IHRvIHNwYXduIGEgKipSRVNUKiogc2VydmVyIHRoYXQgY2FuIGJlIHF1ZXJpZWQgdG8gb2J0YWluICoqcHJlZGljdGlvbnMqKi4gW2ZvciBMdWR3aWddXyIKCjxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBtYXJnaW4tcmlnaHQ6IDEwJTsiPlBpZXJvIE1vbGlubywgWWFyb3NsYXYgRHVkaW4sIGFuZCBTYWkgU3VtYW50aCBNaXJ5YWxhIC0gPHN0cm9uZz5VYmVyPC9zdHJvbmc+IDxhIGhyZWY9Imh0dHBzOi8vZW5nLnViZXIuY29tL2x1ZHdpZy12MC0yLyIgdGFyZ2V0PSJfYmxhbmsiPjxzbWFsbD4ocmVmKTwvc21hbGw+PC9hPjwvZGl2PgoKLS0tCgoiXyoqTmV0ZmxpeCoqIGlzIHBsZWFzZWQgdG8gYW5ub3VuY2UgdGhlIG9wZW4tc291cmNlIHJlbGVhc2Ugb2Ygb3VyICoqY3Jpc2lzIG1hbmFnZW1lbnQqKiBvcmNoZXN0cmF0aW9uIGZyYW1ld29yazogKipEaXNwYXRjaCoqISBbYnVpbHQgd2l0aCAqKkZhc3RBUEkqKl1fIgoKPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IG1hcmdpbi1yaWdodDogMTAlOyI+S2V2aW4gR2xpc3NvbiwgTWFyYyBWaWxhbm92YSwgRm9yZXN0IE1vbnNlbiAtIDxzdHJvbmc+TmV0ZmxpeDwvc3Ryb25nPiA8YSBocmVmPSJodHRwczovL25ldGZsaXh0ZWNoYmxvZy5jb20vaW50cm9kdWNpbmctZGlzcGF0Y2gtZGE0YjhhMmE4MDcyIiB0YXJnZXQ9Il9ibGFuayI+PHNtYWxsPihyZWYpPC9zbWFsbD48L2E+PC9kaXY+CgotLS0KCiJfSeKAmW0gb3ZlciB0aGUgbW9vbiBleGNpdGVkIGFib3V0ICoqRmFzdEFQSSoqLiBJdOKAmXMgc28gZnVuIV8iCgo8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgbWFyZ2luLXJpZ2h0OiAxMCU7Ij5CcmlhbiBPa2tlbiAtIDxzdHJvbmc+PGEgaHJlZj0iaHR0cHM6Ly9weXRob25ieXRlcy5mbS9lcGlzb2Rlcy9zaG93LzEyMy90aW1lLXRvLXJpZ2h0LXRoZS1weS13cm9uZ3M/dGltZV9pbl9zZWM9ODU1IiB0YXJnZXQ9Il9ibGFuayI+UHl0aG9uIEJ5dGVzPC9hPiBwb2RjYXN0IGhvc3Q8L3N0cm9uZz4gPGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9icmlhbm9ra2VuL3N0YXR1cy8xMTEyMjIwMDc5OTcyNzI4ODMyIiB0YXJnZXQ9Il9ibGFuayI+PHNtYWxsPihyZWYpPC9zbWFsbD48L2E+PC9kaXY+CgotLS0KCiJfSG9uZXN0bHksIHdoYXQgeW91J3ZlIGJ1aWx0IGxvb2tzIHN1cGVyIHNvbGlkIGFuZCBwb2xpc2hlZC4gSW4gbWFueSB3YXlzLCBpdCdzIHdoYXQgSSB3YW50ZWQgKipIdWcqKiB0byBiZSAtIGl0J3MgcmVhbGx5IGluc3BpcmluZyB0byBzZWUgc29tZW9uZSBidWlsZCB0aGF0Ll8iCgo8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgbWFyZ2luLXJpZ2h0OiAxMCU7Ij5UaW1vdGh5IENyb3NsZXkgLSA8c3Ryb25nPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lmh1Zy5yZXN0LyIgdGFyZ2V0PSJfYmxhbmsiPkh1ZzwvYT4gY3JlYXRvcjwvc3Ryb25nPiA8YSBocmVmPSJodHRwczovL25ld3MueWNvbWJpbmF0b3IuY29tL2l0ZW0/aWQ9MTk0NTU0NjUiIHRhcmdldD0iX2JsYW5rIj48c21hbGw+KHJlZik8L3NtYWxsPjwvYT48L2Rpdj4KCi0tLQoKIl9JZiB5b3UncmUgbG9va2luZyB0byBsZWFybiBvbmUgKiptb2Rlcm4gZnJhbWV3b3JrKiogZm9yIGJ1aWxkaW5nIFJFU1QgQVBJcywgY2hlY2sgb3V0ICoqRmFzdEFQSSoqIFsuLi5dIEl0J3MgZmFzdCwgZWFzeSB0byB1c2UgYW5kIGVhc3kgdG8gbGVhcm4gWy4uLl1fIgoKIl9XZSd2ZSBzd2l0Y2hlZCBvdmVyIHRvICoqRmFzdEFQSSoqIGZvciBvdXIgKipBUElzKiogWy4uLl0gSSB0aGluayB5b3UnbGwgbGlrZSBpdCBbLi4uXV8iCgo8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgbWFyZ2luLXJpZ2h0OiAxMCU7Ij5JbmVzIE1vbnRhbmkgLSBNYXR0aGV3IEhvbm5pYmFsIC0gPHN0cm9uZz48YSBocmVmPSJodHRwczovL2V4cGxvc2lvbi5haSIgdGFyZ2V0PSJfYmxhbmsiPkV4cGxvc2lvbiBBSTwvYT4gZm91bmRlcnMgLSA8YSBocmVmPSJodHRwczovL3NwYWN5LmlvIiB0YXJnZXQ9Il9ibGFuayI+c3BhQ3k8L2E+IGNyZWF0b3JzPC9zdHJvbmc+IDxhIGhyZWY9Imh0dHBzOi8vdHdpdHRlci5jb20vX2luZXNtb250YW5pL3N0YXR1cy8xMTQ0MTczMjI1MzIyMTQzNzQ0IiB0YXJnZXQ9Il9ibGFuayI+PHNtYWxsPihyZWYpPC9zbWFsbD48L2E+IC0gPGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9ob25uaWJhbC9zdGF0dXMvMTE0NDAzMTQyMTg1OTY1NTY4MCIgdGFyZ2V0PSJfYmxhbmsiPjxzbWFsbD4ocmVmKTwvc21hbGw+PC9hPjwvZGl2PgoKLS0tCgoiX0lmIGFueW9uZSBpcyBsb29raW5nIHRvIGJ1aWxkIGEgcHJvZHVjdGlvbiBQeXRob24gQVBJLCBJIHdvdWxkIGhpZ2hseSByZWNvbW1lbmQgKipGYXN0QVBJKiouIEl0IGlzICoqYmVhdXRpZnVsbHkgZGVzaWduZWQqKiwgKipzaW1wbGUgdG8gdXNlKiogYW5kICoqaGlnaGx5IHNjYWxhYmxlKiosIGl0IGhhcyBiZWNvbWUgYSAqKmtleSBjb21wb25lbnQqKiBpbiBvdXIgQVBJIGZpcnN0IGRldmVsb3BtZW50IHN0cmF0ZWd5IGFuZCBpcyBkcml2aW5nIG1hbnkgYXV0b21hdGlvbnMgYW5kIHNlcnZpY2VzIHN1Y2ggYXMgb3VyIFZpcnR1YWwgVEFDIEVuZ2luZWVyLl8iCgo8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgbWFyZ2luLXJpZ2h0OiAxMCU7Ij5EZW9uIFBpbGxzYnVyeSAtIDxzdHJvbmc+Q2lzY288L3N0cm9uZz4gPGEgaHJlZj0iaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL3Bvc3RzL2Rlb25waWxsc2J1cnlfY2lzY28tY3gtcHl0aG9uLWFjdGl2aXR5LTY5NjMyNDI2Mjg1MzY0ODc5MzYtdHJBcC8iIHRhcmdldD0iX2JsYW5rIj48c21hbGw+KHJlZik8L3NtYWxsPjwvYT48L2Rpdj4KCi0tLQoKIyMgKipUeXBlcioqLCB0aGUgRmFzdEFQSSBvZiBDTElzCgo8YSBocmVmPSJodHRwczovL3R5cGVyLnRpYW5nb2xvLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJodHRwczovL3R5cGVyLnRpYW5nb2xvLmNvbS9pbWcvbG9nby1tYXJnaW4vbG9nby1tYXJnaW4tdmVjdG9yLnN2ZyIgc3R5bGU9IndpZHRoOiAyMCU7Ij48L2E+CgpJZiB5b3UgYXJlIGJ1aWxkaW5nIGEgPGFiYnIgdGl0bGU9IkNvbW1hbmQgTGluZSBJbnRlcmZhY2UiPkNMSTwvYWJicj4gYXBwIHRvIGJlIHVzZWQgaW4gdGhlIHRlcm1pbmFsIGluc3RlYWQgb2YgYSB3ZWIgQVBJLCBjaGVjayBvdXQgPGEgaHJlZj0iaHR0cHM6Ly90eXBlci50aWFuZ29sby5jb20vIiBjbGFzcz0iZXh0ZXJuYWwtbGluayIgdGFyZ2V0PSJfYmxhbmsiPioqVHlwZXIqKjwvYT4uCgoqKlR5cGVyKiogaXMgRmFzdEFQSSdzIGxpdHRsZSBzaWJsaW5nLiBBbmQgaXQncyBpbnRlbmRlZCB0byBiZSB0aGUgKipGYXN0QVBJIG9mIENMSXMqKi4g4oyo77iPIPCfmoAKCiMjIFJlcXVpcmVtZW50cwoKRmFzdEFQSSBzdGFuZHMgb24gdGhlIHNob3VsZGVycyBvZiBnaWFudHM6CgoqIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnN0YXJsZXR0ZS5pby8iIGNsYXNzPSJleHRlcm5hbC1saW5rIiB0YXJnZXQ9Il9ibGFuayI+U3RhcmxldHRlPC9hPiBmb3IgdGhlIHdlYiBwYXJ0cy4KKiA8YSBocmVmPSJodHRwczovL2RvY3MucHlkYW50aWMuZGV2LyIgY2xhc3M9ImV4dGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj5QeWRhbnRpYzwvYT4gZm9yIHRoZSBkYXRhIHBhcnRzLgoKIyMgSW5zdGFsbGF0aW9uCgpDcmVhdGUgYW5kIGFjdGl2YXRlIGEgPGEgaHJlZj0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS92aXJ0dWFsLWVudmlyb25tZW50cy8iIGNsYXNzPSJleHRlcm5hbC1saW5rIiB0YXJnZXQ9Il9ibGFuayI+dmlydHVhbCBlbnZpcm9ubWVudDwvYT4gYW5kIHRoZW4gaW5zdGFsbCBGYXN0QVBJOgoKPGRpdiBjbGFzcz0idGVybXkiPgoKYGBgY29uc29sZQokIHBpcCBpbnN0YWxsICJmYXN0YXBpW3N0YW5kYXJkXSIKCi0tLT4gMTAwJQpgYGAKCjwvZGl2PgoKKipOb3RlKio6IE1ha2Ugc3VyZSB5b3UgcHV0IGAiZmFzdGFwaVtzdGFuZGFyZF0iYCBpbiBxdW90ZXMgdG8gZW5zdXJlIGl0IHdvcmtzIGluIGFsbCB0ZXJtaW5hbHMuCgojIyBFeGFtcGxlCgojIyMgQ3JlYXRlIGl0CgoqIENyZWF0ZSBhIGZpbGUgYG1haW4ucHlgIHdpdGg6CgpgYGBQeXRob24KZnJvbSB0eXBpbmcgaW1wb3J0IFVuaW9uCgpmcm9tIGZhc3RhcGkgaW1wb3J0IEZhc3RBUEkKCmFwcCA9IEZhc3RBUEkoKQoKCkBhcHAuZ2V0KCIvIikKZGVmIHJlYWRfcm9vdCgpOgogICAgcmV0dXJuIHsiSGVsbG8iOiAiV29ybGQifQoKCkBhcHAuZ2V0KCIvaXRlbXMve2l0ZW1faWR9IikKZGVmIHJlYWRfaXRlbShpdGVtX2lkOiBpbnQsIHE6IFVuaW9uW3N0ciwgTm9uZV0gPSBOb25lKToKICAgIHJldHVybiB7Iml0ZW1faWQiOiBpdGVtX2lkLCAicSI6IHF9CmBgYAoKPGRldGFpbHMgbWFya2Rvd249IjEiPgo8c3VtbWFyeT5PciB1c2UgPGNvZGU+YXN5bmMgZGVmPC9jb2RlPi4uLjwvc3VtbWFyeT4KCklmIHlvdXIgY29kZSB1c2VzIGBhc3luY2AgLyBgYXdhaXRgLCB1c2UgYGFzeW5jIGRlZmA6CgpgYGBQeXRob24gaGxfbGluZXM9IjkgIDE0Igpmcm9tIHR5cGluZyBpbXBvcnQgVW5pb24KCmZyb20gZmFzdGFwaSBpbXBvcnQgRmFzdEFQSQoKYXBwID0gRmFzdEFQSSgpCgoKQGFwcC5nZXQoIi8iKQphc3luYyBkZWYgcmVhZF9yb290KCk6CiAgICByZXR1cm4geyJIZWxsbyI6ICJXb3JsZCJ9CgoKQGFwcC5nZXQoIi9pdGVtcy97aXRlbV9pZH0iKQphc3luYyBkZWYgcmVhZF9pdGVtKGl0ZW1faWQ6IGludCwgcTogVW5pb25bc3RyLCBOb25lXSA9IE5vbmUpOgogICAgcmV0dXJuIHsiaXRlbV9pZCI6IGl0ZW1faWQsICJxIjogcX0KYGBgCgoqKk5vdGUqKjoKCklmIHlvdSBkb24ndCBrbm93LCBjaGVjayB0aGUgXyJJbiBhIGh1cnJ5PyJfIHNlY3Rpb24gYWJvdXQgPGEgaHJlZj0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9hc3luYy8jaW4tYS1odXJyeSIgdGFyZ2V0PSJfYmxhbmsiPmBhc3luY2AgYW5kIGBhd2FpdGAgaW4gdGhlIGRvY3M8L2E+LgoKPC9kZXRhaWxzPgoKIyMjIFJ1biBpdAoKUnVuIHRoZSBzZXJ2ZXIgd2l0aDoKCjxkaXYgY2xhc3M9InRlcm15Ij4KCmBgYGNvbnNvbGUKJCBmYXN0YXBpIGRldiBtYWluLnB5Cgog4pWt4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAIEZhc3RBUEkgQ0xJIC0gRGV2ZWxvcG1lbnQgbW9kZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDila4KIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCCiDilIIgIFNlcnZpbmcgYXQ6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCAgICAgICAgICAgICAgICAgIOKUggog4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKIOKUgiAgQVBJIGRvY3M6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9kb2NzICAgICAgICAgICAgICAg4pSCCiDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggog4pSCICBSdW5uaW5nIGluIGRldmVsb3BtZW50IG1vZGUsIGZvciBwcm9kdWN0aW9uIHVzZTogICDilIIKIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCCiDilIIgIGZhc3RhcGkgcnVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggog4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKIOKVsOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKVrwoKSU5GTzogICAgIFdpbGwgd2F0Y2ggZm9yIGNoYW5nZXMgaW4gdGhlc2UgZGlyZWN0b3JpZXM6IFsnL2hvbWUvdXNlci9jb2RlL2F3ZXNvbWVhcHAnXQpJTkZPOiAgICAgVXZpY29ybiBydW5uaW5nIG9uIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCAoUHJlc3MgQ1RSTCtDIHRvIHF1aXQpCklORk86ICAgICBTdGFydGVkIHJlbG9hZGVyIHByb2Nlc3MgWzIyNDg3NTVdIHVzaW5nIFdhdGNoRmlsZXMKSU5GTzogICAgIFN0YXJ0ZWQgc2VydmVyIHByb2Nlc3MgWzIyNDg3NTddCklORk86ICAgICBXYWl0aW5nIGZvciBhcHBsaWNhdGlvbiBzdGFydHVwLgpJTkZPOiAgICAgQXBwbGljYXRpb24gc3RhcnR1cCBjb21wbGV0ZS4KYGBgCgo8L2Rpdj4KCjxkZXRhaWxzIG1hcmtkb3duPSIxIj4KPHN1bW1hcnk+QWJvdXQgdGhlIGNvbW1hbmQgPGNvZGU+ZmFzdGFwaSBkZXYgbWFpbi5weTwvY29kZT4uLi48L3N1bW1hcnk+CgpUaGUgY29tbWFuZCBgZmFzdGFwaSBkZXZgIHJlYWRzIHlvdXIgYG1haW4ucHlgIGZpbGUsIGRldGVjdHMgdGhlICoqRmFzdEFQSSoqIGFwcCBpbiBpdCwgYW5kIHN0YXJ0cyBhIHNlcnZlciB1c2luZyA8YSBocmVmPSJodHRwczovL3d3dy51dmljb3JuLm9yZyIgY2xhc3M9ImV4dGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj5Vdmljb3JuPC9hPi4KCkJ5IGRlZmF1bHQsIGBmYXN0YXBpIGRldmAgd2lsbCBzdGFydCB3aXRoIGF1dG8tcmVsb2FkIGVuYWJsZWQgZm9yIGxvY2FsIGRldmVsb3BtZW50LgoKWW91IGNhbiByZWFkIG1vcmUgYWJvdXQgaXQgaW4gdGhlIDxhIGhyZWY9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vZmFzdGFwaS1jbGkvIiB0YXJnZXQ9Il9ibGFuayI+RmFzdEFQSSBDTEkgZG9jczwvYT4uCgo8L2RldGFpbHM+CgojIyMgQ2hlY2sgaXQKCk9wZW4geW91ciBicm93c2VyIGF0IDxhIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pdGVtcy81P3E9c29tZXF1ZXJ5IiBjbGFzcz0iZXh0ZXJuYWwtbGluayIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pdGVtcy81P3E9c29tZXF1ZXJ5PC9hPi4KCllvdSB3aWxsIHNlZSB0aGUgSlNPTiByZXNwb25zZSBhczoKCmBgYEpTT04KeyJpdGVtX2lkIjogNSwgInEiOiAic29tZXF1ZXJ5In0KYGBgCgpZb3UgYWxyZWFkeSBjcmVhdGVkIGFuIEFQSSB0aGF0OgoKKiBSZWNlaXZlcyBIVFRQIHJlcXVlc3RzIGluIHRoZSBfcGF0aHNfIGAvYCBhbmQgYC9pdGVtcy97aXRlbV9pZH1gLgoqIEJvdGggX3BhdGhzXyB0YWtlIGBHRVRgIDxlbT5vcGVyYXRpb25zPC9lbT4gKGFsc28ga25vd24gYXMgSFRUUCBfbWV0aG9kc18pLgoqIFRoZSBfcGF0aF8gYC9pdGVtcy97aXRlbV9pZH1gIGhhcyBhIF9wYXRoIHBhcmFtZXRlcl8gYGl0ZW1faWRgIHRoYXQgc2hvdWxkIGJlIGFuIGBpbnRgLgoqIFRoZSBfcGF0aF8gYC9pdGVtcy97aXRlbV9pZH1gIGhhcyBhbiBvcHRpb25hbCBgc3RyYCBfcXVlcnkgcGFyYW1ldGVyXyBgcWAuCgojIyMgSW50ZXJhY3RpdmUgQVBJIGRvY3MKCk5vdyBnbyB0byA8YSBocmVmPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZG9jcyIgY2xhc3M9ImV4dGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vMTI3LjAuMC4xOjgwMDAvZG9jczwvYT4uCgpZb3Ugd2lsbCBzZWUgdGhlIGF1dG9tYXRpYyBpbnRlcmFjdGl2ZSBBUEkgZG9jdW1lbnRhdGlvbiAocHJvdmlkZWQgYnkgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItdWkiIGNsYXNzPSJleHRlcm5hbC1saW5rIiB0YXJnZXQ9Il9ibGFuayI+U3dhZ2dlciBVSTwvYT4pOgoKIVtTd2FnZ2VyIFVJXShodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9pbmRleC9pbmRleC0wMS1zd2FnZ2VyLXVpLXNpbXBsZS5wbmcpCgojIyMgQWx0ZXJuYXRpdmUgQVBJIGRvY3MKCkFuZCBub3csIGdvIHRvIDxhIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZWRvYyIgY2xhc3M9ImV4dGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVkb2M8L2E+LgoKWW91IHdpbGwgc2VlIHRoZSBhbHRlcm5hdGl2ZSBhdXRvbWF0aWMgZG9jdW1lbnRhdGlvbiAocHJvdmlkZWQgYnkgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL1JlYmlsbHkvUmVEb2MiIGNsYXNzPSJleHRlcm5hbC1saW5rIiB0YXJnZXQ9Il9ibGFuayI+UmVEb2M8L2E+KToKCiFbUmVEb2NdKGh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL2luZGV4L2luZGV4LTAyLXJlZG9jLXNpbXBsZS5wbmcpCgojIyBFeGFtcGxlIHVwZ3JhZGUKCk5vdyBtb2RpZnkgdGhlIGZpbGUgYG1haW4ucHlgIHRvIHJlY2VpdmUgYSBib2R5IGZyb20gYSBgUFVUYCByZXF1ZXN0LgoKRGVjbGFyZSB0aGUgYm9keSB1c2luZyBzdGFuZGFyZCBQeXRob24gdHlwZXMsIHRoYW5rcyB0byBQeWRhbnRpYy4KCmBgYFB5dGhvbiBobF9saW5lcz0iNCAgOS0xMiAgMjUtMjciCmZyb20gdHlwaW5nIGltcG9ydCBVbmlvbgoKZnJvbSBmYXN0YXBpIGltcG9ydCBGYXN0QVBJCmZyb20gcHlkYW50aWMgaW1wb3J0IEJhc2VNb2RlbAoKYXBwID0gRmFzdEFQSSgpCgoKY2xhc3MgSXRlbShCYXNlTW9kZWwpOgogICAgbmFtZTogc3RyCiAgICBwcmljZTogZmxvYXQKICAgIGlzX29mZmVyOiBVbmlvbltib29sLCBOb25lXSA9IE5vbmUKCgpAYXBwLmdldCgiLyIpCmRlZiByZWFkX3Jvb3QoKToKICAgIHJldHVybiB7IkhlbGxvIjogIldvcmxkIn0KCgpAYXBwLmdldCgiL2l0ZW1zL3tpdGVtX2lkfSIpCmRlZiByZWFkX2l0ZW0oaXRlbV9pZDogaW50LCBxOiBVbmlvbltzdHIsIE5vbmVdID0gTm9uZSk6CiAgICByZXR1cm4geyJpdGVtX2lkIjogaXRlbV9pZCwgInEiOiBxfQoKCkBhcHAucHV0KCIvaXRlbXMve2l0ZW1faWR9IikKZGVmIHVwZGF0ZV9pdGVtKGl0ZW1faWQ6IGludCwgaXRlbTogSXRlbSk6CiAgICByZXR1cm4geyJpdGVtX25hbWUiOiBpdGVtLm5hbWUsICJpdGVtX2lkIjogaXRlbV9pZH0KYGBgCgpUaGUgYGZhc3RhcGkgZGV2YCBzZXJ2ZXIgc2hvdWxkIHJlbG9hZCBhdXRvbWF0aWNhbGx5LgoKIyMjIEludGVyYWN0aXZlIEFQSSBkb2NzIHVwZ3JhZGUKCk5vdyBnbyB0byA8YSBocmVmPSJodHRwOi8vMTI3LjAuMC4xOjgwMDAvZG9jcyIgY2xhc3M9ImV4dGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vMTI3LjAuMC4xOjgwMDAvZG9jczwvYT4uCgoqIFRoZSBpbnRlcmFjdGl2ZSBBUEkgZG9jdW1lbnRhdGlvbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgdXBkYXRlZCwgaW5jbHVkaW5nIHRoZSBuZXcgYm9keToKCiFbU3dhZ2dlciBVSV0oaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvaW5kZXgvaW5kZXgtMDMtc3dhZ2dlci0wMi5wbmcpCgoqIENsaWNrIG9uIHRoZSBidXR0b24gIlRyeSBpdCBvdXQiLCBpdCBhbGxvd3MgeW91IHRvIGZpbGwgdGhlIHBhcmFtZXRlcnMgYW5kIGRpcmVjdGx5IGludGVyYWN0IHdpdGggdGhlIEFQSToKCiFbU3dhZ2dlciBVSSBpbnRlcmFjdGlvbl0oaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvaW5kZXgvaW5kZXgtMDQtc3dhZ2dlci0wMy5wbmcpCgoqIFRoZW4gY2xpY2sgb24gdGhlICJFeGVjdXRlIiBidXR0b24sIHRoZSB1c2VyIGludGVyZmFjZSB3aWxsIGNvbW11bmljYXRlIHdpdGggeW91ciBBUEksIHNlbmQgdGhlIHBhcmFtZXRlcnMsIGdldCB0aGUgcmVzdWx0cyBhbmQgc2hvdyB0aGVtIG9uIHRoZSBzY3JlZW46CgohW1N3YWdnZXIgVUkgaW50ZXJhY3Rpb25dKGh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL2luZGV4L2luZGV4LTA1LXN3YWdnZXItMDQucG5nKQoKIyMjIEFsdGVybmF0aXZlIEFQSSBkb2NzIHVwZ3JhZGUKCkFuZCBub3csIGdvIHRvIDxhIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZWRvYyIgY2xhc3M9ImV4dGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVkb2M8L2E+LgoKKiBUaGUgYWx0ZXJuYXRpdmUgZG9jdW1lbnRhdGlvbiB3aWxsIGFsc28gcmVmbGVjdCB0aGUgbmV3IHF1ZXJ5IHBhcmFtZXRlciBhbmQgYm9keToKCiFbUmVEb2NdKGh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL2luZGV4L2luZGV4LTA2LXJlZG9jLTAyLnBuZykKCiMjIyBSZWNhcAoKSW4gc3VtbWFyeSwgeW91IGRlY2xhcmUgKipvbmNlKiogdGhlIHR5cGVzIG9mIHBhcmFtZXRlcnMsIGJvZHksIGV0Yy4gYXMgZnVuY3Rpb24gcGFyYW1ldGVycy4KCllvdSBkbyB0aGF0IHdpdGggc3RhbmRhcmQgbW9kZXJuIFB5dGhvbiB0eXBlcy4KCllvdSBkb24ndCBoYXZlIHRvIGxlYXJuIGEgbmV3IHN5bnRheCwgdGhlIG1ldGhvZHMgb3IgY2xhc3NlcyBvZiBhIHNwZWNpZmljIGxpYnJhcnksIGV0Yy4KCkp1c3Qgc3RhbmRhcmQgKipQeXRob24qKi4KCkZvciBleGFtcGxlLCBmb3IgYW4gYGludGA6CgpgYGBQeXRob24KaXRlbV9pZDogaW50CmBgYAoKb3IgZm9yIGEgbW9yZSBjb21wbGV4IGBJdGVtYCBtb2RlbDoKCmBgYFB5dGhvbgppdGVtOiBJdGVtCmBgYAoKLi4uYW5kIHdpdGggdGhhdCBzaW5nbGUgZGVjbGFyYXRpb24geW91IGdldDoKCiogRWRpdG9yIHN1cHBvcnQsIGluY2x1ZGluZzoKICAgICogQ29tcGxldGlvbi4KICAgICogVHlwZSBjaGVja3MuCiogVmFsaWRhdGlvbiBvZiBkYXRhOgogICAgKiBBdXRvbWF0aWMgYW5kIGNsZWFyIGVycm9ycyB3aGVuIHRoZSBkYXRhIGlzIGludmFsaWQuCiAgICAqIFZhbGlkYXRpb24gZXZlbiBmb3IgZGVlcGx5IG5lc3RlZCBKU09OIG9iamVjdHMuCiogPGFiYnIgdGl0bGU9ImFsc28ga25vd24gYXM6IHNlcmlhbGl6YXRpb24sIHBhcnNpbmcsIG1hcnNoYWxsaW5nIj5Db252ZXJzaW9uPC9hYmJyPiBvZiBpbnB1dCBkYXRhOiBjb21pbmcgZnJvbSB0aGUgbmV0d29yayB0byBQeXRob24gZGF0YSBhbmQgdHlwZXMuIFJlYWRpbmcgZnJvbToKICAgICogSlNPTi4KICAgICogUGF0aCBwYXJhbWV0ZXJzLgogICAgKiBRdWVyeSBwYXJhbWV0ZXJzLgogICAgKiBDb29raWVzLgogICAgKiBIZWFkZXJzLgogICAgKiBGb3Jtcy4KICAgICogRmlsZXMuCiogPGFiYnIgdGl0bGU9ImFsc28ga25vd24gYXM6IHNlcmlhbGl6YXRpb24sIHBhcnNpbmcsIG1hcnNoYWxsaW5nIj5Db252ZXJzaW9uPC9hYmJyPiBvZiBvdXRwdXQgZGF0YTogY29udmVydGluZyBmcm9tIFB5dGhvbiBkYXRhIGFuZCB0eXBlcyB0byBuZXR3b3JrIGRhdGEgKGFzIEpTT04pOgogICAgKiBDb252ZXJ0IFB5dGhvbiB0eXBlcyAoYHN0cmAsIGBpbnRgLCBgZmxvYXRgLCBgYm9vbGAsIGBsaXN0YCwgZXRjKS4KICAgICogYGRhdGV0aW1lYCBvYmplY3RzLgogICAgKiBgVVVJRGAgb2JqZWN0cy4KICAgICogRGF0YWJhc2UgbW9kZWxzLgogICAgKiAuLi5hbmQgbWFueSBtb3JlLgoqIEF1dG9tYXRpYyBpbnRlcmFjdGl2ZSBBUEkgZG9jdW1lbnRhdGlvbiwgaW5jbHVkaW5nIDIgYWx0ZXJuYXRpdmUgdXNlciBpbnRlcmZhY2VzOgogICAgKiBTd2FnZ2VyIFVJLgogICAgKiBSZURvYy4KCi0tLQoKQ29taW5nIGJhY2sgdG8gdGhlIHByZXZpb3VzIGNvZGUgZXhhbXBsZSwgKipGYXN0QVBJKiogd2lsbDoKCiogVmFsaWRhdGUgdGhhdCB0aGVyZSBpcyBhbiBgaXRlbV9pZGAgaW4gdGhlIHBhdGggZm9yIGBHRVRgIGFuZCBgUFVUYCByZXF1ZXN0cy4KKiBWYWxpZGF0ZSB0aGF0IHRoZSBgaXRlbV9pZGAgaXMgb2YgdHlwZSBgaW50YCBmb3IgYEdFVGAgYW5kIGBQVVRgIHJlcXVlc3RzLgogICAgKiBJZiBpdCBpcyBub3QsIHRoZSBjbGllbnQgd2lsbCBzZWUgYSB1c2VmdWwsIGNsZWFyIGVycm9yLgoqIENoZWNrIGlmIHRoZXJlIGlzIGFuIG9wdGlvbmFsIHF1ZXJ5IHBhcmFtZXRlciBuYW1lZCBgcWAgKGFzIGluIGBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaXRlbXMvZm9vP3E9c29tZXF1ZXJ5YCkgZm9yIGBHRVRgIHJlcXVlc3RzLgogICAgKiBBcyB0aGUgYHFgIHBhcmFtZXRlciBpcyBkZWNsYXJlZCB3aXRoIGA9IE5vbmVgLCBpdCBpcyBvcHRpb25hbC4KICAgICogV2l0aG91dCB0aGUgYE5vbmVgIGl0IHdvdWxkIGJlIHJlcXVpcmVkIChhcyBpcyB0aGUgYm9keSBpbiB0aGUgY2FzZSB3aXRoIGBQVVRgKS4KKiBGb3IgYFBVVGAgcmVxdWVzdHMgdG8gYC9pdGVtcy97aXRlbV9pZH1gLCByZWFkIHRoZSBib2R5IGFzIEpTT046CiAgICAqIENoZWNrIHRoYXQgaXQgaGFzIGEgcmVxdWlyZWQgYXR0cmlidXRlIGBuYW1lYCB0aGF0IHNob3VsZCBiZSBhIGBzdHJgLgogICAgKiBDaGVjayB0aGF0IGl0IGhhcyBhIHJlcXVpcmVkIGF0dHJpYnV0ZSBgcHJpY2VgIHRoYXQgaGFzIHRvIGJlIGEgYGZsb2F0YC4KICAgICogQ2hlY2sgdGhhdCBpdCBoYXMgYW4gb3B0aW9uYWwgYXR0cmlidXRlIGBpc19vZmZlcmAsIHRoYXQgc2hvdWxkIGJlIGEgYGJvb2xgLCBpZiBwcmVzZW50LgogICAgKiBBbGwgdGhpcyB3b3VsZCBhbHNvIHdvcmsgZm9yIGRlZXBseSBuZXN0ZWQgSlNPTiBvYmplY3RzLgoqIENvbnZlcnQgZnJvbSBhbmQgdG8gSlNPTiBhdXRvbWF0aWNhbGx5LgoqIERvY3VtZW50IGV2ZXJ5dGhpbmcgd2l0aCBPcGVuQVBJLCB0aGF0IGNhbiBiZSB1c2VkIGJ5OgogICAgKiBJbnRlcmFjdGl2ZSBkb2N1bWVudGF0aW9uIHN5c3RlbXMuCiAgICAqIEF1dG9tYXRpYyBjbGllbnQgY29kZSBnZW5lcmF0aW9uIHN5c3RlbXMsIGZvciBtYW55IGxhbmd1YWdlcy4KKiBQcm92aWRlIDIgaW50ZXJhY3RpdmUgZG9jdW1lbnRhdGlvbiB3ZWIgaW50ZXJmYWNlcyBkaXJlY3RseS4KCi0tLQoKV2UganVzdCBzY3JhdGNoZWQgdGhlIHN1cmZhY2UsIGJ1dCB5b3UgYWxyZWFkeSBnZXQgdGhlIGlkZWEgb2YgaG93IGl0IGFsbCB3b3Jrcy4KClRyeSBjaGFuZ2luZyB0aGUgbGluZSB3aXRoOgoKYGBgUHl0aG9uCiAgICByZXR1cm4geyJpdGVtX25hbWUiOiBpdGVtLm5hbWUsICJpdGVtX2lkIjogaXRlbV9pZH0KYGBgCgouLi5mcm9tOgoKYGBgUHl0aG9uCiAgICAgICAgLi4uICJpdGVtX25hbWUiOiBpdGVtLm5hbWUgLi4uCmBgYAoKLi4udG86CgpgYGBQeXRob24KICAgICAgICAuLi4gIml0ZW1fcHJpY2UiOiBpdGVtLnByaWNlIC4uLgpgYGAKCi4uLmFuZCBzZWUgaG93IHlvdXIgZWRpdG9yIHdpbGwgYXV0by1jb21wbGV0ZSB0aGUgYXR0cmlidXRlcyBhbmQga25vdyB0aGVpciB0eXBlczoKCiFbZWRpdG9yIHN1cHBvcnRdKGh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL3ZzY29kZS1jb21wbGV0aW9uLnBuZykKCkZvciBhIG1vcmUgY29tcGxldGUgZXhhbXBsZSBpbmNsdWRpbmcgbW9yZSBmZWF0dXJlcywgc2VlIHRoZSA8YSBocmVmPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL3R1dG9yaWFsLyI+VHV0b3JpYWwgLSBVc2VyIEd1aWRlPC9hPi4KCioqU3BvaWxlciBhbGVydCoqOiB0aGUgdHV0b3JpYWwgLSB1c2VyIGd1aWRlIGluY2x1ZGVzOgoKKiBEZWNsYXJhdGlvbiBvZiAqKnBhcmFtZXRlcnMqKiBmcm9tIG90aGVyIGRpZmZlcmVudCBwbGFjZXMgYXM6ICoqaGVhZGVycyoqLCAqKmNvb2tpZXMqKiwgKipmb3JtIGZpZWxkcyoqIGFuZCAqKmZpbGVzKiouCiogSG93IHRvIHNldCAqKnZhbGlkYXRpb24gY29uc3RyYWludHMqKiBhcyBgbWF4aW11bV9sZW5ndGhgIG9yIGByZWdleGAuCiogQSB2ZXJ5IHBvd2VyZnVsIGFuZCBlYXN5IHRvIHVzZSAqKjxhYmJyIHRpdGxlPSJhbHNvIGtub3duIGFzIGNvbXBvbmVudHMsIHJlc291cmNlcywgcHJvdmlkZXJzLCBzZXJ2aWNlcywgaW5qZWN0YWJsZXMiPkRlcGVuZGVuY3kgSW5qZWN0aW9uPC9hYmJyPioqIHN5c3RlbS4KKiBTZWN1cml0eSBhbmQgYXV0aGVudGljYXRpb24sIGluY2x1ZGluZyBzdXBwb3J0IGZvciAqKk9BdXRoMioqIHdpdGggKipKV1QgdG9rZW5zKiogYW5kICoqSFRUUCBCYXNpYyoqIGF1dGguCiogTW9yZSBhZHZhbmNlZCAoYnV0IGVxdWFsbHkgZWFzeSkgdGVjaG5pcXVlcyBmb3IgZGVjbGFyaW5nICoqZGVlcGx5IG5lc3RlZCBKU09OIG1vZGVscyoqICh0aGFua3MgdG8gUHlkYW50aWMpLgoqICoqR3JhcGhRTCoqIGludGVncmF0aW9uIHdpdGggPGEgaHJlZj0iaHR0cHM6Ly9zdHJhd2JlcnJ5LnJvY2tzIiBjbGFzcz0iZXh0ZXJuYWwtbGluayIgdGFyZ2V0PSJfYmxhbmsiPlN0cmF3YmVycnk8L2E+IGFuZCBvdGhlciBsaWJyYXJpZXMuCiogTWFueSBleHRyYSBmZWF0dXJlcyAodGhhbmtzIHRvIFN0YXJsZXR0ZSkgYXM6CiAgICAqICoqV2ViU29ja2V0cyoqCiAgICAqIGV4dHJlbWVseSBlYXN5IHRlc3RzIGJhc2VkIG9uIEhUVFBYIGFuZCBgcHl0ZXN0YAogICAgKiAqKkNPUlMqKgogICAgKiAqKkNvb2tpZSBTZXNzaW9ucyoqCiAgICAqIC4uLmFuZCBtb3JlLgoKIyMgUGVyZm9ybWFuY2UKCkluZGVwZW5kZW50IFRlY2hFbXBvd2VyIGJlbmNobWFya3Mgc2hvdyAqKkZhc3RBUEkqKiBhcHBsaWNhdGlvbnMgcnVubmluZyB1bmRlciBVdmljb3JuIGFzIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRlY2hlbXBvd2VyLmNvbS9iZW5jaG1hcmtzLyNzZWN0aW9uPXRlc3QmcnVuaWQ9NzQ2NGU1MjAtMGRjMi00NzNkLWJkMzQtZGJkZmQ3ZTg1OTExJmh3PXBoJnRlc3Q9cXVlcnkmbD16aWp6ZW4tNyIgY2xhc3M9ImV4dGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj5vbmUgb2YgdGhlIGZhc3Rlc3QgUHl0aG9uIGZyYW1ld29ya3MgYXZhaWxhYmxlPC9hPiwgb25seSBiZWxvdyBTdGFybGV0dGUgYW5kIFV2aWNvcm4gdGhlbXNlbHZlcyAodXNlZCBpbnRlcm5hbGx5IGJ5IEZhc3RBUEkpLiAoKikKClRvIHVuZGVyc3RhbmQgbW9yZSBhYm91dCBpdCwgc2VlIHRoZSBzZWN0aW9uIDxhIGhyZWY9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vYmVuY2htYXJrcy8iIGNsYXNzPSJpbnRlcm5hbC1saW5rIiB0YXJnZXQ9Il9ibGFuayI+QmVuY2htYXJrczwvYT4uCgojIyBEZXBlbmRlbmNpZXMKCkZhc3RBUEkgZGVwZW5kcyBvbiBQeWRhbnRpYyBhbmQgU3RhcmxldHRlLgoKIyMjIGBzdGFuZGFyZGAgRGVwZW5kZW5jaWVzCgpXaGVuIHlvdSBpbnN0YWxsIEZhc3RBUEkgd2l0aCBgcGlwIGluc3RhbGwgImZhc3RhcGlbc3RhbmRhcmRdImAgaXQgY29tZXMgdGhlIGBzdGFuZGFyZGAgZ3JvdXAgb2Ygb3B0aW9uYWwgZGVwZW5kZW5jaWVzOgoKVXNlZCBieSBQeWRhbnRpYzoKCiogPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL0pvc2hEYXRhL3B5dGhvbi1lbWFpbC12YWxpZGF0b3IiIHRhcmdldD0iX2JsYW5rIj48Y29kZT5lbWFpbC12YWxpZGF0b3I8L2NvZGU+PC9hPiAtIGZvciBlbWFpbCB2YWxpZGF0aW9uLgoKVXNlZCBieSBTdGFybGV0dGU6CgoqIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnB5dGhvbi1odHRweC5vcmciIHRhcmdldD0iX2JsYW5rIj48Y29kZT5odHRweDwvY29kZT48L2E+IC0gUmVxdWlyZWQgaWYgeW91IHdhbnQgdG8gdXNlIHRoZSBgVGVzdENsaWVudGAuCiogPGEgaHJlZj0iaHR0cHM6Ly9qaW5qYS5wYWxsZXRzcHJvamVjdHMuY29tIiB0YXJnZXQ9Il9ibGFuayI+PGNvZGU+amluamEyPC9jb2RlPjwvYT4gLSBSZXF1aXJlZCBpZiB5b3Ugd2FudCB0byB1c2UgdGhlIGRlZmF1bHQgdGVtcGxhdGUgY29uZmlndXJhdGlvbi4KKiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vS2x1ZGV4L3B5dGhvbi1tdWx0aXBhcnQiIHRhcmdldD0iX2JsYW5rIj48Y29kZT5weXRob24tbXVsdGlwYXJ0PC9jb2RlPjwvYT4gLSBSZXF1aXJlZCBpZiB5b3Ugd2FudCB0byBzdXBwb3J0IGZvcm0gPGFiYnIgdGl0bGU9ImNvbnZlcnRpbmcgdGhlIHN0cmluZyB0aGF0IGNvbWVzIGZyb20gYW4gSFRUUCByZXF1ZXN0IGludG8gUHl0aG9uIGRhdGEiPiJwYXJzaW5nIjwvYWJicj4sIHdpdGggYHJlcXVlc3QuZm9ybSgpYC4KClVzZWQgYnkgRmFzdEFQSSAvIFN0YXJsZXR0ZToKCiogPGEgaHJlZj0iaHR0cHM6Ly93d3cudXZpY29ybi5vcmciIHRhcmdldD0iX2JsYW5rIj48Y29kZT51dmljb3JuPC9jb2RlPjwvYT4gLSBmb3IgdGhlIHNlcnZlciB0aGF0IGxvYWRzIGFuZCBzZXJ2ZXMgeW91ciBhcHBsaWNhdGlvbi4gVGhpcyBpbmNsdWRlcyBgdXZpY29ybltzdGFuZGFyZF1gLCB3aGljaCBpbmNsdWRlcyBzb21lIGRlcGVuZGVuY2llcyAoZS5nLiBgdXZsb29wYCkgbmVlZGVkIGZvciBoaWdoIHBlcmZvcm1hbmNlIHNlcnZpbmcuCiogYGZhc3RhcGktY2xpYCAtIHRvIHByb3ZpZGUgdGhlIGBmYXN0YXBpYCBjb21tYW5kLgoKIyMjIFdpdGhvdXQgYHN0YW5kYXJkYCBEZXBlbmRlbmNpZXMKCklmIHlvdSBkb24ndCB3YW50IHRvIGluY2x1ZGUgdGhlIGBzdGFuZGFyZGAgb3B0aW9uYWwgZGVwZW5kZW5jaWVzLCB5b3UgY2FuIGluc3RhbGwgd2l0aCBgcGlwIGluc3RhbGwgZmFzdGFwaWAgaW5zdGVhZCBvZiBgcGlwIGluc3RhbGwgImZhc3RhcGlbc3RhbmRhcmRdImAuCgojIyMgQWRkaXRpb25hbCBPcHRpb25hbCBEZXBlbmRlbmNpZXMKClRoZXJlIGFyZSBzb21lIGFkZGl0aW9uYWwgZGVwZW5kZW5jaWVzIHlvdSBtaWdodCB3YW50IHRvIGluc3RhbGwuCgpBZGRpdGlvbmFsIG9wdGlvbmFsIFB5ZGFudGljIGRlcGVuZGVuY2llczoKCiogPGEgaHJlZj0iaHR0cHM6Ly9kb2NzLnB5ZGFudGljLmRldi9sYXRlc3QvdXNhZ2UvcHlkYW50aWNfc2V0dGluZ3MvIiB0YXJnZXQ9Il9ibGFuayI+PGNvZGU+cHlkYW50aWMtc2V0dGluZ3M8L2NvZGU+PC9hPiAtIGZvciBzZXR0aW5ncyBtYW5hZ2VtZW50LgoqIDxhIGhyZWY9Imh0dHBzOi8vZG9jcy5weWRhbnRpYy5kZXYvbGF0ZXN0L3VzYWdlL3R5cGVzL2V4dHJhX3R5cGVzL2V4dHJhX3R5cGVzLyIgdGFyZ2V0PSJfYmxhbmsiPjxjb2RlPnB5ZGFudGljLWV4dHJhLXR5cGVzPC9jb2RlPjwvYT4gLSBmb3IgZXh0cmEgdHlwZXMgdG8gYmUgdXNlZCB3aXRoIFB5ZGFudGljLgoKQWRkaXRpb25hbCBvcHRpb25hbCBGYXN0QVBJIGRlcGVuZGVuY2llczoKCiogPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2lqbC9vcmpzb24iIHRhcmdldD0iX2JsYW5rIj48Y29kZT5vcmpzb248L2NvZGU+PC9hPiAtIFJlcXVpcmVkIGlmIHlvdSB3YW50IHRvIHVzZSBgT1JKU09OUmVzcG9uc2VgLgoqIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9lc25tZS91bHRyYWpzb24iIHRhcmdldD0iX2JsYW5rIj48Y29kZT51anNvbjwvY29kZT48L2E+IC0gUmVxdWlyZWQgaWYgeW91IHdhbnQgdG8gdXNlIGBVSlNPTlJlc3BvbnNlYC4KCiMjIExpY2Vuc2UKClRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlLgo= - readmeEtag: '"3b01b713a2f4ca6e811ac214ff3fd14a100dad8c"' - readmeLastModified: Thu, 05 Sep 2024 15:25:29 GMT + PHAgYWxpZ249ImNlbnRlciI+CiAgPGEgaHJlZj0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbSI+PGltZyBzcmM9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL2xvZ28tbWFyZ2luL2xvZ28tdGVhbC5wbmciIGFsdD0iRmFzdEFQSSI+PC9hPgo8L3A+CjxwIGFsaWduPSJjZW50ZXIiPgogICAgPGVtPkZhc3RBUEkgZnJhbWV3b3JrLCBoaWdoIHBlcmZvcm1hbmNlLCBlYXN5IHRvIGxlYXJuLCBmYXN0IHRvIGNvZGUsIHJlYWR5IGZvciBwcm9kdWN0aW9uPC9lbT4KPC9wPgo8cCBhbGlnbj0iY2VudGVyIj4KPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9hY3Rpb25zP3F1ZXJ5PXdvcmtmbG93JTNBVGVzdCtldmVudCUzQXB1c2grYnJhbmNoJTNBbWFzdGVyIiB0YXJnZXQ9Il9ibGFuayI+CiAgICA8aW1nIHNyYz0iaHR0cHM6Ly9naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS93b3JrZmxvd3MvVGVzdC9iYWRnZS5zdmc/ZXZlbnQ9cHVzaCZicmFuY2g9bWFzdGVyIiBhbHQ9IlRlc3QiPgo8L2E+CjxhIGhyZWY9Imh0dHBzOi8vY292ZXJhZ2UtYmFkZ2Uuc2FtdWVsY29sdmluLndvcmtlcnMuZGV2L3JlZGlyZWN0L2Zhc3RhcGkvZmFzdGFwaSIgdGFyZ2V0PSJfYmxhbmsiPgogICAgPGltZyBzcmM9Imh0dHBzOi8vY292ZXJhZ2UtYmFkZ2Uuc2FtdWVsY29sdmluLndvcmtlcnMuZGV2L2Zhc3RhcGkvZmFzdGFwaS5zdmciIGFsdD0iQ292ZXJhZ2UiPgo8L2E+CjxhIGhyZWY9Imh0dHBzOi8vcHlwaS5vcmcvcHJvamVjdC9mYXN0YXBpIiB0YXJnZXQ9Il9ibGFuayI+CiAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9weXBpL3YvZmFzdGFwaT9jb2xvcj0lMjMzNEQwNTgmbGFiZWw9cHlwaSUyMHBhY2thZ2UiIGFsdD0iUGFja2FnZSB2ZXJzaW9uIj4KPC9hPgo8YSBocmVmPSJodHRwczovL3B5cGkub3JnL3Byb2plY3QvZmFzdGFwaSIgdGFyZ2V0PSJfYmxhbmsiPgogICAgPGltZyBzcmM9Imh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vcHlwaS9weXZlcnNpb25zL2Zhc3RhcGkuc3ZnP2NvbG9yPSUyMzM0RDA1OCIgYWx0PSJTdXBwb3J0ZWQgUHl0aG9uIHZlcnNpb25zIj4KPC9hPgo8L3A+CgotLS0KCioqRG9jdW1lbnRhdGlvbioqOiA8YSBocmVmPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbTwvYT4KCioqU291cmNlIENvZGUqKjogPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGk8L2E+CgotLS0KCkZhc3RBUEkgaXMgYSBtb2Rlcm4sIGZhc3QgKGhpZ2gtcGVyZm9ybWFuY2UpLCB3ZWIgZnJhbWV3b3JrIGZvciBidWlsZGluZyBBUElzIHdpdGggUHl0aG9uIGJhc2VkIG9uIHN0YW5kYXJkIFB5dGhvbiB0eXBlIGhpbnRzLgoKVGhlIGtleSBmZWF0dXJlcyBhcmU6CgoqICoqRmFzdCoqOiBWZXJ5IGhpZ2ggcGVyZm9ybWFuY2UsIG9uIHBhciB3aXRoICoqTm9kZUpTKiogYW5kICoqR28qKiAodGhhbmtzIHRvIFN0YXJsZXR0ZSBhbmQgUHlkYW50aWMpLiBbT25lIG9mIHRoZSBmYXN0ZXN0IFB5dGhvbiBmcmFtZXdvcmtzIGF2YWlsYWJsZV0oI3BlcmZvcm1hbmNlKS4KKiAqKkZhc3QgdG8gY29kZSoqOiBJbmNyZWFzZSB0aGUgc3BlZWQgdG8gZGV2ZWxvcCBmZWF0dXJlcyBieSBhYm91dCAyMDAlIHRvIDMwMCUuICoKKiAqKkZld2VyIGJ1Z3MqKjogUmVkdWNlIGFib3V0IDQwJSBvZiBodW1hbiAoZGV2ZWxvcGVyKSBpbmR1Y2VkIGVycm9ycy4gKgoqICoqSW50dWl0aXZlKio6IEdyZWF0IGVkaXRvciBzdXBwb3J0LiA8YWJiciB0aXRsZT0iYWxzbyBrbm93biBhcyBhdXRvLWNvbXBsZXRlLCBhdXRvY29tcGxldGlvbiwgSW50ZWxsaVNlbnNlIj5Db21wbGV0aW9uPC9hYmJyPiBldmVyeXdoZXJlLiBMZXNzIHRpbWUgZGVidWdnaW5nLgoqICoqRWFzeSoqOiBEZXNpZ25lZCB0byBiZSBlYXN5IHRvIHVzZSBhbmQgbGVhcm4uIExlc3MgdGltZSByZWFkaW5nIGRvY3MuCiogKipTaG9ydCoqOiBNaW5pbWl6ZSBjb2RlIGR1cGxpY2F0aW9uLiBNdWx0aXBsZSBmZWF0dXJlcyBmcm9tIGVhY2ggcGFyYW1ldGVyIGRlY2xhcmF0aW9uLiBGZXdlciBidWdzLgoqICoqUm9idXN0Kio6IEdldCBwcm9kdWN0aW9uLXJlYWR5IGNvZGUuIFdpdGggYXV0b21hdGljIGludGVyYWN0aXZlIGRvY3VtZW50YXRpb24uCiogKipTdGFuZGFyZHMtYmFzZWQqKjogQmFzZWQgb24gKGFuZCBmdWxseSBjb21wYXRpYmxlIHdpdGgpIHRoZSBvcGVuIHN0YW5kYXJkcyBmb3IgQVBJczogPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL09BSS9PcGVuQVBJLVNwZWNpZmljYXRpb24iIGNsYXNzPSJleHRlcm5hbC1saW5rIiB0YXJnZXQ9Il9ibGFuayI+T3BlbkFQSTwvYT4gKHByZXZpb3VzbHkga25vd24gYXMgU3dhZ2dlcikgYW5kIDxhIGhyZWY9Imh0dHBzOi8vanNvbi1zY2hlbWEub3JnLyIgY2xhc3M9ImV4dGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj5KU09OIFNjaGVtYTwvYT4uCgo8c21hbGw+KiBlc3RpbWF0aW9uIGJhc2VkIG9uIHRlc3RzIG9uIGFuIGludGVybmFsIGRldmVsb3BtZW50IHRlYW0sIGJ1aWxkaW5nIHByb2R1Y3Rpb24gYXBwbGljYXRpb25zLjwvc21hbGw+CgojIyBTcG9uc29ycwoKPCEtLSBzcG9uc29ycyAtLT4KCjxhIGhyZWY9Imh0dHBzOi8vY3J5cHRhcGkuaW8vIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IkNyeXB0QVBJOiBZb3VyIGVhc3kgdG8gdXNlLCBzZWN1cmUgYW5kIHByaXZhY3kgb3JpZW50ZWQgcGF5bWVudCBnYXRld2F5LiI+PGltZyBzcmM9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL3Nwb25zb3JzL2NyeXB0YXBpLnN2ZyI+PC9hPgo8YSBocmVmPSJodHRwczovL3BsYXRmb3JtLnNoL3RyeS1pdC1ub3cvP3V0bV9zb3VyY2U9ZmFzdGFwaS1zaWdudXAmdXRtX21lZGl1bT1iYW5uZXImdXRtX2NhbXBhaWduPUZhc3RBUEktc2lnbnVwLUp1bmUtMjAyMyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJCdWlsZCwgcnVuIGFuZCBzY2FsZSB5b3VyIGFwcHMgb24gYSBtb2Rlcm4sIHJlbGlhYmxlLCBhbmQgc2VjdXJlIFBhYVMuIj48aW1nIHNyYz0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvc3BvbnNvcnMvcGxhdGZvcm0tc2gucG5nIj48L2E+CjxhIGhyZWY9Imh0dHBzOi8vd3d3LnBvcnRlci5ydW4iIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iRGVwbG95IEZhc3RBUEkgb24gQVdTIHdpdGggYSBmZXcgY2xpY2tzIj48aW1nIHNyYz0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvc3BvbnNvcnMvcG9ydGVyLnBuZyI+PC9hPgo8YSBocmVmPSJodHRwczovL2J1bXAuc2gvZmFzdGFwaT91dG1fc291cmNlPWZhc3RhcGkmdXRtX21lZGl1bT1yZWZlcnJhbCZ1dG1fY2FtcGFpZ249c3BvbnNvciIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJBdXRvbWF0ZSBGYXN0QVBJIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbiB3aXRoIEJ1bXAuc2giPjxpbWcgc3JjPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9zcG9uc29ycy9idW1wLXNoLnN2ZyI+PC9hPgo8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc2NhbGFyL3NjYWxhci8/dXRtX3NvdXJjZT1mYXN0YXBpJnV0bV9tZWRpdW09d2Vic2l0ZSZ1dG1fY2FtcGFpZ249bWFpbi1iYWRnZSIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJTY2FsYXI6IEJlYXV0aWZ1bCBPcGVuLVNvdXJjZSBBUEkgUmVmZXJlbmNlcyBmcm9tIFN3YWdnZXIvT3BlbkFQSSBmaWxlcyI+PGltZyBzcmM9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL3Nwb25zb3JzL3NjYWxhci5zdmciPjwvYT4KPGEgaHJlZj0iaHR0cHM6Ly93d3cucHJvcGVsYXV0aC5jb20vP3V0bV9zb3VyY2U9ZmFzdGFwaSZ1dG1fY2FtcGFpZ249MTIyMyZ1dG1fbWVkaXVtPW1haW5iYWRnZSIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJBdXRoLCB1c2VyIG1hbmFnZW1lbnQgYW5kIG1vcmUgZm9yIHlvdXIgQjJCIHByb2R1Y3QiPjxpbWcgc3JjPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9zcG9uc29ycy9wcm9wZWxhdXRoLnBuZyI+PC9hPgo8YSBocmVmPSJodHRwczovL3d3dy53aXRoY29oZXJlbmNlLmNvbS8/dXRtX21lZGl1bT1hZHZlcnRpc2luZyZ1dG1fc291cmNlPWZhc3RhcGkmdXRtX2NhbXBhaWduPXdlYnNpdGUiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iQ29oZXJlbmNlIj48aW1nIHNyYz0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvc3BvbnNvcnMvY29oZXJlbmNlLnBuZyI+PC9hPgo8YSBocmVmPSJodHRwczovL3d3dy5tb25nb2RiLmNvbS9kZXZlbG9wZXIvbGFuZ3VhZ2VzL3B5dGhvbi9weXRob24tcXVpY2tzdGFydC1mYXN0YXBpLz91dG1fY2FtcGFpZ249ZmFzdGFwaV9mcmFtZXdvcmsmdXRtX3NvdXJjZT1mYXN0YXBpX3Nwb25zb3JzaGlwJnV0bV9tZWRpdW09d2ViX3JlZmVycmFsIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IlNpbXBsaWZ5IEZ1bGwgU3RhY2sgRGV2ZWxvcG1lbnQgd2l0aCBGYXN0QVBJICYgTW9uZ29EQiI+PGltZyBzcmM9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL3Nwb25zb3JzL21vbmdvZGIucG5nIj48L2E+CjxhIGhyZWY9Imh0dHBzOi8venVwbG8ubGluay9mYXN0YXBpLWdoIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9Ilp1cGxvOiBTY2FsZSwgUHJvdGVjdCwgRG9jdW1lbnQsIGFuZCBNb25ldGl6ZSB5b3VyIEZhc3RBUEkiPjxpbWcgc3JjPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9zcG9uc29ycy96dXBsby5wbmciPjwvYT4KPGEgaHJlZj0iaHR0cHM6Ly9saWJsYWIuY29tP3V0bV9zb3VyY2U9ZmFzdGFwaSIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJsaWJsYWIgLSBHZW5lcmF0ZSBTREtzIGZyb20gRmFzdEFQSSI+PGltZyBzcmM9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL3Nwb25zb3JzL2xpYmxhYi5wbmciPjwvYT4KPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2RlZXBzZXQtYWkvaGF5c3RhY2svIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IkJ1aWxkIHBvd2VyZnVsIHNlYXJjaCBmcm9tIGNvbXBvc2FibGUsIG9wZW4gc291cmNlIGJ1aWxkaW5nIGJsb2NrcyI+PGltZyBzcmM9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL3Nwb25zb3JzL2hheXN0YWNrLWZhc3RhcGkuc3ZnIj48L2E+CjxhIGhyZWY9Imh0dHBzOi8vZGF0YWJlbnRvLmNvbS8iIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iUGF5IGFzIHlvdSBnbyBmb3IgbWFya2V0IGRhdGEiPjxpbWcgc3JjPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9zcG9uc29ycy9kYXRhYmVudG8uc3ZnIj48L2E+CjxhIGhyZWY9Imh0dHBzOi8vc3BlYWtlYXN5LmNvbT91dG1fc291cmNlPWZhc3RhcGkrcmVwbyZ1dG1fbWVkaXVtPWdpdGh1YitzcG9uc29yc2hpcCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJTREtzIGZvciB5b3VyIEFQSSB8IFNwZWFrZWFzeSI+PGltZyBzcmM9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL3Nwb25zb3JzL3NwZWFrZWFzeS5wbmciPjwvYT4KPGEgaHJlZj0iaHR0cHM6Ly93d3cuc3ZpeC5jb20vIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IlN2aXggLSBXZWJob29rcyBhcyBhIHNlcnZpY2UiPjxpbWcgc3JjPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9zcG9uc29ycy9zdml4LnN2ZyI+PC9hPgo8YSBocmVmPSJodHRwczovL3d3dy5jb2RhY3kuY29tLz91dG1fc291cmNlPWdpdGh1YiZ1dG1fbWVkaXVtPXNwb25zb3JzJnV0bV9pZD1waW9uZWVycyIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJUYWtlIGNvZGUgcmV2aWV3cyBmcm9tIGhvdXJzIHRvIG1pbnV0ZXMiPjxpbWcgc3JjPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9zcG9uc29ycy9jb2RhY3kucG5nIj48L2E+CjxhIGhyZWY9Imh0dHBzOi8vd3d3LnN0YWlubGVzc2FwaS5jb20vP3V0bV9zb3VyY2U9ZmFzdGFwaSZ1dG1fbWVkaXVtPXJlZmVycmFsIiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IlN0YWlubGVzcyB8IEdlbmVyYXRlIGJlc3QtaW4tY2xhc3MgU0RLcyI+PGltZyBzcmM9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL3Nwb25zb3JzL3N0YWlubGVzcy5wbmciPjwvYT4KCjwhLS0gL3Nwb25zb3JzIC0tPgoKPGEgaHJlZj0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9mYXN0YXBpLXBlb3BsZS8jc3BvbnNvcnMiIGNsYXNzPSJleHRlcm5hbC1saW5rIiB0YXJnZXQ9Il9ibGFuayI+T3RoZXIgc3BvbnNvcnM8L2E+CgojIyBPcGluaW9ucwoKIl9bLi4uXSBJJ20gdXNpbmcgKipGYXN0QVBJKiogYSB0b24gdGhlc2UgZGF5cy4gWy4uLl0gSSdtIGFjdHVhbGx5IHBsYW5uaW5nIHRvIHVzZSBpdCBmb3IgYWxsIG9mIG15IHRlYW0ncyAqKk1MIHNlcnZpY2VzIGF0IE1pY3Jvc29mdCoqLiBTb21lIG9mIHRoZW0gYXJlIGdldHRpbmcgaW50ZWdyYXRlZCBpbnRvIHRoZSBjb3JlICoqV2luZG93cyoqIHByb2R1Y3QgYW5kIHNvbWUgKipPZmZpY2UqKiBwcm9kdWN0cy5fIgoKPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IG1hcmdpbi1yaWdodDogMTAlOyI+S2FiaXIgS2hhbiAtIDxzdHJvbmc+TWljcm9zb2Z0PC9zdHJvbmc+IDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGkvcHVsbC8yNiIgdGFyZ2V0PSJfYmxhbmsiPjxzbWFsbD4ocmVmKTwvc21hbGw+PC9hPjwvZGl2PgoKLS0tCgoiX1dlIGFkb3B0ZWQgdGhlICoqRmFzdEFQSSoqIGxpYnJhcnkgdG8gc3Bhd24gYSAqKlJFU1QqKiBzZXJ2ZXIgdGhhdCBjYW4gYmUgcXVlcmllZCB0byBvYnRhaW4gKipwcmVkaWN0aW9ucyoqLiBbZm9yIEx1ZHdpZ11fIgoKPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IG1hcmdpbi1yaWdodDogMTAlOyI+UGllcm8gTW9saW5vLCBZYXJvc2xhdiBEdWRpbiwgYW5kIFNhaSBTdW1hbnRoIE1pcnlhbGEgLSA8c3Ryb25nPlViZXI8L3N0cm9uZz4gPGEgaHJlZj0iaHR0cHM6Ly9lbmcudWJlci5jb20vbHVkd2lnLXYwLTIvIiB0YXJnZXQ9Il9ibGFuayI+PHNtYWxsPihyZWYpPC9zbWFsbD48L2E+PC9kaXY+CgotLS0KCiJfKipOZXRmbGl4KiogaXMgcGxlYXNlZCB0byBhbm5vdW5jZSB0aGUgb3Blbi1zb3VyY2UgcmVsZWFzZSBvZiBvdXIgKipjcmlzaXMgbWFuYWdlbWVudCoqIG9yY2hlc3RyYXRpb24gZnJhbWV3b3JrOiAqKkRpc3BhdGNoKiohIFtidWlsdCB3aXRoICoqRmFzdEFQSSoqXV8iCgo8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsgbWFyZ2luLXJpZ2h0OiAxMCU7Ij5LZXZpbiBHbGlzc29uLCBNYXJjIFZpbGFub3ZhLCBGb3Jlc3QgTW9uc2VuIC0gPHN0cm9uZz5OZXRmbGl4PC9zdHJvbmc+IDxhIGhyZWY9Imh0dHBzOi8vbmV0ZmxpeHRlY2hibG9nLmNvbS9pbnRyb2R1Y2luZy1kaXNwYXRjaC1kYTRiOGEyYTgwNzIiIHRhcmdldD0iX2JsYW5rIj48c21hbGw+KHJlZik8L3NtYWxsPjwvYT48L2Rpdj4KCi0tLQoKIl9J4oCZbSBvdmVyIHRoZSBtb29uIGV4Y2l0ZWQgYWJvdXQgKipGYXN0QVBJKiouIEl04oCZcyBzbyBmdW4hXyIKCjxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBtYXJnaW4tcmlnaHQ6IDEwJTsiPkJyaWFuIE9ra2VuIC0gPHN0cm9uZz48YSBocmVmPSJodHRwczovL3B5dGhvbmJ5dGVzLmZtL2VwaXNvZGVzL3Nob3cvMTIzL3RpbWUtdG8tcmlnaHQtdGhlLXB5LXdyb25ncz90aW1lX2luX3NlYz04NTUiIHRhcmdldD0iX2JsYW5rIj5QeXRob24gQnl0ZXM8L2E+IHBvZGNhc3QgaG9zdDwvc3Ryb25nPiA8YSBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL2JyaWFub2trZW4vc3RhdHVzLzExMTIyMjAwNzk5NzI3Mjg4MzIiIHRhcmdldD0iX2JsYW5rIj48c21hbGw+KHJlZik8L3NtYWxsPjwvYT48L2Rpdj4KCi0tLQoKIl9Ib25lc3RseSwgd2hhdCB5b3UndmUgYnVpbHQgbG9va3Mgc3VwZXIgc29saWQgYW5kIHBvbGlzaGVkLiBJbiBtYW55IHdheXMsIGl0J3Mgd2hhdCBJIHdhbnRlZCAqKkh1ZyoqIHRvIGJlIC0gaXQncyByZWFsbHkgaW5zcGlyaW5nIHRvIHNlZSBzb21lb25lIGJ1aWxkIHRoYXQuXyIKCjxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBtYXJnaW4tcmlnaHQ6IDEwJTsiPlRpbW90aHkgQ3Jvc2xleSAtIDxzdHJvbmc+PGEgaHJlZj0iaHR0cHM6Ly93d3cuaHVnLnJlc3QvIiB0YXJnZXQ9Il9ibGFuayI+SHVnPC9hPiBjcmVhdG9yPC9zdHJvbmc+IDxhIGhyZWY9Imh0dHBzOi8vbmV3cy55Y29tYmluYXRvci5jb20vaXRlbT9pZD0xOTQ1NTQ2NSIgdGFyZ2V0PSJfYmxhbmsiPjxzbWFsbD4ocmVmKTwvc21hbGw+PC9hPjwvZGl2PgoKLS0tCgoiX0lmIHlvdSdyZSBsb29raW5nIHRvIGxlYXJuIG9uZSAqKm1vZGVybiBmcmFtZXdvcmsqKiBmb3IgYnVpbGRpbmcgUkVTVCBBUElzLCBjaGVjayBvdXQgKipGYXN0QVBJKiogWy4uLl0gSXQncyBmYXN0LCBlYXN5IHRvIHVzZSBhbmQgZWFzeSB0byBsZWFybiBbLi4uXV8iCgoiX1dlJ3ZlIHN3aXRjaGVkIG92ZXIgdG8gKipGYXN0QVBJKiogZm9yIG91ciAqKkFQSXMqKiBbLi4uXSBJIHRoaW5rIHlvdSdsbCBsaWtlIGl0IFsuLi5dXyIKCjxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBtYXJnaW4tcmlnaHQ6IDEwJTsiPkluZXMgTW9udGFuaSAtIE1hdHRoZXcgSG9ubmliYWwgLSA8c3Ryb25nPjxhIGhyZWY9Imh0dHBzOi8vZXhwbG9zaW9uLmFpIiB0YXJnZXQ9Il9ibGFuayI+RXhwbG9zaW9uIEFJPC9hPiBmb3VuZGVycyAtIDxhIGhyZWY9Imh0dHBzOi8vc3BhY3kuaW8iIHRhcmdldD0iX2JsYW5rIj5zcGFDeTwvYT4gY3JlYXRvcnM8L3N0cm9uZz4gPGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9faW5lc21vbnRhbmkvc3RhdHVzLzExNDQxNzMyMjUzMjIxNDM3NDQiIHRhcmdldD0iX2JsYW5rIj48c21hbGw+KHJlZik8L3NtYWxsPjwvYT4gLSA8YSBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL2hvbm5pYmFsL3N0YXR1cy8xMTQ0MDMxNDIxODU5NjU1NjgwIiB0YXJnZXQ9Il9ibGFuayI+PHNtYWxsPihyZWYpPC9zbWFsbD48L2E+PC9kaXY+CgotLS0KCiJfSWYgYW55b25lIGlzIGxvb2tpbmcgdG8gYnVpbGQgYSBwcm9kdWN0aW9uIFB5dGhvbiBBUEksIEkgd291bGQgaGlnaGx5IHJlY29tbWVuZCAqKkZhc3RBUEkqKi4gSXQgaXMgKipiZWF1dGlmdWxseSBkZXNpZ25lZCoqLCAqKnNpbXBsZSB0byB1c2UqKiBhbmQgKipoaWdobHkgc2NhbGFibGUqKiwgaXQgaGFzIGJlY29tZSBhICoqa2V5IGNvbXBvbmVudCoqIGluIG91ciBBUEkgZmlyc3QgZGV2ZWxvcG1lbnQgc3RyYXRlZ3kgYW5kIGlzIGRyaXZpbmcgbWFueSBhdXRvbWF0aW9ucyBhbmQgc2VydmljZXMgc3VjaCBhcyBvdXIgVmlydHVhbCBUQUMgRW5naW5lZXIuXyIKCjxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBtYXJnaW4tcmlnaHQ6IDEwJTsiPkRlb24gUGlsbHNidXJ5IC0gPHN0cm9uZz5DaXNjbzwvc3Ryb25nPiA8YSBocmVmPSJodHRwczovL3d3dy5saW5rZWRpbi5jb20vcG9zdHMvZGVvbnBpbGxzYnVyeV9jaXNjby1jeC1weXRob24tYWN0aXZpdHktNjk2MzI0MjYyODUzNjQ4NzkzNi10ckFwLyIgdGFyZ2V0PSJfYmxhbmsiPjxzbWFsbD4ocmVmKTwvc21hbGw+PC9hPjwvZGl2PgoKLS0tCgojIyAqKlR5cGVyKiosIHRoZSBGYXN0QVBJIG9mIENMSXMKCjxhIGhyZWY9Imh0dHBzOi8vdHlwZXIudGlhbmdvbG8uY29tIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9Imh0dHBzOi8vdHlwZXIudGlhbmdvbG8uY29tL2ltZy9sb2dvLW1hcmdpbi9sb2dvLW1hcmdpbi12ZWN0b3Iuc3ZnIiBzdHlsZT0id2lkdGg6IDIwJTsiPjwvYT4KCklmIHlvdSBhcmUgYnVpbGRpbmcgYSA8YWJiciB0aXRsZT0iQ29tbWFuZCBMaW5lIEludGVyZmFjZSI+Q0xJPC9hYmJyPiBhcHAgdG8gYmUgdXNlZCBpbiB0aGUgdGVybWluYWwgaW5zdGVhZCBvZiBhIHdlYiBBUEksIGNoZWNrIG91dCA8YSBocmVmPSJodHRwczovL3R5cGVyLnRpYW5nb2xvLmNvbS8iIGNsYXNzPSJleHRlcm5hbC1saW5rIiB0YXJnZXQ9Il9ibGFuayI+KipUeXBlcioqPC9hPi4KCioqVHlwZXIqKiBpcyBGYXN0QVBJJ3MgbGl0dGxlIHNpYmxpbmcuIEFuZCBpdCdzIGludGVuZGVkIHRvIGJlIHRoZSAqKkZhc3RBUEkgb2YgQ0xJcyoqLiDijKjvuI8g8J+agAoKIyMgUmVxdWlyZW1lbnRzCgpGYXN0QVBJIHN0YW5kcyBvbiB0aGUgc2hvdWxkZXJzIG9mIGdpYW50czoKCiogPGEgaHJlZj0iaHR0cHM6Ly93d3cuc3RhcmxldHRlLmlvLyIgY2xhc3M9ImV4dGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj5TdGFybGV0dGU8L2E+IGZvciB0aGUgd2ViIHBhcnRzLgoqIDxhIGhyZWY9Imh0dHBzOi8vZG9jcy5weWRhbnRpYy5kZXYvIiBjbGFzcz0iZXh0ZXJuYWwtbGluayIgdGFyZ2V0PSJfYmxhbmsiPlB5ZGFudGljPC9hPiBmb3IgdGhlIGRhdGEgcGFydHMuCgojIyBJbnN0YWxsYXRpb24KCkNyZWF0ZSBhbmQgYWN0aXZhdGUgYSA8YSBocmVmPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL3ZpcnR1YWwtZW52aXJvbm1lbnRzLyIgY2xhc3M9ImV4dGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj52aXJ0dWFsIGVudmlyb25tZW50PC9hPiBhbmQgdGhlbiBpbnN0YWxsIEZhc3RBUEk6Cgo8ZGl2IGNsYXNzPSJ0ZXJteSI+CgpgYGBjb25zb2xlCiQgcGlwIGluc3RhbGwgImZhc3RhcGlbc3RhbmRhcmRdIgoKLS0tPiAxMDAlCmBgYAoKPC9kaXY+CgoqKk5vdGUqKjogTWFrZSBzdXJlIHlvdSBwdXQgYCJmYXN0YXBpW3N0YW5kYXJkXSJgIGluIHF1b3RlcyB0byBlbnN1cmUgaXQgd29ya3MgaW4gYWxsIHRlcm1pbmFscy4KCiMjIEV4YW1wbGUKCiMjIyBDcmVhdGUgaXQKCiogQ3JlYXRlIGEgZmlsZSBgbWFpbi5weWAgd2l0aDoKCmBgYFB5dGhvbgpmcm9tIHR5cGluZyBpbXBvcnQgVW5pb24KCmZyb20gZmFzdGFwaSBpbXBvcnQgRmFzdEFQSQoKYXBwID0gRmFzdEFQSSgpCgoKQGFwcC5nZXQoIi8iKQpkZWYgcmVhZF9yb290KCk6CiAgICByZXR1cm4geyJIZWxsbyI6ICJXb3JsZCJ9CgoKQGFwcC5nZXQoIi9pdGVtcy97aXRlbV9pZH0iKQpkZWYgcmVhZF9pdGVtKGl0ZW1faWQ6IGludCwgcTogVW5pb25bc3RyLCBOb25lXSA9IE5vbmUpOgogICAgcmV0dXJuIHsiaXRlbV9pZCI6IGl0ZW1faWQsICJxIjogcX0KYGBgCgo8ZGV0YWlscyBtYXJrZG93bj0iMSI+CjxzdW1tYXJ5Pk9yIHVzZSA8Y29kZT5hc3luYyBkZWY8L2NvZGU+Li4uPC9zdW1tYXJ5PgoKSWYgeW91ciBjb2RlIHVzZXMgYGFzeW5jYCAvIGBhd2FpdGAsIHVzZSBgYXN5bmMgZGVmYDoKCmBgYFB5dGhvbiBobF9saW5lcz0iOSAgMTQiCmZyb20gdHlwaW5nIGltcG9ydCBVbmlvbgoKZnJvbSBmYXN0YXBpIGltcG9ydCBGYXN0QVBJCgphcHAgPSBGYXN0QVBJKCkKCgpAYXBwLmdldCgiLyIpCmFzeW5jIGRlZiByZWFkX3Jvb3QoKToKICAgIHJldHVybiB7IkhlbGxvIjogIldvcmxkIn0KCgpAYXBwLmdldCgiL2l0ZW1zL3tpdGVtX2lkfSIpCmFzeW5jIGRlZiByZWFkX2l0ZW0oaXRlbV9pZDogaW50LCBxOiBVbmlvbltzdHIsIE5vbmVdID0gTm9uZSk6CiAgICByZXR1cm4geyJpdGVtX2lkIjogaXRlbV9pZCwgInEiOiBxfQpgYGAKCioqTm90ZSoqOgoKSWYgeW91IGRvbid0IGtub3csIGNoZWNrIHRoZSBfIkluIGEgaHVycnk/Il8gc2VjdGlvbiBhYm91dCA8YSBocmVmPSJodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2FzeW5jLyNpbi1hLWh1cnJ5IiB0YXJnZXQ9Il9ibGFuayI+YGFzeW5jYCBhbmQgYGF3YWl0YCBpbiB0aGUgZG9jczwvYT4uCgo8L2RldGFpbHM+CgojIyMgUnVuIGl0CgpSdW4gdGhlIHNlcnZlciB3aXRoOgoKPGRpdiBjbGFzcz0idGVybXkiPgoKYGBgY29uc29sZQokIGZhc3RhcGkgZGV2IG1haW4ucHkKCiDila3ilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgRmFzdEFQSSBDTEkgLSBEZXZlbG9wbWVudCBtb2RlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKVrgog4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKIOKUgiAgU2VydmluZyBhdDogaHR0cDovLzEyNy4wLjAuMTo4MDAwICAgICAgICAgICAgICAgICAg4pSCCiDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggog4pSCICBBUEkgZG9jczogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2RvY3MgICAgICAgICAgICAgICDilIIKIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCCiDilIIgIFJ1bm5pbmcgaW4gZGV2ZWxvcG1lbnQgbW9kZSwgZm9yIHByb2R1Y3Rpb24gdXNlOiAgIOKUggog4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKIOKUgiAgZmFzdGFwaSBydW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCCiDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggog4pWw4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pWvCgpJTkZPOiAgICAgV2lsbCB3YXRjaCBmb3IgY2hhbmdlcyBpbiB0aGVzZSBkaXJlY3RvcmllczogWycvaG9tZS91c2VyL2NvZGUvYXdlc29tZWFwcCddCklORk86ICAgICBVdmljb3JuIHJ1bm5pbmcgb24gaHR0cDovLzEyNy4wLjAuMTo4MDAwIChQcmVzcyBDVFJMK0MgdG8gcXVpdCkKSU5GTzogICAgIFN0YXJ0ZWQgcmVsb2FkZXIgcHJvY2VzcyBbMjI0ODc1NV0gdXNpbmcgV2F0Y2hGaWxlcwpJTkZPOiAgICAgU3RhcnRlZCBzZXJ2ZXIgcHJvY2VzcyBbMjI0ODc1N10KSU5GTzogICAgIFdhaXRpbmcgZm9yIGFwcGxpY2F0aW9uIHN0YXJ0dXAuCklORk86ICAgICBBcHBsaWNhdGlvbiBzdGFydHVwIGNvbXBsZXRlLgpgYGAKCjwvZGl2PgoKPGRldGFpbHMgbWFya2Rvd249IjEiPgo8c3VtbWFyeT5BYm91dCB0aGUgY29tbWFuZCA8Y29kZT5mYXN0YXBpIGRldiBtYWluLnB5PC9jb2RlPi4uLjwvc3VtbWFyeT4KClRoZSBjb21tYW5kIGBmYXN0YXBpIGRldmAgcmVhZHMgeW91ciBgbWFpbi5weWAgZmlsZSwgZGV0ZWN0cyB0aGUgKipGYXN0QVBJKiogYXBwIGluIGl0LCBhbmQgc3RhcnRzIGEgc2VydmVyIHVzaW5nIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnV2aWNvcm4ub3JnIiBjbGFzcz0iZXh0ZXJuYWwtbGluayIgdGFyZ2V0PSJfYmxhbmsiPlV2aWNvcm48L2E+LgoKQnkgZGVmYXVsdCwgYGZhc3RhcGkgZGV2YCB3aWxsIHN0YXJ0IHdpdGggYXV0by1yZWxvYWQgZW5hYmxlZCBmb3IgbG9jYWwgZGV2ZWxvcG1lbnQuCgpZb3UgY2FuIHJlYWQgbW9yZSBhYm91dCBpdCBpbiB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9mYXN0YXBpLWNsaS8iIHRhcmdldD0iX2JsYW5rIj5GYXN0QVBJIENMSSBkb2NzPC9hPi4KCjwvZGV0YWlscz4KCiMjIyBDaGVjayBpdAoKT3BlbiB5b3VyIGJyb3dzZXIgYXQgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL2l0ZW1zLzU/cT1zb21lcXVlcnkiIGNsYXNzPSJleHRlcm5hbC1saW5rIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovLzEyNy4wLjAuMTo4MDAwL2l0ZW1zLzU/cT1zb21lcXVlcnk8L2E+LgoKWW91IHdpbGwgc2VlIHRoZSBKU09OIHJlc3BvbnNlIGFzOgoKYGBgSlNPTgp7Iml0ZW1faWQiOiA1LCAicSI6ICJzb21lcXVlcnkifQpgYGAKCllvdSBhbHJlYWR5IGNyZWF0ZWQgYW4gQVBJIHRoYXQ6CgoqIFJlY2VpdmVzIEhUVFAgcmVxdWVzdHMgaW4gdGhlIF9wYXRoc18gYC9gIGFuZCBgL2l0ZW1zL3tpdGVtX2lkfWAuCiogQm90aCBfcGF0aHNfIHRha2UgYEdFVGAgPGVtPm9wZXJhdGlvbnM8L2VtPiAoYWxzbyBrbm93biBhcyBIVFRQIF9tZXRob2RzXykuCiogVGhlIF9wYXRoXyBgL2l0ZW1zL3tpdGVtX2lkfWAgaGFzIGEgX3BhdGggcGFyYW1ldGVyXyBgaXRlbV9pZGAgdGhhdCBzaG91bGQgYmUgYW4gYGludGAuCiogVGhlIF9wYXRoXyBgL2l0ZW1zL3tpdGVtX2lkfWAgaGFzIGFuIG9wdGlvbmFsIGBzdHJgIF9xdWVyeSBwYXJhbWV0ZXJfIGBxYC4KCiMjIyBJbnRlcmFjdGl2ZSBBUEkgZG9jcwoKTm93IGdvIHRvIDxhIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9kb2NzIiBjbGFzcz0iZXh0ZXJuYWwtbGluayIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9kb2NzPC9hPi4KCllvdSB3aWxsIHNlZSB0aGUgYXV0b21hdGljIGludGVyYWN0aXZlIEFQSSBkb2N1bWVudGF0aW9uIChwcm92aWRlZCBieSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci11aSIgY2xhc3M9ImV4dGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj5Td2FnZ2VyIFVJPC9hPik6CgohW1N3YWdnZXIgVUldKGh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vaW1nL2luZGV4L2luZGV4LTAxLXN3YWdnZXItdWktc2ltcGxlLnBuZykKCiMjIyBBbHRlcm5hdGl2ZSBBUEkgZG9jcwoKQW5kIG5vdywgZ28gdG8gPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3JlZG9jIiBjbGFzcz0iZXh0ZXJuYWwtbGluayIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZWRvYzwvYT4uCgpZb3Ugd2lsbCBzZWUgdGhlIGFsdGVybmF0aXZlIGF1dG9tYXRpYyBkb2N1bWVudGF0aW9uIChwcm92aWRlZCBieSA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vUmViaWxseS9SZURvYyIgY2xhc3M9ImV4dGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj5SZURvYzwvYT4pOgoKIVtSZURvY10oaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvaW5kZXgvaW5kZXgtMDItcmVkb2Mtc2ltcGxlLnBuZykKCiMjIEV4YW1wbGUgdXBncmFkZQoKTm93IG1vZGlmeSB0aGUgZmlsZSBgbWFpbi5weWAgdG8gcmVjZWl2ZSBhIGJvZHkgZnJvbSBhIGBQVVRgIHJlcXVlc3QuCgpEZWNsYXJlIHRoZSBib2R5IHVzaW5nIHN0YW5kYXJkIFB5dGhvbiB0eXBlcywgdGhhbmtzIHRvIFB5ZGFudGljLgoKYGBgUHl0aG9uIGhsX2xpbmVzPSI0ICA5LTEyICAyNS0yNyIKZnJvbSB0eXBpbmcgaW1wb3J0IFVuaW9uCgpmcm9tIGZhc3RhcGkgaW1wb3J0IEZhc3RBUEkKZnJvbSBweWRhbnRpYyBpbXBvcnQgQmFzZU1vZGVsCgphcHAgPSBGYXN0QVBJKCkKCgpjbGFzcyBJdGVtKEJhc2VNb2RlbCk6CiAgICBuYW1lOiBzdHIKICAgIHByaWNlOiBmbG9hdAogICAgaXNfb2ZmZXI6IFVuaW9uW2Jvb2wsIE5vbmVdID0gTm9uZQoKCkBhcHAuZ2V0KCIvIikKZGVmIHJlYWRfcm9vdCgpOgogICAgcmV0dXJuIHsiSGVsbG8iOiAiV29ybGQifQoKCkBhcHAuZ2V0KCIvaXRlbXMve2l0ZW1faWR9IikKZGVmIHJlYWRfaXRlbShpdGVtX2lkOiBpbnQsIHE6IFVuaW9uW3N0ciwgTm9uZV0gPSBOb25lKToKICAgIHJldHVybiB7Iml0ZW1faWQiOiBpdGVtX2lkLCAicSI6IHF9CgoKQGFwcC5wdXQoIi9pdGVtcy97aXRlbV9pZH0iKQpkZWYgdXBkYXRlX2l0ZW0oaXRlbV9pZDogaW50LCBpdGVtOiBJdGVtKToKICAgIHJldHVybiB7Iml0ZW1fbmFtZSI6IGl0ZW0ubmFtZSwgIml0ZW1faWQiOiBpdGVtX2lkfQpgYGAKClRoZSBgZmFzdGFwaSBkZXZgIHNlcnZlciBzaG91bGQgcmVsb2FkIGF1dG9tYXRpY2FsbHkuCgojIyMgSW50ZXJhY3RpdmUgQVBJIGRvY3MgdXBncmFkZQoKTm93IGdvIHRvIDxhIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9kb2NzIiBjbGFzcz0iZXh0ZXJuYWwtbGluayIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9kb2NzPC9hPi4KCiogVGhlIGludGVyYWN0aXZlIEFQSSBkb2N1bWVudGF0aW9uIHdpbGwgYmUgYXV0b21hdGljYWxseSB1cGRhdGVkLCBpbmNsdWRpbmcgdGhlIG5ldyBib2R5OgoKIVtTd2FnZ2VyIFVJXShodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9pbmRleC9pbmRleC0wMy1zd2FnZ2VyLTAyLnBuZykKCiogQ2xpY2sgb24gdGhlIGJ1dHRvbiAiVHJ5IGl0IG91dCIsIGl0IGFsbG93cyB5b3UgdG8gZmlsbCB0aGUgcGFyYW1ldGVycyBhbmQgZGlyZWN0bHkgaW50ZXJhY3Qgd2l0aCB0aGUgQVBJOgoKIVtTd2FnZ2VyIFVJIGludGVyYWN0aW9uXShodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL2ltZy9pbmRleC9pbmRleC0wNC1zd2FnZ2VyLTAzLnBuZykKCiogVGhlbiBjbGljayBvbiB0aGUgIkV4ZWN1dGUiIGJ1dHRvbiwgdGhlIHVzZXIgaW50ZXJmYWNlIHdpbGwgY29tbXVuaWNhdGUgd2l0aCB5b3VyIEFQSSwgc2VuZCB0aGUgcGFyYW1ldGVycywgZ2V0IHRoZSByZXN1bHRzIGFuZCBzaG93IHRoZW0gb24gdGhlIHNjcmVlbjoKCiFbU3dhZ2dlciBVSSBpbnRlcmFjdGlvbl0oaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvaW5kZXgvaW5kZXgtMDUtc3dhZ2dlci0wNC5wbmcpCgojIyMgQWx0ZXJuYXRpdmUgQVBJIGRvY3MgdXBncmFkZQoKQW5kIG5vdywgZ28gdG8gPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo4MDAwL3JlZG9jIiBjbGFzcz0iZXh0ZXJuYWwtbGluayIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9yZWRvYzwvYT4uCgoqIFRoZSBhbHRlcm5hdGl2ZSBkb2N1bWVudGF0aW9uIHdpbGwgYWxzbyByZWZsZWN0IHRoZSBuZXcgcXVlcnkgcGFyYW1ldGVyIGFuZCBib2R5OgoKIVtSZURvY10oaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvaW5kZXgvaW5kZXgtMDYtcmVkb2MtMDIucG5nKQoKIyMjIFJlY2FwCgpJbiBzdW1tYXJ5LCB5b3UgZGVjbGFyZSAqKm9uY2UqKiB0aGUgdHlwZXMgb2YgcGFyYW1ldGVycywgYm9keSwgZXRjLiBhcyBmdW5jdGlvbiBwYXJhbWV0ZXJzLgoKWW91IGRvIHRoYXQgd2l0aCBzdGFuZGFyZCBtb2Rlcm4gUHl0aG9uIHR5cGVzLgoKWW91IGRvbid0IGhhdmUgdG8gbGVhcm4gYSBuZXcgc3ludGF4LCB0aGUgbWV0aG9kcyBvciBjbGFzc2VzIG9mIGEgc3BlY2lmaWMgbGlicmFyeSwgZXRjLgoKSnVzdCBzdGFuZGFyZCAqKlB5dGhvbioqLgoKRm9yIGV4YW1wbGUsIGZvciBhbiBgaW50YDoKCmBgYFB5dGhvbgppdGVtX2lkOiBpbnQKYGBgCgpvciBmb3IgYSBtb3JlIGNvbXBsZXggYEl0ZW1gIG1vZGVsOgoKYGBgUHl0aG9uCml0ZW06IEl0ZW0KYGBgCgouLi5hbmQgd2l0aCB0aGF0IHNpbmdsZSBkZWNsYXJhdGlvbiB5b3UgZ2V0OgoKKiBFZGl0b3Igc3VwcG9ydCwgaW5jbHVkaW5nOgogICAgKiBDb21wbGV0aW9uLgogICAgKiBUeXBlIGNoZWNrcy4KKiBWYWxpZGF0aW9uIG9mIGRhdGE6CiAgICAqIEF1dG9tYXRpYyBhbmQgY2xlYXIgZXJyb3JzIHdoZW4gdGhlIGRhdGEgaXMgaW52YWxpZC4KICAgICogVmFsaWRhdGlvbiBldmVuIGZvciBkZWVwbHkgbmVzdGVkIEpTT04gb2JqZWN0cy4KKiA8YWJiciB0aXRsZT0iYWxzbyBrbm93biBhczogc2VyaWFsaXphdGlvbiwgcGFyc2luZywgbWFyc2hhbGxpbmciPkNvbnZlcnNpb248L2FiYnI+IG9mIGlucHV0IGRhdGE6IGNvbWluZyBmcm9tIHRoZSBuZXR3b3JrIHRvIFB5dGhvbiBkYXRhIGFuZCB0eXBlcy4gUmVhZGluZyBmcm9tOgogICAgKiBKU09OLgogICAgKiBQYXRoIHBhcmFtZXRlcnMuCiAgICAqIFF1ZXJ5IHBhcmFtZXRlcnMuCiAgICAqIENvb2tpZXMuCiAgICAqIEhlYWRlcnMuCiAgICAqIEZvcm1zLgogICAgKiBGaWxlcy4KKiA8YWJiciB0aXRsZT0iYWxzbyBrbm93biBhczogc2VyaWFsaXphdGlvbiwgcGFyc2luZywgbWFyc2hhbGxpbmciPkNvbnZlcnNpb248L2FiYnI+IG9mIG91dHB1dCBkYXRhOiBjb252ZXJ0aW5nIGZyb20gUHl0aG9uIGRhdGEgYW5kIHR5cGVzIHRvIG5ldHdvcmsgZGF0YSAoYXMgSlNPTik6CiAgICAqIENvbnZlcnQgUHl0aG9uIHR5cGVzIChgc3RyYCwgYGludGAsIGBmbG9hdGAsIGBib29sYCwgYGxpc3RgLCBldGMpLgogICAgKiBgZGF0ZXRpbWVgIG9iamVjdHMuCiAgICAqIGBVVUlEYCBvYmplY3RzLgogICAgKiBEYXRhYmFzZSBtb2RlbHMuCiAgICAqIC4uLmFuZCBtYW55IG1vcmUuCiogQXV0b21hdGljIGludGVyYWN0aXZlIEFQSSBkb2N1bWVudGF0aW9uLCBpbmNsdWRpbmcgMiBhbHRlcm5hdGl2ZSB1c2VyIGludGVyZmFjZXM6CiAgICAqIFN3YWdnZXIgVUkuCiAgICAqIFJlRG9jLgoKLS0tCgpDb21pbmcgYmFjayB0byB0aGUgcHJldmlvdXMgY29kZSBleGFtcGxlLCAqKkZhc3RBUEkqKiB3aWxsOgoKKiBWYWxpZGF0ZSB0aGF0IHRoZXJlIGlzIGFuIGBpdGVtX2lkYCBpbiB0aGUgcGF0aCBmb3IgYEdFVGAgYW5kIGBQVVRgIHJlcXVlc3RzLgoqIFZhbGlkYXRlIHRoYXQgdGhlIGBpdGVtX2lkYCBpcyBvZiB0eXBlIGBpbnRgIGZvciBgR0VUYCBhbmQgYFBVVGAgcmVxdWVzdHMuCiAgICAqIElmIGl0IGlzIG5vdCwgdGhlIGNsaWVudCB3aWxsIHNlZSBhIHVzZWZ1bCwgY2xlYXIgZXJyb3IuCiogQ2hlY2sgaWYgdGhlcmUgaXMgYW4gb3B0aW9uYWwgcXVlcnkgcGFyYW1ldGVyIG5hbWVkIGBxYCAoYXMgaW4gYGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pdGVtcy9mb28/cT1zb21lcXVlcnlgKSBmb3IgYEdFVGAgcmVxdWVzdHMuCiAgICAqIEFzIHRoZSBgcWAgcGFyYW1ldGVyIGlzIGRlY2xhcmVkIHdpdGggYD0gTm9uZWAsIGl0IGlzIG9wdGlvbmFsLgogICAgKiBXaXRob3V0IHRoZSBgTm9uZWAgaXQgd291bGQgYmUgcmVxdWlyZWQgKGFzIGlzIHRoZSBib2R5IGluIHRoZSBjYXNlIHdpdGggYFBVVGApLgoqIEZvciBgUFVUYCByZXF1ZXN0cyB0byBgL2l0ZW1zL3tpdGVtX2lkfWAsIHJlYWQgdGhlIGJvZHkgYXMgSlNPTjoKICAgICogQ2hlY2sgdGhhdCBpdCBoYXMgYSByZXF1aXJlZCBhdHRyaWJ1dGUgYG5hbWVgIHRoYXQgc2hvdWxkIGJlIGEgYHN0cmAuCiAgICAqIENoZWNrIHRoYXQgaXQgaGFzIGEgcmVxdWlyZWQgYXR0cmlidXRlIGBwcmljZWAgdGhhdCBoYXMgdG8gYmUgYSBgZmxvYXRgLgogICAgKiBDaGVjayB0aGF0IGl0IGhhcyBhbiBvcHRpb25hbCBhdHRyaWJ1dGUgYGlzX29mZmVyYCwgdGhhdCBzaG91bGQgYmUgYSBgYm9vbGAsIGlmIHByZXNlbnQuCiAgICAqIEFsbCB0aGlzIHdvdWxkIGFsc28gd29yayBmb3IgZGVlcGx5IG5lc3RlZCBKU09OIG9iamVjdHMuCiogQ29udmVydCBmcm9tIGFuZCB0byBKU09OIGF1dG9tYXRpY2FsbHkuCiogRG9jdW1lbnQgZXZlcnl0aGluZyB3aXRoIE9wZW5BUEksIHRoYXQgY2FuIGJlIHVzZWQgYnk6CiAgICAqIEludGVyYWN0aXZlIGRvY3VtZW50YXRpb24gc3lzdGVtcy4KICAgICogQXV0b21hdGljIGNsaWVudCBjb2RlIGdlbmVyYXRpb24gc3lzdGVtcywgZm9yIG1hbnkgbGFuZ3VhZ2VzLgoqIFByb3ZpZGUgMiBpbnRlcmFjdGl2ZSBkb2N1bWVudGF0aW9uIHdlYiBpbnRlcmZhY2VzIGRpcmVjdGx5LgoKLS0tCgpXZSBqdXN0IHNjcmF0Y2hlZCB0aGUgc3VyZmFjZSwgYnV0IHlvdSBhbHJlYWR5IGdldCB0aGUgaWRlYSBvZiBob3cgaXQgYWxsIHdvcmtzLgoKVHJ5IGNoYW5naW5nIHRoZSBsaW5lIHdpdGg6CgpgYGBQeXRob24KICAgIHJldHVybiB7Iml0ZW1fbmFtZSI6IGl0ZW0ubmFtZSwgIml0ZW1faWQiOiBpdGVtX2lkfQpgYGAKCi4uLmZyb206CgpgYGBQeXRob24KICAgICAgICAuLi4gIml0ZW1fbmFtZSI6IGl0ZW0ubmFtZSAuLi4KYGBgCgouLi50bzoKCmBgYFB5dGhvbgogICAgICAgIC4uLiAiaXRlbV9wcmljZSI6IGl0ZW0ucHJpY2UgLi4uCmBgYAoKLi4uYW5kIHNlZSBob3cgeW91ciBlZGl0b3Igd2lsbCBhdXRvLWNvbXBsZXRlIHRoZSBhdHRyaWJ1dGVzIGFuZCBrbm93IHRoZWlyIHR5cGVzOgoKIVtlZGl0b3Igc3VwcG9ydF0oaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9pbWcvdnNjb2RlLWNvbXBsZXRpb24ucG5nKQoKRm9yIGEgbW9yZSBjb21wbGV0ZSBleGFtcGxlIGluY2x1ZGluZyBtb3JlIGZlYXR1cmVzLCBzZWUgdGhlIDxhIGhyZWY9Imh0dHBzOi8vZmFzdGFwaS50aWFuZ29sby5jb20vdHV0b3JpYWwvIj5UdXRvcmlhbCAtIFVzZXIgR3VpZGU8L2E+LgoKKipTcG9pbGVyIGFsZXJ0Kio6IHRoZSB0dXRvcmlhbCAtIHVzZXIgZ3VpZGUgaW5jbHVkZXM6CgoqIERlY2xhcmF0aW9uIG9mICoqcGFyYW1ldGVycyoqIGZyb20gb3RoZXIgZGlmZmVyZW50IHBsYWNlcyBhczogKipoZWFkZXJzKiosICoqY29va2llcyoqLCAqKmZvcm0gZmllbGRzKiogYW5kICoqZmlsZXMqKi4KKiBIb3cgdG8gc2V0ICoqdmFsaWRhdGlvbiBjb25zdHJhaW50cyoqIGFzIGBtYXhpbXVtX2xlbmd0aGAgb3IgYHJlZ2V4YC4KKiBBIHZlcnkgcG93ZXJmdWwgYW5kIGVhc3kgdG8gdXNlICoqPGFiYnIgdGl0bGU9ImFsc28ga25vd24gYXMgY29tcG9uZW50cywgcmVzb3VyY2VzLCBwcm92aWRlcnMsIHNlcnZpY2VzLCBpbmplY3RhYmxlcyI+RGVwZW5kZW5jeSBJbmplY3Rpb248L2FiYnI+Kiogc3lzdGVtLgoqIFNlY3VyaXR5IGFuZCBhdXRoZW50aWNhdGlvbiwgaW5jbHVkaW5nIHN1cHBvcnQgZm9yICoqT0F1dGgyKiogd2l0aCAqKkpXVCB0b2tlbnMqKiBhbmQgKipIVFRQIEJhc2ljKiogYXV0aC4KKiBNb3JlIGFkdmFuY2VkIChidXQgZXF1YWxseSBlYXN5KSB0ZWNobmlxdWVzIGZvciBkZWNsYXJpbmcgKipkZWVwbHkgbmVzdGVkIEpTT04gbW9kZWxzKiogKHRoYW5rcyB0byBQeWRhbnRpYykuCiogKipHcmFwaFFMKiogaW50ZWdyYXRpb24gd2l0aCA8YSBocmVmPSJodHRwczovL3N0cmF3YmVycnkucm9ja3MiIGNsYXNzPSJleHRlcm5hbC1saW5rIiB0YXJnZXQ9Il9ibGFuayI+U3RyYXdiZXJyeTwvYT4gYW5kIG90aGVyIGxpYnJhcmllcy4KKiBNYW55IGV4dHJhIGZlYXR1cmVzICh0aGFua3MgdG8gU3RhcmxldHRlKSBhczoKICAgICogKipXZWJTb2NrZXRzKioKICAgICogZXh0cmVtZWx5IGVhc3kgdGVzdHMgYmFzZWQgb24gSFRUUFggYW5kIGBweXRlc3RgCiAgICAqICoqQ09SUyoqCiAgICAqICoqQ29va2llIFNlc3Npb25zKioKICAgICogLi4uYW5kIG1vcmUuCgojIyBQZXJmb3JtYW5jZQoKSW5kZXBlbmRlbnQgVGVjaEVtcG93ZXIgYmVuY2htYXJrcyBzaG93ICoqRmFzdEFQSSoqIGFwcGxpY2F0aW9ucyBydW5uaW5nIHVuZGVyIFV2aWNvcm4gYXMgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGVjaGVtcG93ZXIuY29tL2JlbmNobWFya3MvI3NlY3Rpb249dGVzdCZydW5pZD03NDY0ZTUyMC0wZGMyLTQ3M2QtYmQzNC1kYmRmZDdlODU5MTEmaHc9cGgmdGVzdD1xdWVyeSZsPXppanplbi03IiBjbGFzcz0iZXh0ZXJuYWwtbGluayIgdGFyZ2V0PSJfYmxhbmsiPm9uZSBvZiB0aGUgZmFzdGVzdCBQeXRob24gZnJhbWV3b3JrcyBhdmFpbGFibGU8L2E+LCBvbmx5IGJlbG93IFN0YXJsZXR0ZSBhbmQgVXZpY29ybiB0aGVtc2VsdmVzICh1c2VkIGludGVybmFsbHkgYnkgRmFzdEFQSSkuICgqKQoKVG8gdW5kZXJzdGFuZCBtb3JlIGFib3V0IGl0LCBzZWUgdGhlIHNlY3Rpb24gPGEgaHJlZj0iaHR0cHM6Ly9mYXN0YXBpLnRpYW5nb2xvLmNvbS9iZW5jaG1hcmtzLyIgY2xhc3M9ImludGVybmFsLWxpbmsiIHRhcmdldD0iX2JsYW5rIj5CZW5jaG1hcmtzPC9hPi4KCiMjIERlcGVuZGVuY2llcwoKRmFzdEFQSSBkZXBlbmRzIG9uIFB5ZGFudGljIGFuZCBTdGFybGV0dGUuCgojIyMgYHN0YW5kYXJkYCBEZXBlbmRlbmNpZXMKCldoZW4geW91IGluc3RhbGwgRmFzdEFQSSB3aXRoIGBwaXAgaW5zdGFsbCAiZmFzdGFwaVtzdGFuZGFyZF0iYCBpdCBjb21lcyB0aGUgYHN0YW5kYXJkYCBncm91cCBvZiBvcHRpb25hbCBkZXBlbmRlbmNpZXM6CgpVc2VkIGJ5IFB5ZGFudGljOgoKKiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vSm9zaERhdGEvcHl0aG9uLWVtYWlsLXZhbGlkYXRvciIgdGFyZ2V0PSJfYmxhbmsiPjxjb2RlPmVtYWlsLXZhbGlkYXRvcjwvY29kZT48L2E+IC0gZm9yIGVtYWlsIHZhbGlkYXRpb24uCgpVc2VkIGJ5IFN0YXJsZXR0ZToKCiogPGEgaHJlZj0iaHR0cHM6Ly93d3cucHl0aG9uLWh0dHB4Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPjxjb2RlPmh0dHB4PC9jb2RlPjwvYT4gLSBSZXF1aXJlZCBpZiB5b3Ugd2FudCB0byB1c2UgdGhlIGBUZXN0Q2xpZW50YC4KKiA8YSBocmVmPSJodHRwczovL2ppbmphLnBhbGxldHNwcm9qZWN0cy5jb20iIHRhcmdldD0iX2JsYW5rIj48Y29kZT5qaW5qYTI8L2NvZGU+PC9hPiAtIFJlcXVpcmVkIGlmIHlvdSB3YW50IHRvIHVzZSB0aGUgZGVmYXVsdCB0ZW1wbGF0ZSBjb25maWd1cmF0aW9uLgoqIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9LbHVkZXgvcHl0aG9uLW11bHRpcGFydCIgdGFyZ2V0PSJfYmxhbmsiPjxjb2RlPnB5dGhvbi1tdWx0aXBhcnQ8L2NvZGU+PC9hPiAtIFJlcXVpcmVkIGlmIHlvdSB3YW50IHRvIHN1cHBvcnQgZm9ybSA8YWJiciB0aXRsZT0iY29udmVydGluZyB0aGUgc3RyaW5nIHRoYXQgY29tZXMgZnJvbSBhbiBIVFRQIHJlcXVlc3QgaW50byBQeXRob24gZGF0YSI+InBhcnNpbmciPC9hYmJyPiwgd2l0aCBgcmVxdWVzdC5mb3JtKClgLgoKVXNlZCBieSBGYXN0QVBJIC8gU3RhcmxldHRlOgoKKiA8YSBocmVmPSJodHRwczovL3d3dy51dmljb3JuLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPjxjb2RlPnV2aWNvcm48L2NvZGU+PC9hPiAtIGZvciB0aGUgc2VydmVyIHRoYXQgbG9hZHMgYW5kIHNlcnZlcyB5b3VyIGFwcGxpY2F0aW9uLiBUaGlzIGluY2x1ZGVzIGB1dmljb3JuW3N0YW5kYXJkXWAsIHdoaWNoIGluY2x1ZGVzIHNvbWUgZGVwZW5kZW5jaWVzIChlLmcuIGB1dmxvb3BgKSBuZWVkZWQgZm9yIGhpZ2ggcGVyZm9ybWFuY2Ugc2VydmluZy4KKiBgZmFzdGFwaS1jbGlgIC0gdG8gcHJvdmlkZSB0aGUgYGZhc3RhcGlgIGNvbW1hbmQuCgojIyMgV2l0aG91dCBgc3RhbmRhcmRgIERlcGVuZGVuY2llcwoKSWYgeW91IGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgYHN0YW5kYXJkYCBvcHRpb25hbCBkZXBlbmRlbmNpZXMsIHlvdSBjYW4gaW5zdGFsbCB3aXRoIGBwaXAgaW5zdGFsbCBmYXN0YXBpYCBpbnN0ZWFkIG9mIGBwaXAgaW5zdGFsbCAiZmFzdGFwaVtzdGFuZGFyZF0iYC4KCiMjIyBBZGRpdGlvbmFsIE9wdGlvbmFsIERlcGVuZGVuY2llcwoKVGhlcmUgYXJlIHNvbWUgYWRkaXRpb25hbCBkZXBlbmRlbmNpZXMgeW91IG1pZ2h0IHdhbnQgdG8gaW5zdGFsbC4KCkFkZGl0aW9uYWwgb3B0aW9uYWwgUHlkYW50aWMgZGVwZW5kZW5jaWVzOgoKKiA8YSBocmVmPSJodHRwczovL2RvY3MucHlkYW50aWMuZGV2L2xhdGVzdC91c2FnZS9weWRhbnRpY19zZXR0aW5ncy8iIHRhcmdldD0iX2JsYW5rIj48Y29kZT5weWRhbnRpYy1zZXR0aW5nczwvY29kZT48L2E+IC0gZm9yIHNldHRpbmdzIG1hbmFnZW1lbnQuCiogPGEgaHJlZj0iaHR0cHM6Ly9kb2NzLnB5ZGFudGljLmRldi9sYXRlc3QvdXNhZ2UvdHlwZXMvZXh0cmFfdHlwZXMvZXh0cmFfdHlwZXMvIiB0YXJnZXQ9Il9ibGFuayI+PGNvZGU+cHlkYW50aWMtZXh0cmEtdHlwZXM8L2NvZGU+PC9hPiAtIGZvciBleHRyYSB0eXBlcyB0byBiZSB1c2VkIHdpdGggUHlkYW50aWMuCgpBZGRpdGlvbmFsIG9wdGlvbmFsIEZhc3RBUEkgZGVwZW5kZW5jaWVzOgoKKiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vaWpsL29yanNvbiIgdGFyZ2V0PSJfYmxhbmsiPjxjb2RlPm9yanNvbjwvY29kZT48L2E+IC0gUmVxdWlyZWQgaWYgeW91IHdhbnQgdG8gdXNlIGBPUkpTT05SZXNwb25zZWAuCiogPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2Vzbm1lL3VsdHJhanNvbiIgdGFyZ2V0PSJfYmxhbmsiPjxjb2RlPnVqc29uPC9jb2RlPjwvYT4gLSBSZXF1aXJlZCBpZiB5b3Ugd2FudCB0byB1c2UgYFVKU09OUmVzcG9uc2VgLgoKIyMgTGljZW5zZQoKVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2UuCg== + readmeEtag: '"f274265de82e45aeafb2b91839b90ec1618e5938"' + readmeLastModified: Thu, 26 Sep 2024 17:17:48 GMT repositoryId: 160919119 description: >- FastAPI framework, high performance, easy to learn, fast to code, ready for production created: '2018-12-08T08:21:47Z' - updated: '2024-09-26T02:45:02Z' + updated: '2024-09-27T03:30:27Z' language: Python archived: false - stars: 75996 + stars: 76029 watchers: 675 - forks: 6405 + forks: 6407 owner: fastapi logo: https://avatars.githubusercontent.com/u/156354296?v=4 license: MIT - repoEtag: '"24230cf9e05c62651e9c98c3a3a431d429e0fdeaf773257760228585a226ec40"' - repoLastModified: Thu, 26 Sep 2024 02:45:02 GMT + repoEtag: '"25c226b02740ab57976d0573f4c764b527345fed3132395386915e9e862b738b"' + repoLastModified: Fri, 27 Sep 2024 03:30:27 GMT foundInMaster: true id: 01f8d446752c39de698f67e8d2352229 oldLocations: @@ -7538,17 +7538,17 @@ Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API. created: '2011-07-15T22:56:39Z' - updated: '2024-09-26T02:42:37Z' + updated: '2024-09-27T03:22:47Z' language: JavaScript archived: false - stars: 26364 + stars: 26374 watchers: 652 forks: 8923 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"4323fef3d35933d1d68ef5a2d8797086c5788876006ab0ce903a255bbfd032c0"' - repoLastModified: Thu, 26 Sep 2024 02:42:37 GMT + repoEtag: '"12aaa0d5e26f6e29e4b79c5b848d257c2cfbef9618d81a9dbbc568b6f12c342b"' + repoLastModified: Fri, 27 Sep 2024 03:22:47 GMT foundInMaster: true name: swagger-ui homepage: https://github.com/swagger-api/swagger-UI @@ -7581,17 +7581,17 @@ repositoryId: 45250726 description: 📘 OpenAPI/Swagger-generated API Reference Documentation created: '2015-10-30T12:53:02Z' - updated: '2024-09-26T02:56:22Z' + updated: '2024-09-27T03:22:28Z' language: TypeScript archived: false - stars: 23337 + stars: 23340 watchers: 296 forks: 2289 owner: Redocly logo: https://avatars.githubusercontent.com/u/32099856?v=4 license: MIT - repoEtag: '"113107c9bc9e24e07ef6b6db7eab5d56402837133a6e7602f4699021acf43312"' - repoLastModified: Thu, 26 Sep 2024 02:56:22 GMT + repoEtag: '"8b32056d88f6199df1454281f9c7a4f1547c68a99c45b7225cfa5aed43aafbfb"' + repoLastModified: Fri, 27 Sep 2024 03:22:28 GMT foundInMaster: true v3_1: true id: 2725d6db6977c1dd12ceaf9701787e07 @@ -7610,17 +7610,17 @@ Examples and server integrations for generating the Swagger API Specification, which enables easy access to your REST API created: '2011-07-05T23:44:11Z' - updated: '2024-09-25T20:25:04Z' + updated: '2024-09-26T11:22:03Z' language: Java archived: false - stars: 7373 + stars: 7372 watchers: 310 forks: 2173 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"a72c9c15aad5aa94802c9ab6a8b1633a47c33cce6193258435fdc7ccd581ba5d"' - repoLastModified: Wed, 25 Sep 2024 20:25:04 GMT + repoEtag: '"d679a3927c2f2d5b7c3406dac30801cbbc13feefa879221bb2c61d23fac272fc"' + repoLastModified: Thu, 26 Sep 2024 11:22:03 GMT foundInMaster: true category: Code Generators id: 2093f5c5f56617123b73ae823791176d @@ -7637,17 +7637,17 @@ Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source. created: '2017-07-17T13:19:16Z' - updated: '2024-09-26T00:00:24Z' + updated: '2024-09-26T19:38:26Z' language: TypeScript archived: false - stars: 6271 + stars: 6278 watchers: 60 forks: 374 owner: mockoon logo: https://avatars.githubusercontent.com/u/49429147?v=4 license: NOASSERTION - repoEtag: '"394ab1fed991a54f1ac3b8d1bf6b78b23b185456f3b5f99542226d940ff6f694"' - repoLastModified: Thu, 26 Sep 2024 00:00:24 GMT + repoEtag: '"f3a3815401734542e940de1ab9b2d77ca1e9f13504a7a4714e6f87588ed6c2e3"' + repoLastModified: Thu, 26 Sep 2024 19:38:26 GMT foundInMaster: true category: Testing id: 8728dfca2c1908dbecdcddd31597fad4 @@ -7670,17 +7670,17 @@ repositoryId: 173009358 description: Generate Go client and server boilerplate from OpenAPI 3 specifications created: '2019-02-27T23:59:59Z' - updated: '2024-09-25T18:37:28Z' + updated: '2024-09-26T16:46:02Z' language: Go archived: false - stars: 6060 + stars: 6065 watchers: 36 - forks: 841 + forks: 840 owner: oapi-codegen logo: https://avatars.githubusercontent.com/u/142752710?v=4 license: Apache-2.0 - repoEtag: '"33f063bf0042e29c6dd9eddfad98c0500f914004b6ff603297d4e6e1e2ce8517"' - repoLastModified: Wed, 25 Sep 2024 18:37:28 GMT + repoEtag: '"054a92902e31055dc60ce5b82fa23879f7b0984379d5ab6d5793b6c849173b96"' + repoLastModified: Thu, 26 Sep 2024 16:46:02 GMT foundInMaster: true id: 770a221110cc4ef0e399089f5caf8694 oldLocations: @@ -7709,17 +7709,17 @@ repositoryId: 161691324 description: Generate TypeScript types from OpenAPI 3 specs created: '2018-12-13T20:28:01Z' - updated: '2024-09-25T15:50:53Z' + updated: '2024-09-26T23:39:58Z' language: TypeScript archived: false - stars: 5605 + stars: 5611 watchers: 25 forks: 453 owner: openapi-ts logo: https://avatars.githubusercontent.com/u/172838200?v=4 license: MIT - repoEtag: '"71316171b7a6a56cdd4c45151bee74a678f63be565523fa4188dd0b26d2e8a5b"' - repoLastModified: Wed, 25 Sep 2024 15:50:53 GMT + repoEtag: '"6f8483fb8ee9383d22790a9ddfe38fac5ff9ae2e935e6f97cdd401c4e69ad3d6"' + repoLastModified: Thu, 26 Sep 2024 23:39:58 GMT foundInMaster: true oldLocations: - https://github.com/drwpow/openapi-typescript @@ -7735,17 +7735,17 @@ repositoryId: 88701696 description: Knife4j is a set of Swagger2 and OpenAPI3 All-in-one enhancement solution created: '2017-04-19T04:44:28Z' - updated: '2024-09-25T11:46:11Z' + updated: '2024-09-26T10:38:04Z' language: HTML archived: false - stars: 4086 + stars: 4088 watchers: 75 forks: 614 owner: xiaoymin logo: https://avatars.githubusercontent.com/u/7894406?v=4 license: Apache-2.0 - repoEtag: '"e23d2db859f19e8787e58bfa4dc7a6eba4a738f8f0d6a20c0806e251921f6a29"' - repoLastModified: Wed, 25 Sep 2024 11:46:11 GMT + repoEtag: '"ea969f3e1aba36897030917c2c9a035a9d2bf6c5f6be8db8dc217216c6e11f98"' + repoLastModified: Thu, 26 Sep 2024 10:38:04 GMT category: SDK foundInMaster: true - source: openapi3 tags @@ -7761,17 +7761,17 @@ 🌐 Wikipedia for Web APIs. Directory of REST API definitions in OpenAPI 2.0/3.x format created: '2015-02-22T19:58:12Z' - updated: '2024-09-22T19:11:28Z' + updated: '2024-09-26T16:11:51Z' language: null archived: false - stars: 3834 + stars: 3836 watchers: 113 forks: 575 owner: APIs-guru logo: https://avatars.githubusercontent.com/u/10975548?v=4 license: CC0-1.0 - repoEtag: '"7ec972e9aaa5d9b78d3cea145522b2f532a8cc2d4f461398e00bc4a1b4fe15da"' - repoLastModified: Sun, 22 Sep 2024 19:11:28 GMT + repoEtag: '"76ecbd4c1829500df7e1308fb59856399ad1bac79c28870308d5d094bcf80cf4"' + repoLastModified: Thu, 26 Sep 2024 16:11:51 GMT foundInMaster: true category: SDK id: 667f2aef78d9d19418fbd6c0a7835abb @@ -7795,7 +7795,7 @@ repositoryId: 196475719 description: Library for OpenAPI 3 with spring-boot created: '2019-07-11T23:08:20Z' - updated: '2024-09-25T08:57:06Z' + updated: '2024-09-26T09:23:23Z' language: Java archived: false stars: 3252 @@ -7804,8 +7804,8 @@ owner: springdoc logo: https://avatars.githubusercontent.com/u/52804136?v=4 license: Apache-2.0 - repoEtag: '"2d7ec9b581d4b2828f178b817c93d0900b4b2e67569c03091571fa53cd3764af"' - repoLastModified: Wed, 25 Sep 2024 08:57:06 GMT + repoEtag: '"603e504107aee7eebf8e926d8b835190d80136d6f5db183b662d33e5326dd9d8"' + repoLastModified: Thu, 26 Sep 2024 09:23:23 GMT foundInMaster: true id: 901410cec129651fcf7374c79f824f27 - source: openapi3 tags @@ -7821,17 +7821,17 @@ Docker image with Uvicorn managed by Gunicorn for high-performance FastAPI web applications in Python with performance auto-tuning. created: '2019-01-04T17:33:29Z' - updated: '2024-09-25T13:12:31Z' + updated: '2024-09-26T07:14:24Z' language: Python archived: false - stars: 2690 + stars: 2691 watchers: 23 forks: 333 owner: tiangolo logo: https://avatars.githubusercontent.com/u/1326112?v=4 license: MIT - repoEtag: '"8c6a99f6ff930d3ceb678b62e890f30b937334cc5ef3856f24e764e21951297e"' - repoLastModified: Wed, 25 Sep 2024 13:12:31 GMT + repoEtag: '"ae058c4100c972468d8261aab3e25ff1c7d0c4bba1141304a196e085491b95b2"' + repoLastModified: Thu, 26 Sep 2024 07:14:24 GMT foundInMaster: true category: Server Implementations id: d0f3fc0bd35fcadacc8ed2c531780739 @@ -7876,17 +7876,17 @@ repositoryId: 244234763 description: Sane and flexible OpenAPI 3 schema generation for Django REST framework. created: '2020-03-01T22:36:54Z' - updated: '2024-09-25T20:30:43Z' + updated: '2024-09-26T11:24:11Z' language: Python archived: false - stars: 2322 + stars: 2323 watchers: 11 forks: 259 owner: tfranzel logo: https://avatars.githubusercontent.com/u/13507857?v=4 license: BSD-3-Clause - repoEtag: '"836e418750e6c6c2dae9644ae4ea2948373224780a1780afe9cdda30bab76205"' - repoLastModified: Wed, 25 Sep 2024 20:30:43 GMT + repoEtag: '"793c5230e0e1ba449da8e844b93fbe13fcb5c58502d670372a6bb3ec5e47cb38"' + repoLastModified: Thu, 26 Sep 2024 11:24:11 GMT foundInMaster: true category: Server Implementations id: 520f5c66c3e42a7b3fbface4f156c1dc @@ -7904,17 +7904,17 @@ A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML created: '2021-01-26T02:53:57Z' - updated: '2024-09-25T11:27:28Z' + updated: '2024-09-26T16:46:32Z' language: Python archived: false - stars: 2271 + stars: 2275 watchers: 19 forks: 67 owner: jcrist logo: https://avatars.githubusercontent.com/u/2783717?v=4 license: BSD-3-Clause - repoEtag: '"bf5952e80736d97a2403ee999ea08f7c27dc1a8610609d85b23bd7f150847f51"' - repoLastModified: Wed, 25 Sep 2024 11:27:28 GMT + repoEtag: '"f4430b596f2690d9fc47909defced63f109191f89102c6d49f9d5efbb4d3fec9"' + repoLastModified: Thu, 26 Sep 2024 16:46:32 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -7937,17 +7937,17 @@ repositoryId: 203157084 description: Supercharge your API testing, catch bugs, and ensure compliance created: '2019-08-19T11:13:01Z' - updated: '2024-09-25T19:39:27Z' + updated: '2024-09-26T21:43:12Z' language: Python archived: false - stars: 2240 + stars: 2242 watchers: 21 forks: 157 owner: schemathesis logo: https://avatars.githubusercontent.com/u/70383271?v=4 license: MIT - repoEtag: '"17355fcef0a1dfb1cc90bc61529b58b297a94813a378fc925f446e777e85d9b9"' - repoLastModified: Wed, 25 Sep 2024 19:39:27 GMT + repoEtag: '"55fa26e9d36f671d243a78947d98425ce6e1ac1e3e85209c5050cf1182b7b011"' + repoLastModified: Thu, 26 Sep 2024 21:43:12 GMT foundInMaster: true id: f4032fb371a703acffa691c0f1239d45 oldLocations: @@ -7965,17 +7965,17 @@ A compiler for APIs described by the OpenAPI Specification with plugins for code generation and other API support tasks. created: '2016-11-15T19:21:53Z' - updated: '2024-09-24T10:07:23Z' + updated: '2024-09-26T07:38:19Z' language: Go archived: false - stars: 2078 + stars: 2079 watchers: 38 - forks: 245 + forks: 246 owner: google logo: https://avatars.githubusercontent.com/u/1342004?v=4 license: Apache-2.0 - repoEtag: '"04d6f609d39ff2f0b27842da4e7844b21ff67ceabec82cfef1deaa0301d5e958"' - repoLastModified: Tue, 24 Sep 2024 10:07:23 GMT + repoEtag: '"050de4b5263aee03b7467c197641e91aabfdfb88d3de55ad0d36f4ea85d0c1f4"' + repoLastModified: Thu, 26 Sep 2024 07:38:19 GMT foundInMaster: true category: Converters id: 46e070512676eb0fd196ee199e6a0b34 @@ -7992,7 +7992,7 @@ repositoryId: 165951750 description: RapiDoc -WebComponent for OpenAPI Spec created: '2019-01-16T01:29:58Z' - updated: '2024-09-26T00:44:49Z' + updated: '2024-09-27T00:34:15Z' language: JavaScript archived: false stars: 1648 @@ -8001,8 +8001,8 @@ owner: rapi-doc logo: https://avatars.githubusercontent.com/u/104180085?v=4 license: MIT - repoEtag: '"2d0c3abaf0910b429775b61b8c2c75c957cf3b307bb3e15bac182e94c6f3eeb0"' - repoLastModified: Thu, 26 Sep 2024 00:44:49 GMT + repoEtag: '"2c79d36c3a610c0f41b8deeb3b8145e0f8a11bac97549a2a1734eafe9d8f6e72"' + repoLastModified: Fri, 27 Sep 2024 00:34:15 GMT foundInMaster: true category: - Documentation @@ -8023,17 +8023,17 @@ A node package wrapper for https://github.com/OpenAPITools/openapi-generator created: '2018-10-26T10:21:23Z' - updated: '2024-09-26T02:44:59Z' + updated: '2024-09-26T12:55:18Z' language: TypeScript archived: false - stars: 1419 + stars: 1420 watchers: 18 forks: 143 owner: OpenAPITools logo: https://avatars.githubusercontent.com/u/37325267?v=4 license: Apache-2.0 - repoEtag: '"a78687b1e6869b7673cb7e4477bce90035fe10ed7eefae9828adff7faf8c4b04"' - repoLastModified: Thu, 26 Sep 2024 02:44:59 GMT + repoEtag: '"ed3960248406d8043f1d38b5ee77b41446821918f547c913a82b1ab219f75e03"' + repoLastModified: Thu, 26 Sep 2024 12:55:18 GMT foundInMaster: true category: - Code Generators @@ -8082,17 +8082,17 @@ repositoryId: 372032505 description: OpenAPI v3 code generator for go created: '2021-05-29T17:25:48Z' - updated: '2024-09-25T18:41:38Z' + updated: '2024-09-26T16:26:38Z' language: Go archived: false - stars: 1316 + stars: 1320 watchers: 16 forks: 75 owner: ogen-go logo: https://avatars.githubusercontent.com/u/85122432?v=4 license: Apache-2.0 - repoEtag: '"9ab29e7309d0b5b92db260f19b180dcf0e0e3364e9d19a4feacb177a3f2767c9"' - repoLastModified: Wed, 25 Sep 2024 18:41:38 GMT + repoEtag: '"e6e032ef136a6069d66b6be4590ce3a0ce9b7f67aad75b2ea6b8ec75f8caf668"' + repoLastModified: Thu, 26 Sep 2024 16:26:38 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -8134,17 +8134,17 @@ repositoryId: 329190167 description: A lightweight Python web API framework. created: '2021-01-13T04:08:48Z' - updated: '2024-09-25T13:28:05Z' + updated: '2024-09-26T06:39:40Z' language: Python archived: false - stars: 1020 + stars: 1021 watchers: 21 forks: 126 owner: apiflask logo: https://avatars.githubusercontent.com/u/78075725?v=4 license: MIT - repoEtag: '"aa6d2da658f1ee88dd5eadd8974ace5df2c85955f7daab6ce7ee13fb8faab56c"' - repoLastModified: Wed, 25 Sep 2024 13:28:05 GMT + repoEtag: '"6019570a3d02afedd6e3f88b1b5ccda667cbb7a6cd2ae27b60186ef5e6b5f4fa"' + repoLastModified: Thu, 26 Sep 2024 06:39:40 GMT category: Server Implementations foundInMaster: true oldLocations: @@ -8161,17 +8161,17 @@ repositoryId: 481579846 description: A library that generates OpenAPI (Swagger) docs from Zod schemas created: '2022-04-14T11:32:57Z' - updated: '2024-09-25T09:53:24Z' + updated: '2024-09-27T01:37:54Z' language: TypeScript archived: false - stars: 910 + stars: 912 watchers: 10 - forks: 57 + forks: 58 owner: asteasolutions logo: https://avatars.githubusercontent.com/u/5244095?v=4 license: MIT - repoEtag: '"f7f102346f97b0153ffacdfbcbfe729b1cd65ee5fd4cdb25f3a1bf4a8ab1ae05"' - repoLastModified: Wed, 25 Sep 2024 09:53:24 GMT + repoEtag: '"421d5035f44bbbf1672791dbec0d6b0f643b6b39fdbee8ca8b568cc6ea4cdc86"' + repoLastModified: Fri, 27 Sep 2024 01:37:54 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -8239,17 +8239,17 @@ repositoryId: 113924383 description: Utility for comparing two OpenAPI specifications. created: '2017-12-12T00:39:30Z' - updated: '2024-09-25T16:43:52Z' + updated: '2024-09-26T08:29:50Z' language: Java archived: false - stars: 806 + stars: 807 watchers: 20 forks: 153 owner: OpenAPITools logo: https://avatars.githubusercontent.com/u/37325267?v=4 license: Apache-2.0 - repoEtag: '"d19ddc683229d201adce461a112fddcd8d2422a41c3c645fb050da58ad9338a9"' - repoLastModified: Wed, 25 Sep 2024 16:43:52 GMT + repoEtag: '"33f967485d6b193da46a511cfc37e8330a727798bbf23136fdc8f907743d4fa0"' + repoLastModified: Thu, 26 Sep 2024 08:29:50 GMT foundInMaster: true category: Parsers id: c128907e9d949a67c1bda0e0ceda755a @@ -8337,17 +8337,17 @@ A collection of Editors, Linters, Parsers, Code Generators, Documentation, Testing created: '2017-12-15T22:51:00Z' - updated: '2024-09-25T02:14:42Z' + updated: '2024-09-26T19:29:30Z' language: HTML archived: false - stars: 672 + stars: 673 watchers: 30 forks: 320 owner: apisyouwonthate logo: https://avatars.githubusercontent.com/u/35378327?v=4 license: MIT - repoEtag: '"48dde1b968ecfdb9d739e0e1bc2c6bb3a74ad66c277b614be0f48b5b773e1e33"' - repoLastModified: Wed, 25 Sep 2024 02:14:42 GMT + repoEtag: '"f1de0652d5ed2c7f55cd97ccfd1110ae32c7f6f0246a7575a0939d8a2b5ea7da"' + repoLastModified: Thu, 26 Sep 2024 19:29:30 GMT foundInMaster: true category: Description Validators id: bf8b6a3a6298d701eabc857d42d5c371 @@ -8427,17 +8427,17 @@ 😎 A list of awesome projects related to OpenAPI 3.0.x, curated by the community created: '2017-03-02T19:31:41Z' - updated: '2024-09-12T00:15:42Z' + updated: '2024-09-26T09:20:42Z' language: JavaScript archived: false - stars: 623 + stars: 624 watchers: 35 forks: 53 owner: APIs-guru logo: https://avatars.githubusercontent.com/u/10975548?v=4 license: BSD-3-Clause - repoEtag: '"c82ee5019bdbbb64788f675a95adad99020008265ea010efc7043fb0f9fee20f"' - repoLastModified: Thu, 12 Sep 2024 00:15:42 GMT + repoEtag: '"7714faae0cbd3c09b3e0058b59a151f1bb317088f22e5448404a948a7c91f41c"' + repoLastModified: Thu, 26 Sep 2024 09:20:42 GMT foundInMaster: true category: Parsers id: 64d4029fd6b82879b746263cac7ce274 @@ -8537,7 +8537,7 @@ forks: 78 owner: oazapfts logo: https://avatars.githubusercontent.com/u/119607625?v=4 - repoEtag: '"e811392ee14a45dbd3774ea1bda3b1eea4ed3962b8975cf4b18489e37b79baa7"' + repoEtag: '"a2d41c0cd92ddbaec6875d572842a856ef2c8bb537c7a0b1b456dcec4cc45488"' repoLastModified: Wed, 25 Sep 2024 14:26:46 GMT category: Parsers foundInMaster: true @@ -8579,17 +8579,17 @@ repositoryId: 145602302 description: OpenAPI mock server with random data generation created: '2018-08-21T18:16:27Z' - updated: '2024-09-01T16:47:44Z' + updated: '2024-09-26T19:34:58Z' language: Go archived: false - stars: 487 + stars: 488 watchers: 9 forks: 55 owner: muonsoft logo: https://avatars.githubusercontent.com/u/32521718?v=4 license: MIT - repoEtag: '"d38c1227b46d375a97c08e9bcc5f278d12f1226ab56e69b2713337e981a3e5c2"' - repoLastModified: Sun, 01 Sep 2024 16:47:44 GMT + repoEtag: '"7a797723a9f6a19639444f26bd28ede454ae18f41082aed8b91568a416fc963b"' + repoLastModified: Thu, 26 Sep 2024 19:34:58 GMT foundInMaster: true category: - Description Validators @@ -8644,11 +8644,11 @@ archived: false stars: 455 watchers: 5 - forks: 63 + forks: 64 owner: swagger-autogen logo: https://avatars.githubusercontent.com/u/137681762?v=4 license: MIT - repoEtag: '"deca0b8cf0e39de506b82ce5141c3620c30b9d3be3fd4d9fbfbba2b25dc3314d"' + repoEtag: '"6b45df717a096dd64fdba20e9dfcdbaa36ada2b080ddd467e290a1a75c37fbfa"' repoLastModified: Tue, 24 Sep 2024 07:09:56 GMT category: Parsers foundInMaster: true @@ -8781,7 +8781,7 @@ owner: endpoints4s logo: https://avatars.githubusercontent.com/u/67427463?v=4 license: MIT - repoEtag: '"7f6a49d603109659c64c505a2f669c7f977de9598422fcad46df785453fc2147"' + repoEtag: '"fefcfbc30262c43d9352a1fbee5e7d83f37f1109b3989d15b818aeb9882e8623"' repoLastModified: Mon, 23 Sep 2024 05:35:58 GMT category: Parsers foundInMaster: true @@ -8821,17 +8821,17 @@ repositoryId: 239108172 description: 📘 Multi-file boilerplate for Open API Specification created: '2020-02-08T10:23:15Z' - updated: '2024-09-21T16:22:44Z' + updated: '2024-09-26T13:45:56Z' language: Shell archived: false - stars: 378 + stars: 379 watchers: 7 - forks: 86 + forks: 87 owner: dgarcia360 logo: https://avatars.githubusercontent.com/u/9107969?v=4 license: NOASSERTION - repoEtag: '"0c84b87d9ddbcbe2fc67270037e3e4fb183670233b89523ff2b238f4d9186cc5"' - repoLastModified: Sat, 21 Sep 2024 16:22:44 GMT + repoEtag: '"ae3b4d33a8f4d4511d48971610e71864bc9cbb7188e0bc127070a574ae72586d"' + repoLastModified: Thu, 26 Sep 2024 13:45:56 GMT foundInMaster: true category: - Description Validators @@ -8849,17 +8849,17 @@ repositoryId: 479982630 description: Clean Architecture Example using FastAPI framework created: '2022-04-10T10:23:51Z' - updated: '2024-09-25T02:51:56Z' + updated: '2024-09-26T16:49:13Z' language: Python archived: false - stars: 371 + stars: 372 watchers: 4 forks: 53 owner: 0xTheProDev logo: https://avatars.githubusercontent.com/u/14367736?v=4 license: MIT - repoEtag: '"1d34bff9dff46849cf08810ade1f646b56c16a6b5e3c936edcfa66395e77f02c"' - repoLastModified: Wed, 25 Sep 2024 02:51:56 GMT + repoEtag: '"57ac5a816688ecacefd9a0621308fac0be5c8d0fe5af984b0d5d5cb1fdf446b5"' + repoLastModified: Thu, 26 Sep 2024 16:49:13 GMT category: Server Implementations foundInMaster: true oldLocations: @@ -9168,7 +9168,7 @@ Esmerald framework - Highly scalable, performant, easy to learn, easy to code and for every sizeable and complex application created: '2022-10-18T11:50:26Z' - updated: '2024-09-25T10:19:41Z' + updated: '2024-09-26T14:04:36Z' language: Python archived: false stars: 294 @@ -9177,8 +9177,8 @@ owner: dymmond logo: https://avatars.githubusercontent.com/u/65982469?v=4 license: MIT - repoEtag: '"0826e8a54f1bf83061a0b3df219f3df439c4ac97d62998177dcc51ec6898650d"' - repoLastModified: Wed, 25 Sep 2024 10:19:41 GMT + repoEtag: '"e9598043d984263039af9774608e414c46a114a9d6c9a5613a7ed3365e90645e"' + repoLastModified: Thu, 26 Sep 2024 14:04:36 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -9303,17 +9303,17 @@ repositoryId: 232207964 description: OpenAPI structures for Go created: '2020-01-07T00:07:41Z' - updated: '2024-09-21T19:20:42Z' + updated: '2024-09-26T19:27:08Z' language: Go archived: false - stars: 247 + stars: 248 watchers: 4 forks: 23 owner: swaggest logo: https://avatars.githubusercontent.com/u/19609628?v=4 license: MIT - repoEtag: '"8060a0ec1da1741fb9c64ffce6c3fe657d0418b0890480203aeca1b6302087da"' - repoLastModified: Sat, 21 Sep 2024 19:20:42 GMT + repoEtag: '"582bb25d9bdf9f7f1d1ff5f69d2947ebe3d56f10ea96037b5356b6e8f75c761b"' + repoLastModified: Thu, 26 Sep 2024 19:27:08 GMT foundInMaster: true id: 042e78fafa5f6cb0dbca01c64778ab3f - source: openapi3 tags @@ -9336,7 +9336,7 @@ owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"960838fb7856a675b2dea02fe9e28467aa3c49ec72acad66be6720489d80a3ab"' + repoEtag: '"b8c0c486b99d65fd7f329df99ecaea3f6c1f509d16ad34156a2d49eed0e8a71e"' repoLastModified: Wed, 25 Sep 2024 02:49:36 GMT foundInMaster: true category: @@ -9359,17 +9359,17 @@ "getting started" sections into slideshow for your workshops. Manage multiple documentations with self-deployed znai hub. created: '2016-12-16T16:42:12Z' - updated: '2024-09-25T10:46:02Z' + updated: '2024-09-26T09:37:18Z' language: Java archived: false - stars: 246 + stars: 248 watchers: 11 forks: 13 owner: testingisdocumenting logo: https://avatars.githubusercontent.com/u/54154955?v=4 license: Apache-2.0 - repoEtag: '"33bf95ac48be94f101796b11913d554dbc06b71e54437264e675a506569ef6d3"' - repoLastModified: Wed, 25 Sep 2024 10:46:02 GMT + repoEtag: '"f6d40b7d343c026606c280599688bed8aa846bce4c070a48c6992d4f33f2399b"' + repoLastModified: Thu, 26 Sep 2024 09:37:18 GMT foundInMaster: true category: Documentation id: e96c15d0478cd8c861932cf44e659757 @@ -9489,17 +9489,17 @@ repositoryId: 32223373 description: A model-based test case generator created: '2015-03-14T17:22:38Z' - updated: '2024-09-15T01:19:26Z' + updated: '2024-09-26T17:27:56Z' language: Java archived: false - stars: 217 + stars: 218 watchers: 20 forks: 53 owner: Cornutum logo: https://avatars.githubusercontent.com/u/11477145?v=4 license: MIT - repoEtag: '"5830883b5647b431645d510c02afa64a545071cfc47647ea5a560c526d8450e3"' - repoLastModified: Sun, 15 Sep 2024 01:19:26 GMT + repoEtag: '"40a77919a7097e1315eca5559ef94db3eee622c723287eb53b61d30e94d3abf9"' + repoLastModified: Thu, 26 Sep 2024 17:27:56 GMT foundInMaster: true category: Testing id: 0843a8b0533f5128a9b0e3cf353e82cd @@ -9544,11 +9544,11 @@ archived: false stars: 216 watchers: 6 - forks: 34 + forks: 35 owner: epiphone logo: https://avatars.githubusercontent.com/u/1923531?v=4 license: MIT - repoEtag: '"683d3abee8def5ef5550c54b9311f0aede707c0e5c9d9a8ee7b41b7df6a4910e"' + repoEtag: '"6e9e54c8fdd1aae8754f9c75b979dd1b7817f04268687c7f431f600ab4f2a85a"' repoLastModified: Wed, 25 Sep 2024 16:16:42 GMT foundInMaster: true category: @@ -9849,17 +9849,17 @@ repositoryId: 673944158 description: This repository contains the specification files for PayPal REST APIs. created: '2023-08-02T19:26:26Z' - updated: '2024-09-25T21:48:22Z' + updated: '2024-09-26T12:22:08Z' language: null archived: false - stars: 188 + stars: 190 watchers: 21 forks: 130 owner: paypal logo: https://avatars.githubusercontent.com/u/476675?v=4 license: Apache-2.0 - repoEtag: '"3623583deca06df66b45e9c1aff4cbd0fab4f3826a6c70d21f6e6516dbf3ed35"' - repoLastModified: Wed, 25 Sep 2024 21:48:22 GMT + repoEtag: '"79d224b2e7df1551b9cbab5f619ec5028a517d8efb97f7746191b581a53e007b"' + repoLastModified: Thu, 26 Sep 2024 12:22:08 GMT category: Code Generators foundInMaster: true - source: openapi3 tags @@ -9928,17 +9928,17 @@ A tool for generating Refit interfaces and contracts from OpenAPI specifications created: '2023-02-07T23:18:12Z' - updated: '2024-09-25T10:06:20Z' + updated: '2024-09-26T19:44:30Z' language: C# archived: false - stars: 183 + stars: 184 watchers: 6 forks: 40 owner: christianhelle logo: https://avatars.githubusercontent.com/u/710400?v=4 license: MIT - repoEtag: '"4f1e4094bd1503ddbed90ea5db72ed017ac1ee0a9ee13b30f11ea6dbd5ecc871"' - repoLastModified: Wed, 25 Sep 2024 10:06:20 GMT + repoEtag: '"8a69051acef61ffeb08da2338dc1f7fb6b61184b13ffb9bb5c0958f6b8dcebce"' + repoLastModified: Thu, 26 Sep 2024 19:44:30 GMT category: Parsers foundInMaster: true - source: @@ -9985,7 +9985,7 @@ repositoryId: 543052826 description: Speakeasy CLI - Enterprise developer experience for your API created: '2022-09-29T10:13:15Z' - updated: '2024-09-25T10:56:26Z' + updated: '2024-09-26T18:18:05Z' language: JavaScript archived: false stars: 181 @@ -9994,8 +9994,8 @@ owner: speakeasy-api logo: https://avatars.githubusercontent.com/u/91446104?v=4 license: NOASSERTION - repoEtag: '"acb2d8dd5c72a83782e5107cca1bff51e7b1dd310bc5f38f3ba3ba60b0b35b94"' - repoLastModified: Wed, 25 Sep 2024 10:56:26 GMT + repoEtag: '"32614f6648e9d3a4289826bb7bac7794756ad1d364820f414dc8911de966af1c"' + repoLastModified: Thu, 26 Sep 2024 18:18:05 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -10039,7 +10039,7 @@ A collection of Visual Studio custom tool code generators for Swagger / OpenAPI specification files created: '2019-01-17T12:58:50Z' - updated: '2024-09-23T09:03:04Z' + updated: '2024-09-26T08:27:43Z' language: C# archived: false stars: 177 @@ -10048,8 +10048,8 @@ owner: christianhelle logo: https://avatars.githubusercontent.com/u/710400?v=4 license: GPL-3.0 - repoEtag: '"dde8d3499c9589a266d62bbfd1f41ed59a8f7165a361b290f254c9d13cf10333"' - repoLastModified: Mon, 23 Sep 2024 09:03:04 GMT + repoEtag: '"3ac20645daa19651705998c167b6dd5d18642887e63ee5f05e9a38a5e08aee2e"' + repoLastModified: Thu, 26 Sep 2024 08:27:43 GMT category: SDK foundInMaster: true - source: openapi3 tags @@ -10072,7 +10072,7 @@ owner: pace logo: https://avatars.githubusercontent.com/u/16001479?v=4 license: MIT - repoEtag: '"541f28dea04652be43f0494e852b02323bbbaa0ea4816ec11eadd92fc4133ffe"' + repoEtag: '"3eb0b5fc0ba6c4e13992fa61672b31c588c135e53dca67f2170bf2ebdffe55cf"' repoLastModified: Mon, 02 Sep 2024 12:22:32 GMT foundInMaster: true category: Server @@ -10193,17 +10193,17 @@ repositoryId: 294444776 description: OpenAPI starter repository created: '2020-09-10T15:11:31Z' - updated: '2024-09-15T20:48:28Z' + updated: '2024-09-26T12:45:28Z' language: C# archived: false - stars: 153 + stars: 154 watchers: 19 forks: 115 owner: Redocly logo: https://avatars.githubusercontent.com/u/32099856?v=4 license: MIT - repoEtag: '"ab3193f78d89fe82f6f9c4af969b33a81f53e2eae4617be5761aed77705fa017"' - repoLastModified: Sun, 15 Sep 2024 20:48:28 GMT + repoEtag: '"8997d0c2e78f3e32a469103117fa3bace46ea58bc778d51563670c0ebbab6142"' + repoLastModified: Thu, 26 Sep 2024 12:45:28 GMT foundInMaster: true v3_1: true category: Parsers @@ -10247,17 +10247,17 @@ repositoryId: 122702750 description: API Management and Testing Platform created: '2018-02-24T04:23:08Z' - updated: '2024-09-25T00:56:10Z' + updated: '2024-09-26T23:06:31Z' language: Go archived: false - stars: 145 + stars: 146 watchers: 18 forks: 66 owner: deeptest-com logo: https://avatars.githubusercontent.com/u/127812389?v=4 license: GPL-3.0 - repoEtag: '"2322aa9b141bf7bb0723a581c05f3b1385367a6a8b2decfde8bd46dcbe9c509e"' - repoLastModified: Wed, 25 Sep 2024 00:56:10 GMT + repoEtag: '"cad26aea59c5c1706a91760e3c9d1656bd325a39d3e4e68ab5d6f94288294b04"' + repoLastModified: Thu, 26 Sep 2024 23:06:31 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -10375,15 +10375,15 @@ v3: true repositoryMetadata: base64Readme: >- - PCEtLSBBVFRFTlRJT04hIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRG8gbm90IGVkaXQgdGhpcyBmaWxlIGRpcmVjdGx5LgpJbnN0ZWFkLCBlZGl0IGBkYXRhLnlhbWxgIGFuZCByZS1nZW5lcmF0ZSB0aGlzIGZpbGUgYXMgcGVyIHRoZSBSRUFETUUncwppbnN0cnVjdGlvbnMgLS0+CgojIEF3ZXNvbWUgSlNPTiBTY2hlbWEgWyFbQXdlc29tZV0oaHR0cHM6Ly9jZG4ucmF3Z2l0LmNvbS9zaW5kcmVzb3JodXMvYXdlc29tZS9kNzMwNWYzOGQyOWZlZDc4ZmE4NTY1MmUzYTYzZTE1NGRkOGU4ODI5L21lZGlhL2JhZGdlLnN2ZyldKGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvYXdlc29tZSkKCls8aW1nIHNyYz0ibG9nby5zdmciIGFsaWduPSJyaWdodCIgd2lkdGg9IjEwMCI+XShodHRwczovL2pzb24tc2NoZW1hLm9yZykKClshW1BScyBXZWxjb21lXShodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL1BScy13ZWxjb21lLWJyaWdodGdyZWVuLnN2Zz9zdHlsZT1mbGF0LXNxdWFyZSldKGh0dHA6Ly9tYWtlYXB1bGxyZXF1ZXN0LmNvbSkKWyFbSm9pbiBTbGFja10oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9TbGFjay1Kb2luJTIwU2xhY2stYmx1ZS5zdmc/c3R5bGU9ZmxhdC1zcXVhcmUpXShodHRwczovL2pzb24tc2NoZW1hLnNsYWNrLmNvbSkKWyFbT3BlbkNvbGxlY3RpdmVdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vb3BlbmNvbGxlY3RpdmUvYWxsL2pzb24tc2NoZW1hP2xhYmVsPU9wZW5Db2xsZWN0aXZlJnN0eWxlPWZsYXQtc3F1YXJlKV0oaHR0cHM6Ly9vcGVuY29sbGVjdGl2ZS5jb20vanNvbi1zY2hlbWEpCgo+IEEgY3VyYXRlZCBsaXN0IG9mIGF3ZXNvbWUgSlNPTiBTY2hlbWEgcmVzb3VyY2VzLCB0dXRvcmlhbHMsIHRvb2xzLCBhbmQgbW9yZS4KCkpTT04gU2NoZW1hIGlzIGEgSlNPTi1iYXNlZCBmb3JtYXQgdG8gYW5ub3RhdGUgYW5kIHZhbGlkYXRlIEpTT04gZG9jdW1lbnRzIHdpdGgKYSB2aWJyYW50IGNvbW11bml0eS4gSlNPTiBTY2hlbWEgaXMgZGVmaW5lZCBieSBhIHNldCBvZiBJRVRGIHNwZWNpZmljYXRpb25zIGFuZAppdCBpcyB0aGUgaW5kdXN0cnktc3RhbmRhcmQgZm9yIGRlZmluaW5nIHRoZSBzdHJ1Y3R1cmUgYW5kIG1lYW5pbmcgb2YgSlNPTgpkb2N1bWVudHMuCgotLS0KCioqV291bGQgeW91IGxpa2UgdG8gcHJvbW90ZSB5b3VyIGNvbXBhbnkgb3IgcHJvZHVjdCBoZXJlPyBbU3BvbnNvciB1cyBvbgpHaXRIdWJdKGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9zb3VyY2VtZXRhKSoqCgotLS0KCj4gWyFUSVBdCj4gRG8geW91IHdhbnQgdG8gbGV2ZWwgdXAgeW91ciBKU09OIFNjaGVtYSBza2lsbHM/IENoZWNrIG91dAo+IFtsZWFybmpzb25zY2hlbWEuY29tXShodHRwczovL3d3dy5sZWFybmpzb25zY2hlbWEuY29tKSwgb3VyIGdyb3dpbmcgSlNPTgo+IFNjaGVtYSBkb2N1bWVudGF0aW9uIHdlYnNpdGUsIGFuZCBvdXIgTydSZWlsbHkgYm9vayBbVW5pZnlpbmcgQnVzaW5lc3MsIERhdGEsCj4gYW5kIENvZGU6IERlc2lnbmluZyBEYXRhIFByb2R1Y3RzIHdpdGggSlNPTgo+IFNjaGVtYV0oaHR0cHM6Ly93d3cub3JlaWxseS5jb20vbGlicmFyeS92aWV3L3VuaWZ5aW5nLWJ1c2luZXNzLWRhdGEvOTc4MTA5ODE0NDk5OS8pLgoKIyMgQ29udGVudHMKCi0gW09mZmljaWFsXSgjb2ZmaWNpYWwpCi0gW0dldHRpbmcgU3RhcnRlZF0oI2dldHRpbmctc3RhcnRlZCkKLSBbVm9jYWJ1bGFyaWVzXSgjdm9jYWJ1bGFyaWVzKQotIFtSZWdpc3RyaWVzXSgjcmVnaXN0cmllcykKLSBbQWRvcHRpb25dKCNhZG9wdGlvbikKLSBbQXJ0aWNsZXNdKCNhcnRpY2xlcykKLSBbU3BlY2lmaWNhdGlvbnNdKCNzcGVjaWZpY2F0aW9ucykKLSBbQm9va3NdKCNib29rcykKLSBbQ291cnNlc10oI2NvdXJzZXMpCi0gW1ZpZGVvc10oI3ZpZGVvcykKLSBbUG9kY2FzdHNdKCNwb2RjYXN0cykKLSBbUGFwZXJzXSgjcGFwZXJzKQotIFtUb29sc10oI3Rvb2xzKQotIFtMaWJyYXJpZXNdKCNsaWJyYXJpZXMpCgojIyBPZmZpY2lhbAoKLSBbR2l0SHViXShodHRwczovL2dpdGh1Yi5jb20vanNvbi1zY2hlbWEtb3JnP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBvZmZpY2lhbCBHaXRIdWIgb3JnYW5pemF0aW9uIG9mIHRoZSBKU09OIFNjaGVtYSBwcm9qZWN0LgotIFtHaXRIdWIgRGlzY3Vzc2lvbnNdKGh0dHBzOi8vZ2l0aHViLmNvbS9qc29uLXNjaGVtYS1vcmcvY29tbXVuaXR5L2Rpc2N1c3Npb25zP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBkaXNjdXNzaW9ucyBwYWdlIG9mIEpTT04gU2NoZW1hLgotIFtTbGFja10oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvc2xhY2s/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIG9mZmljaWFsIFNsYWNrIHdvcmtzcGFjZSBvZiBKU09OIFNjaGVtYS4KLSBbU3RhY2sgT3ZlcmZsb3ddKGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zL3RhZ2dlZC9qc29uc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBKU09OIFNjaGVtYSB0YWcgaW4gU3RhY2sgT3ZlcmZsb3cuCi0gW1Rlc3QgU3VpdGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9qc29uLXNjaGVtYS1vcmcvSlNPTi1TY2hlbWEtVGVzdC1TdWl0ZT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgb2ZmaWNpYWwgdGVzdCBzdWl0ZSBmb3IgSlNPTiBTY2hlbWEgaW1wbGVtZW50YXRpb25zLgotIFtUd2l0dGVyXShodHRwczovL3R3aXR0ZXIuY29tL2pzb25zY2hlbWE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIFR3aXR0ZXIgYWNjb3VudCBvZiB0aGUgSlNPTiBTY2hlbWEgcHJvamVjdC4KLSBbWW91VHViZV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3JsM2ZqbUhTcDZGaEpVS2NFSmhpc0E/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIEpTT04gU2NoZW1hIG9mZmljaWFsIFlvdVR1YmUgY2hhbm5lbC4KCiMjIEdldHRpbmcgU3RhcnRlZAoKLSAoMjAyMikgW1lBTUwgRGF0YSBWYWxpZGF0aW9uXShodHRwczovL2luZnJhc3RydWN0dXJlYXNjb2RlLmNoL3lhbWxfdmFsaWRhdGlvbi5odG1sP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgdHV0b3JpYWwgb24gdmFsaWRhdGluZyBZQU1MIGRvY3VtZW50cyB1c2luZyBKU09OIFNjaGVtYSAyMDIwLTEyLgotICgyMDIyKSBbVmFsaWRhdGluZyBQT1NUIERhdGEgQWdhaW5zdCBKU09OIFNjaGVtYV0oaHR0cHM6Ly9ibG9nLmJlZ2luLmNvbS9wb3N0cy8yMDIyLTA2LTI3LXZhbGlkYXRpbmctcG9zdC1kYXRhLWFnYWlzdC1qc29uLXNjaGVtYT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIHR1dG9yaWFsIG9uIHZhbGlkYXRpbmcgSFRUUCByZXF1ZXN0IGRhdGEgdXNpbmcgSlNPTiBTY2hlbWEgdXNpbmcgdGhlIEFyY2hpdGVjdCBGdW5jdGlvbmFsIFdlYiBBcHBzIChGV0FzKSBmcmFtZXdvcmsuCi0gKDIwMjIpIFtSZWFjdCBKU09OIFNjaGVtYSBGb3JtXShodHRwczovL21lZGl1bS5jb20vamF2YXJldmlzaXRlZC9yZWFjdC1qc29uLXNjaGVtYS1mb3JtLWNkYzhmYmIwNmY4Yz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIHR1dG9yaWFsIG9uIHVzaW5nIHRoZSBSZWFjdCBKU09OIFNjaGVtYSBGb3JtIHByb2plY3QgYnkgTW96aWxsYSB0byBnZW5lcmF0ZSB3ZWIgZm9ybXMgdXNpbmcgSlNPTiBTY2hlbWEuCi0gKDIwMjIpIFtKU09OIFNjaGVtYSB2YWxpZGF0aW9uIGZvciBjb2x1bW5zXShodHRwczovL3NxbGZvcmRldnMuY29tL2pzb24tc2NoZW1hLXZhbGlkYXRpb24/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBzaG9ydCB0dXRvcmlhbCBvbiBhZGRpbmcgTXlTUUwgYW5kIFBvc3RncmVTUUwgdGFibGUgY29uc3RyYWludHMgdXNpbmcgSlNPTiBTY2hlbWEuCi0gKDIwMjIpIFtFYXN5IGFuZCBRdWljayBGb3JtIEdlbmVyYXRpb24gVXNpbmcgSlNPTiBTY2hlbWEgaW4gVnVlSlNdKGh0dHBzOi8vd3d3LmJhY2FuY3l0ZWNobm9sb2d5LmNvbS9ibG9nL2Zvcm0tZ2VuZXJhdGlvbi11c2luZy1qc29uLXNjaGVtYS1pbi12dWVqcz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIHR1dG9yaWFsIG9uIGdlbmVyYXRpbmcgd2ViIGZvcm1zIHVzaW5nIEpTT04gU2NoZW1hIGFuZCBWdWVKUy4KLSAoMjAyMikgW0NyZWF0aW5nIGEgSlNPTiBzY2hlbWFdKGh0dHBzOi8vcHVibGlzaGluZy1wcm9qZWN0LnJpdmVuZGVsbHdlYi5uZXQvY3JlYXRpbmctYS1qc29uLXNjaGVtYS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSB0dXRvcmlhbCBvbiBjcmVhdGluZyBKU09OIFNjaGVtYSAyMDIwLTEyIGRlZmluaXRpb25zIGZvciBhIGZpY3RpdGlvdXMgaW50ZXJ2aWV3aW5nIHBsYXRmb3JtLgotICgyMDIxKSBbVW5kZXJzdGFuZGluZyBKU09OIFNjaGVtYV0oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvdW5kZXJzdGFuZGluZy1qc29uLXNjaGVtYS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gaW4tZGVwdGggZ3VpZGUgdG8gSlNPTiBTY2hlbWEuCi0gKDIwMjEpIFtKU09OIFNjaGVtYTogR2V0dGluZyBTdGFydGVkIFN0ZXAtQnktU3RlcF0oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvbGVhcm4vZ2V0dGluZy1zdGFydGVkLXN0ZXAtYnktc3RlcC5odG1sP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgY29tcHJlaGVuc2l2ZSBpbnRyb2R1Y3Rpb24gdG8gSlNPTiBTY2hlbWEuCi0gKDIwMjEpIFtJbnRyb2R1Y3Rpb24gdG8gSlNPTiBTY2hlbWEgaW4gSmF2YV0oaHR0cHM6Ly93d3cuYmFlbGR1bmcuY29tL2ludHJvZHVjdGlvbi10by1qc29uLXNjaGVtYS1pbi1qYXZhP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgc2hvcnQgaW50cm9kdWN0aW9uIHRvIHZhbGlkYXRpbmcgSlNPTiBkb2N1bWVudHMgd2l0aCBKU09OIFNjaGVtYSBpbiBKYXZhLgotICgyMDIwKSBbVmFsaWRhdGluZyBhbmQgZG9jdW1lbnRpbmcgSlNPTiB3aXRoIEpTT04gU2NoZW1hXShodHRwczovL3d3dy5tc2NoYXJoYWcuY29tL2FwaS1kZXNpZ24vanNvbi1zY2hlbWE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gaW50cm9kdWN0aW9uIHRvIEpTT04gU2NoZW1hIGJ5IGV4YW1wbGUgYnkgc2hvd2luZyBhbiBhbm5vdGF0ZWQgSlNPTiBTY2hlbWEgdGhhdCB2YWxpZGF0ZXMgYW4gZXhhbXBsZSBkb2N1bWVudC4KLSAoMjAyMCkgW0pTT04gU2NoZW1hIFR1dG9yaWFsXShodHRwczovL3d3dy53M3Jlc291cmNlLmNvbS9KU09OL0pTT04tU2NoZW1hLnBocD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIHR1dG9yaWFsIG9mIEpTT04gU2NoZW1hIHRoYXQgZGlzY3Vzc2VzIHZhbGlkYXRpb24sIGRvY3VtZW50YXRpb24gYW5kIGh5cGVybGlua2luZy4KLSAoMjAyMCkgW0hvdyB0byBJbnRlZ3JhdGUgJnF1b3Q7UmVhY3QgSlNPTiBTY2hlbWEgRm9ybSZxdW90OyBpbnRvIGEgUmVkdXggYW5kIFR5cGVzY3JpcHQgUHJvamVjdF0oaHR0cHM6Ly93d3cueHRpdmlhLmNvbS9ibG9nL2hvdy10by1pbnRlZ3JhdGUtcmVhY3QtanNvbi1zY2hlbWEtZm9ybS1pbnRvLWEtcmVkdXgtYW5kLXR5cGVzY3JpcHQtcHJvamVjdC8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQWRkaW5nIGEgZm9ybSB1c2luZyAmcXVvdDtSZWFjdCBKU09OIFNjaGVtYSBGb3JtJnF1b3Q7IGFuZCBpbnRlZ3JhdGluZyBpdCB3aXRoIFJlZHV4IGFuZCBUeXBlc2NyaXB0LgotICgyMDIwKSBbQW4gaW50cm9kdWN0aW9uIHRvIEpTT04gU2NoZW1hXShodHRwczovL21lZGl1bS5jb20vc3dsaC9hbi1pbnRyb2R1Y3Rpb24tdG8tanNvbi1zY2hlbWEtOGVhZWE2NDNmY2RhP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIGludHJvZHVjdGlvbiB0byBKU09OIFNjaGVtYSBjb3ZlcmluZyBpdHMgaGlzdG9yeSwgY29tbW9uIGtleXdvcmRzIGFuZCBob3cgdG8gdXNlIHRoZSBBSlYgdmFsaWRhdG9yLgotICgyMDE5KSBbUkVTVCBBUEkgVHV0b3JpYWw6IEpTT04gU2NoZW1hXShodHRwczovL3Jlc3RmdWxhcGkubmV0L2pzb24tc2NoZW1hLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBbiBzaG9ydCBpbnRyb2R1Y3Rpb24gdG8gSlNPTiBTY2hlbWEgdmFsaWRhdGlvbi4KLSAoMjAxOSkgW1BIUCBXaXRoIE15U1FMXShodHRwczovL2VsZXBoYW50ZG9scGhpbi5ibG9nc3BvdC5jb20vMjAxOS8wNy9qc29uLXNjaGVtYS12YWxpZGF0aW9uLXdpdGgtbXlzcWwtODAxNy5odG1sP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgcHJhY3RpY2FsIHR1dG9yaWFsIG9uIGV4cHJlc3NpbmcgSlNPTiBTY2hlbWEgdGFibGUgY29uc3RyYWludHMgb24gTXlTUUwuCi0gKDIwMTcpIFtHZXR0aW5nIHN0YXJ0ZWQgd2l0aCBKU09OIEh5cGVyLVNjaGVtYV0oaHR0cHM6Ly9hcGlzeW91d29udGhhdGUuY29tL2Jsb2cvZ2V0dGluZy1zdGFydGVkLXdpdGgtanNvbi1oeXBlci1zY2hlbWE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gaW50cm9kdWN0aW9uIHRvIHRoZSBIeXBlci1TY2hlbWEgSlNPTiBTY2hlbWEgdm9jYWJ1bGFyeS4KLSAoMjAxMykgW1R1dG9yaWFsc1BvaW50OiBKU09OIFNjaGVtYV0oaHR0cHM6Ly93d3cudHV0b3JpYWxzcG9pbnQuY29tL2pzb24vanNvbl9zY2hlbWEuaHRtP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgc2hvcnQgaW50cm9kdWN0aW9uIHRvIEpTT04gU2NoZW1hIERyYWZ0NCB2YWxpZGF0aW9uLgoKIyMgVm9jYWJ1bGFyaWVzCgotIFtBY2Nlc3NpbmcgRGF0YSBTdG9yZWQgaW4gSlNPTl0oaHR0cHM6Ly9qc29uLWV2ZXJ5dGhpbmcubmV0L2pzb24tc2NoZW1hLyNhLXZvY2FidWxhcnktZm9yLWFjY2Vzc2luZy1kYXRhLXN0b3JlZC1pbi1qc29uP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgdm9jYWJ1bGFyeSBkZWZpbmluZyBrZXl3b3JkcyB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlZmVyZW5jZSB2YWx1ZXMgc3RvcmVkIGluIHRoZSBpbnN0YW5jZSBkYXRhLCB0aGUgc2NoZW1hIGRhdGEgYW5kIGV4dGVybmFsIEpTT04gZGF0YSB3aGVyZSB0aGUgZGVyZWZlcmVuY2VkIHZhbHVlcyBzZXJ2ZSBhcyBpbnB1dCBmb3Iga2V5d29yZHMgaW4gYSBkZXJpdmVkIHN1YnNjaGVtYS4KLSBbSHlwZXItU2NoZW1hIDIwMTktMDldKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMTktMDkvdm9jYWIvaHlwZXItc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEtleXdvcmRzIHRvIGFubm90YXRlIEpTT04gZG9jdW1lbnRzIHdpdGggaHlwZXJsaW5rcy4gVGhlc2UgaHlwZXJsaW5rcyBpbmNsdWRlIGF0dHJpYnV0ZXMgZGVzY3JpYmluZyBob3cgdG8gbWFuaXB1bGF0ZSBhbmQgaW50ZXJhY3Qgd2l0aCByZW1vdGUgcmVzb3VyY2VzIHRocm91Z2ggaHlwZXJtZWRpYSBlbnZpcm9ubWVudHMgc3VjaCBhcyBIVFRQLCBhcyB3ZWxsIGFzIGRldGVybWluaW5nIHdoZXRoZXIgdGhlIGxpbmsgaXMgdXNhYmxlIGJhc2VkIG9uIHRoZSBpbnN0YW5jZSB2YWx1ZS4KLSBbSlNPTiBTY2hlbWEgMjAyMC0xMiBBcHBsaWNhdG9yXShodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3ZvY2FiL2FwcGxpY2F0b3I/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQXBwbGljYXRvciBrZXl3b3JkcyB0aGF0IGFyZSByZWNvbW1lbmRlZCBmb3IgdXNlIGFzIHRoZSBiYXNpcyBvZiBvdGhlciB2b2NhYnVsYXJpZXMuCi0gW0pTT04gU2NoZW1hIDIwMjAtMTIgQ29udGVudF0oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi92b2NhYi9jb250ZW50P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFubm90YXRpb25zIGtleXdvcmRzIHRoYXQgaW5kaWNhdGUgdGhhdCBhbiBpbnN0YW5jZSBjb250YWlucyBub24tSlNPTiBkYXRhIGVuY29kZWQgaW4gYSBKU09OIHN0cmluZy4KLSBbSlNPTiBTY2hlbWEgMjAyMC0xMiBDb3JlXShodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3ZvY2FiL2NvcmU/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gS2V5d29yZHMgdGhhdCBhcmUgZWl0aGVyIHJlcXVpcmVkIGluIG9yZGVyIHRvIHByb2Nlc3MgYW55IHNjaGVtYSBvciBtZXRhLXNjaGVtYSwgaW5jbHVkaW5nIHRob3NlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBkb2N1bWVudHMsIG9yIGV4aXN0IHRvIHJlc2VydmUga2V5d29yZHMgZm9yIHB1cnBvc2VzIHRoYXQgcmVxdWlyZSBndWFyYW50ZWVkIGludGVyb3BlcmFiaWxpdHkuCi0gW0pTT04gU2NoZW1hIDIwMjAtMTIgRm9ybWF0IEFubm90YXRpb25dKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvdm9jYWIvZm9ybWF0LWFubm90YXRpb24/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gYW5ub3RhdGlvbiBrZXl3b3JkIGRlZmluZWQgdG8gYWxsb3cgc2NoZW1hIGF1dGhvcnMgdG8gY29udmV5IHNlbWFudGljIGluZm9ybWF0aW9uIGZvciBhIGZpeGVkIHN1YnNldCBvZiB2YWx1ZXMgd2hpY2ggYXJlIGFjY3VyYXRlbHkgZGVzY3JpYmVkIGJ5IGF1dGhvcml0YXRpdmUgcmVzb3VyY2VzLgotIFtKU09OIFNjaGVtYSAyMDIwLTEyIEZvcm1hdCBBc3NlcnRpb25dKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvdm9jYWIvZm9ybWF0LWFzc2VydGlvbj91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBbiBhc3NlcnRpb24ga2V5d29yZCBkZWZpbmVkIHRvIGFsbG93IHNjaGVtYSBhdXRob3JzIHRvIGNvbnZleSBzZW1hbnRpYyBpbmZvcm1hdGlvbiBmb3IgYSBmaXhlZCBzdWJzZXQgb2YgdmFsdWVzIHdoaWNoIGFyZSBhY2N1cmF0ZWx5IGRlc2NyaWJlZCBieSBhdXRob3JpdGF0aXZlIHJlc291cmNlcy4KLSBbSlNPTiBTY2hlbWEgMjAyMC0xMiBNZXRhLURhdGFdKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvdm9jYWIvbWV0YS1kYXRhP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZXNlIGdlbmVyYWwtcHVycG9zZSBhbm5vdGF0aW9uIGtleXdvcmRzIHByb3ZpZGUgY29tbW9ubHkgdXNlZCBpbmZvcm1hdGlvbiBmb3IgZG9jdW1lbnRhdGlvbiBhbmQgdXNlciBpbnRlcmZhY2UgZGlzcGxheSBwdXJwb3Nlcy4KLSBbSlNPTiBTY2hlbWEgMjAyMC0xMiBVbmV2YWx1YXRlZF0oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi92b2NhYi91bmV2YWx1YXRlZD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBLZXl3b3JkcyB0aGF0IGVuYWJsZSBzY2hlbWEgYXV0aG9ycyB0byBhcHBseSBzdWJzY2hlbWFzIHRvIGFycmF5IGl0ZW1zIG9yIG9iamVjdCBwcm9wZXJ0aWVzIHRoYXQgaGF2ZSBub3QgYmVlbiBzdWNjZXNzZnVsbHkgZXZhbHVhdGVkIGFnYWluc3QgYW55IGR5bmFtaWMtc2NvcGUgc3Vic2NoZW1hIG9mIGFueSBhZGphY2VudCBrZXl3b3Jkcy4KLSBbSlNPTiBTY2hlbWEgMjAyMC0xMiBWYWxpZGF0aW9uXShodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3ZvY2FiL3ZhbGlkYXRpb24/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVmFsaWRhdGlvbiBrZXl3b3JkcyBpbiBhIHNjaGVtYSBpbXBvc2UgcmVxdWlyZW1lbnRzIGZvciBzdWNjZXNzZnVsIHZhbGlkYXRpb24gb2YgYW4gaW5zdGFuY2UuIFRoZXNlIGtleXdvcmRzIGFyZSBhbGwgYXNzZXJ0aW9ucyB3aXRob3V0IGFueSBhbm5vdGF0aW9uIGJlaGF2aW9yLgotIFtVbmlxdWVuZXNzIG9mIEFycmF5IEl0ZW1zXShodHRwczovL2pzb24tZXZlcnl0aGluZy5uZXQvanNvbi1zY2hlbWEvI2Etdm9jYWJ1bGFyeS1mb3ItaWRlbnRpZnlpbmctdW5pcXVlbmVzcy1vZi1hcnJheS1pdGVtcz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIHZvY2FidWxhcnkgZGVmaW5pbmcga2V5d29yZHMgdGhhdCBjYW4gYmUgdXNlZCB0byB2YWxpZGF0ZSB0aGF0IGFycmFyeSBpbnN0YW5jZXMgY29udGFpbiB1bmlxdWUgdmFsdWVzIGFzIGRldGVybWluZWQgYnkgb25lIG9yIG1vcmUgZ2l2ZW4gcGF0aHMgd2l0aGluIGVhY2ggaXRlbS4KCiMjIFJlZ2lzdHJpZXMKCi0gW0FzeW5jQVBJIFNjaGVtYXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9zcGVjLWpzb24tc2NoZW1hcz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGlzIHJlcG9zaXRvcnkgY29udGFpbnMgYWxsIHRoZSBKU09OIFNjaGVtYSBkb2N1bWVudHMgZm9yIHZhbGlkYXRpbmcgQXN5bmNBUEkgZG9jdW1lbnRzLgotIFtDb25kYSBTY2hlbWFzXShodHRwczovL2dpdGh1Yi5jb20vY29uZGEvc2NoZW1hcz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBDb25kYSBmaWxlIGZvcm1hdHMgYW5kIHNjaGVtYXMuCi0gW0ludGVsbGlnZW5jZS5BSSBTY2hlbWFzXShodHRwczovL3N0dWRpby5pbnRlbGxpZ2VuY2UuYWk/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBzY2hlbWEgcmVnaXN0cnkgYnkgSW50ZWxsaWdlbmNlLkFJLgotIFtLcmFrZW5EIFNjaGVtYXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9rcmFrZW5kL2tyYWtlbmQtc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoaXMgcmVwb3NpdG9yeSBjb250YWlucyB0aGUgc291cmNlIGNvZGUgdXNlZCB0byBwdWJsaXNoIEtyYWtlbkQmI3gyNztzIGNvbmZpZ3VyYXRpb24gc2NoZW1hcy4KLSBbT0NTRiBTY2hlbWFzXShodHRwczovL2dpdGh1Yi5jb20vb2NzZi9vY3NmLXNjaGVtYT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGlzIHJlcG9zaXRvcnkgZGVmaW5lcyB0aGUgT3BlbiBDeWJlcnNlY3VyaXR5IFNjaGVtYSBGcmFtZXdvcmsgKE9DU0YpIHNjaGVtYS4gT0NTRiBpcyBhIGZyYW1ld29yayBmb3IgY3JlYXRpbmcgc2NoZW1hcyBhbmQgaXQgYWxzbyBkZWxpdmVycyBhIGN5YmVyc2VjdXJpdHkgZXZlbnQgc2NoZW1hIGJ1aWx0IHdpdGggdGhlIGZyYW1ld29yay4KLSBbU2NoZW1hU3RvcmVdKGh0dHBzOi8vd3d3LnNjaGVtYXN0b3JlLm9yZz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgbGFyZ2VzdCBjb2xsZWN0aW9uIG9mIGluZGVwZW5kZW50IEpTT04gc2NoZW1hcyBpbiB0aGUgd29ybGQgbWVhbnQgYXMgYSB1bml2ZXJzYWwgSlNPTiBzY2hlbWEgc3RvcmUsIHdoZXJlIHNjaGVtYXMgZm9yIHBvcHVsYXIgSlNPTiBkb2N1bWVudHMgY2FuIGJlIGZvdW5kLgoKIyMgQWRvcHRpb24KCipBd2Vzb21lIHByb2R1Y3RzIGFuZCBjb21wYW5pZXMgdGhhdCBhZG9wdGVkIEpTT04gU2NoZW1hLiBEaWQgd2UgbWlzcyBhbnk/IFtMZXQKdXMKa25vdyFdKGh0dHBzOi8vZ2l0aHViLmNvbS9qdmlvdHRpL2F3ZXNvbWUtanNvbnNjaGVtYS9pc3N1ZXMvbmV3P2Fzc2lnbmVlcz0mbGFiZWxzPWFkb3B0aW9uJnRlbXBsYXRlPWNvdXJzZS5tZCZ0aXRsZT0pKgoKLSBbQWRvYmUgRXhwZXJpZW5jZSBNYW5hZ2VyXShodHRwczovL2V4cGVyaWVuY2VsZWFndWUuYWRvYmUuY29tL2RvY3MvZXhwZXJpZW5jZS1tYW5hZ2VyLTY1L2Zvcm1zL2FkYXB0aXZlLWZvcm1zLWFkdmFuY2VkLWF1dGhvcmluZy9hZGFwdGl2ZS1mb3JtLWpzb24tc2NoZW1hLWZvcm0tbW9kZWwuaHRtbD9sYW5nPWVuP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBBZG9iZSBFeHBlcmllbmNlIE1hbmFnZXIgY29udGVudCBtYW5hZ2VtZW50IHNvbHV0aW9uIGZvciBidWlsZGluZyB3ZWJzaXRlcywgbW9iaWxlIGFwcHMgYW5kIGZvcm1zIHN1cHBvcnRzIGNyZWF0aW5nIGFkYXB0YXRpdmUgZm9ybXMgdXNpbmcgSlNPTiBTY2hlbWEuCi0gW0FtYXpvbiBFdmVudEJyaWRnZSBTY2hlbWEgUmVnaXN0cnldKGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vYWJvdXQtYXdzL3doYXRzLW5ldy8yMDIwLzA5L2FtYXpvbi1ldmVudGJyaWRnZS1zY2hlbWEtcmVnaXN0cnktYW5ub3VuY2VzLXN1cHBvcnQtZm9yLWpzb24tc2NoZW1hLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBbWF6b24gRXZlbnRCcmlkZ2UgU2NoZW1hIFJlZ2lzdHJ5IGhhcyBzdXBwb3J0IGZvciBKU09OIFNjaGVtYSwgYWxsb3dpbmcgY3VzdG9tZXJzIHRvIHZhbGlkYXRlLCBhbm5vdGF0ZSwgYW5kIG1hbmlwdWxhdGUgSlNPTiBkb2N1bWVudHMgY29uZm9ybWluZyB0byBKU09OIFNjaGVtYSBEcmFmdCA0IHNwZWNpZmljYXRpb24uCi0gW0FwaWFyeV0oaHR0cHM6Ly9oZWxwLmFwaWFyeS5pby9hcGlfMTAxL2pzb24tc2NoZW1hLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBcGlhcnkmI3gyNztzIGludGVyYWN0aXZlIGRvY3VtZW50YXRpb24gaXMgYWJsZSB0byByZW5kZXIgSlNPTiBTY2hlbWEgZG9jdW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBwYXlsb2Fkcy4KLSBbQXNzZXJ0aWJsZV0oaHR0cHM6Ly9hc3NlcnRpYmxlLmNvbS9qc29uLXNjaGVtYS12YWxpZGF0aW9uP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFzc2VydGlibGUgcHJvdmlkZXMgYSBmcmVlLXRvLXVzZSBBUEkgdG8gdmFsaWRhdGUgYSBKU09OIGRvY3VtZW50IGFnYWluc3QgYSBKU09OIFNjaGVtYSBhbmQgYSBzZXJ2aWNlIHRvIHRlc3QgYW5kIG1vbml0b3Igd2ViIHNlcnZpY2VzIHVzaW5nIEpTT04gU2NoZW1hLgotIFtBeHdheSBBUEkgR2F0ZXdheV0oaHR0cHM6Ly9kb2NzLmF4d2F5LmNvbS9idW5kbGUvQVBJR2F0ZXdheV83NjJfUG9saWN5RGV2RmlsdGVyUmVmZXJlbmNlX2FsbE9TX2VuX0hUTUw1L3BhZ2UvQ29udGVudC9Qb2xpY3lEZXZUb3BpY3MvY29udGVudF9zY2hlbWFfanNvbi5odG0/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIEFQSSBHYXRld2F5IGNhbiBjaGVjayB0aGF0IEphdmFTY3JpcHQgT2JqZWN0IE5vdGF0aW9uIChKU09OKSBtZXNzYWdlcyBjb25mb3JtIHRvIHRoZSBmb3JtYXQgZXhwZWN0ZWQgYnkgYSB3ZWIgc2VydmljZSBieSB2YWxpZGF0aW5nIHJlcXVlc3RzIGFnYWluc3QgYSBzcGVjaWZpZWQgSlNPTiBzY2hlbWEuCi0gW0Nsb3VkZmxhcmVdKGh0dHBzOi8vYmxvZy5jbG91ZGZsYXJlLmNvbS9jbG91ZGZsYXJlcy1qc29uLXBvd2VyZWQtZG9jdW1lbnRhdGlvbi1nZW5lcmF0b3IvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBDbG91ZGZsYXJlIG1ha2VzIHVzZSBvZiBKU09OIFNjaGVtYSBhbmQgSHlwZXIgU2NoZW1hIHRvIGtlZXAgdHJhY2sgb2YgdGhlaXIgQVBJIGVuZHBvaW50cy4KLSBbQ2xvdWRmbGFyZSBUZXJyYWZvcm1dKGh0dHBzOi8vd3d3LmluZm9xLmNvbS9uZXdzLzIwMjEvMDQvY2xvdWRmbGFyZS10ZXJyYWZvcm0vP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBDbG91ZGZsYXJlIFRlcnJhZm9ybSBwcm92aWRlciBjb21lcyB3aXRoIGEgdG9vbCB0byBnZW5lcmF0ZSBUZXJyYWZvcm0gY29uZmlndXJhdGlvbiBmcm9tIGV4aXN0aW5nIENsb3VkZmxhcmUgcmVzb3VyY2VzIHRoYXQgdXNlcyBKU09OIFNjaGVtYSB0byBtYXAgZGF0YSBiZXR3ZWVuIGJvdGggdGVjaG5vbG9naWVzLgotIFtDb25mbHVlbnQgU2NoZW1hIFJlZ2lzdHJ5XShodHRwczovL2RvY3MuY29uZmx1ZW50LmlvL3BsYXRmb3JtL2N1cnJlbnQvc2NoZW1hLXJlZ2lzdHJ5L3NlcmRlcy1kZXZlbG9wL3NlcmRlcy1qc29uLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSlNPTiBTY2hlbWEgY2FuIGJlIGNvbmZpZ3VyZWQgd2l0aCB0aGUgQXBhY2hlIEthZmthIEphdmEgY2xpZW50IGFuZCBjb25zb2xlIHRvb2xzIHRvIGZhaWwgaWYgdGhlIHBheWxvYWQgaXMgbm90IHZhbGlkIGZvciB0aGUgZ2l2ZW4gc2NoZW1hLgotIFtDb250ZW50c3RhY2tdKGh0dHBzOi8vd3d3LmNvbnRlbnRzdGFjay5jb20vZG9jcy9kZXZlbG9wZXJzL2NyZWF0ZS1jb250ZW50LXR5cGVzL2pzb24tc2NoZW1hLWZvci1jcmVhdGluZy1hLWNvbnRlbnQtdHlwZS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIENvbnRlbnRzdGFjayBDTVMgcGxhdGZvcm0gc3VwcG9ydHMgY3JlYXRpbmcgY29udGVudCB0eXBlcyB1c2luZyBKU09OIFNjaGVtYS4KLSBbRGVjaXNpb25zXShodHRwczovL2RvY3VtZW50YXRpb24uZGVjaXNpb25zLmNvbS9kb2NzL2NyZWF0ZS10eXBlcy1qc29uLXNjaGVtYT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgRGVjaXNpb25zIHJ1bGVzLWRyaXZlbiBidXNpbmVzcyBwcm9jZXNzIGF1dG9tYXRpb24gcGxhdGZvcm0gc3VwcG9ydCB1c2luZyBKU09OIFNjaGVtYSB0byBnZW5lcmF0ZSBKU09OIGRlc2VyaWFsaXplcnMuCi0gW0RvY1NwcmluZ10oaHR0cHM6Ly9kb2NzcHJpbmcuY29tL2RvY3MvYXBpL2dldF90ZW1wbGF0ZV9zY2hlbWEuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgRG9jU3ByaW5nIHNlcnZpY2UgdG8gYXV0b21hdGljYWxseSBmaWxsIG91dCBQREYgZm9ybXMgc3VwcG9ydHMgZ2VuZXJhdGluZyBKU09OIFNjaGVtYSBkZWZpbml0aW9ucyBmb3IgdXNlci1jcmVhdGVkIHRlbXBsYXRlcy4KLSBbRHJ1cGFsIFBhdHRlcm5raXRdKGh0dHBzOi8vd3d3LmRydXBhbC5vcmcvcHJvamVjdC9wYXR0ZXJua2l0P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBEcnVwYWwgUGF0dGVybmtpdCBtb2R1bGUgdXNlcyBKU09OIFNjaGVtYSB0byBkZWZpbmUgcGF0dGVybiB0ZW1wbGF0ZXMuCi0gW0Zvcm0uaW9dKGh0dHBzOi8vd3d3LmZvcm0uaW8vYXJ0aWNsZS9hbmd1bGFyLWpzb24tc2NoZW1hLWZvcm0tYnVpbGRlcj91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgRm9ybS5pbyBvbmxpbmUgd2ViIGZvcm0gZ2VuZXJhdG9yIHN1cHBvcnRzIGdlbmVyYXRpbmcgQW5ndWxhci5qcyBmb3JtcyB1c2luZyBKU09OIFNjaGVtYS4KLSBbR2Vub21pYyBEYXRhIENvbW1vbnNdKGh0dHBzOi8vZ2RjLmNhbmNlci5nb3YvZGV2ZWxvcGVycy9nZGMtZGF0YS1tb2RlbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgR2Vub21pYyBEYXRhIENvbW1vbnMgZGF0YSBtb2RlbCBpcyBkZWZpbmVkIHVzaW5nIEpTT04gU2NoZW1hLgotIFtIYWNrb2xhZGVdKGh0dHBzOi8vaGFja29sYWRlLmNvbS9oZWxwL0pTT05TY2hlbWEuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgSGFja29sYWRlIGRhdGEgbW9kZWxsaW5nIHNlcnZpY2Ugc3VwcG9ydHMgZGVmaW5pbmcgZW50aXRpZXMgdXNpbmcgSlNPTiBTY2hlbWEuCi0gW0hlcm9rdV0oaHR0cHM6Ly9ibG9nLmhlcm9rdS5jb20vanNvbl9zY2hlbWFfZm9yX2hlcm9rdV9wbGF0Zm9ybV9hcGk/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSGVyb2t1IG1ha2VzIHVzZSBvZiBKU09OIFNjaGVtYSB0byBwdWJsaXNoIG1hY2hpbmUtcmVhZGFibGUgc2NoZW1hIGRlZmluaXRpb25zIGZvciB0aGVpciBwdWJsaWMgQVBJcy4KLSBbSHVtYW4gQ2VsbCBBdGxhc10oaHR0cHM6Ly9kYXRhLmh1bWFuY2VsbGF0bGFzLm9yZy9tZXRhZGF0YS9zdHJ1Y3R1cmU/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIG9wZW4gZGF0YSBnZW5lcmF0ZWQgYnkgdGhlIEh1bWFuIENlbGwgQXRsYXMgZGVzY3JpYmVzIG1ldGFkYXRhIHN0cnVjdHVyZSB1c2luZyBKU09OIFNjaGVtYS4KLSBbSUJNIEFwcCBDb25uZWN0XShodHRwczovL3d3dy5pYm0uY29tL2RvY3MvZW4vYXBwLWNvbm5lY3QvMTEuMC4wP3RvcGljPXNjaGVtYS1qc29uLXJlcXVpcmVtZW50cy1tZXNzYWdlLW1hcHM/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIEdyYXBoaWNhbCBEYXRhIE1hcHBpbmcgZWRpdG9yIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBhbmQgdHJhbnNmb3JtIEpTT04gbWVzc2FnZXMgd2l0aCB0aGUgZGF0YSBtb2RlbCBkZWZpbmVkIGZyb20gYSBKU09OIHNjaGVtYS4KLSBbSW5mb3JtYXRpY2FdKGh0dHBzOi8vZG9jcy5pbmZvcm1hdGljYS5jb20vZGF0YS1pbnRlZ3JhdGlvbi9iMmItZGF0YS10cmFuc2Zvcm1hdGlvbi8xMC0yLTIvdXNlci1ndWlkZS93aXphcmQtaW5wdXQtYW5kLW91dHB1dC1mb3JtYXRzL2pzb24vc2FtcGxlLWpzb24tc2NoZW1hLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIEluZm9ybWF0aWNhIGRhdGEgbWFuYWdlbWVudCBwbGF0Zm9ybSBzdXBwb3J0cyBjcmVhdGluZyBhdXRvLWdlbmVyYXRlZCBkYXRhIHByb2Nlc3NvciB0cmFuc2Zvcm1hdGlvbnMgdXNpbmcgSlNPTiBTY2hlbWEuCi0gW0pTT04gQmluUGFja10oaHR0cHM6Ly93d3cuanNvbmJpbnBhY2sub3JnP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEpTT04gQmluUGFjayB1c2VzIEpTT04gU2NoZW1hIHRvIHBlcmZvcm0gc3BhY2UtZWZmaWNpZW50IEpTT04gYmluYXJ5IHNlcmlhbGl6YXRpb24uCi0gW0pTT046QVBJXShodHRwczovL2dpdGh1Yi5jb20vanNvbi1hcGkvanNvbi1hcGkvYmxvYi9hMDI5NjM1MmI2ZWI1N2E0ZWEzZWIwOGExMzMyZTMxMWY3OGFkYWZhL3NjaGVtYT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgSlNPTjpBUEkgMS4wIGFuZCBsYXRlciBzcGVjaWZpY2F0aW9ucyBmb3IgYnVpbGRpbmcgQVBJcyBpbiBKU09OIHVzZSBKU09OIFNjaGVtYSB0byBkZWZpbmUgSlNPTjpBUEkgcmVzcG9uc2VzLgotIFtKYW1GXShodHRwczovL2RvY3MuamFtZi5jb20vdGVjaG5pY2FsLXBhcGVycy9qYW1mLXByby9qc29uLXNjaGVtYS8xMC4yNi4wL1VuZGVyc3RhbmRpbmdfdGhlX1N0cnVjdHVyZV9vZl9hX0pTT05fU2NoZW1hX01hbmlmZXN0Lmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIEphbUYgQXBwbGUgZW50ZXJwcmlzZSBtYW5hZ2VtZW50IHNlcnZpY2Ugc3VwcG9ydHMgY3JlYXRpbmcgYXBwIG1hbmlmZXN0cyB1c2luZyBKU09OIFNjaGVtYS4KLSBbSmV0QnJhaW5zXShodHRwczovL3d3dy5qZXRicmFpbnMuY29tL2hlbHAvb2JqYy9qc29uLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIHN1aXRlIG9mIEpldEJyYWlucyBwcm9ncmFtbWluZyBlZGl0b3JzIHN1cHBvcnRzIEpTT04gY29kZS1jb21wbGV0aW9uIGJhc2VkIG9uIEpTT04gU2NoZW1hLgotIFtLcmFrZW5EXShodHRwczovL3d3dy5rcmFrZW5kLmlvL2RvY3MvZW5kcG9pbnRzL2pzb24tc2NoZW1hLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBLcmFrZW5EIGVuZHBvaW50cyByZWNlaXZpbmcgYSBKU09OIG9iamVjdCBpbiBpdHMgYm9keSBjYW4gYXBwbHkgYXV0b21hdGljIHZhbGlkYXRpb25zIHVzaW5nIHRoZSBKU09OIFNjaGVtYSB2b2NhYnVsYXJ5IGJlZm9yZSB0aGUgY29udGVudCBwYXNzZXMgdG8gdGhlIGJhY2tlbmRzLgotIFtMaWdodGJsdWUuaW9dKGh0dHBzOi8vZG9jcy5saWdodGJsdWUuaW8vc3RhbmRhcmRzL2pzb25fc2NoZW1hLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIExpZ2h0Ymx1ZSBkb2N1bWVudCBiYXNlZCBkYXRhIGFjY2VzcyBsYXllciBmcmFtZXdvcmsgdXNlcyBKU09OIFNjaGVtYSB0byBkZWZpbmUgY2VydGFpbiBmaWxlIHJlc291cmNlcyBpbiB0aGUgcHJvamVjdC4KLSBbTGludXhdKGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL2h0bWwvbGF0ZXN0L2RldmljZXRyZWUvYmluZGluZ3Mvd3JpdGluZy1zY2hlbWEuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgTGludXgga2VybmVsIHVzZXMgSlNPTiBTY2hlbWEgdG8gZGVmaW5lIERldmljZXRyZWUgYmluZGluZ3MuCi0gW01hbmZyZWRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9S0IyRGtlUW84ZDg/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gTWFuZnJlZCB1c2VzIEpTT04gU2NoZW1hIHRvIGRlZmluZSB0aGVpciBBUElzIGFuZCB0aGVpciBvcGVuIENWIGZvcm1hdC4KLSBbTWljcm9zb2Z0XShodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L2pzb24tc2NoZW1hcz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIGNvbGxlY3Rpb24gb2YgSlNPTiBTY2hlbWEgZGVmaW5pdGlvbnMgdXNlZCBieSBwcm9kdWN0cyBhbmQgc2VydmljZXMgYXQgTWljcm9zb2Z0LgotIFtNb25nb0RCXShodHRwczovL2RvY3MubW9uZ29kYi5jb20vbWFudWFsL3JlZmVyZW5jZS9vcGVyYXRvci9xdWVyeS9qc29uU2NoZW1hLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBNb25nb0RCIDMuNiBhbmQgbGF0ZXIgc3VwcG9ydCBKU09OIFNjaGVtYSBmb3IgcXVlcnlpbmcgZGF0YSBhbmQgZGVmaW5pbmcgY29sbGVjdGlvbiBjb25zdHJhaW50cy4KLSBbTW96aWxsYSBEYXRhIFBpcGVsaW5lXShodHRwczovL2RvY3MudGVsZW1ldHJ5Lm1vemlsbGEub3JnL2NvbmNlcHRzL3BpcGVsaW5lL3NjaGVtYXMuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBNb3ppbGxhIERhdGEgUGlwZWxpbmUgdXNlcyBKU09OIFNjaGVtYSB0byBkZWZpbmUgdGVsZW1ldHJ5IGRhdGEgaW5nZXN0ZWQgZnJvbSBNb3ppbGxhIHByb2R1Y3RzIGFuZCBsb2dzIGZyb20gdmFyaW91cyBzZXJ2aWNlcy4KLSBbTXVsZVNvZnRdKGh0dHBzOi8vZG9jcy5tdWxlc29mdC5jb20vanNvbi1tb2R1bGUvMi4xL2pzb24tc2NoZW1hLXZhbGlkYXRpb24/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIE11bGVTb2Z0IGludGVncmF0aW9uIGZyYW1ld29yayBzdXBwb3J0cyB2YWxpZGF0aW5nIGEgSlNPTiBkb2N1bWVudCBhZ2FpbnN0IGEgSlNPTiBTY2hlbWEuCi0gW015U1FMXShodHRwczovL2Rldi5teXNxbC5jb20vZG9jL3JlZm1hbi84LjAvZW4vanNvbi12YWxpZGF0aW9uLWZ1bmN0aW9ucy5odG1sP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIE15U1FMIDguMC4xNyBhbmQgbGF0ZXIgc3VwcG9ydCB0YWJsZSBjb25zdHJhaW50cyB0byB2YWxpZGF0ZSBhIEpTT04gZG9jdW1lbnQgYWdhaW5zdCBhIEpTT04gU2NoZW1hLgotIFtOYWthZGldKGh0dHBzOi8vbmFrYWRpLmlvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBOYWthZGkgb3Blbi1zb3VyY2UgZGlzdHJpYnV0ZWQgZXZlbnQgYnVzIHN1cHBvcnRzIGRlZmluaW5nIGV2ZW50IHR5cGVzIHdpdGggSlNPTiBTY2hlbWEuCi0gW05hdGlvbmFsIENhbmNlciBJbnN0aXR1dGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OQ0ktR0RDL2dkY2RpY3Rpb25hcnkvdHJlZS9kZXZlbG9wL2dkY2RpY3Rpb25hcnkvc2NoZW1hcz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgTmF0aW9uYWwgQ2FuY2VyIEluc3RpdHV0ZSB1c2VzIEpTT04gU2NoZW1hIHRvIG1vZGVsIGVudGl0aWVzIGZvciB0aGVpciBHZW5vbWljIERhdGEgQ29tbW9ucyBjb2xsZWN0aW9uLgotIFtOaW5KU10oaHR0cHM6Ly93d3cuaXB0Yy5vcmcvc3RkL25pbmpzL3VzZXJndWlkZS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gTmluSlMgc3RhbmRhcmRpc2VzIHRoZSByZXByZXNlbnRhdGlvbiBvZiBuZXdzIGNvbnRlbnQgaW4gSlNPTiBhbmQgbWFpbnRhaW5zIGEgSlNPTiBTY2hlbWEgZG9jdW1lbnQgdG8gaGVscCB2YWxpZGF0ZSBOaW5KUyBpbXBsZW1lbnRhdGlvbnMuCi0gW09wZW4gUG9saWN5IEFnZW50IChPUEEpXShodHRwczovL2Jsb2cub3BlbnBvbGljeWFnZW50Lm9yZy9lbmhhbmNlZC10eXBlLWNoZWNraW5nLWZvci1vcGEtd2l0aC1qc29uLXNjaGVtYS1hbm5vdGF0aW9ucy04MjZhY2IwZjU3NT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgT1BBIHBvbGljeS1iYXNlZCBjb250cm9sIHBsYXRmb3JtIDAuMjcuMCBhbmQgbmV3ZXIgc3VwcG9ydCBzdGF0aWNhbGx5IHR5cGUtY2hlY2tpbmcgUmVnbyBwb2xpY3kgY29kZSB1c2luZyBKU09OIFNjaGVtYS4KLSBbT3J5IEtyYXRvc10oaHR0cHM6Ly93d3cub3J5LnNoL2tyYXRvcy9kb2NzL3JlZmVyZW5jZS9qc29uLXNjaGVtYS1qc29uLXBhdGhzLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgT3J5IEtyYXRvcyBpZGVudGl0eSAmYW1wOyB1c2VyIG1hbmFnZW1lbnQgcHJvZHVjdCByZWxpZXMgb24gSlNPTiBTY2hlbWEgZnJvbSBjb25maWd1cmF0aW9uIHZhbGlkYXRpb24sIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbiBmb3IgZGVmaW5pbmcgaWRlbnRpdHkgc2NoZW1hcy4KLSBbUG9zdG1hbl0oaHR0cHM6Ly9sZWFybmluZy5wb3N0bWFuLmNvbS9kb2NzL3dyaXRpbmctc2NyaXB0cy9zY3JpcHQtcmVmZXJlbmNlcy90ZXN0LWV4YW1wbGVzLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgUG9zdG1hbiBBUEkgcGxhdGZvcm0gc3VwcG9ydHMgcnVubmluZyBKU09OIFNjaGVtYSB2YWxpZGF0aW9uIGluIEFQSSB0ZXN0cy4KLSBbUkRBIERNUCBDb21tb24gU3RhbmRhcmQgZm9yIG1hY2hpbmUtYWN0aW9uYWJsZSBEYXRhIE1hbmFnZW1lbnQgUGxhbnNdKGh0dHBzOi8vZ2l0aHViLmNvbS9SREEtRE1QLUNvbW1vbi9SREEtRE1QLUNvbW1vbi1TdGFuZGFyZD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgUkRBIERNUCBDb21tb24gU3RhbmRhcmRzIFdvcmtpbmcgR3JvdXAgbWFpbnRhaW5zIEpTT04gU2NoZW1hcyB0byB2YWxpZGF0ZSBtYURNUCBKU09OIGRvY3VtZW50cy4KLSBbUkVTVEhlYXJ0XShodHRwczovL3Jlc3RoZWFydC5vcmcvZG9jcy9qc29uLXNjaGVtYS12YWxpZGF0aW9uLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBSRVNUSGVhcnQgc3VwcG9ydHMgTW9uZ29EQiBzY2hlbWEgdmFsaWRhdGlvbiB0byBlbmZvcmNlIGEgZm9ybWF0IHRvIGRvY3VtZW50czogcnVsZXMtYmFzZWQgdmFsaWRhdGlvbiBmcm9tIE1vbmdvREIgMy4yIGFuZCBKc29uIFNjaGVtYSB2YWxpZGF0aW9uIGZyb20gTW9uZ29EQiAzLjYuCi0gW1JlbW90ZV0oaHR0cHM6Ly9yZW1vdGUuY29tL2Jsb2cvaG93LXJlbW90ZS1idWlsZHMtb25ib2FyZGluZy1mb3ItNjAtY291bnRyaWVzP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFJlbW90ZSB1c2VzIEpTT04gU2NoZW1hIHRvIHBlcmZvcm0gZm9ybSBnZW5lcmF0aW9uIGFuZCBkYXRhIHZhbGlkYXRpb24gaW4gdGhlaXIgZnJvbnRlbmQgYW5kIGJhY2tlbmQgc3lzdGVtcy4KLSBbUmV0b29sXShodHRwczovL2RvY3MucmV0b29sLmNvbS9kb2NzL3dvcmtpbmctd2l0aC1qc29uLXNjaGVtYS1mb3JtP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBSZXRvb2wgbm8tY29kZSBwbGF0Zm9ybSBzdXBwb3J0cyBnZW5lcmF0aW5nIHdlYiBmb3JtcyB1c2luZyBKU09OIFNjaGVtYS4KLSBbU2VydmVybGVzc10oaHR0cHM6Ly93d3cuc2VydmVybGVzcy5jb20vZnJhbWV3b3JrL2RvY3MvY29uZmlndXJhdGlvbi12YWxpZGF0aW9uLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgU2VydmVybGVzcyBmcmFtZXdvcmsgdmFsaWRhdGVzIHNlcnZpY2UgY29uZmlndXJhdGlvbiBmaWxlcyB1c2luZyBKU09OIFNjaGVtYS4KLSBbU21hcnQgRGF0YSBNb2RlbHNdKGh0dHBzOi8vZ2l0aHViLmNvbS9zbWFydC1kYXRhLW1vZGVscz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgU21hcnQgRGF0YSBNb2RlbHMgR2l0SHViIG9yZ2FuaXphdGlvbiBtYWtlcyB1c2Ugb2YgSlNPTiBTY2hlbWEgdG8gZGVzY3JpYmUgaGFybW9uaXplZCBEYXRhIE1vZGVscyBmb3IgZGlmZmVyZW50IFNtYXJ0IERvbWFpbnMuCi0gW1Nub3dwbG93XShodHRwczovL2RvY3Muc25vd3Bsb3dhbmFseXRpY3MuY29tL2RvY3MvdW5kZXJzdGFuZGluZy10cmFja2luZy1kZXNpZ24vdW5kZXJzdGFuZGluZy1zY2hlbWFzLWFuZC12YWxpZGF0aW9uLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgU25vd3Bsb3cgYW5hbHl0aWNzIHBsYXRmb3JtIHN1cHBvcnQgdXNpbmcgSlNPTiBTY2hlbWEgdG8gZGVmaW5lIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGRhdGEgdG8gY29sbGVjdC4KLSBbU3ByZWFkSlNdKGh0dHBzOi8vd3d3LmdyYXBlY2l0eS5jb20vc3ByZWFkanMvZG9jcy92MTMvb25saW5lL2pzb25zY2hlbWEuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgU3ByZWFkSlMgSmF2YVNjcmlwdCBzcHJlYWRzaGVldCBsaWJyYXJ5IHVzZXMgSlNPTiBTY2hlbWEgdG8gZGVzY3JpYmUgdGhlIFNwcmVhZEpTIEpTT04gZGF0YSBmb3JtYXQuCi0gW1RJTFQgKG1hY2hpbmUtcmVhZGFibGUgcHJpdmFjeSBwb2xpY2llcyldKGh0dHBzOi8vZ2l0aHViLmNvbS9UcmFuc3BhcmVuY3ktSW5mb3JtYXRpb24tTGFuZ3VhZ2Uvc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRJTFQgaXMgYSB0cmFuc3BhcmVuY3kgaW5mb3JtYXRpb24gbGFuZ3VhZ2UgYW5kIHRvb2xraXQgcG93ZXJlZCBieSBKU09OIFNjaGVtYSBleHBsaWNpdGx5IGRlc2lnbmVkIHRvIHJlcHJlc2VudCBhbmQgcHJvY2VzcyB0cmFuc3BhcmVuY3kgaW5mb3JtYXRpb24gaW4gbGluZSB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIEVVIEdlbmVyYWwgRGF0YSBQcm90ZWN0aW9uIFJlZ3VsYXRpb24gYW5kIGFsbG93aW5nIGZvciBhIG1vcmUgYXV0b21hdGVkIGFuZCBhZGFwdGl2ZSB1c2Ugb2Ygc3VjaCBpbmZvcm1hdGlvbiB0aGFuIGVzdGFibGlzaGVkLCBsZWdhbGVzZSBkYXRhIHByb3RlY3Rpb24gcG9saWNpZXMgZG8uCi0gW1UuUy4gRGVwYXJ0bWVudCBvZiBDb21tZXJjZV0oaHR0cHM6Ly9naXRodWIuY29tL3VzbmlzdGdvdi9PU0NBTC90cmVlL21haW4vanNvbj91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgTmF0aW9uYWwgSW5zdGl0dXRlIG9mIFN0YW5kYXJkcyBhbmQgVGVjaG5vbG9neSB1c2VzIEpTT04gU2NoZW1hIERyYWZ0IDcgdG8gbW9kZWwgT3BlbiBTZWN1cml0eSBDb250cm9scyBBc3Nlc3NtZW50IExhbmd1YWdlIChPU0NBTCkgSlNPTiBkb2N1bWVudHMuCi0gW1dhbG1hcnQgZUNvbW1lcmNlXShodHRwczovL2RldmVsb3Blci53YWxtYXJ0LmNvbS9kb2N1bWVudGF0aW9uL2l0ZW0tb2JqZWN0LXY0LTAvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFdhbG1hcnQgcHVibGlzaGVzIEpTT04gU2NoZW1hIGRvY3VtZW50cyBmb3IgY2VydGFpbiByZXNvdXJjZXMgdGhhdCBkZXZlbG9wZXJzIGNhbiBtYWtlIHVzZSBvZiB3aGVuIGludGVncmF0dGluZyB3aXRoIHRoZSBXYWxtYXJ0IGVDb21tZXJjZSBwbGF0Zm9ybS4KLSBbV29yZHByZXNzXShodHRwczovL21ha2Uud29yZHByZXNzLm9yZy90aGVtZXMvMjAyMS8xMS8zMC90aGVtZS1qc29uLXNjaGVtYS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gV29yZHByZXNzIG1haW50YWlucyBvZmZpY2lhbCBKU09OIFNjaGVtYSBkb2N1bWVudHMgdG8gaGVscCB3aXRoIGJ1aWxkaW5nIGJsb2NrIGJhc2VkIHRoZW1lcy4KLSBbWmFwaWVyXShodHRwczovL2dpdGh1Yi5jb20vemFwaWVyL3phcGllci1wbGF0Zm9ybS90cmVlL21hc3Rlci9wYWNrYWdlcy9zY2hlbWE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gWmFwaWVyIG1haW50YWlucyBhIGxhcmdlIHNldCBvZiBKU09OIFNjaGVtYSBkZWZpbml0aW9ucyB0aGF0IGRlZmluZSBpdHMgcGxhdGZvcm0uCi0gW1p1cGxvXShodHRwczovL3p1cGxvLmNvbS9qc29uLXNjaGVtYS9scC1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBadXBsbyBBUEkgZ2F0ZXdheSBwcm92aWRlcyBKU09OIFNjaGVtYSB2YWxpZGF0aW9uIGFuZCBzdXBwb3J0cyBnZW5lcmF0aW5nIEFQSSBkb2N1bWVudGF0aW9uIG91dCBvZiBPcGVuQVBJIHNwZWNpZmljYXRpb25zLgotIFtuZi1jb3JlXShodHRwczovL25mLWNvLnJlL3Rvb2xzLyNwaXBlbGluZS1zY2hlbWE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIG5mLWNvcmUgTmV4dGZsb3cgYW5hbHlzaXMgcGlwZWxpbmVzIGNvbGxlY3Rpb24gdXNlcyBKU09OIFNjaGVtYSB0byBkZWZpbmUgdGhlIHBhcmFtZXRlcnMgdXNlZCBieSBOZXh0ZmxvdyB3b3JrZmxvd3MuCgojIyBBcnRpY2xlcwoKLSAoMjAyMykgW0xMTXMgZm9yIFNjaGVtYSBBdWdtZW50YXRpb25dKGh0dHBzOi8vbWljaGFlbC5taW9yLmNhL2Jsb2cvbGxtcy1mb3Itc2NoZW1hLWF1Z21lbnRhdGlvbi8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gTGFyZ2UgbGFuZ3VhZ2UgbW9kZWxzIGNhbiBiZSBleHBsb2l0ZWQgdG8gYXV0b21hdGljYWxseSBhdWdtZW50IEpTT04gU2NoZW1hcyB3aXRoIHVzZWZ1bCBpbmZvcm1hdGlvbi4KLSAoMjAyMikgW1doYXQgaXMgJnF1b3Q7TW9kZXJuJnF1b3Q7IEpTT04gU2NoZW1hP10oaHR0cHM6Ly9tb2Rlcm4tanNvbi1zY2hlbWEuY29tL3doYXQtaXMtbW9kZXJuLWpzb24tc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEhvdyAmcXVvdDttb2Rlcm4mcXVvdDsgSlNPTiBTY2hlbWEsIG1lYW5pbmcgMjAxOS0wOSwgMjAyMC0xMiwgYW5kIGxhdGVyLCBjYW4gc29sdmUgZmFyIG1vcmUgcHJvYmxlbXMgdGhhbiAmcXVvdDtjbGFzc2ljYWwmcXVvdDsgSlNPTiBTY2hlbWEgKGRyYWZ0LTA3IGFuZCBlYXJsaWVyKS4KLSAoMjAyMikgW1VzaW5nIER5bmFtaWMgUmVmZXJlbmNlcyB0byBTdXBwb3J0IEdlbmVyaWMgVHlwZXNdKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2Jsb2cvcG9zdHMvZHluYW1pY3JlZi1hbmQtZ2VuZXJpY3M/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gUmVwcmVzZW50aW5nIGdlbmVyaWMgdHlwZXMgZnJvbSBzdHJvbmdseS10eXBlZCBwcm9ncmFtbWluZyBsYW5ndWFnZXMgd2l0aCBKU09OIFNjaGVtYS4KLSAoMjAyMikgW0pTT04gU2NoZW1hIGlzIGEgY29uc3RyYWludCBzeXN0ZW1dKGh0dHBzOi8vbW9kZXJuLWpzb24tc2NoZW1hLmNvbS9qc29uLXNjaGVtYS1pcy1hLWNvbnN0cmFpbnQtc3lzdGVtP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIE9yOiBXaHkgb2JqZWN0LW9yaWVudGVkIHByb2dyYW1taW5nIGlzIGEgbWlzLW1hdGNoZWQgbWVudGFsIG1vZGVsIGZvciBKU09OIFNjaGVtYS4KLSAoMjAyMikgW0Zvcm1pbmcgbmV3IHJlbGF0aW9uc2hpcHM6IENvbnRyaWJ1dGluZyB0byBPcGVuIHNvdXJjZV0oaHR0cHM6Ly93d3cuY3Jvc3NyZWYub3JnL2Jsb2cvZm9ybWluZy1uZXctcmVsYXRpb25zaGlwcy1jb250cmlidXRpbmctdG8tb3Blbi1zb3VyY2UvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgZGVzY3JpcHRpb24gb2YgYWRvcHRpbmcgYW5kIGV4dGVuZGluZyBKU09OIEZvcm1zLCBhIEpTT04gU2NoZW1hIGJhc2VkIGZvcm0gcmVuZGVyaW5nIGxpYnJhcnksIHRvIHN1cHBvcnQgVnVlSlMgYW5kIFZ1ZXRpZnkuLgotICgyMDIyKSBbRG9jcyEgRG9jcyEgRG9jcyFdKGh0dHBzOi8vYnJhbmR1ci5vcmcvbmFub2dseXBocy8wMzEtYXBpLWRvY3M/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gb3ZlcnZpZXcgb2YgQVBJIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbiB1c2luZyBIeXBlciBTY2hlbWEgYW5kIE9wZW5BUEkuCi0gKDIwMjEpIFtVbmRlcnN0YW5kaW5nIEpTT04gU2NoZW1hIGNvbXBhdGliaWxpdHldKGh0dHBzOi8veW9rb3RhLmJsb2cvMjAyMS8wMy8yOS91bmRlcnN0YW5kaW5nLWpzb24tc2NoZW1hLWNvbXBhdGliaWxpdHkvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgc3R1ZHkgb2Ygb3BlbiwgY2xvc2VkLCBhbmQgcGFydGlhbGx5LW9wZW4gY29udGVudCBtb2RlbHMgd2hlbiBldm9sdmluZyBzY2hlbWFzIGluIGEgYmFja3dhcmQsIGZvcndhcmQsIG9yIGZ1bGx5IGNvbXBhdGlibGUgbWFubmVycy4KLSAoMjAyMSkgW1VuZGVyc3RhbmRpbmcgQVBJIENvbXBsZXhpdHkgVGhyb3VnaCBTY2hlbWEgRW50cm9weV0oaHR0cHM6Ly9zbWl6ZWxsLmNvbS9wb3N0cy8yMDIxLzA1L3VuZGVyc3RhbmRpbmctYXBpLWNvbXBsZXhpdHktdGhyb3VnaC1zY2hlbWEtZW50cm9weS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBsb29rIGF0IEFQSSBjb21wbGV4aXR5IGJ5IGFuYWx5emluZyBlbnRyb3B5IG9mIEpTT04gU2NoZW1hIGRvY3VtZW50cy4KLSAoMjAyMSkgW1JvYnVzdG5lc3MsIFRvbGVyYW5jZSwgYW5kIEpTT04gU2NoZW1hXShodHRwczovL3NtaXplbGwuY29tL3Bvc3RzLzIwMjEvMDcvcm9idXN0bmVzcy10b2xlcmFuY2UtYW5kLWpzb24tc2NoZW1hLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBcHBseWluZyB0aGUgUm9idXN0bmVzcyBQcmluY2lwbGUgYW5kIGluY3JlYXNpbmcgc2NoZW1hIGVudHJvcHkgd2hlbiBtYWtpbmcgY2hhbmdlcyB0byBhbiBBUEkuCi0gKDIwMjEpIFtNb2RlbGluZyBhIGZpbGUgc3lzdGVtIHdpdGggSlNPTiBTY2hlbWFdKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2xlYXJuL2ZpbGUtc3lzdGVtLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhpcyBleGFtcGxlIHNob3dzIGEgcG9zc2libGUgSlNPTiBTY2hlbWEgcmVwcmVzZW50YXRpb24gb2YgZmlsZSBzeXN0ZW0gbW91bnQgcG9pbnRzIGFzIHJlcHJlc2VudGVkIGluIGFuIC9ldGMvZnN0YWIgZmlsZS4KLSAoMjAyMSkgW0pTT04gU2NoZW1hIGJ1bmRsaW5nIGZpbmFsbHkgZm9ybWFsaXNlZF0oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvYmxvZy9wb3N0cy9idW5kbGluZy1qc29uLXNjaGVtYS1jb21wb3VuZC1kb2N1bWVudHM/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBjbG9zZSBsb29rIGF0IGJ1bmRsaW5nIGFuZCBkZS1yZWZlcmVuY2luZyBKU09OIFNjaGVtYSBkb2N1bWVudHMuCi0gKDIwMjApIFtVc2luZyB0aGUgSlNPTiBTY2hlbWEgc3RhbmRhcmQgZm9yIHNjaWVudGlmaWMgYXBwbGljYXRpb25zP10oaHR0cHM6Ly9jZXJmYWNzLmZyL2Nvb3AvanNvbi1zY2hlbWEtZm9yLXNjaS1hcHBzP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgZGlzY3Vzc2lvbiBvbiBob3cgdG8gdXNlIEpTT04gU2NoZW1hIHRvIHZhbGlkYXRlIGlucHV0LCBhZGQgcHJlY2lzZSBkb2N1bWVudGF0aW9uLCBhdXRvLWZpbGwgbWlzc2luZyBwYXJ0cywgYW5kIGNyZWF0ZSBncmFwaGljYWwgdXNlciBpbnRlcmZhY2VzIGluIHRoZSBjb250ZXh0IG9mIHNjaWVudGlmaWMgYXBwbGljYXRpb25zLgotICgyMDIwKSBbUHJvamVjdCBDYW1icmlhOiBUcmFuc2xhdGUgeW91ciBkYXRhIHdpdGggbGVuc2VzXShodHRwczovL3d3dy5pbmthbmRzd2l0Y2guY29tL2NhbWJyaWEvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgcHJvcG9zYWwgZm9yIGFuIGlzb2xhdGVkIHNvZnR3YXJlIGxheWVyIHRoYXQgdHJhbnNsYXRlcyBkYXRhIGJldHdlZW4gSlNPTiBTY2hlbWEgZGVmaW5pdGlvbnMgb24gZGVtYW5kLiBUcmFuc2xhdGlvbiBsb2dpYyBpcyBkZWZpbmVkIGJ5IGNvbXBvc2luZyBiaWRpcmVjdGlvbmFsIGxlbnNlcywgYSBraW5kIG9mIGRhdGEgdHJhbnNmb3JtYXRpb24gdGhhdCBjYW4gcnVuIGJvdGggZm9yd2FyZCBhbmQgYmFja3dhcmQuCi0gKDIwMjApIFtKU09OIFNjaGVtYSwgU2NoZW1hLm9yZywgSlNPTi1MRDogV2hhdCYjeDI3O3MgdGhlIERpZmZlcmVuY2U/XShodHRwczovL2Rhc2hqb2luLm1lZGl1bS5jb20vanNvbi1zY2hlbWEtc2NoZW1hLW9yZy1qc29uLWxkLXdoYXRzLXRoZS1kaWZmZXJlbmNlLWUzMGQ3MzE1Njg2YT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBbiBvdmVydmlldyBvZiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIEpTT04gU2NoZW1hIGFuZCBKU09OLUxELCB0aGVpciByZWxhdGlvbnNoaXAgYW5kIHRoZSByb2xlIG9mIFNjaGVtYS5vcmcuCi0gKDIwMjApIFtCdWlsZGluZyBhIE5vLUNvZGUgSlNPTiBTY2hlbWEgRm9ybSBCdWlsZGVyIHdpdGggUmVhY3RKU10oaHR0cHM6Ly93d3cuZ2lua2dvYmlvd29ya3MuY29tLzIwMjAvMTAvMDgvYnVpbGRpbmctYS1uby1jb2RlLWpzb24tc2NoZW1hLWZvcm0tYnVpbGRlci8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gdXBkYXRlIG9uIHRoZSBhZGRpdGlvbmFsIGZlYXR1cmVzIGltcGxlbWVudGVkIGluIHRoZSByZWFjdC1qc29uLXNjaGVtYS1mb3JtLWJ1aWxkZXIgb3Blbi1zb3VyY2UgSlNPTiBTY2hlbWEgZm9ybSBidWlsZGVyIHByb2plY3QuCi0gKDIwMjApIFtBenVyZSBQaXBlbGluZXMgYXV0b2NvbXBsZXRlIGluIFB5Q2hhcm0sIEludGVsbGlKLCBXZWJTdG9ybSwgQ0xpb24sIGFuZCBSaWRlcl0oaHR0cHM6Ly90b255YmFsb25leS5naXRodWIuaW8vcG9zdHMvYXp1cmUtcGlwZWxpbmVzLWF1dG9jb21wbGV0ZS1pbi1weWNoYXJtLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gU2V0dGluZyB1cCBQeUNoYXJtLCBJbnRlbGxpSiwgV2ViU3Rvcm0sIENMaW9uIGFuZCBSaWRlciB0byBoYXZlIGF1dG8tY29tcGxldGUsIHN5bnRheCBoaWdobGlnaHRpbmcgYW5kIHZhbGlkYXRpb24gc3VwcG9ydCBvZiBBenVyZSBQaXBlbGluZXMgd29ya2Zsb3dzLgotICgyMDE5KSBbU2F2ZWQgYnkgdGhlIFNjaGVtYTogVXNpbmcgSlNPTiBTY2hlbWEgdG8gRG9jdW1lbnQsIFRlc3QsIGFuZCBEZWJ1ZyBBUElzXShodHRwczovL2Jsb2cuaGVyb2t1LmNvbS9qc29uLXNjaGVtYS1kb2N1bWVudC1kZWJ1Zy1hcGlzP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIExlYXJuIGhvdyBIZXJva3UgdXNlcyBKU09OIFNjaGVtYSB0byB0ZXN0IGFuZCBkb2N1bWVudCB0aGVpciBQbGF0Zm9ybSBBUEksIGFuZCBob3cgaXQgaGVscGVkIHRoZW0gdW5jb3ZlciBhbiB1bmV4cGVjdGVkIGJ1Zywgcm9vdGVkIGluIHRoZSB3YXkgdGhlIE9qIGdlbSBwYXJzZXMgQmlnIERlY2ltYWxzLgotICgyMDE4KSBbSlNPTiBTY2hlbWEgVmFsaWRhdG9yLCBHZW5lcmF0b3IgJmFtcDsgRWRpdG9yIEd1aWRlXShodHRwczovL3N0b3BsaWdodC5pby9qc29uLWd1aWRlLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBIb3cgdGhlIEpTT04gYW5kIEpTT04gU2NoZW1hIHN0YW5kYXJkcyBhcmUgZGVmaW5lZCBhbmQgaG93IHRvIHB1dCB0aGVtIHRvIHVzZSBpbiB5b3VyIGNvZGUgYW5kIGluIHlvdXIgQVBJcy4KLSAoMjAxOCkgW0pTT04gU2NoZW1hIFZhbGlkYXRpb24gJmFtcDsgRXhwcmVzc2l2ZSBRdWVyeSBTeW50YXggaW4gTW9uZ29EQiAzLjZdKGh0dHBzOi8vd3d3LnNpdGVwb2ludC5jb20vanNvbi1zY2hlbWEtdmFsaWRhdGlvbi1leHByZXNzaXZlLXF1ZXJ5LXN5bnRheC1pbi1tb25nb2RiLTMtNi8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gaW4tZGVwdGggZGlzY3Vzc2lvbiBhYm91dCB1c2luZyBKU09OIFNjaGVtYSB0byBkZWZpbmUgY29sbGVjdGlvbiB2YWxpZGF0aW9uIG9uIE1vbmdvREIuCi0gKDIwMTgpIFtEZWZpbml0aW9ucyBmb3IgZmlsdGVyaW5nIHByb3BlcnRpZXMgaW4gSlNPTiBzY2hlbWFdKGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL0x1Y2lhbkJ1enpvLzVmZjkxMDZjZTNhZTEyZmI1OGU0ZGVmNTcyYjkzNDRkP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIGludHJvZHVjdGlvbiB0byB0aGUgcHJvYmxlbSBvZiB1c2luZyBKU09OIFNjaGVtYSBmb3IgZGF0YSBmaWx0ZXJpbmcgYW5kIHF1ZXJ5aW5nIHB1cnBvc2VzLgotICgyMDE0KSBbSW50cm9kdWNpbmcgU2NoZW1hVmVyIGZvciBzZW1hbnRpYyB2ZXJzaW9uaW5nIG9mIHNjaGVtYXNdKGh0dHBzOi8vc25vd3Bsb3dhbmFseXRpY3MuY29tL2Jsb2cvMjAxNC8wNS8xMy9pbnRyb2R1Y2luZy1zY2hlbWF2ZXItZm9yLXNlbWFudGljLXZlcnNpb25pbmctb2Ytc2NoZW1hcy8jZmVlZGJhY2s/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBwcm9wb3NhbCBmb3IgYSB2ZXJzaW9uaW5nIGNvbnZlbnRpb24gZm9yIEpTT04gU2NoZW1hIGRlZmluaXRpb25zIGJhc2VkIG9uIFNlbVZlci4KCiMjIFNwZWNpZmljYXRpb25zCgotICgyMDIxKSBbQXN5bmNBUEldKGh0dHBzOi8vd3d3LmFzeW5jYXBpLmNvbS9kb2NzL3NwZWNpZmljYXRpb25zL3YyLjEuMD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBc3luY0FQSSBpcyBhbiBvcGVuIHNvdXJjZSBpbml0aWF0aXZlIHRoYXQgc2Vla3MgdG8gaW1wcm92ZSB0aGUgY3VycmVudCBzdGF0ZSBvZiBFdmVudC1Ecml2ZW4gQXJjaGl0ZWN0dXJlcyAoRURBKS4gVGhlIEFzeW5jQVBJIHNwZWNpZmljYXRpb24gc3VwcG9ydHMgZGF0YSBtb2RlbGluZyB1c2luZyBKU09OIFNjaGVtYS4KLSAoMjAyMSkgW0pTT04gU2NoZW1hIGluIFJERl0oaHR0cHM6Ly93d3cudzMub3JnLzIwMTkvd290L2pzb24tc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoaXMgZG9jdW1lbnQgaW50cm9kdWNlcyBhbiBSREYgdm9jYWJ1bGFyeSBmb3IgSlNPTiBzY2hlbWEgZGVmaW5pdGlvbnMuIFRoaXMgdm9jYWJ1bGFyeSBwcm92aWRlcyBhIHN0YWJsZSBuYW1lc3BhY2UgSVJJIGZvciBKU09OIHNjaGVtYSBrZXl3b3JkcywgYXMgd2VsbCBhcyBzaW1wbGUgYXhpb21zLCBkZWZpbmVkIGFnYWluc3Qgc2NoZW1hLm9yZyYjeDI3O3MgbWV0YS1tb2RlbC4gVmFyaW91cyBleGFtcGxlcyBvbiBob3cgdG8gdXNlIHRoZSB2b2NhYnVsYXJ5IGFyZSBhbHNvIGludHJvZHVjZWQsIGUuZy4gdG8gYW5ub3RhdGUgc2NoZW1hcyB3aXRoIEpTT04tTEQgbWV0YWRhdGEgb3IgdG8gZW1iZWQgc2NoZW1hIGFubm90YXRpb25zIGluc2lkZSBSREYgZ3JhcGhzLgotICgyMDIxKSBbT3BlbkFQSV0oaHR0cHM6Ly9zd2FnZ2VyLmlvL3NwZWNpZmljYXRpb24vP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBPcGVuQVBJIHNwZWNpZmljYXRpb24gZW1iZWRzIGFuZCBleHRlbmRzIEpTT04gU2NoZW1hIGZvciBkZWZpbmluZyBBUEkgcmVxdWVzdCBhbmQgcmVzcG9uc2VzLgotICgyMDIxKSBbUkFNTF0oaHR0cHM6Ly9yYW1sLm9yZz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgUkFNTCBzcGVjaWZpY2F0aW9uIHN1cHBvcnRzIG1vZGVsaW5nIEFQSSBkYXRhIHVzaW5nIEpTT04gU2NoZW1hLgotICgyMDIwKSBbSlNPTiBTY2hlbWEgQ29yZSAyMDIwLTEyXShodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL2pzb24tc2NoZW1hLWNvcmUuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBKU09OIFNjaGVtYSBkZWZpbmVzIHRoZSBtZWRpYSB0eXBlICZxdW90O2FwcGxpY2F0aW9uL3NjaGVtYStqc29uJnF1b3Q7LCBhIEpTT04tYmFzZWQgZm9ybWF0IGZvciBkZXNjcmliaW5nIHRoZSBzdHJ1Y3R1cmUgb2YgSlNPTiBkYXRhLiBKU09OIFNjaGVtYSBhc3NlcnRzIHdoYXQgYSBKU09OIGRvY3VtZW50IG11c3QgbG9vayBsaWtlLCB3YXlzIHRvIGV4dHJhY3QgaW5mb3JtYXRpb24gZnJvbSBpdCwgYW5kIGhvdyB0byBpbnRlcmFjdCB3aXRoIGl0LiBUaGUgJnF1b3Q7YXBwbGljYXRpb24vc2NoZW1hLWluc3RhbmNlK2pzb24mcXVvdDsgbWVkaWEgdHlwZSBwcm92aWRlcyBhZGRpdGlvbmFsIGZlYXR1cmUtcmljaCBpbnRlZ3JhdGlvbiB3aXRoICZxdW90O2FwcGxpY2F0aW9uL3NjaGVtYStqc29uJnF1b3Q7IGJleW9uZCB3aGF0IGNhbiBiZSBvZmZlcmVkIGZvciAmcXVvdDthcHBsaWNhdGlvbi9qc29uJnF1b3Q7IGRvY3VtZW50cy4KLSAoMjAyMCkgW0pTT04gU2NoZW1hIFZhbGlkYXRpb24gMjAyMC0xMl0oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi9qc29uLXNjaGVtYS12YWxpZGF0aW9uLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSlNPTiBTY2hlbWEgKGFwcGxpY2F0aW9uL3NjaGVtYStqc29uKSBoYXMgc2V2ZXJhbCBwdXJwb3Nlcywgb25lIG9mIHdoaWNoIGlzIEpTT04gaW5zdGFuY2UgdmFsaWRhdGlvbi4gVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSB2b2NhYnVsYXJ5IGZvciBKU09OIFNjaGVtYSB0byBkZXNjcmliZSB0aGUgbWVhbmluZyBvZiBKU09OIGRvY3VtZW50cywgcHJvdmlkZSBoaW50cyBmb3IgdXNlciBpbnRlcmZhY2VzIHdvcmtpbmcgd2l0aCBKU09OIGRhdGEsIGFuZCB0byBtYWtlIGFzc2VydGlvbnMgYWJvdXQgd2hhdCBhIHZhbGlkIGRvY3VtZW50IG11c3QgbG9vayBsaWtlLgotICgyMDIwKSBbUmVsYXRpdmUgSlNPTiBQb2ludGVyc10oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi9yZWxhdGl2ZS1qc29uLXBvaW50ZXIuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBKU09OIFBvaW50ZXIgaXMgYSBzeW50YXggZm9yIHNwZWNpZnlpbmcgbG9jYXRpb25zIGluIGEgSlNPTiBkb2N1bWVudCwgc3RhcnRpbmcgZnJvbSB0aGUgZG9jdW1lbnQgcm9vdC4gVGhpcyBkb2N1bWVudCBkZWZpbmVzIGFuIGV4dGVuc2lvbiB0byB0aGUgSlNPTiBQb2ludGVyIHN5bnRheCwgYWxsb3dpbmcgcmVsYXRpdmUgbG9jYXRpb25zIGZyb20gd2l0aGluIHRoZSBkb2N1bWVudC4KLSAoMjAyMCkgW1czQyBXZWIgb2YgVGhpbmdzXShodHRwczovL3d3dy53My5vcmcvV29ULz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgV2ViIG9mIFRoaW5ncyAoV29UKSBzZWVrcyB0byBjb3VudGVyIHRoZSBmcmFnbWVudGF0aW9uIG9mIHRoZSBJb1QgYnkgdXNpbmcgYW5kIGV4dGVuZGluZyBleGlzdGluZywgc3RhbmRhcmRpemVkIFdlYiB0ZWNobm9sb2dpZXMuIFdvVCBtb2RlbHMgZGF0YSB1c2luZyBKU09OIFNjaGVtYS4KLSAoMjAxOSkgW0pTT04gSHlwZXItU2NoZW1hXShodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL2RyYWZ0LWhhbmRyZXdzLWpzb24tc2NoZW1hLWh5cGVyc2NoZW1hLTAyP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEpTT04gU2NoZW1hIGlzIGEgSlNPTi1iYXNlZCBmb3JtYXQgZm9yIGRlc2NyaWJpbmcgSlNPTiBkYXRhIHVzaW5nIHZhcmlvdXMgdm9jYWJ1bGFyaWVzLiAgVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSB2b2NhYnVsYXJ5IGZvciBhbm5vdGF0aW5nIEpTT04gZG9jdW1lbnRzIHdpdGggaHlwZXJsaW5rcy4gIFRoZXNlIGh5cGVybGlua3MgaW5jbHVkZSBhdHRyaWJ1dGVzIGRlc2NyaWJpbmcgaG93IHRvIG1hbmlwdWxhdGUgYW5kIGludGVyYWN0IHdpdGggcmVtb3RlIHJlc291cmNlcyB0aHJvdWdoIGh5cGVybWVkaWEgZW52aXJvbm1lbnRzIHN1Y2ggYXMgSFRUUCwgYXMgd2VsbCBhcyBkZXRlcm1pbmluZyB3aGV0aGVyIHRoZSBsaW5rIGlzIHVzYWJsZSBiYXNlZCBvbiB0aGUgaW5zdGFuY2UgdmFsdWUuCgojIyBCb29rcwoKLSAoMjAyNCkgW1VuaWZ5aW5nIEJ1c2luZXNzLCBEYXRhLCBhbmQgQ29kZTogRGVzaWduaW5nIERhdGEgUHJvZHVjdHMgd2l0aCBKU09OIFNjaGVtYV0oaHR0cHM6Ly93d3cub3JlaWxseS5jb20vbGlicmFyeS92aWV3L3VuaWZ5aW5nLWJ1c2luZXNzLWRhdGEvOTc4MTA5ODE0NDk5OS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQ292ZXJzIHRvcGljcyBzdWNoIGFzIHdyaXRpbmcgeW91ciBvd24gSlNPTiBTY2hlbWEgdm9jYWJ1bGFyaWVzLCB1bmRlcnN0YW5kaW5nIEpTT04gU2NoZW1hIGFubm90YXRpb25zLCBhbmQgaG9zdGluZyB5b3VyIG93biBKU09OIFNjaGVtYSByZWdpc3RyaWVzLiBNb3JlIGltcG9ydGFudGx5LCBvdXIgYm9vayB0ZWFjaGVzIHlvdSBhIG1ldGhvZG9sb2d5IGZvciBlZmZlY3RpdmUgZGF0YSBtYW5hZ2VtZW50LgotICgyMDIxKSBbQVBJIGJ5IERlc2lnbl0oaHR0cHM6Ly9zbWl6ZWxsLmd1bXJvYWQuY29tL2wvYXBpYnlkZXNpZ24/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSW50cm9kdWNlcyBhbiBhcHByb2FjaCB0byBtZWFzdXJlIEFQSSBjb21wbGV4aXR5IGJ5IGFuYWx5emluZyBlbnRyb3B5IGluIEpTT04gU2NoZW1hIGRlZmluaXRpb25zLgotICgyMDE3KSBbSlNPTiBhdCBXb3JrXShodHRwczovL3d3dy5vcmVpbGx5LmNvbS9saWJyYXJ5L3ZpZXcvanNvbi1hdC13b3JrLzk3ODE0OTE5ODIzODkvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgY29tcHJlaGVuc2l2ZSBvdmVydmlldyBvZiB0aGUgSlNPTiBlY29zeXN0ZW0sIGluY2x1ZGluZyBKU09OIFNjaGVtYS4KLSAoMjAxNCkgW1VzaW5nIEpTT04gU2NoZW1hXShodHRwczovL2Jvb2tzLmFwcGxlLmNvbS91cy9ib29rL3VzaW5nLWpzb24tc2NoZW1hL2lkOTAzMjQ4NjMwP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIExlYXJuIGFuZCBBcHBseSBKU09OIFNjaGVtYSBieSBFeGFtcGxlLCB3aXRoIEphdmFTY3JpcHQgKE5vZGUuanMpIGFuZCBQeXRob24gUHJvZ3JhbXMuCgojIyBDb3Vyc2VzCgotICgyMDE3KSBbSlNPTiBTY2hlbWEgLSBDcmFzaCBDb3Vyc2UgZm9yIEJlZ2lubmVyc10oaHR0cHM6Ly93d3cudWRlbXkuY29tL2NvdXJzZS9qc29uLXNjaGVtYS1jcmFzaC1jb3Vyc2UtZm9yLWJlZ2lubmVycy8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gTGVhcm4gSlNPTiAmYW1wOyBKU09OIFNjaGVtYSBpbiBhIFF1aWNrIDMwLTQwIG1pbnV0ZXMgJmFtcDsgdXNlIGl0IGZvciB0aGUgcmVzdCBvZiB5b3VyIGxpZmUgZm9yIGNvbXBsZXggcHJvamVjdHMuCi0gKDIwMTcpIFtQcm9jZXNzaW5nIGFuZCBJbnRlcmNoYW5naW5nIEpTT04gRGF0YV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2xlYXJuaW5nL3Byb2Nlc3NpbmctYW5kLWludGVyY2hhbmdpbmctanNvbi1kYXRhP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIGluLWRlcHRoIGd1aWRlIHRvIHdvcmtpbmcgd2l0aCBKU09OIGFuZCB0aGUgSlNPTiBlY29zeXN0ZW0gaW5jbHVkaW5nIHVzaW5nIEpTT04gU2NoZW1hIGZvciB2YWxpZGF0aW9uIHB1cnBvc2VzLgoKIyMgVmlkZW9zCgotICgyMDIyKSBbSlNPTiBTY2hlbWEgaW4gUHJvZHVjdGlvbjogIzMgTWFkcyBLcmlzdGVuc2VuIGF0IE1pY3Jvc29mdF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj0teVlUeExaWms1OD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBNYWRzIHNoYXJlcyB0aGUgc3Rvcnkgb2YgYnJpbmdpbmcgSlNPTiBTY2hlbWEgc3VwcG9ydCBpbnRvIFZpc3VhbCBTdHVkaW8gYmFjayBpbiB2ZXJzaW9uIDIwMTMsIHRoZSBmaXJzdCBlZGl0b3Igc3VwcG9ydGluZyBKU09OIFNjaGVtYS4gV2hhdCYjeDI3O3MgY2FsbGVkIC5OZXQgQ29yZSB0b2RheSBuZWVkZWQgdG9vbGluZyBmb3IgdGhlaXIgJnF1b3Q7cHJvamVjdC5qc29uJnF1b3Q7IGZpbGUsIHNpbWlsYXIgdG8gYSAmcXVvdDtwYWNrYWdlLmpzb24mcXVvdDsgZmlsZS4gSlNPTiBTY2hlbWEgZW5kZWQgdXAgcGxheWluZyBhIGtleSByb2xlIGluIHRoZSBhdXRvY29tcGxldGlvbiBhbmQgdmFsaWRhdGlvbiBpbmZhc3RydWN0dXJlIG9udG9wIG9mIGEgYmFzaWMgSlNPTiBlZGl0b3IuCi0gKDIwMjIpIFtKU09OIFNjaGVtYSBpbiBQcm9kdWN0aW9uIC0gIzYgU3VyZXNoIFNyaW5pdmFzIGF0IE9wZW5NZXRhZGF0YV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1aclZUWndtVFIzaz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBXZSB0YWxrIHRvIFN1cmVzaCBTcmluaXZhcywgQ28tRm91bmRlciBhdCBDb2xsYXRlLCBidWlsZGluZyBPcGVuTWV0YWRhdGEuIChQcmV2aW91c2x5IGVuZ2luZWVyaW5nIGxlYWRlcnNoaXAgYXQgVWJlciBhbmQgRm91bmRlciBvZiBIb3J0b253b3Jrcy4pLgotICgyMDIyKSBbSlNPTiBTY2hlbWEgaW4gUHJvZHVjdGlvbiAtICM1IEplbnMgTmV1c2UgYXQgV3VuZGVyZ3JhcGhdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9X1RDVTZkYTBHQTg/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSmVucyBOZXVzZSwgRm91bmRlciBvZiBXdW5kZXJncmFwaCBzaGFyZXMgaG93IFd1bmRlcmdyYXBoIGNvbXBpbGVzIEdyYXBoUUwgZGVmaW5pdGlvbnMgaW50byBKU09OIFJQQyBhbmQgY3JlYXRlIEpTT04gU2NoZW1hIGRlZmluaXRpb25zIGZvciBlYWNoIEpTT04gUlBDIGVuZHBvaW50LiBJbnB1dCBkYXRhIGlzIHZhbGlkYXRlZCB1c2luZyBKU09OIFNjaGVtYSBhdCB0aGUgbWlkZGxld2FyZS1sZXZlbCBiZWZvcmUgZXhlY3V0aW5nIHRoZSBjb3JyZXNwb25kaW5nIEdyYXBoUUwgcXVlcnkuCi0gKDIwMjIpIFtKU09OIFNjaGVtYSBpbiBQcm9kdWN0aW9uIC0gIzQgRGF2aWQgQnJvd25tYW4gYXQgWmFwaWVyXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXlETDk4c2Q0S1ZFP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIERhdmlkIHNoYXJlcyB0aGUgc3Rvcnkgb2YgdXNpbmcgSlNPTiBTY2hlbWEgYXQgWmFwaWVyIHRvIHZhbGlkYXRlIGFuZCBkb2N1bWVudCB0aGVpciBpbnRlcmdyYXRpb24gcGF5bG9hZHMsIGVuYWJsaW5nIGEgYmV0dGVyIGRldmVsb3BlciBleHBlcmllbmNlIGZvciB0aGVpciA0MDAwKyBpbnRlcmdyYXRpb24gcGFydG5lcnMuLgotICgyMDIyKSBbSlNPTiBTY2hlbWEgaW4gUHJvZHVjdGlvbiAtICMyIEtpbiBMYW5lIGF0IEY1XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXBpYlpGMDQ5enFFP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEtpbiBzaGFyZXMgdGhlIGNoYWxsZW5nZXMgb2YgYnVpbGRpbmcgYSBjb21wYW55IHdpZGUgaW5kZXggb2YgZGF0YSBzdHJ1Y3R1cmVzIChvciBTY2hlbWEgUmVnaXN0cnkpLCBhaW1pbmcgdG8gaGVscCB1bmRlcnN0YW5kIHByZXZpb3VzLCBhbmQgYXZvaWQgZnV0dXJlLCB1bmV4cGVjdGVkIGJyZWFraW5nIGNoYW5nZXMgdGhhdCByZWFsbHkgaW1wYWN0IGN1c3RvbWVycy4KLSAoMjAyMikgW0pTT04gU2NoZW1hIGluIFByb2R1Y3Rpb24gLSAjMSBDaHVjayBSZWV2ZXMgYXQgWm9uZXNdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9Zmt6aU1RRDdwcVE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQmVuIHRhbGtzIHRvIENodWNrIFJlZXZlcywgcHJldmlvdXNseSBhdCBab25lcywgYWJvdXQgaG93IHRoZXkgdXNlZCBKU09OIFNjaGVtYSB0byB2YWxpZGF0ZSBkYXRhIGFuZCBrZWVwIGl0IGluIGEgY29uc2lzdGVudCBmb3JtYXQgYWNyb3NzIHRoZWlyIGFwcGxpY2F0aW9uLiBDaHVjayBzaGFyZXMgaG93IHVzaW5nIGEgcHVibGljIEFQSSBnYXRld2F5IHRvIHZhbGlkYXRlIGluY29taW5nIGRhdGEgc2F2ZWQgZGV2ZWxvcGVycyB0aW1lIGFuZCBjb21wdXRlIGVmZm9ydCwgbWFraW5nIHN1cmUgb25seSB2YWxpZCBkYXRhIHdhcyBwYXNzZWQgZG93bnN0cmVhbSB0byBzZXJ2ZXJsZXNzIGZ1bmN0aW9ucyBvciBvdGhlciBzZXJ2aWNlcy4KLSAoMjAyMikgW0pTT04gU2NoZW1hIEluIFByb2R1Y3Rpb24gLSBZb3UgQ2FuIFVzZSBJdCBUb2RheSAtIEJlbiBIdXR0b24sIFBvc3RtYW5dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9NDhRZ2ptd0xXaDA/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSGVhciB0aGUgYWJvdXQgdGhlIGpvdXJuZXkgb2Ygb3JnYW5pemF0aW9ucyB0aGF0IHVzZSBKU09OIFNjaGVtYSBpbiBwcm9kdWN0aW9uIHRvZGF5LCBhbmQgbGVhcm4gYWJvdXQgaG93IEpTT04gU2NoZW1hIGNvbnRpbnVlcyB0byBkZWxpdmVyIHZhbHVlLgotICgyMDIxKSBbU28geW91IHRoaW5rIHlvdSB1bmRlcnN0YW5kIEpTT04gU2NoZW1hPyAtIEJlbiBIdXR0b25dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9dk1HME5DRGlmSTA/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSW4gdGhpcyBzZXNzaW9uIHlvdSYjeDI3O2xsIGxlYXJuIHNvbWUga2V5IGZ1bmRhbWVudGFscywgaW50cmFjYWNpZXMgdGhhdCBldmVuIGNhdGNoIG91dCB0aGUgZXhwZXJpZW5jZWQsIGFuZCBob3cgdG8gZGV2ZWxvcCB5b3VyIG93biBpbnRlcm9wZXJhYmxlIEpTT04gU2NoZW1hIFZvY2FidWxhcnkuCi0gKDIwMjEpIFtNYWludGFpbmluZyBKU09OIFNjaGVtYXMgYXQgU2NhbGUgLSBKYXNvbiBEZXNyb3NpZXJzXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUdqSnBSc1ZmZmcwP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEluIHRoaXMgdGFsaywgd2Ugd2lsbCBjb3ZlciB0aGUga2V5d29yZHMsIGNvbmNlcHRzLCBhbmQgcGF0dGVybnMgZm9yIG1haW50YWluaW5nIGxhcmdlIHNjaGVtYXMgb3IgbGFyZ2UgY29sbGVjdGlvbnMgb2Ygc2NoZW1hcy4gV2UmI3gyNztsbCB0YWNrbGUgcHJvYmxlbXMgbGlrZSBob3cgdG8gYnJlYWtkb3duIGFuZCBvcmdhbml6ZSBzY2hlbWFzLCBob3cgdG8gYnVuZGxlIHNjaGVtYXMsIGhvdyB0byBtYWtlIGxhcmdlIHNjaGVtYXMgZWZmaWNpZW50LCBob3cgdG8gZ2V0IGJldHRlciBlcnJvciBtZXNzYWdlcyBmcm9tIGxhcmdlIHNjaGVtYXMsIGFuZCBtb3JlLgotICgyMDIxKSBbSlNPTiBTY2hlbWEgVmFsaWRhdGlvbiBpbiBQb3N0bWFuXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PThCZnNoVjVuNmFjP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIHR1dG9yaWFsIG9mIHBlcmZvcm1pbmcgSlNPTiBTY2hlbWEgdmFsaWRhdGlvbiBpbiBQb3N0bWFuIGluIEFQSSB0ZXN0cy4KLSAoMjAyMSkgW0NvbmZpZ3VyaW5nIFVtYnJhY28gb24gLk5FVCBDb3JlIC0gSlNPTiBTY2hlbWFdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9cnBVZy1veVN3OGc/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQ29uZmlndXJpbmcgVW1icmFjbyBvbiAuTkVUIENvcmUgd2l0aCBKU09OIFNjaGVtYS1wb3dlcmVkIGF1dG9jb21wbGV0aW9ucyBmb3IgYXBwc2V0dGluZ3MuanNvbiB1c2luZyBTY2hlbWFTdG9yZS4KLSAoMjAyMSkgW0FQSSBTdG9yeXRlbGxpbmcgd2l0aCBCZW4gSHV0dG9uXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTR4YkE4MmxvX2xjP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoaXMgZXBpc29kZSB3ZSBzaXQgZG93biB3aXRoIEJlbiBIdXR0b24sIHRoZSBsZWFkIGJlaGluZCB0aGUgSlNPTiBTY2hlbWEgY29tbXVuaXR5IHRvIHRhbGsgYWJvdXQgdm9jYWJ1bGFyaWVzIGFuZCBvdGhlciB3YXlzIHdlIHZhbGlkYXRlIGFuZCBhbm5vdGF0ZSBob3cgd2UgdGVsbCBzdG9yaWVzIHdlIHRlbGwgaW4gdGhlIEFQSSBzcGFjZS4KLSAoMjAyMCkgW1doYXQgaXMgSlNPTiBTY2hlbWFdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9a0stX2dMN1ZzYzA/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBiYXNpYyBpbnRyb2R1Y3Rpb24gdG8gSlNPTiBTY2hlbWEgc2hvd2luZyBob3cgdG8gYXV0by1nZW5lcmF0ZSBKU09OIFNjaGVtYSBkb2N1bWVudCBmcm9tIGFuIGV4aXN0aW5nIEpTT04gZG9jdW1lbnQuCi0gKDIwMTkpIFtXaGF0IGlzIGEgSlNPTiBTY2hlbWE/IEdlbmVyYXRlLCBNb2RpZnksIGFuZCBVbmRlcnN0YW5kIGEgSlNPTiBTY2hlbWE6IEV4YW1wbGVdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9aEdYeFh5Sm1hVW8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gaW4tZGVwdGggaW50cm9kdWN0aW9uIHRvIEpTT04gU2NoZW1hIGluY2x1ZGluZyBhdXRvLWdlbmVyYXRpbmcgSlNPTiBTY2hlbWEgZG9jdW1lbnRzIHVzaW5nIFF1aWNrVHlwZS5pby4KLSAoMjAxOSkgW0pTT04gU2NoZW1hIFZhbGlkYXRpb246IEhvdyB0byBWYWxpZGF0ZSBKU09OIFNjaGVtYSB3aXRoIFBvc3RtYW4/XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVgwNzJlS3RPSWlvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIGludHJvZHVjdGlvbiB0byBKU09OIFNjaGVtYSBhbmQgaG93IHRvIHVzZSBpdCBpbiBQb3N0bWFuLgotICgyMDE3KSBbSlNPTiBTY2hlbWEgLSB0aGUgR29vZCwgdGhlIEJhZCBhbmQgdGhlIFVnbHldKGh0dHBzOi8vdmltZW8uY29tLzIyMjQ4OTI4OD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBXaXRoIEpTT04gU2NoZW1hIHlvdSBhcmUgcmVxdWlyZWQgdG8gZGVmaW5lIHlvdXIgZGF0YSBhbmQgdGhlIGF2YWlsYWJsZSB0b29saW5nIHRvIGRvIHNvIGlzIG5vdCByZWFsbHkgZ3JlYXQgKHlldCkuIFRoaXMgcHJlc2VudGF0aW9uIHByb3ZpZGVzIHlvdSB3aXRoIGNyaXRlcmlhIHRvIGp1ZGdlIHdoZXRoZXIgSlNPTiBTY2hlbWEgY291bGQgYmUgYmVuZWZpY2lhbCBmb3IgeW91ciBwcm9qZWN0IG9yIGlzIGp1c3QgdG9vIG11Y2ggb3ZlcmhlYWQuCgojIyBQb2RjYXN0cwoKLSAoMjAyMSkgW0FQSSBMaWZlY3ljbGVzLCBTcGVjaWZpY2F0aW9ucywgYW5kIFN0YW5kYXJkcyB3aXRoIEtpbiBMYW5lXShodHRwczovL3d3dy5pbmZvcS5jb20vcG9kY2FzdHMvYXBpLWxpZmVjeWNsZXMtc3BlY2lmaWNhdGlvbnMtc3RhbmRhcmRzLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaG9tYXMgQmV0dHMgdGFsa3Mgd2l0aCBLaW4gTGFuZSBhYm91dCBtYW5hZ2luZyB5b3VyIEFQSSBsaWZlY3ljbGUgdXNpbmcgc3RhbmRhcmRzIGFuZCBzcGVjaWZpY2F0aW9ucywgaW5jbHVkaW5nIE9wZW5BUEksIEFzeW5jQVBJLCBhbmQgSlNPTiBTY2hlbWEuIFRoZXNlIHNwZWNpZmljYXRpb25zIGFuZCB0aGUgdG9vbGluZyBiYXNlZCBvbiB0aGVtIGNhbiBoZWxwIHJlZHVjZSBjb21tdW5pY2F0aW9uIHByb2JsZW1zLCBieSBjcmVhdGluZyBkb2N1bWVudGF0aW9uLCBnZW5lcmF0aW5nIGNvZGUsIGFuZCBhdXRvbWF0aW5nIHRlc3RpbmcuCgojIyBQYXBlcnMKCi0gKDIwMjMpIFtKU09Ob2lkOiBNb25vaWQtYmFzZWQgRW5yaWNobWVudCBmb3IgQ29uZmlndXJhYmxlIGFuZCBTY2FsYWJsZSBEYXRhLURyaXZlbiBTY2hlbWEgRGlzY292ZXJ5XShodHRwczovL2FyeGl2Lm9yZy9hYnMvMjMwNy4wMzExMz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBNZWFuaW5nZnVsIHNjaGVtYSBpbmZvcm1hdGlvbiBmb3Igc2VtaS1zdHJ1Y3R1cmVkIGRhdGEuCi0gKDIwMjMpIFtKU09Ob2lkOiBEaXN0cmlidXRlZCBKU09OIFNjaGVtYSBEaXNjb3ZlcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhdW5pdHlsYWIvanNvbm9pZC1kaXNjb3Zlcnk/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSB0b29sIGZvciBkaXN0cmlidXRlZCBKU09OIHNjaGVtYSBkaXNjb3ZlcnkgaW5jbHVkaW5nIG1hbnkgcHJvcGVydGllcyBvZiB0aGUgZGF0YS4KLSAoMjAyMykgW0NvbXByZWhlbmRpbmcgU2VtYW50aWMgVHlwZXMgaW4gSlNPTiBEYXRhIHdpdGggR3JhcGggTmV1cmFsIE5ldHdvcmtzXShodHRwczovL2FyeGl2Lm9yZy9hYnMvMjMwNy4xMjgwNz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBHcmFwaCBuZXVyYWwgbmV0d29ya3MgZm9yIHNlbWFudGljIHR5cGUgZGV0ZWN0aW9uIGluIEpTT04uCi0gKDIwMjMpIFtBbiBBbmFseXNpcyBvZiBEZWZlY3RzIGluIFB1YmxpYyBKU09OIFNjaGVtYXNdKGh0dHBzOi8vd3d3LmNyaS5taW5lc3BhcmlzLnBzbC5ldS9jbGFzc2VtZW50L2RvYy9BLTc5NC5wZGY/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW5hbHlzaXMgb2YgY29tbW9uIGRlZmVjdHMgZm91bmQgaW4gcHVibGljbHkgYXZhaWxhYmxlIHNjaGVtYXMgbGVhZGluZyB0byByZWNvbW1lbmQgY2hhbmdlcyB0byB0aGUgc3BlYy4KLSAoMjAyMikgW1dpdG5lc3MgR2VuZXJhdGlvbiBmb3IgSlNPTiBTY2hlbWFdKGh0dHBzOi8vYXJ4aXYub3JnL2Ficy8yMjAyLjEyODQ5P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEpTT04gU2NoZW1hIGlzIGFuIGltcG9ydGFudCwgZXZvbHZpbmcgc3RhbmRhcmQgc2NoZW1hIGxhbmd1YWdlIGZvciBmYW1pbGllcyBvZiBKU09OIGRvY3VtZW50cy4gSXQgaXMgYmFzZWQgb24gYSBjb21wbGV4IGNvbWJpbmF0aW9uIG9mIHN0cnVjdHVyYWwgYW5kIEJvb2xlYW4gYXNzZXJ0aW9ucywgYW5kIGZlYXR1cmVzIG5lZ2F0aW9uIGFuZCByZWN1cnNpb24uIFRoZSBzdGF0aWMgYW5hbHlzaXMgb2YgSlNPTiBTY2hlbWEgZG9jdW1lbnRzIGNvbXByaXNlcyBwcmFjdGljYWxseSByZWxldmFudCBwcm9ibGVtcywgaW5jbHVkaW5nIHNjaGVtYSBzYXRpc2ZpYWJpbGl0eSwgaW5jbHVzaW9uLCBhbmQgZXF1aXZhbGVuY2UuIFRoZXNlIHRocmVlIHByb2JsZW1zIGNhbiBiZSByZWR1Y2VkIHRvIHdpdG5lc3MgZ2VuZXJhdGlvbjogZ2l2ZW4gYSBzY2hlbWEsIGdlbmVyYXRlIGFuIGVsZW1lbnQgb2YgdGhlIHNjaGVtYSwgaWYgaXQgZXhpc3RzLCBhbmQgcmVwb3J0IGZhaWx1cmUgb3RoZXJ3aXNlLgotICgyMDIyKSBbVmFsaWRhdGluZyBTdHJlYW1pbmcgSlNPTiBEb2N1bWVudHMgd2l0aCBMZWFybmVkIFZQQXNdKGh0dHBzOi8vYXJ4aXYub3JnL2Ficy8yMjExLjA4ODkxP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoaXMgcGFwZXIgcHJlc2VudHMgYSBuZXcgc3RyZWFtaW5nIGFsZ29yaXRobSB0byB2YWxpZGF0ZSBKU09OIGRvY3VtZW50cyBhZ2FpbnN0IGEgc2V0IG9mIGNvbnN0cmFpbnRzIGdpdmVuIGFzIGEgSlNPTiBzY2hlbWEuIEl0IHByb3ZlcyB0aGF0IHRoZXJlIGFsd2F5cyBleGlzdHMgYSB2aXNpYmx5IHB1c2hkb3duIGF1dG9tYXRvbiAoVlBBKSB0aGF0IGFjY2VwdHMgdGhlIHNhbWUgc2V0IG9mIEpTT04gZG9jdW1lbnRzIGFzIGEgSlNPTiBzY2hlbWEuCi0gKDIwMjIpIFtUaGUgVXNhZ2Ugb2YgTmVnYXRpb24gaW4gUmVhbC1Xb3JsZCBKU09OIFNjaGVtYSBEb2N1bWVudHNdKGh0dHA6Ly9iaWxpb3NvLmlzdGkuY25yLml0L3NlYmQyMDIyL3ByZXByaW50L1NFQkRfMjAyMl9DYW1lcmEtcmVhZHlfUERGXzgucGRmP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIE1hbnkgc29mdHdhcmUgdG9vbHMsIGJ1dCBhbHNvIGZvcm1hbCBmcmFtZXdvcmtzIGZvciB3b3JraW5nIHdpdGggSlNPTiBTY2hlbWEsIGRvIG5vdCBmdWxseSBzdXBwb3J0IG5lZ2F0aW9uLiBUaGlzIG1vdGl2YXRlcyB1cyB0byBzdHVkeSB3aGV0aGVyIG5lZ2F0aW9uIGlzIGFjdHVhbGx5IHVzZWQgaW4gcHJhY3RpY2UsIGZvciB3aGljaCBhaW1zLCBhbmQgd2hldGhlciBpdCBjb3VsZCwgaW4gcHJpbmNpcGxlLCBiZSByZXBsYWNlZCBieSBzaW1wbGVyIG9wZXJhdG9ycy4gV2UgaGF2ZSBjb2xsZWN0ZWQgYSBsYXJnZSBjb3JwdXMgb2YgODBrIG9wZW4gc291cmNlIEpTT04gU2NoZW1hIGRvY3VtZW50cy4gV2UgcGVyZm9ybSBhIHN5c3RlbWF0aWMgYW5hbHlzaXMsIHF1YW50aWZ5IHVzYWdlIHBhdHRlcm5zIG9mIG5lZ2F0aW9uLCBhbmQgYWxzbyBxdWFsaXRhdGl2ZWx5IGFuYWx5emUgc2NoZW1hcy4gV2Ugc2hvdyB0aGF0IG5lZ2F0aW9uIGlzIGluZGVlZCB1c2VkLCBhbGJlaXQgaW5mcmVxdWVudGx5LCBmb2xsb3dpbmcgYSBzdGFibGUgc2V0IG9mIHBhdHRlcm5zLgotICgyMDIyKSBbSlNPTiBCaW5QYWNrOiBBIHNwYWNlLWVmZmljaWVudCBzY2hlbWEtZHJpdmVuIGFuZCBzY2hlbWEtbGVzcyBiaW5hcnkgc2VyaWFsaXphdGlvbiBzcGVjaWZpY2F0aW9uIGJhc2VkIG9uIEpTT04gU2NoZW1hXShodHRwczovL3d3dy5qdmlvdHRpLmNvbS9hc3NldHMvZGlzc2VydGF0aW9uLnBkZj91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIHN1cnZleSBhbmQgYmVuY2htYXJrIG9mIEpTT04tY29tcGF0aWJsZSBiaW5hcnkgc2VyaWFsaXphdGlvbiBzcGVjaWZpY2F0aW9ucyBmb2xsb3dlZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mIEpTT04gQmluUGFjaywgYSBub3ZlbCBwcm90b2NvbC1pbmRlcGVuZGVudCBzY2hlbWEtZHJpdmVuIGFuZCBzY2hlbWEtbGVzcyBiaW5hcnkgc2VyaWFsaXphdGlvbiBzcGVjaWZpY2F0aW9uIHRoYXQgaXMgc3RyaWN0bHktY29tcGF0aWJsZSB3aXRoIEpTT04gYW5kIHRha2VzIGFkdmFudGFnZSBvZiBKU09OIFNjaGVtYSBmb3JtYWwgZGVmaW5pdGlvbnMgdG8gcHJvZHVjZSBiaXQtc3RyaW5ncyB0aGF0IGFyZSBzcGFjZS1lZmZpY2llbnQgaW4gY29tcGFyaXNvbiB0byBldmVyeSBjb25zaWRlcmVkIGFsdGVybmF0aXZlIHNlcmlhbGl6YXRpb24gc3BlY2lmaWNhdGlvbi4KLSAoMjAyMikgW0ltcGxpY2l0IEpTT04gU2NoZW1hIFZlcnNpb25pbmcgVHJpZ2dlcmVkIGJ5IFRlbXBvcmFsIFVwZGF0ZXMgdG8gSlNPTi1CYXNlZCBCaWcgRGF0YSBpbiB0aGUgz4RKU2NoZW1hIEZyYW1ld29ya10oaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9jaGFwdGVyLzEwLjEwMDcvOTc4LTMtMDMxLTA3OTY5LTZfMz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGlzIHBhcGVyIHByb3Bvc2VzIGFuIGFwcHJvYWNoIGZvciBoYW5kbGluZyBpbXBsaWNpdCBzY2hlbWEgY2hhbmdlcyB0cmlnZ2VyZWQgYnkgdGVtcG9yYWwgdXBkYXRlcyBvZiBKU09OLWJhc2VkIEJpZyBEYXRhLiBNb3JlIHByZWNpc2VseSwgd2hlbiBhIHVzZXIgc3BlY2lmaWVzIGEgdGVtcG9yYWwgSlNPTiB1cGRhdGUgb3BlcmF0aW9uIHRoYXQgbW9kaWZpZXMgYSBzbmFwc2hvdCBKU09OIGNvbXBvbmVudCBhc3NpZ25pbmcgYSB2YWxpZC10aW1lIHRpbWVzdGFtcCB0byBpdHMgbmV3IHZhbHVlLCB0aGUgZXhlY3V0aW9uIG9mIHN1Y2ggYW4gb3BlcmF0aW9uIHJlcXVpcmVzIHRoZSBKU09OIGNvbXBvbmVudCB0byBiZWNvbWUgdGVtcG9yYWwsIHdoaWNoIGlzIGZvciBhbGwgaW50ZW50cyBhIHNjaGVtYSBjaGFuZ2UuIFRodXMsIGEgbmV3IHZlcnNpb24gb2YgdGhlIM+ESlNjaGVtYSB0ZW1wb3JhbCBjaGFyYWN0ZXJpc3RpY3MgZG9jdW1lbnQgaXMgZ2VuZXJhdGVkLCB3aXRoIHRoZSBhZGRpdGlvbiBvZiBhIG5ldyB2YWxpZC10aW1lIGNoYXJhY3RlcmlzdGljLiBOZXcgdmVyc2lvbnMgb2YgdGhlIHRlbXBvcmFsIEpTT04gc2NoZW1hIGFuZCBvZiB0aGUgdGVtcG9yYWwgSlNPTiBkb2N1bWVudCBhcmUgYWxzbyBhY2NvcmRpbmdseSBjcmVhdGVkLgotICgyMDIxKSBbVElMVDogQSBHRFBSLUFsaWduZWQgVHJhbnNwYXJlbmN5IEluZm9ybWF0aW9uIExhbmd1YWdlIGFuZCBUb29sa2l0IGZvciBQcmFjdGljYWwgUHJpdmFjeSBFbmdpbmVlcmluZ10oaHR0cHM6Ly9kbC5hY20ub3JnL2RvaS8xMC4xMTQ1LzM0NDIxODguMzQ0NTkyNT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBXZSBwcmVzZW50IFRJTFQsIGEgdHJhbnNwYXJlbmN5IGluZm9ybWF0aW9uIGxhbmd1YWdlIGFuZCB0b29sa2l0IGV4cGxpY2l0bHkgZGVzaWduZWQgdG8gcmVwcmVzZW50IGFuZCBwcm9jZXNzIHRyYW5zcGFyZW5jeSBpbmZvcm1hdGlvbiBpbiBsaW5lIHdpdGggdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgR0RQUiBhbmQgYWxsb3dpbmcgZm9yIGEgbW9yZSBhdXRvbWF0ZWQgYW5kIGFkYXB0aXZlIHVzZSBvZiBzdWNoIGluZm9ybWF0aW9uIHRoYW4gZXN0YWJsaXNoZWQsIGxlZ2FsZXNlIGRhdGEgcHJvdGVjdGlvbiBwb2xpY2llcyBkby4KLSAoMjAyMSkgW05vdCBFbGltaW5hdGlvbiBhbmQgV2l0bmVzcyBHZW5lcmF0aW9uIGZvciBKU09OIFNjaGVtYV0oaHR0cHM6Ly9hcnhpdi5vcmcvYWJzLzIxMDQuMTQ4Mjg/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSW4gdGhpcyBwYXBlciwgd2UgcHJlc2VudCBhbiBhbGdlYnJhaWMgY2hhcmFjdGVyaXphdGlvbiBvZiBKU09OIFNjaGVtYSwgb2J0YWluZWQgYnkgYWRkaW5nIG9wcG9ydHVuZSBvcGVyYXRvcnMsIGFuZCBieSBtaXJyb3JpbmcgZXhpc3Rpbmcgb25lcy4gV2UgcHJlc2VudCB0aGVuIGFsZ2VicmEtYmFzZWQgYXBwcm9hY2hlcyBmb3IgZGVhbGluZyB3aXRoIG5vdC1lbGltaW5hdGlvbiBhbmQgd2l0bmVzcyBnZW5lcmF0aW9uIHByb2JsZW1zLCB3aGljaCBwbGF5IGEgY2VudHJhbCByb2xlIGFzIHRoZXkgbGVhZCB0byBzb2x1dGlvbnMgZm9yIHRoZSBvdGhlciBtZW50aW9uZWQgY29tcGxleCBwcm9ibGVtcy4KLSAoMjAyMSkgW0Zhc3QgRGlzY292ZXJ5IG9mIE5lc3RlZCBEZXBlbmRlbmNpZXMgb24gSlNPTiBEYXRhXShodHRwczovL2FyeGl2Lm9yZy9hYnMvMjExMS4xMDM5OD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBFZmZpY2llbnQgZGVwZW5kZW5jeSBtaW5pbmcgYWxnb3JpdGhtcyBmb3Igbm9uLXJlbGF0aW9uYWwgZGF0YS4KLSAoMjAyMSkgW0VuaGFuY2luZyBKU09OIFNjaGVtYSBEaXNjb3ZlcnkgYnkgVW5jb3ZlcmluZyBIaWRkZW4gRGF0YV0oaHR0cHM6Ly9jZXVyLXdzLm9yZy9Wb2wtMjk3MS9wYXBlcjExLnBkZj91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBFbmhhbmNpbmcgZGlzY292ZXJlZCBKU09OIFNjaGVtYXMgYnkgZGlzYW1iaWd1YXRpbmcgZGF0YSBhbmQgbWV0YWRhdGEuCi0gKDIwMjEpIFtEZXJpdmluZyBTZW1hbnRpY3MtQXdhcmUgRnV6emVycyBmcm9tIFdlYiBBUEkgU2NoZW1hc10oaHR0cHM6Ly9hcnhpdi5vcmcvYWJzLzIxMTIuMTAzMjg/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gRGlzY3Vzc2VzIEpTT04gU2NoZW1hIGNhbm9uaWNhbGl6YXRpb24gYW5kIEpTT04gU2NoZW1hIGluc3RhbmNlIGRlcml2YXRpb24gaW4gdGhlIGNvbnRleHQgb2YgcHJvcGVydHktYmFzZWQgdGVzdGluZyBvZiBBUElzLgotICgyMDIwKSBbVHlwZSBTYWZldHkgd2l0aCBKU09OIFN1YnNjaGVtYV0oaHR0cHM6Ly9hcnhpdi5vcmcvYWJzLzE5MTEuMTI2NTE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gRGVjaWRpbmcgd2hldGhlciBvbmUgc2NoZW1hIGlzIGEgc3Vic2NoZW1hIG9mIGFub3RoZXIgaXMgbm9uLXRyaXZpYWwgYmVjYXVzZSBvZiB0aGUgcmljaG5lc3Mgb2YgdGhlIEpTT04gU2NoZW1hIHNwZWNpZmljYXRpb24gbGFuZ3VhZ2UuIEdpdmVuIGEgcGFpciBvZiBzY2hlbWFzLCBvdXIgYXBwcm9hY2ggZmlyc3QgY2Fub25pY2FsaXplcyBhbmQgc2ltcGxpZmllcyBib3RoIHNjaGVtYXMsIHRoZW4gZGVjaWRlcyB0aGUgc3Vic2NoZW1hIHF1ZXN0aW9uIG9uIHRoZSBjYW5vbmljYWwgZm9ybXMsIGRpc3BhdGNoaW5nIHNpbXBsZXIgc3Vic2NoZW1hIHF1ZXJpZXMgdG8gdHlwZS1zcGVjaWZpYyBjaGVja2Vycy4KLSAoMjAyMCkgW0pTT04gU2NoZW1hIEluZmVyZW5jZSBBcHByb2FjaGVzXShodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2NoYXB0ZXIvMTAuMTAwNy85NzgtMy0wMzAtNjU4NDctMl8xNj91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBJbiB0aGUgY29udGV4dCBvZiBkb2N1bWVudCBOb1NRTCBkYXRhYmFzZXMsIG5hbWVseSB0aG9zZSBhc3N1bWluZyB0aGUgSlNPTiBkYXRhIGZvcm1hdCwgdGhpcyBwYXBlciBmb2N1c2VzIG9uIHNldmVyYWwgcmVwcmVzZW50YXRpdmVzIG9mIHRoZSBleGlzdGluZyBpbmZlcmVuY2UgYXBwcm9hY2hlcyBhbmQgcHJvdmlkZSB0aGVpciB0aG9yb3VnaCBjb21wYXJpc29uLgotICgyMDIwKSBbQ2hhbGxlbmdlcyBpbiBDaGVja2luZyBKU09OIFNjaGVtYSBDb250YWlubWVudCBvdmVyIEV2b2x2aW5nIFJlYWwtV29ybGQgU2NoZW1hc10oaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9jaGFwdGVyLzEwLjEwMDcvOTc4LTMtMDMwLTY1ODQ3LTJfMjA/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhpcyBwYXBlciBwcmVzZW50cyB0aGUgcmVzdWx0cyBvZiBhbiBlbXBpcmljYWwgc3R1ZHkgb2YgdGhlIGZpcnN0IGdlbmVyYXRpb24gb2YgdG9vbHMgZm9yIGNoZWNraW5nIEpTT04gU2NoZW1hIGNvbnRhaW5tZW50IHdoaWNoIGlzIGFwcGxpZWQgdG8gYSBkaXZlcnNlIGNvbGxlY3Rpb24gb2Ygb3ZlciAyMzAgcmVhbC13b3JsZCBzY2hlbWFzIGFuZCB0aGVpciBhbHRvZ2V0aGVyIDFrIGhpc3RvcmljIHZlcnNpb25zLgotICgyMDE5KSBbV2hhdCBBcmUgUmVhbCBKU09OIFNjaGVtYXMgTGlrZT9dKGh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vY2hhcHRlci8xMC4xMDA3Lzk3OC0zLTAzMC0zNDE0Ni02Xzk/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBmaXJzdCBlbXBpcmljYWwgYW5hbHlzaXMgb2YgYSBjdXJhdGVkIGNvbGxlY3Rpb24gb2YgcmVhbC13b3JsZCBKU09OIFNjaGVtYXMuIEtub3dpbmcgd2hhdCByZWFsIEpTT04gU2NoZW1hcyBhcmUgbGlrZSAodG8gYm9ycm93IGZyb20gYSB0aXRsZSBvZiBhIHJlbGF0ZWQgc3R1ZHkgb24gRFREcykgaGVscHMgcHJhY3RpdGlvbmVycyBhbmQgcmVzZWFyY2hlcnMgaW4gbWFraW5nIHJlYWxpc3RpYyBhc3N1bXB0aW9ucyB3aGVuIGJ1aWxkaW5nIHRvb2xzIGZvciBKU09OIFNjaGVtYSBwcm9jZXNzaW5nLgotICgyMDE4KSBbVG9wLURvd24gTW9kZWwtRHJpdmVuIEVuZ2luZWVyaW5nIG9mIFdlYiBTZXJ2aWNlcyBmcm9tIEV4dGVuZGVkIE9wZW5BUEkgTW9kZWxzXShodHRwczovL2llZWV4cGxvcmUuaWVlZS5vcmcvYWJzdHJhY3QvZG9jdW1lbnQvOTAwMDAyMD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBTaG93cyBob3cgT3BlbkFQSSBjYW4gYmUgZXh0ZW5kZWQgdG8gYWRkIGltcGxlbWVudGF0aW9uIGRldGFpbHMgaW5zaWRlIG1vZGVscy4gVGhlc2UgZXh0ZW5zaW9ucyBsaW5rIHNlcnZpY2VzIHRvIGFzc2VtYmxpZXMgb2YgY29tcG9uZW50cyB0aGF0IGRlc2NyaWJlIGNvbXB1dGF0aW9ucy4gSGVuY2UgYSB0b3AtZG93biBkZXZlbG9wbWVudCBwcm9jZXNzIHRoYXQga2VlcHMgbW9kZWwgYW5kIGltcGxlbWVudGF0aW9uIGFsaWduZWQuCi0gKDIwMTgpIFtBbiBBcHByb2FjaCBmb3IgU2NoZW1hIEV4dHJhY3Rpb24gb2YgSlNPTiBhbmQgRXh0ZW5kZWQgSlNPTiBEb2N1bWVudCBDb2xsZWN0aW9uc10oaHR0cHM6Ly9pZWVleHBsb3JlLmllZWUub3JnL2Fic3RyYWN0L2RvY3VtZW50Lzg0MjQ3MzE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhpcyBwYXBlciBwcmVzZW50cyBhbiBhcHByb2FjaCB0aGF0IGV4dHJhY3RzIGEgc2NoZW1hIGZyb20gYSBKU09OIG9yIEV4dGVuZGVkIEpTT04gZG9jdW1lbnQgY29sbGVjdGlvbiBzdG9yZWQgaW4gYSBOb1NRTCBkb2N1bWVudC1vcmllbnRlZCBkYXRhYmFzZSBvciBvdGhlciBkb2N1bWVudCByZXBvc2l0b3J5LiBBZ2dyZWdhdGlvbiBvcGVyYXRpb25zIGFyZSBjb25zaWRlcmVkIGluIG9yZGVyIHRvIG9idGFpbiBhIHNjaGVtYSBmb3IgZWFjaCBkaXN0aW5jdCBzdHJ1Y3R1cmUgaW4gdGhlIGNvbGxlY3Rpb24sIGFuZCBhIGhpZXJhcmNoaWNhbCBkYXRhIHN0cnVjdHVyZSBpcyBwcm9wb3NlZCB0byBncm91cCB0aGVzZSBzY2hlbWFzIGluIG9yZGVyIHRvIGdlbmVyYXRlIGEgZ2xvYmFsIHNjaGVtYSBpbiBKU09OIFNjaGVtYSBmb3JtYXQuCi0gKDIwMTcpIFtTY2hlbWEgSW5mZXJlbmNlIGZvciBNYXNzaXZlIEpTT04gRGF0YXNldHNdKGh0dHBzOi8vaGFsLmFyY2hpdmVzLW91dmVydGVzLmZyL2hhbC0wMTQ5MTc2NT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBSZWNlbnQgeWVhcnMgaGF2ZSBzZWVuIHRoZSB3aWRlc3ByZWFkIHVzZSBvZiBKU09OIGFzIGEgZGF0YSBmb3JtYXQgdG8gcmVwcmVzZW50IG1hc3NpdmUgZGF0YSBjb2xsZWN0aW9ucy4gSlNPTiBkYXRhIGNvbGxlY3Rpb25zIGFyZSB1c3VhbGx5IHNjaGVtYWxlc3MuIFdoaWxlIHRoaXMgZW5zdXJlcyBzZXZlcmFsIGFkdmFudGFnZXMsIHRoZSBhYnNlbmNlIG9mIHNjaGVtYSBpbmZvcm1hdGlvbiBoYXMgaW1wb3J0YW50IG5lZ2F0aXZlIGNvbnNlcXVlbmNlczogdGhlIGNvcnJlY3RuZXNzIG9mIGNvbXBsZXggcXVlcmllcyBhbmQgcHJvZ3JhbXMgY2Fubm90IGJlIHN0YXRpY2FsbHkgY2hlY2tlZCwgdXNlcnMgY2Fubm90IHJlbHkgb24gc2NoZW1hIGluZm9ybWF0aW9uIHRvIHF1aWNrbHkgZmlndXJlIG91dCBzdHJ1Y3R1cmFsIHByb3BlcnRpZXMgdGhhdCBjb3VsZCBzcGVlZCB1cCB0aGUgZm9ybXVsYXRpb24gb2YgY29ycmVjdCBxdWVyaWVzLCBhbmQgbWFueSBzY2hlbWEtYmFzZWQgb3B0aW1pemF0aW9ucyBhcmUgbm90IHBvc3NpYmxlLiBJbiB0aGlzIHBhcGVyIHdlIGRlYWwgd2l0aCB0aGUgcHJvYmxlbSBvZiBpbmZlcnJpbmcgYSBzY2hlbWEgZnJvbSBtYXNzaXZlIEpTT04gZGF0YSBzZXRzLgotICgyMDE3KSBbRXhhbXBsZS1Ecml2ZW4gV2ViIEFQSSBTcGVjaWZpY2F0aW9uIERpc2NvdmVyeV0oaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9jaGFwdGVyLzEwLjEwMDcvOTc4LTMtMzE5LTYxNDgyLTNfMTY/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSW4gdGhpcyBwYXBlciB3ZSBwcmVzZW50IGFuIGV4YW1wbGUtZHJpdmVuIGRpc2NvdmVyeSBwcm9jZXNzIHRoYXQgZ2VuZXJhdGVzIG1vZGVsLWJhc2VkIE9wZW5BUEkgc3BlY2lmaWNhdGlvbnMgZm9yIFJFU1QgV2ViIEFQSXMgYnkgdXNpbmcgQVBJIGNhbGwgZXhhbXBsZXMuIEEgdG9vbCBpbXBsZW1lbnRpbmcgb3VyIGFwcHJvYWNoIGFuZCBhIGNvbW11bml0eS1kcml2ZW4gcmVwb3NpdG9yeSBmb3IgdGhlIGRpc2NvdmVyZWQgQVBJcyBhcmUgYWxzbyBwcmVzZW50ZWQuCi0gKDIwMTcpIFtEZWZpbml0aW9uIG9mIFJFU1Qgd2ViIHNlcnZpY2VzIHdpdGggSlNPTiBzY2hlbWFdKGh0dHBzOi8vZGwuYWNtLm9yZy9kb2kvYWJzLzEwLjEwMDIvc3BlLjI0NjY/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIGFpbSBvZiB0aGlzIGFydGljbGUgaXMgdG8gZGVtb25zdHJhdGUgaG93IEpTT04gU2NoZW1hLCBhbmQgcGFydGljdWxhcmx5IHRoZSBKU09OIEh5cGVyIFNjaGVtYSBleHRlbnNpb24sIGlzIHN1aXRhYmxlIHRvIGRlc2NyaWJlIEpTT04tYmFzZWQgd2ViIHNlcnZpY2VzIHRoYXQgZm9sbG93IHRoZSBSRVNUIGFyY2hpdGVjdHVyYWwgcGF0dGVybi4KLSAoMjAxNikgW8+ESlNjaGVtYTogQSBGcmFtZXdvcmsgZm9yIE1hbmFnaW5nIFRlbXBvcmFsIEpTT04tQmFzZWQgTm9TUUwgRGF0YWJhc2VzXShodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2NoYXB0ZXIvMTAuMTAwNy85NzgtMy0zMTktNDQ0MDYtMl8xMz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGlzIHBhcGVyIHByb3Bvc2VzIGEgZnJhbWV3b3JrIGNhbGxlZCBUZW1wb3JhbCBKU09OIFNjaGVtYSAoz4RKU2NoZW1hKSwgaW5zcGlyZWQgYnkgdGhlIM+EWFNjaGVtYSBmcmFtZXdvcmsgZGVmaW5lZCBmb3IgWE1MIGRhdGEuIM+ESlNjaGVtYSBhbGxvd3MgZGVmaW5pbmcgYSB0ZW1wb3JhbCBKU09OIHNjaGVtYSBmcm9tIGEgY29udmVudGlvbmFsIEpTT04gc2NoZW1hIGFuZCBhIHNldCBvZiB0ZW1wb3JhbCBsb2dpY2FsIGFuZCBwaHlzaWNhbCBjaGFyYWN0ZXJpc3RpY3MuIE91ciBmcmFtZXdvcmsgZ3VhcmFudGVlcyBsb2dpY2FsIGFuZCBwaHlzaWNhbCBkYXRhIGluZGVwZW5kZW5jZSBmb3IgdGVtcG9yYWwgc2NoZW1hcyBhbmQgcHJvdmlkZXMgYSBsb3ctaW1wYWN0IHNvbHV0aW9uIHNpbmNlIGl0IHJlcXVpcmVzIG5laXRoZXIgbW9kaWZpY2F0aW9ucyBvZiBleGlzdGluZyBKU09OIGRvY3VtZW50cywgbm9yIGV4dGVuc2lvbnMgdG8gdGhlIEpTT04gZm9ybWF0LCB0aGUgSlNPTiBTY2hlbWEgbGFuZ3VhZ2UsIGFuZCBhbGwgcmVsYXRlZCB0b29scyBhbmQgbGFuZ3VhZ2VzLgotICgyMDE2KSBbRm91bmRhdGlvbnMgb2YgSlNPTiBTY2hlbWFdKGh0dHBzOi8vZGwuYWNtLm9yZy9kb2kvYWJzLzEwLjExNDUvMjg3MjQyNy4yODgzMDI5P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEluIHRoaXMgcGFwZXIgd2UgcHJvdmlkZSB0aGUgZmlyc3QgZm9ybWFsIGRlZmluaXRpb24gb2Ygc3ludGF4IGFuZCBzZW1hbnRpY3MgZm9yIEpTT04gU2NoZW1hIGFuZCB1c2UgaXQgdG8gc2hvdyB0aGF0IGltcGxlbWVudGluZyB0aGlzIGxheWVyIG9uIHRvcCBvZiBKU09OIGlzIGZlYXNpYmxlIGluIHByYWN0aWNlLgotICgyMDE1KSBbU2NoZW1hIGV4dHJhY3Rpb24gYW5kIHN0cnVjdHVyYWwgb3V0bGllciBkZXRlY3Rpb24gZm9yIEpTT04tYmFzZWQgbm9zcWwgZGF0YSBzdG9yZXNdKGh0dHBzOi8vZGwuZ2kuZGUvaGFuZGxlLzIwLjUwMC4xMjExNi8yNDIwP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFJhdGhlciB0aGFuIGRlc2lnbmluZyB0aGUgc2NoZW1hIHVwIGZyb250LCBleHRyYWN0aW5nIGEgc2NoZW1hIGluIGhpbmRzaWdodCBjYW4gYmUgc2VlbiBhcyBhIHJldmVyc2UtZW5naW5lZXJpbmcgc3RlcC4gQmFzZWQgb24gdGhlIGV4dHJhY3RlZCBzY2hlbWEgaW5mb3JtYXRpb24sIHdlIHByb3Bvc2Ugc2V0IG9mIHNpbWlsYXJpdHkgbWVhc3VyZXMgdGhhdCBjYXB0dXJlIHRoZSBkZWdyZWUgb2YgaGV0ZXJvZ2VuZWl0eSBvZiBKU09OIGRhdGEgYW5kIHdoaWNoIHJldmVhbCBzdHJ1Y3R1cmFsIG91dGxpZXJzIGluIHRoZSBkYXRhLgotICgyMDE0KSBbSnNvbmdlbjogYSBxdWlja2NoZWNrIGJhc2VkIGxpYnJhcnkgZm9yIHRlc3RpbmcgSlNPTiB3ZWIgc2VydmljZXNdKGh0dHBzOi8vZGwuYWNtLm9yZy9kb2kvYWJzLzEwLjExNDUvMjYzMzQ0OC4yNjMzNDU0P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoaXMgYXJ0aWNsZSBkZXNjcmliZXMgYSBzeXN0ZW1hdGljIGFwcHJvYWNoIHRvIHRlc3RpbmcgYmVoYXZpb3VyYWwgYXNwZWN0cyBvZiBXZWIgU2VydmljZXMgdGhhdCBjb21tdW5pY2F0ZSB1c2luZyB0aGUgSlNPTiBkYXRhIGZvcm1hdC4gVG8gZ2VuZXJhdGUgcmFuZG9tIEpTT04gZGF0YSBmb3IgcG9wdWxhdGluZyB0ZXN0cyB3ZSBoYXZlIGRldmVsb3BlZCBhIG5ldyBsaWJyYXJ5LCBqc29uZ2VuLCB3aGljaCBnaXZlbiBhIGNoYXJhY3RlcmlzYXRpb24gb2YgdGhlIEpTT04gZGF0YSBhcyBhIEpTT04gc2NoZW1hLCAoaSkgYXV0b21hdGljYWxseSBkZXJpdmVzIGEgUXVpY2tDaGVjayBnZW5lcmF0b3Igd2hpY2ggY2FuIGdlbmVyYXRlIGFuIGluZmluaXRlIG51bWJlciBvZiBKU09OIHZhbHVlcyB0aGF0IHZhbGlkYXRlIGFnYWluc3QgdGhlIHNjaGVtYSwgYW5kIChpaSkgcHJvdmlkZXMgYSBnZW5lcmljIFF1aWNrQ2hlY2sgc3RhdGUgbWFjaGluZSB3aGljaCBpcyBjYXBhYmxlIG9mIGZvbGxvd2luZyB0aGUgKGh5cGVyKWxpbmtzIGRvY3VtZW50ZWQgaW4gdGhlIEpTT04gc2NoZW1hLCB0byBhdXRvbWF0aWNhbGx5IGV4cGxvcmUgdGhlIHdlYiBzZXJ2aWNlLgotICgyMDEyKSBbVXNlciBwcm9maWxlIGludGVncmF0aW9uIG1hZGUgZWFzeTogbW9kZWwtZHJpdmVuIGV4dHJhY3Rpb24gYW5kIHRyYW5zZm9ybWF0aW9uIG9mIHNvY2lhbCBuZXR3b3JrIHNjaGVtYXNdKGh0dHBzOi8vZGwuYWNtLm9yZy9kb2kvYWJzLzEwLjExNDUvMjE4Nzk4MC4yMTg4MjI3P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoaXMgcGFwZXIgcHJlc2VudHMsIGZpcnN0bHksIGEgc2VtaS1hdXRvbWF0aWMgYXBwcm9hY2ggdG8gZXh0cmFjdCBzY2hlbWEgaW5mb3JtYXRpb24gZnJvbSBpbnN0YW5jZSBkYXRhLiBTZWNvbmRseSwgdHJhbnNmb3JtYXRpb25zIG9mIHRoZSBkZXJpdmVkIHNjaGVtYXMgdG8gZGlmZmVyZW50IHRlY2huaWNhbCBzcGFjZXMgYXJlIHV0aWxpemVkLCB0aGVyZWJ5IGFsbG93aW5nLCBhbW9uZ3N0IG90aGVyIGJlbmVmaXRzLCB0aGUgYXBwbGljYXRpb24gb2YgZXN0YWJsaXNoZWQgaW50ZWdyYXRpb24gdG9vbHMgYW5kIG1ldGhvZHMuIEZpbmFsbHksIGFzIGEgY2FzZSBzdHVkeSwgc2NoZW1hcyBhcmUgZGVyaXZlZCBmb3IgRmFjZWJvb2ssIEdvb2dsZSssIGFuZCBMaW5rZWRJbi4KCiMjIFRvb2xzCgotIFtUeXBlZFdlYmhvb2sudG9vbHNdKGh0dHBzOi8vdHlwZWR3ZWJob29rLnRvb2xzP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIG9ubGluZSB3ZWJob29rIHRlc3RpbmcgdG9vbCB0aGF0IGlzIGFibGUgdG8gZ2VuZXJhdGUgSlNPTiBTY2hlbWEgZGVmaW5pdGlvbnMgb3V0IG9mIGluY29taW5nIGRhdGEuCi0gW1F1aWNrVHlwZS5pb10oaHR0cHM6Ly9hcHAucXVpY2t0eXBlLmlvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIG9ubGluZSBKU09OIFNjaGVtYSBjb2RlLWdlbmVyYXRpb24gdXRpbGl0eSB3aXRoIGRpdmVyc2UgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2Ugc3VwcG9ydC4KLSBbSlNPTnNjaGVtYS5OZXRdKGh0dHBzOi8vd3d3Lmpzb25zY2hlbWEubmV0P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIG9ubGluZSB0b29sIHRoYXQgZ2VuZXJhdGVzIEpTT04gc2NoZW1hIGZyb20gSlNPTiBkb2N1bWVudHMuCi0gW0pTT05TY2hlbWEuZGV2XShodHRwczovL2pzb25zY2hlbWEuZGV2P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIG9ubGluZSBKU09OIFNjaGVtYSB2YWxpZGF0b3IgY3JlYXRlZCBieSB0aGUgSlNPTiBTY2hlbWEgc3BlY2lmaWNhdGlvbiBsZWFkLgotIFtKU09OQnVkZHldKGh0dHBzOi8vd3d3Lmpzb24tYnVkZHkuY29tP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgSlNPTiBlZGl0b3IgYW5kIHZhbGlkYXRvciBkZXNrdG9wIGFwcGxpY2F0aW9uIGZvciBXaW5kb3dzLgotIFtKU09OIFNjaGVtYSBWaWV3ZXJdKGh0dHA6Ly9qbGJsY2MuZ2l0aHViLmlvL2pzb24tc2NoZW1hLXZpZXdlci8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gb25saW5lIHRvb2wgdG8gdmlzdWFsaXplIEpTT04gU2NoZW1hIGRlZmluaXRpb25zLgotIFtKU09OIFNjaGVtYSBWYWxpZGF0b3IgYW5kIEdlbmVyYXRvcl0oaHR0cHM6Ly9leHRlbmRzY2xhc3MuY29tL2pzb24tc2NoZW1hLXZhbGlkYXRvci5odG1sP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIG9ubGluZSBKU09OIFNjaGVtYSB2YWxpZGF0b3IgdGhhdCBjYW4gZ2VuZXJhdGUgSlNPTiBTY2hlbWEgZnJvbSBKU09OIGRvY3VtZW50cyBhbmQgZ2VuZXJhdGUgcmFuZG9tIEpTT04gZG9jdW1lbnRzIGZyb20gSlNPTiBTY2hlbWEuCi0gW0pTT04gU2NoZW1hIFZhbGlkYXRvcl0oaHR0cHM6Ly93d3cuanNvbnNjaGVtYXZhbGlkYXRvci5uZXQ/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gb25saW5lIEpTT04gU2NoZW1hIHZhbGlkYXRvciB3aXRoIHN1cHBvcnQgZm9yIEpTT04gU2NoZW1hIERyYWZ0IDMsIERyYWZ0IDQsIERyYWZ0IDYsIERyYWZ0IDcgYW5kIERyYWZ0IDIwMTktMDkuCi0gW0pTT04gU2NoZW1hIENMSV0oaHR0cHM6Ly9naXRodWIuY29tL2ludGVsbGlnZW5jZS1haS9qc29uc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBDTEkgZm9yIHdvcmtpbmcgd2l0aCBKU09OIFNjaGVtYS4gQ292ZXJzIGZvcm1hdHRpbmcsIGxpbnRpbmcsIHRlc3RpbmcsIGJ1bmRsaW5nLCBhbmQgbW9yZSBmb3IgYm90aCBsb2NhbCBkZXZlbG9wbWVudCBhbmQgQ0kvQ0QgcGlwZWxpbmVzLgotIFtIeXBlcmp1bXAgSlNPTiBTY2hlbWEgVmFsaWRhdG9yXShodHRwczovL2pzb24tc2NoZW1hLmh5cGVyanVtcC5pbz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBbiBvbmxpbmUgSlNPTiBTY2hlbWEgdmFsaWRhdG9yIHRoYXQgc3VwcG9ydHMgRHJhZnQgMDQsIDA2LCAwNywgMjAxOS0wOSwgYW5kIDIwMjAtMTIuCi0gW0FsdGVyU2NoZW1hXShodHRwczovL2FsdGVyc2NoZW1hLnNvdXJjZW1ldGEuY29tP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIENvbnZlcnQgYSBKU09OIFNjaGVtYSBkZWZpbml0aW9uIGJldHdlZW4gc3BlY2lmaWNhdGlvbiB2ZXJzaW9ucy4KCiMjIExpYnJhcmllcwoKVGhlIEpTT04gU2NoZW1hIHdlYnNpdGUgaW5jbHVkZXMgYW4gZXh0ZW5zaXZlIGxpc3Qgb2YgaW1wbGVtZW50YXRpb25zIGFuZApyZWxhdGVkIGxpYnJhcmllczogaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvaW1wbGVtZW50YXRpb25zLmh0bWwuCgotLS0KCj4gU3BlY2lhbCB0aGFua3MgdG8gW0BraW5sYW5lXShodHRwczovL2dpdGh1Yi5jb20va2lubGFuZSkgZm9yIGN1cmF0aW5nIHRoZQppbml0aWFsIHZlcnNpb24gb2YgdGhpcyBsaXN0Lgo= - readmeEtag: '"6b8c9f998e8372608704eae8b2eeb11389613e99"' - readmeLastModified: Mon, 12 Aug 2024 19:29:33 GMT + PCEtLSBBVFRFTlRJT04hIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZC4gRG8gbm90IGVkaXQgdGhpcyBmaWxlIGRpcmVjdGx5LgpJbnN0ZWFkLCBlZGl0IGBkYXRhLnlhbWxgIGFuZCByZS1nZW5lcmF0ZSB0aGlzIGZpbGUgYXMgcGVyIHRoZSBSRUFETUUncwppbnN0cnVjdGlvbnMgLS0+CgojIEF3ZXNvbWUgSlNPTiBTY2hlbWEgWyFbQXdlc29tZV0oaHR0cHM6Ly9jZG4ucmF3Z2l0LmNvbS9zaW5kcmVzb3JodXMvYXdlc29tZS9kNzMwNWYzOGQyOWZlZDc4ZmE4NTY1MmUzYTYzZTE1NGRkOGU4ODI5L21lZGlhL2JhZGdlLnN2ZyldKGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvYXdlc29tZSkKCls8aW1nIHNyYz0ibG9nby5zdmciIGFsaWduPSJyaWdodCIgd2lkdGg9IjEwMCI+XShodHRwczovL2pzb24tc2NoZW1hLm9yZykKClshW1BScyBXZWxjb21lXShodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL1BScy13ZWxjb21lLWJyaWdodGdyZWVuLnN2Zz9zdHlsZT1mbGF0LXNxdWFyZSldKGh0dHA6Ly9tYWtlYXB1bGxyZXF1ZXN0LmNvbSkKWyFbSm9pbiBTbGFja10oaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9TbGFjay1Kb2luJTIwU2xhY2stYmx1ZS5zdmc/c3R5bGU9ZmxhdC1zcXVhcmUpXShodHRwczovL2pzb24tc2NoZW1hLnNsYWNrLmNvbSkKWyFbT3BlbkNvbGxlY3RpdmVdKGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vb3BlbmNvbGxlY3RpdmUvYWxsL2pzb24tc2NoZW1hP2xhYmVsPU9wZW5Db2xsZWN0aXZlJnN0eWxlPWZsYXQtc3F1YXJlKV0oaHR0cHM6Ly9vcGVuY29sbGVjdGl2ZS5jb20vanNvbi1zY2hlbWEpCgo+IEEgY3VyYXRlZCBsaXN0IG9mIGF3ZXNvbWUgSlNPTiBTY2hlbWEgcmVzb3VyY2VzLCB0dXRvcmlhbHMsIHRvb2xzLCBhbmQgbW9yZS4KCkpTT04gU2NoZW1hIGlzIGEgSlNPTi1iYXNlZCBmb3JtYXQgdG8gYW5ub3RhdGUgYW5kIHZhbGlkYXRlIEpTT04gZG9jdW1lbnRzIHdpdGgKYSB2aWJyYW50IGNvbW11bml0eS4gSlNPTiBTY2hlbWEgaXMgZGVmaW5lZCBieSBhIHNldCBvZiBJRVRGIHNwZWNpZmljYXRpb25zIGFuZAppdCBpcyB0aGUgaW5kdXN0cnktc3RhbmRhcmQgZm9yIGRlZmluaW5nIHRoZSBzdHJ1Y3R1cmUgYW5kIG1lYW5pbmcgb2YgSlNPTgpkb2N1bWVudHMuCgotLS0KCioqV291bGQgeW91IGxpa2UgdG8gcHJvbW90ZSB5b3VyIGNvbXBhbnkgb3IgcHJvZHVjdCBoZXJlPyBbU3BvbnNvciB1cyBvbgpHaXRIdWJdKGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9zb3VyY2VtZXRhKSoqCgotLS0KCj4gWyFUSVBdCj4gRG8geW91IHdhbnQgdG8gbGV2ZWwgdXAgeW91ciBKU09OIFNjaGVtYSBza2lsbHM/IENoZWNrIG91dAo+IFtsZWFybmpzb25zY2hlbWEuY29tXShodHRwczovL3d3dy5sZWFybmpzb25zY2hlbWEuY29tKSwgb3VyIGdyb3dpbmcgSlNPTgo+IFNjaGVtYSBkb2N1bWVudGF0aW9uIHdlYnNpdGUsIGFuZCBvdXIgTydSZWlsbHkgYm9vayBbVW5pZnlpbmcgQnVzaW5lc3MsIERhdGEsCj4gYW5kIENvZGU6IERlc2lnbmluZyBEYXRhIFByb2R1Y3RzIHdpdGggSlNPTgo+IFNjaGVtYV0oaHR0cHM6Ly93d3cub3JlaWxseS5jb20vbGlicmFyeS92aWV3L3VuaWZ5aW5nLWJ1c2luZXNzLWRhdGEvOTc4MTA5ODE0NDk5OS8pLgoKIyMgQ29udGVudHMKCi0gW09mZmljaWFsXSgjb2ZmaWNpYWwpCi0gW0dldHRpbmcgU3RhcnRlZF0oI2dldHRpbmctc3RhcnRlZCkKLSBbVm9jYWJ1bGFyaWVzXSgjdm9jYWJ1bGFyaWVzKQotIFtSZWdpc3RyaWVzXSgjcmVnaXN0cmllcykKLSBbQWRvcHRpb25dKCNhZG9wdGlvbikKLSBbQXJ0aWNsZXNdKCNhcnRpY2xlcykKLSBbU3BlY2lmaWNhdGlvbnNdKCNzcGVjaWZpY2F0aW9ucykKLSBbQm9va3NdKCNib29rcykKLSBbQ291cnNlc10oI2NvdXJzZXMpCi0gW1ZpZGVvc10oI3ZpZGVvcykKLSBbUG9kY2FzdHNdKCNwb2RjYXN0cykKLSBbUGFwZXJzXSgjcGFwZXJzKQotIFtUb29sc10oI3Rvb2xzKQotIFtMaWJyYXJpZXNdKCNsaWJyYXJpZXMpCgojIyBPZmZpY2lhbAoKLSBbR2l0SHViXShodHRwczovL2dpdGh1Yi5jb20vanNvbi1zY2hlbWEtb3JnP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBvZmZpY2lhbCBHaXRIdWIgb3JnYW5pemF0aW9uIG9mIHRoZSBKU09OIFNjaGVtYSBwcm9qZWN0LgotIFtHaXRIdWIgRGlzY3Vzc2lvbnNdKGh0dHBzOi8vZ2l0aHViLmNvbS9qc29uLXNjaGVtYS1vcmcvY29tbXVuaXR5L2Rpc2N1c3Npb25zP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBkaXNjdXNzaW9ucyBwYWdlIG9mIEpTT04gU2NoZW1hLgotIFtTbGFja10oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvc2xhY2s/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIG9mZmljaWFsIFNsYWNrIHdvcmtzcGFjZSBvZiBKU09OIFNjaGVtYS4KLSBbU3RhY2sgT3ZlcmZsb3ddKGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zL3RhZ2dlZC9qc29uc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBKU09OIFNjaGVtYSB0YWcgaW4gU3RhY2sgT3ZlcmZsb3cuCi0gW1Rlc3QgU3VpdGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9qc29uLXNjaGVtYS1vcmcvSlNPTi1TY2hlbWEtVGVzdC1TdWl0ZT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgb2ZmaWNpYWwgdGVzdCBzdWl0ZSBmb3IgSlNPTiBTY2hlbWEgaW1wbGVtZW50YXRpb25zLgotIFtUd2l0dGVyXShodHRwczovL3R3aXR0ZXIuY29tL2pzb25zY2hlbWE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIFR3aXR0ZXIgYWNjb3VudCBvZiB0aGUgSlNPTiBTY2hlbWEgcHJvamVjdC4KLSBbWW91VHViZV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ3JsM2ZqbUhTcDZGaEpVS2NFSmhpc0E/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIEpTT04gU2NoZW1hIG9mZmljaWFsIFlvdVR1YmUgY2hhbm5lbC4KCiMjIEdldHRpbmcgU3RhcnRlZAoKLSAoMjAyMikgW1lBTUwgRGF0YSBWYWxpZGF0aW9uXShodHRwczovL2luZnJhc3RydWN0dXJlYXNjb2RlLmNoL3lhbWxfdmFsaWRhdGlvbi5odG1sP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgdHV0b3JpYWwgb24gdmFsaWRhdGluZyBZQU1MIGRvY3VtZW50cyB1c2luZyBKU09OIFNjaGVtYSAyMDIwLTEyLgotICgyMDIyKSBbVmFsaWRhdGluZyBQT1NUIERhdGEgQWdhaW5zdCBKU09OIFNjaGVtYV0oaHR0cHM6Ly9ibG9nLmJlZ2luLmNvbS9wb3N0cy8yMDIyLTA2LTI3LXZhbGlkYXRpbmctcG9zdC1kYXRhLWFnYWlzdC1qc29uLXNjaGVtYT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIHR1dG9yaWFsIG9uIHZhbGlkYXRpbmcgSFRUUCByZXF1ZXN0IGRhdGEgdXNpbmcgSlNPTiBTY2hlbWEgdXNpbmcgdGhlIEFyY2hpdGVjdCBGdW5jdGlvbmFsIFdlYiBBcHBzIChGV0FzKSBmcmFtZXdvcmsuCi0gKDIwMjIpIFtSZWFjdCBKU09OIFNjaGVtYSBGb3JtXShodHRwczovL21lZGl1bS5jb20vamF2YXJldmlzaXRlZC9yZWFjdC1qc29uLXNjaGVtYS1mb3JtLWNkYzhmYmIwNmY4Yz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIHR1dG9yaWFsIG9uIHVzaW5nIHRoZSBSZWFjdCBKU09OIFNjaGVtYSBGb3JtIHByb2plY3QgYnkgTW96aWxsYSB0byBnZW5lcmF0ZSB3ZWIgZm9ybXMgdXNpbmcgSlNPTiBTY2hlbWEuCi0gKDIwMjIpIFtKU09OIFNjaGVtYSB2YWxpZGF0aW9uIGZvciBjb2x1bW5zXShodHRwczovL3NxbGZvcmRldnMuY29tL2pzb24tc2NoZW1hLXZhbGlkYXRpb24/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBzaG9ydCB0dXRvcmlhbCBvbiBhZGRpbmcgTXlTUUwgYW5kIFBvc3RncmVTUUwgdGFibGUgY29uc3RyYWludHMgdXNpbmcgSlNPTiBTY2hlbWEuCi0gKDIwMjIpIFtFYXN5IGFuZCBRdWljayBGb3JtIEdlbmVyYXRpb24gVXNpbmcgSlNPTiBTY2hlbWEgaW4gVnVlSlNdKGh0dHBzOi8vd3d3LmJhY2FuY3l0ZWNobm9sb2d5LmNvbS9ibG9nL2Zvcm0tZ2VuZXJhdGlvbi11c2luZy1qc29uLXNjaGVtYS1pbi12dWVqcz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIHR1dG9yaWFsIG9uIGdlbmVyYXRpbmcgd2ViIGZvcm1zIHVzaW5nIEpTT04gU2NoZW1hIGFuZCBWdWVKUy4KLSAoMjAyMikgW0NyZWF0aW5nIGEgSlNPTiBzY2hlbWFdKGh0dHBzOi8vcHVibGlzaGluZy1wcm9qZWN0LnJpdmVuZGVsbHdlYi5uZXQvY3JlYXRpbmctYS1qc29uLXNjaGVtYS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSB0dXRvcmlhbCBvbiBjcmVhdGluZyBKU09OIFNjaGVtYSAyMDIwLTEyIGRlZmluaXRpb25zIGZvciBhIGZpY3RpdGlvdXMgaW50ZXJ2aWV3aW5nIHBsYXRmb3JtLgotICgyMDIxKSBbVW5kZXJzdGFuZGluZyBKU09OIFNjaGVtYV0oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvdW5kZXJzdGFuZGluZy1qc29uLXNjaGVtYS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gaW4tZGVwdGggZ3VpZGUgdG8gSlNPTiBTY2hlbWEuCi0gKDIwMjEpIFtKU09OIFNjaGVtYTogR2V0dGluZyBTdGFydGVkIFN0ZXAtQnktU3RlcF0oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvbGVhcm4vZ2V0dGluZy1zdGFydGVkLXN0ZXAtYnktc3RlcC5odG1sP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgY29tcHJlaGVuc2l2ZSBpbnRyb2R1Y3Rpb24gdG8gSlNPTiBTY2hlbWEuCi0gKDIwMjEpIFtJbnRyb2R1Y3Rpb24gdG8gSlNPTiBTY2hlbWEgaW4gSmF2YV0oaHR0cHM6Ly93d3cuYmFlbGR1bmcuY29tL2ludHJvZHVjdGlvbi10by1qc29uLXNjaGVtYS1pbi1qYXZhP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgc2hvcnQgaW50cm9kdWN0aW9uIHRvIHZhbGlkYXRpbmcgSlNPTiBkb2N1bWVudHMgd2l0aCBKU09OIFNjaGVtYSBpbiBKYXZhLgotICgyMDIwKSBbVmFsaWRhdGluZyBhbmQgZG9jdW1lbnRpbmcgSlNPTiB3aXRoIEpTT04gU2NoZW1hXShodHRwczovL3d3dy5tc2NoYXJoYWcuY29tL2FwaS1kZXNpZ24vanNvbi1zY2hlbWE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gaW50cm9kdWN0aW9uIHRvIEpTT04gU2NoZW1hIGJ5IGV4YW1wbGUgYnkgc2hvd2luZyBhbiBhbm5vdGF0ZWQgSlNPTiBTY2hlbWEgdGhhdCB2YWxpZGF0ZXMgYW4gZXhhbXBsZSBkb2N1bWVudC4KLSAoMjAyMCkgW0pTT04gU2NoZW1hIFR1dG9yaWFsXShodHRwczovL3d3dy53M3Jlc291cmNlLmNvbS9KU09OL0pTT04tU2NoZW1hLnBocD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIHR1dG9yaWFsIG9mIEpTT04gU2NoZW1hIHRoYXQgZGlzY3Vzc2VzIHZhbGlkYXRpb24sIGRvY3VtZW50YXRpb24gYW5kIGh5cGVybGlua2luZy4KLSAoMjAyMCkgW0hvdyB0byBJbnRlZ3JhdGUgJnF1b3Q7UmVhY3QgSlNPTiBTY2hlbWEgRm9ybSZxdW90OyBpbnRvIGEgUmVkdXggYW5kIFR5cGVzY3JpcHQgUHJvamVjdF0oaHR0cHM6Ly93d3cueHRpdmlhLmNvbS9ibG9nL2hvdy10by1pbnRlZ3JhdGUtcmVhY3QtanNvbi1zY2hlbWEtZm9ybS1pbnRvLWEtcmVkdXgtYW5kLXR5cGVzY3JpcHQtcHJvamVjdC8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQWRkaW5nIGEgZm9ybSB1c2luZyAmcXVvdDtSZWFjdCBKU09OIFNjaGVtYSBGb3JtJnF1b3Q7IGFuZCBpbnRlZ3JhdGluZyBpdCB3aXRoIFJlZHV4IGFuZCBUeXBlc2NyaXB0LgotICgyMDIwKSBbQW4gaW50cm9kdWN0aW9uIHRvIEpTT04gU2NoZW1hXShodHRwczovL21lZGl1bS5jb20vc3dsaC9hbi1pbnRyb2R1Y3Rpb24tdG8tanNvbi1zY2hlbWEtOGVhZWE2NDNmY2RhP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIGludHJvZHVjdGlvbiB0byBKU09OIFNjaGVtYSBjb3ZlcmluZyBpdHMgaGlzdG9yeSwgY29tbW9uIGtleXdvcmRzIGFuZCBob3cgdG8gdXNlIHRoZSBBSlYgdmFsaWRhdG9yLgotICgyMDE5KSBbUkVTVCBBUEkgVHV0b3JpYWw6IEpTT04gU2NoZW1hXShodHRwczovL3Jlc3RmdWxhcGkubmV0L2pzb24tc2NoZW1hLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBbiBzaG9ydCBpbnRyb2R1Y3Rpb24gdG8gSlNPTiBTY2hlbWEgdmFsaWRhdGlvbi4KLSAoMjAxOSkgW1BIUCBXaXRoIE15U1FMXShodHRwczovL2VsZXBoYW50ZG9scGhpbi5ibG9nc3BvdC5jb20vMjAxOS8wNy9qc29uLXNjaGVtYS12YWxpZGF0aW9uLXdpdGgtbXlzcWwtODAxNy5odG1sP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgcHJhY3RpY2FsIHR1dG9yaWFsIG9uIGV4cHJlc3NpbmcgSlNPTiBTY2hlbWEgdGFibGUgY29uc3RyYWludHMgb24gTXlTUUwuCi0gKDIwMTcpIFtHZXR0aW5nIHN0YXJ0ZWQgd2l0aCBKU09OIEh5cGVyLVNjaGVtYV0oaHR0cHM6Ly9hcGlzeW91d29udGhhdGUuY29tL2Jsb2cvZ2V0dGluZy1zdGFydGVkLXdpdGgtanNvbi1oeXBlci1zY2hlbWE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gaW50cm9kdWN0aW9uIHRvIHRoZSBIeXBlci1TY2hlbWEgSlNPTiBTY2hlbWEgdm9jYWJ1bGFyeS4KLSAoMjAxMykgW1R1dG9yaWFsc1BvaW50OiBKU09OIFNjaGVtYV0oaHR0cHM6Ly93d3cudHV0b3JpYWxzcG9pbnQuY29tL2pzb24vanNvbl9zY2hlbWEuaHRtP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgc2hvcnQgaW50cm9kdWN0aW9uIHRvIEpTT04gU2NoZW1hIERyYWZ0NCB2YWxpZGF0aW9uLgoKIyMgVm9jYWJ1bGFyaWVzCgotIFtBY2Nlc3NpbmcgRGF0YSBTdG9yZWQgaW4gSlNPTl0oaHR0cHM6Ly9qc29uLWV2ZXJ5dGhpbmcubmV0L2pzb24tc2NoZW1hLyNhLXZvY2FidWxhcnktZm9yLWFjY2Vzc2luZy1kYXRhLXN0b3JlZC1pbi1qc29uP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgdm9jYWJ1bGFyeSBkZWZpbmluZyBrZXl3b3JkcyB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlZmVyZW5jZSB2YWx1ZXMgc3RvcmVkIGluIHRoZSBpbnN0YW5jZSBkYXRhLCB0aGUgc2NoZW1hIGRhdGEgYW5kIGV4dGVybmFsIEpTT04gZGF0YSB3aGVyZSB0aGUgZGVyZWZlcmVuY2VkIHZhbHVlcyBzZXJ2ZSBhcyBpbnB1dCBmb3Iga2V5d29yZHMgaW4gYSBkZXJpdmVkIHN1YnNjaGVtYS4KLSBbSHlwZXItU2NoZW1hIDIwMTktMDldKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMTktMDkvdm9jYWIvaHlwZXItc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEtleXdvcmRzIHRvIGFubm90YXRlIEpTT04gZG9jdW1lbnRzIHdpdGggaHlwZXJsaW5rcy4gVGhlc2UgaHlwZXJsaW5rcyBpbmNsdWRlIGF0dHJpYnV0ZXMgZGVzY3JpYmluZyBob3cgdG8gbWFuaXB1bGF0ZSBhbmQgaW50ZXJhY3Qgd2l0aCByZW1vdGUgcmVzb3VyY2VzIHRocm91Z2ggaHlwZXJtZWRpYSBlbnZpcm9ubWVudHMgc3VjaCBhcyBIVFRQLCBhcyB3ZWxsIGFzIGRldGVybWluaW5nIHdoZXRoZXIgdGhlIGxpbmsgaXMgdXNhYmxlIGJhc2VkIG9uIHRoZSBpbnN0YW5jZSB2YWx1ZS4KLSBbSlNPTiBTY2hlbWEgMjAyMC0xMiBBcHBsaWNhdG9yXShodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3ZvY2FiL2FwcGxpY2F0b3I/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQXBwbGljYXRvciBrZXl3b3JkcyB0aGF0IGFyZSByZWNvbW1lbmRlZCBmb3IgdXNlIGFzIHRoZSBiYXNpcyBvZiBvdGhlciB2b2NhYnVsYXJpZXMuCi0gW0pTT04gU2NoZW1hIDIwMjAtMTIgQ29udGVudF0oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi92b2NhYi9jb250ZW50P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFubm90YXRpb25zIGtleXdvcmRzIHRoYXQgaW5kaWNhdGUgdGhhdCBhbiBpbnN0YW5jZSBjb250YWlucyBub24tSlNPTiBkYXRhIGVuY29kZWQgaW4gYSBKU09OIHN0cmluZy4KLSBbSlNPTiBTY2hlbWEgMjAyMC0xMiBDb3JlXShodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3ZvY2FiL2NvcmU/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gS2V5d29yZHMgdGhhdCBhcmUgZWl0aGVyIHJlcXVpcmVkIGluIG9yZGVyIHRvIHByb2Nlc3MgYW55IHNjaGVtYSBvciBtZXRhLXNjaGVtYSwgaW5jbHVkaW5nIHRob3NlIHNwbGl0IGFjcm9zcyBtdWx0aXBsZSBkb2N1bWVudHMsIG9yIGV4aXN0IHRvIHJlc2VydmUga2V5d29yZHMgZm9yIHB1cnBvc2VzIHRoYXQgcmVxdWlyZSBndWFyYW50ZWVkIGludGVyb3BlcmFiaWxpdHkuCi0gW0pTT04gU2NoZW1hIDIwMjAtMTIgRm9ybWF0IEFubm90YXRpb25dKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvdm9jYWIvZm9ybWF0LWFubm90YXRpb24/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gYW5ub3RhdGlvbiBrZXl3b3JkIGRlZmluZWQgdG8gYWxsb3cgc2NoZW1hIGF1dGhvcnMgdG8gY29udmV5IHNlbWFudGljIGluZm9ybWF0aW9uIGZvciBhIGZpeGVkIHN1YnNldCBvZiB2YWx1ZXMgd2hpY2ggYXJlIGFjY3VyYXRlbHkgZGVzY3JpYmVkIGJ5IGF1dGhvcml0YXRpdmUgcmVzb3VyY2VzLgotIFtKU09OIFNjaGVtYSAyMDIwLTEyIEZvcm1hdCBBc3NlcnRpb25dKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvdm9jYWIvZm9ybWF0LWFzc2VydGlvbj91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBbiBhc3NlcnRpb24ga2V5d29yZCBkZWZpbmVkIHRvIGFsbG93IHNjaGVtYSBhdXRob3JzIHRvIGNvbnZleSBzZW1hbnRpYyBpbmZvcm1hdGlvbiBmb3IgYSBmaXhlZCBzdWJzZXQgb2YgdmFsdWVzIHdoaWNoIGFyZSBhY2N1cmF0ZWx5IGRlc2NyaWJlZCBieSBhdXRob3JpdGF0aXZlIHJlc291cmNlcy4KLSBbSlNPTiBTY2hlbWEgMjAyMC0xMiBNZXRhLURhdGFdKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvdm9jYWIvbWV0YS1kYXRhP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZXNlIGdlbmVyYWwtcHVycG9zZSBhbm5vdGF0aW9uIGtleXdvcmRzIHByb3ZpZGUgY29tbW9ubHkgdXNlZCBpbmZvcm1hdGlvbiBmb3IgZG9jdW1lbnRhdGlvbiBhbmQgdXNlciBpbnRlcmZhY2UgZGlzcGxheSBwdXJwb3Nlcy4KLSBbSlNPTiBTY2hlbWEgMjAyMC0xMiBVbmV2YWx1YXRlZF0oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi92b2NhYi91bmV2YWx1YXRlZD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBLZXl3b3JkcyB0aGF0IGVuYWJsZSBzY2hlbWEgYXV0aG9ycyB0byBhcHBseSBzdWJzY2hlbWFzIHRvIGFycmF5IGl0ZW1zIG9yIG9iamVjdCBwcm9wZXJ0aWVzIHRoYXQgaGF2ZSBub3QgYmVlbiBzdWNjZXNzZnVsbHkgZXZhbHVhdGVkIGFnYWluc3QgYW55IGR5bmFtaWMtc2NvcGUgc3Vic2NoZW1hIG9mIGFueSBhZGphY2VudCBrZXl3b3Jkcy4KLSBbSlNPTiBTY2hlbWEgMjAyMC0xMiBWYWxpZGF0aW9uXShodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL3ZvY2FiL3ZhbGlkYXRpb24/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVmFsaWRhdGlvbiBrZXl3b3JkcyBpbiBhIHNjaGVtYSBpbXBvc2UgcmVxdWlyZW1lbnRzIGZvciBzdWNjZXNzZnVsIHZhbGlkYXRpb24gb2YgYW4gaW5zdGFuY2UuIFRoZXNlIGtleXdvcmRzIGFyZSBhbGwgYXNzZXJ0aW9ucyB3aXRob3V0IGFueSBhbm5vdGF0aW9uIGJlaGF2aW9yLgotIFtVbmlxdWVuZXNzIG9mIEFycmF5IEl0ZW1zXShodHRwczovL2pzb24tZXZlcnl0aGluZy5uZXQvanNvbi1zY2hlbWEvI2Etdm9jYWJ1bGFyeS1mb3ItaWRlbnRpZnlpbmctdW5pcXVlbmVzcy1vZi1hcnJheS1pdGVtcz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIHZvY2FidWxhcnkgZGVmaW5pbmcga2V5d29yZHMgdGhhdCBjYW4gYmUgdXNlZCB0byB2YWxpZGF0ZSB0aGF0IGFycmFyeSBpbnN0YW5jZXMgY29udGFpbiB1bmlxdWUgdmFsdWVzIGFzIGRldGVybWluZWQgYnkgb25lIG9yIG1vcmUgZ2l2ZW4gcGF0aHMgd2l0aGluIGVhY2ggaXRlbS4KCiMjIFJlZ2lzdHJpZXMKCi0gW0FzeW5jQVBJIFNjaGVtYXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9hc3luY2FwaS9zcGVjLWpzb24tc2NoZW1hcz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGlzIHJlcG9zaXRvcnkgY29udGFpbnMgYWxsIHRoZSBKU09OIFNjaGVtYSBkb2N1bWVudHMgZm9yIHZhbGlkYXRpbmcgQXN5bmNBUEkgZG9jdW1lbnRzLgotIFtDb25kYSBTY2hlbWFzXShodHRwczovL2dpdGh1Yi5jb20vY29uZGEvc2NoZW1hcz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBDb25kYSBmaWxlIGZvcm1hdHMgYW5kIHNjaGVtYXMuCi0gW0ludGVsbGlnZW5jZS5BSSBTY2hlbWFzXShodHRwczovL3N0dWRpby5pbnRlbGxpZ2VuY2UuYWk/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBzY2hlbWEgcmVnaXN0cnkgYnkgSW50ZWxsaWdlbmNlLkFJLgotIFtLcmFrZW5EIFNjaGVtYXNdKGh0dHBzOi8vZ2l0aHViLmNvbS9rcmFrZW5kL2tyYWtlbmQtc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoaXMgcmVwb3NpdG9yeSBjb250YWlucyB0aGUgc291cmNlIGNvZGUgdXNlZCB0byBwdWJsaXNoIEtyYWtlbkQmI3gyNztzIGNvbmZpZ3VyYXRpb24gc2NoZW1hcy4KLSBbT0NTRiBTY2hlbWFzXShodHRwczovL2dpdGh1Yi5jb20vb2NzZi9vY3NmLXNjaGVtYT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGlzIHJlcG9zaXRvcnkgZGVmaW5lcyB0aGUgT3BlbiBDeWJlcnNlY3VyaXR5IFNjaGVtYSBGcmFtZXdvcmsgKE9DU0YpIHNjaGVtYS4gT0NTRiBpcyBhIGZyYW1ld29yayBmb3IgY3JlYXRpbmcgc2NoZW1hcyBhbmQgaXQgYWxzbyBkZWxpdmVycyBhIGN5YmVyc2VjdXJpdHkgZXZlbnQgc2NoZW1hIGJ1aWx0IHdpdGggdGhlIGZyYW1ld29yay4KLSBbU2NoZW1hU3RvcmVdKGh0dHBzOi8vd3d3LnNjaGVtYXN0b3JlLm9yZz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgbGFyZ2VzdCBjb2xsZWN0aW9uIG9mIGluZGVwZW5kZW50IEpTT04gc2NoZW1hcyBpbiB0aGUgd29ybGQgbWVhbnQgYXMgYSB1bml2ZXJzYWwgSlNPTiBzY2hlbWEgc3RvcmUsIHdoZXJlIHNjaGVtYXMgZm9yIHBvcHVsYXIgSlNPTiBkb2N1bWVudHMgY2FuIGJlIGZvdW5kLgoKIyMgQWRvcHRpb24KCipBd2Vzb21lIHByb2R1Y3RzIGFuZCBjb21wYW5pZXMgdGhhdCBhZG9wdGVkIEpTT04gU2NoZW1hLiBEaWQgd2UgbWlzcyBhbnk/IFtMZXQKdXMKa25vdyFdKGh0dHBzOi8vZ2l0aHViLmNvbS9qdmlvdHRpL2F3ZXNvbWUtanNvbnNjaGVtYS9pc3N1ZXMvbmV3P2Fzc2lnbmVlcz0mbGFiZWxzPWFkb3B0aW9uJnRlbXBsYXRlPWNvdXJzZS5tZCZ0aXRsZT0pKgoKLSBbQWRvYmUgRXhwZXJpZW5jZSBNYW5hZ2VyXShodHRwczovL2V4cGVyaWVuY2VsZWFndWUuYWRvYmUuY29tL2RvY3MvZXhwZXJpZW5jZS1tYW5hZ2VyLTY1L2Zvcm1zL2FkYXB0aXZlLWZvcm1zLWFkdmFuY2VkLWF1dGhvcmluZy9hZGFwdGl2ZS1mb3JtLWpzb24tc2NoZW1hLWZvcm0tbW9kZWwuaHRtbD9sYW5nPWVuP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBBZG9iZSBFeHBlcmllbmNlIE1hbmFnZXIgY29udGVudCBtYW5hZ2VtZW50IHNvbHV0aW9uIGZvciBidWlsZGluZyB3ZWJzaXRlcywgbW9iaWxlIGFwcHMgYW5kIGZvcm1zIHN1cHBvcnRzIGNyZWF0aW5nIGFkYXB0YXRpdmUgZm9ybXMgdXNpbmcgSlNPTiBTY2hlbWEuCi0gW0FtYXpvbiBFdmVudEJyaWRnZSBTY2hlbWEgUmVnaXN0cnldKGh0dHBzOi8vYXdzLmFtYXpvbi5jb20vYWJvdXQtYXdzL3doYXRzLW5ldy8yMDIwLzA5L2FtYXpvbi1ldmVudGJyaWRnZS1zY2hlbWEtcmVnaXN0cnktYW5ub3VuY2VzLXN1cHBvcnQtZm9yLWpzb24tc2NoZW1hLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBbWF6b24gRXZlbnRCcmlkZ2UgU2NoZW1hIFJlZ2lzdHJ5IGhhcyBzdXBwb3J0IGZvciBKU09OIFNjaGVtYSwgYWxsb3dpbmcgY3VzdG9tZXJzIHRvIHZhbGlkYXRlLCBhbm5vdGF0ZSwgYW5kIG1hbmlwdWxhdGUgSlNPTiBkb2N1bWVudHMgY29uZm9ybWluZyB0byBKU09OIFNjaGVtYSBEcmFmdCA0IHNwZWNpZmljYXRpb24uCi0gW0FwaWFyeV0oaHR0cHM6Ly9oZWxwLmFwaWFyeS5pby9hcGlfMTAxL2pzb24tc2NoZW1hLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBcGlhcnkmI3gyNztzIGludGVyYWN0aXZlIGRvY3VtZW50YXRpb24gaXMgYWJsZSB0byByZW5kZXIgSlNPTiBTY2hlbWEgZG9jdW1lbnRzIGFzc29jaWF0ZWQgd2l0aCBwYXlsb2Fkcy4KLSBbQXNzZXJ0aWJsZV0oaHR0cHM6Ly9hc3NlcnRpYmxlLmNvbS9qc29uLXNjaGVtYS12YWxpZGF0aW9uP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFzc2VydGlibGUgcHJvdmlkZXMgYSBmcmVlLXRvLXVzZSBBUEkgdG8gdmFsaWRhdGUgYSBKU09OIGRvY3VtZW50IGFnYWluc3QgYSBKU09OIFNjaGVtYSBhbmQgYSBzZXJ2aWNlIHRvIHRlc3QgYW5kIG1vbml0b3Igd2ViIHNlcnZpY2VzIHVzaW5nIEpTT04gU2NoZW1hLgotIFtBeHdheSBBUEkgR2F0ZXdheV0oaHR0cHM6Ly9kb2NzLmF4d2F5LmNvbS9idW5kbGUvQVBJR2F0ZXdheV83NjJfUG9saWN5RGV2RmlsdGVyUmVmZXJlbmNlX2FsbE9TX2VuX0hUTUw1L3BhZ2UvQ29udGVudC9Qb2xpY3lEZXZUb3BpY3MvY29udGVudF9zY2hlbWFfanNvbi5odG0/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIEFQSSBHYXRld2F5IGNhbiBjaGVjayB0aGF0IEphdmFTY3JpcHQgT2JqZWN0IE5vdGF0aW9uIChKU09OKSBtZXNzYWdlcyBjb25mb3JtIHRvIHRoZSBmb3JtYXQgZXhwZWN0ZWQgYnkgYSB3ZWIgc2VydmljZSBieSB2YWxpZGF0aW5nIHJlcXVlc3RzIGFnYWluc3QgYSBzcGVjaWZpZWQgSlNPTiBzY2hlbWEuCi0gW0Nsb3VkZmxhcmVdKGh0dHBzOi8vYmxvZy5jbG91ZGZsYXJlLmNvbS9jbG91ZGZsYXJlcy1qc29uLXBvd2VyZWQtZG9jdW1lbnRhdGlvbi1nZW5lcmF0b3IvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBDbG91ZGZsYXJlIG1ha2VzIHVzZSBvZiBKU09OIFNjaGVtYSBhbmQgSHlwZXIgU2NoZW1hIHRvIGtlZXAgdHJhY2sgb2YgdGhlaXIgQVBJIGVuZHBvaW50cy4KLSBbQ2xvdWRmbGFyZSBUZXJyYWZvcm1dKGh0dHBzOi8vd3d3LmluZm9xLmNvbS9uZXdzLzIwMjEvMDQvY2xvdWRmbGFyZS10ZXJyYWZvcm0vP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBDbG91ZGZsYXJlIFRlcnJhZm9ybSBwcm92aWRlciBjb21lcyB3aXRoIGEgdG9vbCB0byBnZW5lcmF0ZSBUZXJyYWZvcm0gY29uZmlndXJhdGlvbiBmcm9tIGV4aXN0aW5nIENsb3VkZmxhcmUgcmVzb3VyY2VzIHRoYXQgdXNlcyBKU09OIFNjaGVtYSB0byBtYXAgZGF0YSBiZXR3ZWVuIGJvdGggdGVjaG5vbG9naWVzLgotIFtDb25mbHVlbnQgU2NoZW1hIFJlZ2lzdHJ5XShodHRwczovL2RvY3MuY29uZmx1ZW50LmlvL3BsYXRmb3JtL2N1cnJlbnQvc2NoZW1hLXJlZ2lzdHJ5L3NlcmRlcy1kZXZlbG9wL3NlcmRlcy1qc29uLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSlNPTiBTY2hlbWEgY2FuIGJlIGNvbmZpZ3VyZWQgd2l0aCB0aGUgQXBhY2hlIEthZmthIEphdmEgY2xpZW50IGFuZCBjb25zb2xlIHRvb2xzIHRvIGZhaWwgaWYgdGhlIHBheWxvYWQgaXMgbm90IHZhbGlkIGZvciB0aGUgZ2l2ZW4gc2NoZW1hLgotIFtDb250ZW50c3RhY2tdKGh0dHBzOi8vd3d3LmNvbnRlbnRzdGFjay5jb20vZG9jcy9kZXZlbG9wZXJzL2NyZWF0ZS1jb250ZW50LXR5cGVzL2pzb24tc2NoZW1hLWZvci1jcmVhdGluZy1hLWNvbnRlbnQtdHlwZS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIENvbnRlbnRzdGFjayBDTVMgcGxhdGZvcm0gc3VwcG9ydHMgY3JlYXRpbmcgY29udGVudCB0eXBlcyB1c2luZyBKU09OIFNjaGVtYS4KLSBbRGVjaXNpb25zXShodHRwczovL2RvY3VtZW50YXRpb24uZGVjaXNpb25zLmNvbS9kb2NzL2NyZWF0ZS10eXBlcy1qc29uLXNjaGVtYT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgRGVjaXNpb25zIHJ1bGVzLWRyaXZlbiBidXNpbmVzcyBwcm9jZXNzIGF1dG9tYXRpb24gcGxhdGZvcm0gc3VwcG9ydCB1c2luZyBKU09OIFNjaGVtYSB0byBnZW5lcmF0ZSBKU09OIGRlc2VyaWFsaXplcnMuCi0gW0RvY1NwcmluZ10oaHR0cHM6Ly9kb2NzcHJpbmcuY29tL2RvY3MvYXBpL2dldF90ZW1wbGF0ZV9zY2hlbWEuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgRG9jU3ByaW5nIHNlcnZpY2UgdG8gYXV0b21hdGljYWxseSBmaWxsIG91dCBQREYgZm9ybXMgc3VwcG9ydHMgZ2VuZXJhdGluZyBKU09OIFNjaGVtYSBkZWZpbml0aW9ucyBmb3IgdXNlci1jcmVhdGVkIHRlbXBsYXRlcy4KLSBbRHJ1cGFsIFBhdHRlcm5raXRdKGh0dHBzOi8vd3d3LmRydXBhbC5vcmcvcHJvamVjdC9wYXR0ZXJua2l0P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBEcnVwYWwgUGF0dGVybmtpdCBtb2R1bGUgdXNlcyBKU09OIFNjaGVtYSB0byBkZWZpbmUgcGF0dGVybiB0ZW1wbGF0ZXMuCi0gW0Zvcm0uaW9dKGh0dHBzOi8vd3d3LmZvcm0uaW8vYXJ0aWNsZS9hbmd1bGFyLWpzb24tc2NoZW1hLWZvcm0tYnVpbGRlcj91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgRm9ybS5pbyBvbmxpbmUgd2ViIGZvcm0gZ2VuZXJhdG9yIHN1cHBvcnRzIGdlbmVyYXRpbmcgQW5ndWxhci5qcyBmb3JtcyB1c2luZyBKU09OIFNjaGVtYS4KLSBbR2Vub21pYyBEYXRhIENvbW1vbnNdKGh0dHBzOi8vZ2RjLmNhbmNlci5nb3YvZGV2ZWxvcGVycy9nZGMtZGF0YS1tb2RlbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgR2Vub21pYyBEYXRhIENvbW1vbnMgZGF0YSBtb2RlbCBpcyBkZWZpbmVkIHVzaW5nIEpTT04gU2NoZW1hLgotIFtIYWNrb2xhZGVdKGh0dHBzOi8vaGFja29sYWRlLmNvbS9oZWxwL0pTT05TY2hlbWEuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgSGFja29sYWRlIGRhdGEgbW9kZWxsaW5nIHNlcnZpY2Ugc3VwcG9ydHMgZGVmaW5pbmcgZW50aXRpZXMgdXNpbmcgSlNPTiBTY2hlbWEuCi0gW0hlcm9rdV0oaHR0cHM6Ly9ibG9nLmhlcm9rdS5jb20vanNvbl9zY2hlbWFfZm9yX2hlcm9rdV9wbGF0Zm9ybV9hcGk/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSGVyb2t1IG1ha2VzIHVzZSBvZiBKU09OIFNjaGVtYSB0byBwdWJsaXNoIG1hY2hpbmUtcmVhZGFibGUgc2NoZW1hIGRlZmluaXRpb25zIGZvciB0aGVpciBwdWJsaWMgQVBJcy4KLSBbSHVtYW4gQ2VsbCBBdGxhc10oaHR0cHM6Ly9kYXRhLmh1bWFuY2VsbGF0bGFzLm9yZy9tZXRhZGF0YS9zdHJ1Y3R1cmU/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIG9wZW4gZGF0YSBnZW5lcmF0ZWQgYnkgdGhlIEh1bWFuIENlbGwgQXRsYXMgZGVzY3JpYmVzIG1ldGFkYXRhIHN0cnVjdHVyZSB1c2luZyBKU09OIFNjaGVtYS4KLSBbSUJNIEFwcCBDb25uZWN0XShodHRwczovL3d3dy5pYm0uY29tL2RvY3MvZW4vYXBwLWNvbm5lY3QvMTEuMC4wP3RvcGljPXNjaGVtYS1qc29uLXJlcXVpcmVtZW50cy1tZXNzYWdlLW1hcHM/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIEdyYXBoaWNhbCBEYXRhIE1hcHBpbmcgZWRpdG9yIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBhbmQgdHJhbnNmb3JtIEpTT04gbWVzc2FnZXMgd2l0aCB0aGUgZGF0YSBtb2RlbCBkZWZpbmVkIGZyb20gYSBKU09OIHNjaGVtYS4KLSBbSW5mb3JtYXRpY2FdKGh0dHBzOi8vZG9jcy5pbmZvcm1hdGljYS5jb20vZGF0YS1pbnRlZ3JhdGlvbi9iMmItZGF0YS10cmFuc2Zvcm1hdGlvbi8xMC0yLTIvdXNlci1ndWlkZS93aXphcmQtaW5wdXQtYW5kLW91dHB1dC1mb3JtYXRzL2pzb24vc2FtcGxlLWpzb24tc2NoZW1hLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIEluZm9ybWF0aWNhIGRhdGEgbWFuYWdlbWVudCBwbGF0Zm9ybSBzdXBwb3J0cyBjcmVhdGluZyBhdXRvLWdlbmVyYXRlZCBkYXRhIHByb2Nlc3NvciB0cmFuc2Zvcm1hdGlvbnMgdXNpbmcgSlNPTiBTY2hlbWEuCi0gW0pTT04gQmluUGFja10oaHR0cHM6Ly93d3cuanNvbmJpbnBhY2sub3JnP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEpTT04gQmluUGFjayB1c2VzIEpTT04gU2NoZW1hIHRvIHBlcmZvcm0gc3BhY2UtZWZmaWNpZW50IEpTT04gYmluYXJ5IHNlcmlhbGl6YXRpb24uCi0gW0pTT046QVBJXShodHRwczovL2dpdGh1Yi5jb20vanNvbi1hcGkvanNvbi1hcGkvYmxvYi9hMDI5NjM1MmI2ZWI1N2E0ZWEzZWIwOGExMzMyZTMxMWY3OGFkYWZhL3NjaGVtYT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgSlNPTjpBUEkgMS4wIGFuZCBsYXRlciBzcGVjaWZpY2F0aW9ucyBmb3IgYnVpbGRpbmcgQVBJcyBpbiBKU09OIHVzZSBKU09OIFNjaGVtYSB0byBkZWZpbmUgSlNPTjpBUEkgcmVzcG9uc2VzLgotIFtKYW1GXShodHRwczovL2RvY3MuamFtZi5jb20vdGVjaG5pY2FsLXBhcGVycy9qYW1mLXByby9qc29uLXNjaGVtYS8xMC4yNi4wL1VuZGVyc3RhbmRpbmdfdGhlX1N0cnVjdHVyZV9vZl9hX0pTT05fU2NoZW1hX01hbmlmZXN0Lmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIEphbUYgQXBwbGUgZW50ZXJwcmlzZSBtYW5hZ2VtZW50IHNlcnZpY2Ugc3VwcG9ydHMgY3JlYXRpbmcgYXBwIG1hbmlmZXN0cyB1c2luZyBKU09OIFNjaGVtYS4KLSBbSmV0QnJhaW5zXShodHRwczovL3d3dy5qZXRicmFpbnMuY29tL2hlbHAvb2JqYy9qc29uLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIHN1aXRlIG9mIEpldEJyYWlucyBwcm9ncmFtbWluZyBlZGl0b3JzIHN1cHBvcnRzIEpTT04gY29kZS1jb21wbGV0aW9uIGJhc2VkIG9uIEpTT04gU2NoZW1hLgotIFtLcmFrZW5EXShodHRwczovL3d3dy5rcmFrZW5kLmlvL2RvY3MvZW5kcG9pbnRzL2pzb24tc2NoZW1hLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBLcmFrZW5EIGVuZHBvaW50cyByZWNlaXZpbmcgYSBKU09OIG9iamVjdCBpbiBpdHMgYm9keSBjYW4gYXBwbHkgYXV0b21hdGljIHZhbGlkYXRpb25zIHVzaW5nIHRoZSBKU09OIFNjaGVtYSB2b2NhYnVsYXJ5IGJlZm9yZSB0aGUgY29udGVudCBwYXNzZXMgdG8gdGhlIGJhY2tlbmRzLgotIFtMaWdodGJsdWUuaW9dKGh0dHBzOi8vZG9jcy5saWdodGJsdWUuaW8vc3RhbmRhcmRzL2pzb25fc2NoZW1hLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIExpZ2h0Ymx1ZSBkb2N1bWVudCBiYXNlZCBkYXRhIGFjY2VzcyBsYXllciBmcmFtZXdvcmsgdXNlcyBKU09OIFNjaGVtYSB0byBkZWZpbmUgY2VydGFpbiBmaWxlIHJlc291cmNlcyBpbiB0aGUgcHJvamVjdC4KLSBbTGludXhdKGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL2h0bWwvbGF0ZXN0L2RldmljZXRyZWUvYmluZGluZ3Mvd3JpdGluZy1zY2hlbWEuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgTGludXgga2VybmVsIHVzZXMgSlNPTiBTY2hlbWEgdG8gZGVmaW5lIERldmljZXRyZWUgYmluZGluZ3MuCi0gW01hbmZyZWRdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9S0IyRGtlUW84ZDg/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gTWFuZnJlZCB1c2VzIEpTT04gU2NoZW1hIHRvIGRlZmluZSB0aGVpciBBUElzIGFuZCB0aGVpciBvcGVuIENWIGZvcm1hdC4KLSBbTWljcm9zb2Z0XShodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L2pzb24tc2NoZW1hcz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIGNvbGxlY3Rpb24gb2YgSlNPTiBTY2hlbWEgZGVmaW5pdGlvbnMgdXNlZCBieSBwcm9kdWN0cyBhbmQgc2VydmljZXMgYXQgTWljcm9zb2Z0LgotIFtNb25nb0RCXShodHRwczovL2RvY3MubW9uZ29kYi5jb20vbWFudWFsL3JlZmVyZW5jZS9vcGVyYXRvci9xdWVyeS9qc29uU2NoZW1hLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBNb25nb0RCIDMuNiBhbmQgbGF0ZXIgc3VwcG9ydCBKU09OIFNjaGVtYSBmb3IgcXVlcnlpbmcgZGF0YSBhbmQgZGVmaW5pbmcgY29sbGVjdGlvbiBjb25zdHJhaW50cy4KLSBbTW96aWxsYSBEYXRhIFBpcGVsaW5lXShodHRwczovL2RvY3MudGVsZW1ldHJ5Lm1vemlsbGEub3JnL2NvbmNlcHRzL3BpcGVsaW5lL3NjaGVtYXMuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBNb3ppbGxhIERhdGEgUGlwZWxpbmUgdXNlcyBKU09OIFNjaGVtYSB0byBkZWZpbmUgdGVsZW1ldHJ5IGRhdGEgaW5nZXN0ZWQgZnJvbSBNb3ppbGxhIHByb2R1Y3RzIGFuZCBsb2dzIGZyb20gdmFyaW91cyBzZXJ2aWNlcy4KLSBbTXVsZVNvZnRdKGh0dHBzOi8vZG9jcy5tdWxlc29mdC5jb20vanNvbi1tb2R1bGUvMi4xL2pzb24tc2NoZW1hLXZhbGlkYXRpb24/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIE11bGVTb2Z0IGludGVncmF0aW9uIGZyYW1ld29yayBzdXBwb3J0cyB2YWxpZGF0aW5nIGEgSlNPTiBkb2N1bWVudCBhZ2FpbnN0IGEgSlNPTiBTY2hlbWEuCi0gW015U1FMXShodHRwczovL2Rldi5teXNxbC5jb20vZG9jL3JlZm1hbi84LjAvZW4vanNvbi12YWxpZGF0aW9uLWZ1bmN0aW9ucy5odG1sP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIE15U1FMIDguMC4xNyBhbmQgbGF0ZXIgc3VwcG9ydCB0YWJsZSBjb25zdHJhaW50cyB0byB2YWxpZGF0ZSBhIEpTT04gZG9jdW1lbnQgYWdhaW5zdCBhIEpTT04gU2NoZW1hLgotIFtOYWthZGldKGh0dHBzOi8vbmFrYWRpLmlvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBOYWthZGkgb3Blbi1zb3VyY2UgZGlzdHJpYnV0ZWQgZXZlbnQgYnVzIHN1cHBvcnRzIGRlZmluaW5nIGV2ZW50IHR5cGVzIHdpdGggSlNPTiBTY2hlbWEuCi0gW05hdGlvbmFsIENhbmNlciBJbnN0aXR1dGVdKGh0dHBzOi8vZ2l0aHViLmNvbS9OQ0ktR0RDL2dkY2RpY3Rpb25hcnkvdHJlZS9kZXZlbG9wL2dkY2RpY3Rpb25hcnkvc2NoZW1hcz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgTmF0aW9uYWwgQ2FuY2VyIEluc3RpdHV0ZSB1c2VzIEpTT04gU2NoZW1hIHRvIG1vZGVsIGVudGl0aWVzIGZvciB0aGVpciBHZW5vbWljIERhdGEgQ29tbW9ucyBjb2xsZWN0aW9uLgotIFtOaW5KU10oaHR0cHM6Ly93d3cuaXB0Yy5vcmcvc3RkL25pbmpzL3VzZXJndWlkZS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gTmluSlMgc3RhbmRhcmRpc2VzIHRoZSByZXByZXNlbnRhdGlvbiBvZiBuZXdzIGNvbnRlbnQgaW4gSlNPTiBhbmQgbWFpbnRhaW5zIGEgSlNPTiBTY2hlbWEgZG9jdW1lbnQgdG8gaGVscCB2YWxpZGF0ZSBOaW5KUyBpbXBsZW1lbnRhdGlvbnMuCi0gW09wZW4gUG9saWN5IEFnZW50IChPUEEpXShodHRwczovL2Jsb2cub3BlbnBvbGljeWFnZW50Lm9yZy9lbmhhbmNlZC10eXBlLWNoZWNraW5nLWZvci1vcGEtd2l0aC1qc29uLXNjaGVtYS1hbm5vdGF0aW9ucy04MjZhY2IwZjU3NT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgT1BBIHBvbGljeS1iYXNlZCBjb250cm9sIHBsYXRmb3JtIDAuMjcuMCBhbmQgbmV3ZXIgc3VwcG9ydCBzdGF0aWNhbGx5IHR5cGUtY2hlY2tpbmcgUmVnbyBwb2xpY3kgY29kZSB1c2luZyBKU09OIFNjaGVtYS4KLSBbT3J5IEtyYXRvc10oaHR0cHM6Ly93d3cub3J5LnNoL2tyYXRvcy9kb2NzL3JlZmVyZW5jZS9qc29uLXNjaGVtYS1qc29uLXBhdGhzLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgT3J5IEtyYXRvcyBpZGVudGl0eSAmYW1wOyB1c2VyIG1hbmFnZW1lbnQgcHJvZHVjdCByZWxpZXMgb24gSlNPTiBTY2hlbWEgZnJvbSBjb25maWd1cmF0aW9uIHZhbGlkYXRpb24sIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbiBmb3IgZGVmaW5pbmcgaWRlbnRpdHkgc2NoZW1hcy4KLSBbUG9zdG1hbl0oaHR0cHM6Ly9sZWFybmluZy5wb3N0bWFuLmNvbS9kb2NzL3dyaXRpbmctc2NyaXB0cy9zY3JpcHQtcmVmZXJlbmNlcy90ZXN0LWV4YW1wbGVzLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgUG9zdG1hbiBBUEkgcGxhdGZvcm0gc3VwcG9ydHMgcnVubmluZyBKU09OIFNjaGVtYSB2YWxpZGF0aW9uIGluIEFQSSB0ZXN0cy4KLSBbUkRBIERNUCBDb21tb24gU3RhbmRhcmQgZm9yIG1hY2hpbmUtYWN0aW9uYWJsZSBEYXRhIE1hbmFnZW1lbnQgUGxhbnNdKGh0dHBzOi8vZ2l0aHViLmNvbS9SREEtRE1QLUNvbW1vbi9SREEtRE1QLUNvbW1vbi1TdGFuZGFyZD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgUkRBIERNUCBDb21tb24gU3RhbmRhcmRzIFdvcmtpbmcgR3JvdXAgbWFpbnRhaW5zIEpTT04gU2NoZW1hcyB0byB2YWxpZGF0ZSBtYURNUCBKU09OIGRvY3VtZW50cy4KLSBbUkVTVEhlYXJ0XShodHRwczovL3Jlc3RoZWFydC5vcmcvZG9jcy9qc29uLXNjaGVtYS12YWxpZGF0aW9uLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBSRVNUSGVhcnQgc3VwcG9ydHMgTW9uZ29EQiBzY2hlbWEgdmFsaWRhdGlvbiB0byBlbmZvcmNlIGEgZm9ybWF0IHRvIGRvY3VtZW50czogcnVsZXMtYmFzZWQgdmFsaWRhdGlvbiBmcm9tIE1vbmdvREIgMy4yIGFuZCBKc29uIFNjaGVtYSB2YWxpZGF0aW9uIGZyb20gTW9uZ29EQiAzLjYuCi0gW1JlbW90ZV0oaHR0cHM6Ly9yZW1vdGUuY29tL2Jsb2cvaG93LXJlbW90ZS1idWlsZHMtb25ib2FyZGluZy1mb3ItNjAtY291bnRyaWVzP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFJlbW90ZSB1c2VzIEpTT04gU2NoZW1hIHRvIHBlcmZvcm0gZm9ybSBnZW5lcmF0aW9uIGFuZCBkYXRhIHZhbGlkYXRpb24gaW4gdGhlaXIgZnJvbnRlbmQgYW5kIGJhY2tlbmQgc3lzdGVtcy4KLSBbUmV0b29sXShodHRwczovL2RvY3MucmV0b29sLmNvbS9kb2NzL3dvcmtpbmctd2l0aC1qc29uLXNjaGVtYS1mb3JtP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBSZXRvb2wgbm8tY29kZSBwbGF0Zm9ybSBzdXBwb3J0cyBnZW5lcmF0aW5nIHdlYiBmb3JtcyB1c2luZyBKU09OIFNjaGVtYS4KLSBbU2VydmVybGVzc10oaHR0cHM6Ly93d3cuc2VydmVybGVzcy5jb20vZnJhbWV3b3JrL2RvY3MvY29uZmlndXJhdGlvbi12YWxpZGF0aW9uLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgU2VydmVybGVzcyBmcmFtZXdvcmsgdmFsaWRhdGVzIHNlcnZpY2UgY29uZmlndXJhdGlvbiBmaWxlcyB1c2luZyBKU09OIFNjaGVtYS4KLSBbU21hcnQgRGF0YSBNb2RlbHNdKGh0dHBzOi8vZ2l0aHViLmNvbS9zbWFydC1kYXRhLW1vZGVscz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgU21hcnQgRGF0YSBNb2RlbHMgR2l0SHViIG9yZ2FuaXphdGlvbiBtYWtlcyB1c2Ugb2YgSlNPTiBTY2hlbWEgdG8gZGVzY3JpYmUgaGFybW9uaXplZCBEYXRhIE1vZGVscyBmb3IgZGlmZmVyZW50IFNtYXJ0IERvbWFpbnMuCi0gW1Nub3dwbG93XShodHRwczovL2RvY3Muc25vd3Bsb3dhbmFseXRpY3MuY29tL2RvY3MvdW5kZXJzdGFuZGluZy10cmFja2luZy1kZXNpZ24vdW5kZXJzdGFuZGluZy1zY2hlbWFzLWFuZC12YWxpZGF0aW9uLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgU25vd3Bsb3cgYW5hbHl0aWNzIHBsYXRmb3JtIHN1cHBvcnQgdXNpbmcgSlNPTiBTY2hlbWEgdG8gZGVmaW5lIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGRhdGEgdG8gY29sbGVjdC4KLSBbU3ByZWFkSlNdKGh0dHBzOi8vd3d3LmdyYXBlY2l0eS5jb20vc3ByZWFkanMvZG9jcy92MTMvb25saW5lL2pzb25zY2hlbWEuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgU3ByZWFkSlMgSmF2YVNjcmlwdCBzcHJlYWRzaGVldCBsaWJyYXJ5IHVzZXMgSlNPTiBTY2hlbWEgdG8gZGVzY3JpYmUgdGhlIFNwcmVhZEpTIEpTT04gZGF0YSBmb3JtYXQuCi0gW1RJTFQgKG1hY2hpbmUtcmVhZGFibGUgcHJpdmFjeSBwb2xpY2llcyldKGh0dHBzOi8vZ2l0aHViLmNvbS9UcmFuc3BhcmVuY3ktSW5mb3JtYXRpb24tTGFuZ3VhZ2Uvc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRJTFQgaXMgYSB0cmFuc3BhcmVuY3kgaW5mb3JtYXRpb24gbGFuZ3VhZ2UgYW5kIHRvb2xraXQgcG93ZXJlZCBieSBKU09OIFNjaGVtYSBleHBsaWNpdGx5IGRlc2lnbmVkIHRvIHJlcHJlc2VudCBhbmQgcHJvY2VzcyB0cmFuc3BhcmVuY3kgaW5mb3JtYXRpb24gaW4gbGluZSB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhlIEVVIEdlbmVyYWwgRGF0YSBQcm90ZWN0aW9uIFJlZ3VsYXRpb24gYW5kIGFsbG93aW5nIGZvciBhIG1vcmUgYXV0b21hdGVkIGFuZCBhZGFwdGl2ZSB1c2Ugb2Ygc3VjaCBpbmZvcm1hdGlvbiB0aGFuIGVzdGFibGlzaGVkLCBsZWdhbGVzZSBkYXRhIHByb3RlY3Rpb24gcG9saWNpZXMgZG8uCi0gW1UuUy4gRGVwYXJ0bWVudCBvZiBDb21tZXJjZV0oaHR0cHM6Ly9naXRodWIuY29tL3VzbmlzdGdvdi9PU0NBTC90cmVlL21haW4vanNvbj91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgTmF0aW9uYWwgSW5zdGl0dXRlIG9mIFN0YW5kYXJkcyBhbmQgVGVjaG5vbG9neSB1c2VzIEpTT04gU2NoZW1hIERyYWZ0IDcgdG8gbW9kZWwgT3BlbiBTZWN1cml0eSBDb250cm9scyBBc3Nlc3NtZW50IExhbmd1YWdlIChPU0NBTCkgSlNPTiBkb2N1bWVudHMuCi0gW1dhbG1hcnQgZUNvbW1lcmNlXShodHRwczovL2RldmVsb3Blci53YWxtYXJ0LmNvbS9kb2N1bWVudGF0aW9uL2l0ZW0tb2JqZWN0LXY0LTAvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFdhbG1hcnQgcHVibGlzaGVzIEpTT04gU2NoZW1hIGRvY3VtZW50cyBmb3IgY2VydGFpbiByZXNvdXJjZXMgdGhhdCBkZXZlbG9wZXJzIGNhbiBtYWtlIHVzZSBvZiB3aGVuIGludGVncmF0dGluZyB3aXRoIHRoZSBXYWxtYXJ0IGVDb21tZXJjZSBwbGF0Zm9ybS4KLSBbV29yZHByZXNzXShodHRwczovL21ha2Uud29yZHByZXNzLm9yZy90aGVtZXMvMjAyMS8xMS8zMC90aGVtZS1qc29uLXNjaGVtYS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gV29yZHByZXNzIG1haW50YWlucyBvZmZpY2lhbCBKU09OIFNjaGVtYSBkb2N1bWVudHMgdG8gaGVscCB3aXRoIGJ1aWxkaW5nIGJsb2NrIGJhc2VkIHRoZW1lcy4KLSBbWmFwaWVyXShodHRwczovL2dpdGh1Yi5jb20vemFwaWVyL3phcGllci1wbGF0Zm9ybS90cmVlL21hc3Rlci9wYWNrYWdlcy9zY2hlbWE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gWmFwaWVyIG1haW50YWlucyBhIGxhcmdlIHNldCBvZiBKU09OIFNjaGVtYSBkZWZpbml0aW9ucyB0aGF0IGRlZmluZSBpdHMgcGxhdGZvcm0uCi0gW1p1cGxvXShodHRwczovL3p1cGxvLmNvbS9qc29uLXNjaGVtYS9scC1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBadXBsbyBBUEkgZ2F0ZXdheSBwcm92aWRlcyBKU09OIFNjaGVtYSB2YWxpZGF0aW9uIGFuZCBzdXBwb3J0cyBnZW5lcmF0aW5nIEFQSSBkb2N1bWVudGF0aW9uIG91dCBvZiBPcGVuQVBJIHNwZWNpZmljYXRpb25zLgotIFtuZi1jb3JlXShodHRwczovL25mLWNvLnJlL3Rvb2xzLyNwaXBlbGluZS1zY2hlbWE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIG5mLWNvcmUgTmV4dGZsb3cgYW5hbHlzaXMgcGlwZWxpbmVzIGNvbGxlY3Rpb24gdXNlcyBKU09OIFNjaGVtYSB0byBkZWZpbmUgdGhlIHBhcmFtZXRlcnMgdXNlZCBieSBOZXh0ZmxvdyB3b3JrZmxvd3MuCgojIyBBcnRpY2xlcwoKLSAoMjAyMykgW0xMTXMgZm9yIFNjaGVtYSBBdWdtZW50YXRpb25dKGh0dHBzOi8vbWljaGFlbC5taW9yLmNhL2Jsb2cvbGxtcy1mb3Itc2NoZW1hLWF1Z21lbnRhdGlvbi8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gTGFyZ2UgbGFuZ3VhZ2UgbW9kZWxzIGNhbiBiZSBleHBsb2l0ZWQgdG8gYXV0b21hdGljYWxseSBhdWdtZW50IEpTT04gU2NoZW1hcyB3aXRoIHVzZWZ1bCBpbmZvcm1hdGlvbi4KLSAoMjAyMikgW1doYXQgaXMgJnF1b3Q7TW9kZXJuJnF1b3Q7IEpTT04gU2NoZW1hP10oaHR0cHM6Ly9tb2Rlcm4tanNvbi1zY2hlbWEuY29tL3doYXQtaXMtbW9kZXJuLWpzb24tc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEhvdyAmcXVvdDttb2Rlcm4mcXVvdDsgSlNPTiBTY2hlbWEsIG1lYW5pbmcgMjAxOS0wOSwgMjAyMC0xMiwgYW5kIGxhdGVyLCBjYW4gc29sdmUgZmFyIG1vcmUgcHJvYmxlbXMgdGhhbiAmcXVvdDtjbGFzc2ljYWwmcXVvdDsgSlNPTiBTY2hlbWEgKGRyYWZ0LTA3IGFuZCBlYXJsaWVyKS4KLSAoMjAyMikgW1VzaW5nIER5bmFtaWMgUmVmZXJlbmNlcyB0byBTdXBwb3J0IEdlbmVyaWMgVHlwZXNdKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2Jsb2cvcG9zdHMvZHluYW1pY3JlZi1hbmQtZ2VuZXJpY3M/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gUmVwcmVzZW50aW5nIGdlbmVyaWMgdHlwZXMgZnJvbSBzdHJvbmdseS10eXBlZCBwcm9ncmFtbWluZyBsYW5ndWFnZXMgd2l0aCBKU09OIFNjaGVtYS4KLSAoMjAyMikgW0pTT04gU2NoZW1hIGlzIGEgY29uc3RyYWludCBzeXN0ZW1dKGh0dHBzOi8vbW9kZXJuLWpzb24tc2NoZW1hLmNvbS9qc29uLXNjaGVtYS1pcy1hLWNvbnN0cmFpbnQtc3lzdGVtP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIE9yOiBXaHkgb2JqZWN0LW9yaWVudGVkIHByb2dyYW1taW5nIGlzIGEgbWlzLW1hdGNoZWQgbWVudGFsIG1vZGVsIGZvciBKU09OIFNjaGVtYS4KLSAoMjAyMikgW0Zvcm1pbmcgbmV3IHJlbGF0aW9uc2hpcHM6IENvbnRyaWJ1dGluZyB0byBPcGVuIHNvdXJjZV0oaHR0cHM6Ly93d3cuY3Jvc3NyZWYub3JnL2Jsb2cvZm9ybWluZy1uZXctcmVsYXRpb25zaGlwcy1jb250cmlidXRpbmctdG8tb3Blbi1zb3VyY2UvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgZGVzY3JpcHRpb24gb2YgYWRvcHRpbmcgYW5kIGV4dGVuZGluZyBKU09OIEZvcm1zLCBhIEpTT04gU2NoZW1hIGJhc2VkIGZvcm0gcmVuZGVyaW5nIGxpYnJhcnksIHRvIHN1cHBvcnQgVnVlSlMgYW5kIFZ1ZXRpZnkuLgotICgyMDIyKSBbRG9jcyEgRG9jcyEgRG9jcyFdKGh0dHBzOi8vYnJhbmR1ci5vcmcvbmFub2dseXBocy8wMzEtYXBpLWRvY3M/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gb3ZlcnZpZXcgb2YgQVBJIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbiB1c2luZyBIeXBlciBTY2hlbWEgYW5kIE9wZW5BUEkuCi0gKDIwMjEpIFtVbmRlcnN0YW5kaW5nIEpTT04gU2NoZW1hIGNvbXBhdGliaWxpdHldKGh0dHBzOi8veW9rb3RhLmJsb2cvMjAyMS8wMy8yOS91bmRlcnN0YW5kaW5nLWpzb24tc2NoZW1hLWNvbXBhdGliaWxpdHkvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgc3R1ZHkgb2Ygb3BlbiwgY2xvc2VkLCBhbmQgcGFydGlhbGx5LW9wZW4gY29udGVudCBtb2RlbHMgd2hlbiBldm9sdmluZyBzY2hlbWFzIGluIGEgYmFja3dhcmQsIGZvcndhcmQsIG9yIGZ1bGx5IGNvbXBhdGlibGUgbWFubmVycy4KLSAoMjAyMSkgW1VuZGVyc3RhbmRpbmcgQVBJIENvbXBsZXhpdHkgVGhyb3VnaCBTY2hlbWEgRW50cm9weV0oaHR0cHM6Ly9zbWl6ZWxsLmNvbS9wb3N0cy8yMDIxLzA1L3VuZGVyc3RhbmRpbmctYXBpLWNvbXBsZXhpdHktdGhyb3VnaC1zY2hlbWEtZW50cm9weS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBsb29rIGF0IEFQSSBjb21wbGV4aXR5IGJ5IGFuYWx5emluZyBlbnRyb3B5IG9mIEpTT04gU2NoZW1hIGRvY3VtZW50cy4KLSAoMjAyMSkgW1JvYnVzdG5lc3MsIFRvbGVyYW5jZSwgYW5kIEpTT04gU2NoZW1hXShodHRwczovL3NtaXplbGwuY29tL3Bvc3RzLzIwMjEvMDcvcm9idXN0bmVzcy10b2xlcmFuY2UtYW5kLWpzb24tc2NoZW1hLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBcHBseWluZyB0aGUgUm9idXN0bmVzcyBQcmluY2lwbGUgYW5kIGluY3JlYXNpbmcgc2NoZW1hIGVudHJvcHkgd2hlbiBtYWtpbmcgY2hhbmdlcyB0byBhbiBBUEkuCi0gKDIwMjEpIFtNb2RlbGluZyBhIGZpbGUgc3lzdGVtIHdpdGggSlNPTiBTY2hlbWFdKGh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2xlYXJuL2ZpbGUtc3lzdGVtLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhpcyBleGFtcGxlIHNob3dzIGEgcG9zc2libGUgSlNPTiBTY2hlbWEgcmVwcmVzZW50YXRpb24gb2YgZmlsZSBzeXN0ZW0gbW91bnQgcG9pbnRzIGFzIHJlcHJlc2VudGVkIGluIGFuIC9ldGMvZnN0YWIgZmlsZS4KLSAoMjAyMSkgW0pTT04gU2NoZW1hIGJ1bmRsaW5nIGZpbmFsbHkgZm9ybWFsaXNlZF0oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvYmxvZy9wb3N0cy9idW5kbGluZy1qc29uLXNjaGVtYS1jb21wb3VuZC1kb2N1bWVudHM/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBjbG9zZSBsb29rIGF0IGJ1bmRsaW5nIGFuZCBkZS1yZWZlcmVuY2luZyBKU09OIFNjaGVtYSBkb2N1bWVudHMuCi0gKDIwMjApIFtVc2luZyB0aGUgSlNPTiBTY2hlbWEgc3RhbmRhcmQgZm9yIHNjaWVudGlmaWMgYXBwbGljYXRpb25zP10oaHR0cHM6Ly9jZXJmYWNzLmZyL2Nvb3AvanNvbi1zY2hlbWEtZm9yLXNjaS1hcHBzP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgZGlzY3Vzc2lvbiBvbiBob3cgdG8gdXNlIEpTT04gU2NoZW1hIHRvIHZhbGlkYXRlIGlucHV0LCBhZGQgcHJlY2lzZSBkb2N1bWVudGF0aW9uLCBhdXRvLWZpbGwgbWlzc2luZyBwYXJ0cywgYW5kIGNyZWF0ZSBncmFwaGljYWwgdXNlciBpbnRlcmZhY2VzIGluIHRoZSBjb250ZXh0IG9mIHNjaWVudGlmaWMgYXBwbGljYXRpb25zLgotICgyMDIwKSBbUHJvamVjdCBDYW1icmlhOiBUcmFuc2xhdGUgeW91ciBkYXRhIHdpdGggbGVuc2VzXShodHRwczovL3d3dy5pbmthbmRzd2l0Y2guY29tL2NhbWJyaWEvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgcHJvcG9zYWwgZm9yIGFuIGlzb2xhdGVkIHNvZnR3YXJlIGxheWVyIHRoYXQgdHJhbnNsYXRlcyBkYXRhIGJldHdlZW4gSlNPTiBTY2hlbWEgZGVmaW5pdGlvbnMgb24gZGVtYW5kLiBUcmFuc2xhdGlvbiBsb2dpYyBpcyBkZWZpbmVkIGJ5IGNvbXBvc2luZyBiaWRpcmVjdGlvbmFsIGxlbnNlcywgYSBraW5kIG9mIGRhdGEgdHJhbnNmb3JtYXRpb24gdGhhdCBjYW4gcnVuIGJvdGggZm9yd2FyZCBhbmQgYmFja3dhcmQuCi0gKDIwMjApIFtKU09OIFNjaGVtYSwgU2NoZW1hLm9yZywgSlNPTi1MRDogV2hhdCYjeDI3O3MgdGhlIERpZmZlcmVuY2U/XShodHRwczovL2Rhc2hqb2luLm1lZGl1bS5jb20vanNvbi1zY2hlbWEtc2NoZW1hLW9yZy1qc29uLWxkLXdoYXRzLXRoZS1kaWZmZXJlbmNlLWUzMGQ3MzE1Njg2YT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBbiBvdmVydmlldyBvZiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIEpTT04gU2NoZW1hIGFuZCBKU09OLUxELCB0aGVpciByZWxhdGlvbnNoaXAgYW5kIHRoZSByb2xlIG9mIFNjaGVtYS5vcmcuCi0gKDIwMjApIFtCdWlsZGluZyBhIE5vLUNvZGUgSlNPTiBTY2hlbWEgRm9ybSBCdWlsZGVyIHdpdGggUmVhY3RKU10oaHR0cHM6Ly93d3cuZ2lua2dvYmlvd29ya3MuY29tLzIwMjAvMTAvMDgvYnVpbGRpbmctYS1uby1jb2RlLWpzb24tc2NoZW1hLWZvcm0tYnVpbGRlci8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gdXBkYXRlIG9uIHRoZSBhZGRpdGlvbmFsIGZlYXR1cmVzIGltcGxlbWVudGVkIGluIHRoZSByZWFjdC1qc29uLXNjaGVtYS1mb3JtLWJ1aWxkZXIgb3Blbi1zb3VyY2UgSlNPTiBTY2hlbWEgZm9ybSBidWlsZGVyIHByb2plY3QuCi0gKDIwMjApIFtBenVyZSBQaXBlbGluZXMgYXV0b2NvbXBsZXRlIGluIFB5Q2hhcm0sIEludGVsbGlKLCBXZWJTdG9ybSwgQ0xpb24sIGFuZCBSaWRlcl0oaHR0cHM6Ly90b255YmFsb25leS5naXRodWIuaW8vcG9zdHMvYXp1cmUtcGlwZWxpbmVzLWF1dG9jb21wbGV0ZS1pbi1weWNoYXJtLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gU2V0dGluZyB1cCBQeUNoYXJtLCBJbnRlbGxpSiwgV2ViU3Rvcm0sIENMaW9uIGFuZCBSaWRlciB0byBoYXZlIGF1dG8tY29tcGxldGUsIHN5bnRheCBoaWdobGlnaHRpbmcgYW5kIHZhbGlkYXRpb24gc3VwcG9ydCBvZiBBenVyZSBQaXBlbGluZXMgd29ya2Zsb3dzLgotICgyMDE5KSBbU2F2ZWQgYnkgdGhlIFNjaGVtYTogVXNpbmcgSlNPTiBTY2hlbWEgdG8gRG9jdW1lbnQsIFRlc3QsIGFuZCBEZWJ1ZyBBUElzXShodHRwczovL2Jsb2cuaGVyb2t1LmNvbS9qc29uLXNjaGVtYS1kb2N1bWVudC1kZWJ1Zy1hcGlzP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIExlYXJuIGhvdyBIZXJva3UgdXNlcyBKU09OIFNjaGVtYSB0byB0ZXN0IGFuZCBkb2N1bWVudCB0aGVpciBQbGF0Zm9ybSBBUEksIGFuZCBob3cgaXQgaGVscGVkIHRoZW0gdW5jb3ZlciBhbiB1bmV4cGVjdGVkIGJ1Zywgcm9vdGVkIGluIHRoZSB3YXkgdGhlIE9qIGdlbSBwYXJzZXMgQmlnIERlY2ltYWxzLgotICgyMDE4KSBbSlNPTiBTY2hlbWEgVmFsaWRhdG9yLCBHZW5lcmF0b3IgJmFtcDsgRWRpdG9yIEd1aWRlXShodHRwczovL3N0b3BsaWdodC5pby9qc29uLWd1aWRlLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBIb3cgdGhlIEpTT04gYW5kIEpTT04gU2NoZW1hIHN0YW5kYXJkcyBhcmUgZGVmaW5lZCBhbmQgaG93IHRvIHB1dCB0aGVtIHRvIHVzZSBpbiB5b3VyIGNvZGUgYW5kIGluIHlvdXIgQVBJcy4KLSAoMjAxOCkgW0pTT04gU2NoZW1hIFZhbGlkYXRpb24gJmFtcDsgRXhwcmVzc2l2ZSBRdWVyeSBTeW50YXggaW4gTW9uZ29EQiAzLjZdKGh0dHBzOi8vd3d3LnNpdGVwb2ludC5jb20vanNvbi1zY2hlbWEtdmFsaWRhdGlvbi1leHByZXNzaXZlLXF1ZXJ5LXN5bnRheC1pbi1tb25nb2RiLTMtNi8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gaW4tZGVwdGggZGlzY3Vzc2lvbiBhYm91dCB1c2luZyBKU09OIFNjaGVtYSB0byBkZWZpbmUgY29sbGVjdGlvbiB2YWxpZGF0aW9uIG9uIE1vbmdvREIuCi0gKDIwMTgpIFtEZWZpbml0aW9ucyBmb3IgZmlsdGVyaW5nIHByb3BlcnRpZXMgaW4gSlNPTiBzY2hlbWFdKGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL0x1Y2lhbkJ1enpvLzVmZjkxMDZjZTNhZTEyZmI1OGU0ZGVmNTcyYjkzNDRkP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIGludHJvZHVjdGlvbiB0byB0aGUgcHJvYmxlbSBvZiB1c2luZyBKU09OIFNjaGVtYSBmb3IgZGF0YSBmaWx0ZXJpbmcgYW5kIHF1ZXJ5aW5nIHB1cnBvc2VzLgotICgyMDE0KSBbSW50cm9kdWNpbmcgU2NoZW1hVmVyIGZvciBzZW1hbnRpYyB2ZXJzaW9uaW5nIG9mIHNjaGVtYXNdKGh0dHBzOi8vc25vd3Bsb3dhbmFseXRpY3MuY29tL2Jsb2cvMjAxNC8wNS8xMy9pbnRyb2R1Y2luZy1zY2hlbWF2ZXItZm9yLXNlbWFudGljLXZlcnNpb25pbmctb2Ytc2NoZW1hcy8jZmVlZGJhY2s/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBwcm9wb3NhbCBmb3IgYSB2ZXJzaW9uaW5nIGNvbnZlbnRpb24gZm9yIEpTT04gU2NoZW1hIGRlZmluaXRpb25zIGJhc2VkIG9uIFNlbVZlci4KCiMjIFNwZWNpZmljYXRpb25zCgotICgyMDIxKSBbQXN5bmNBUEldKGh0dHBzOi8vd3d3LmFzeW5jYXBpLmNvbS9kb2NzL3NwZWNpZmljYXRpb25zL3YyLjEuMD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBc3luY0FQSSBpcyBhbiBvcGVuIHNvdXJjZSBpbml0aWF0aXZlIHRoYXQgc2Vla3MgdG8gaW1wcm92ZSB0aGUgY3VycmVudCBzdGF0ZSBvZiBFdmVudC1Ecml2ZW4gQXJjaGl0ZWN0dXJlcyAoRURBKS4gVGhlIEFzeW5jQVBJIHNwZWNpZmljYXRpb24gc3VwcG9ydHMgZGF0YSBtb2RlbGluZyB1c2luZyBKU09OIFNjaGVtYS4KLSAoMjAyMSkgW0pTT04gU2NoZW1hIGluIFJERl0oaHR0cHM6Ly93d3cudzMub3JnLzIwMTkvd290L2pzb24tc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoaXMgZG9jdW1lbnQgaW50cm9kdWNlcyBhbiBSREYgdm9jYWJ1bGFyeSBmb3IgSlNPTiBzY2hlbWEgZGVmaW5pdGlvbnMuIFRoaXMgdm9jYWJ1bGFyeSBwcm92aWRlcyBhIHN0YWJsZSBuYW1lc3BhY2UgSVJJIGZvciBKU09OIHNjaGVtYSBrZXl3b3JkcywgYXMgd2VsbCBhcyBzaW1wbGUgYXhpb21zLCBkZWZpbmVkIGFnYWluc3Qgc2NoZW1hLm9yZyYjeDI3O3MgbWV0YS1tb2RlbC4gVmFyaW91cyBleGFtcGxlcyBvbiBob3cgdG8gdXNlIHRoZSB2b2NhYnVsYXJ5IGFyZSBhbHNvIGludHJvZHVjZWQsIGUuZy4gdG8gYW5ub3RhdGUgc2NoZW1hcyB3aXRoIEpTT04tTEQgbWV0YWRhdGEgb3IgdG8gZW1iZWQgc2NoZW1hIGFubm90YXRpb25zIGluc2lkZSBSREYgZ3JhcGhzLgotICgyMDIxKSBbT3BlbkFQSV0oaHR0cHM6Ly9zd2FnZ2VyLmlvL3NwZWNpZmljYXRpb24vP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBPcGVuQVBJIHNwZWNpZmljYXRpb24gZW1iZWRzIGFuZCBleHRlbmRzIEpTT04gU2NoZW1hIGZvciBkZWZpbmluZyBBUEkgcmVxdWVzdCBhbmQgcmVzcG9uc2VzLgotICgyMDIxKSBbUkFNTF0oaHR0cHM6Ly9yYW1sLm9yZz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgUkFNTCBzcGVjaWZpY2F0aW9uIHN1cHBvcnRzIG1vZGVsaW5nIEFQSSBkYXRhIHVzaW5nIEpTT04gU2NoZW1hLgotICgyMDIwKSBbSlNPTiBTY2hlbWEgQ29yZSAyMDIwLTEyXShodHRwczovL2pzb24tc2NoZW1hLm9yZy9kcmFmdC8yMDIwLTEyL2pzb24tc2NoZW1hLWNvcmUuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBKU09OIFNjaGVtYSBkZWZpbmVzIHRoZSBtZWRpYSB0eXBlICZxdW90O2FwcGxpY2F0aW9uL3NjaGVtYStqc29uJnF1b3Q7LCBhIEpTT04tYmFzZWQgZm9ybWF0IGZvciBkZXNjcmliaW5nIHRoZSBzdHJ1Y3R1cmUgb2YgSlNPTiBkYXRhLiBKU09OIFNjaGVtYSBhc3NlcnRzIHdoYXQgYSBKU09OIGRvY3VtZW50IG11c3QgbG9vayBsaWtlLCB3YXlzIHRvIGV4dHJhY3QgaW5mb3JtYXRpb24gZnJvbSBpdCwgYW5kIGhvdyB0byBpbnRlcmFjdCB3aXRoIGl0LiBUaGUgJnF1b3Q7YXBwbGljYXRpb24vc2NoZW1hLWluc3RhbmNlK2pzb24mcXVvdDsgbWVkaWEgdHlwZSBwcm92aWRlcyBhZGRpdGlvbmFsIGZlYXR1cmUtcmljaCBpbnRlZ3JhdGlvbiB3aXRoICZxdW90O2FwcGxpY2F0aW9uL3NjaGVtYStqc29uJnF1b3Q7IGJleW9uZCB3aGF0IGNhbiBiZSBvZmZlcmVkIGZvciAmcXVvdDthcHBsaWNhdGlvbi9qc29uJnF1b3Q7IGRvY3VtZW50cy4KLSAoMjAyMCkgW0pTT04gU2NoZW1hIFZhbGlkYXRpb24gMjAyMC0xMl0oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi9qc29uLXNjaGVtYS12YWxpZGF0aW9uLmh0bWw/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSlNPTiBTY2hlbWEgKGFwcGxpY2F0aW9uL3NjaGVtYStqc29uKSBoYXMgc2V2ZXJhbCBwdXJwb3Nlcywgb25lIG9mIHdoaWNoIGlzIEpTT04gaW5zdGFuY2UgdmFsaWRhdGlvbi4gVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSB2b2NhYnVsYXJ5IGZvciBKU09OIFNjaGVtYSB0byBkZXNjcmliZSB0aGUgbWVhbmluZyBvZiBKU09OIGRvY3VtZW50cywgcHJvdmlkZSBoaW50cyBmb3IgdXNlciBpbnRlcmZhY2VzIHdvcmtpbmcgd2l0aCBKU09OIGRhdGEsIGFuZCB0byBtYWtlIGFzc2VydGlvbnMgYWJvdXQgd2hhdCBhIHZhbGlkIGRvY3VtZW50IG11c3QgbG9vayBsaWtlLgotICgyMDIwKSBbUmVsYXRpdmUgSlNPTiBQb2ludGVyc10oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvZHJhZnQvMjAyMC0xMi9yZWxhdGl2ZS1qc29uLXBvaW50ZXIuaHRtbD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBKU09OIFBvaW50ZXIgaXMgYSBzeW50YXggZm9yIHNwZWNpZnlpbmcgbG9jYXRpb25zIGluIGEgSlNPTiBkb2N1bWVudCwgc3RhcnRpbmcgZnJvbSB0aGUgZG9jdW1lbnQgcm9vdC4gVGhpcyBkb2N1bWVudCBkZWZpbmVzIGFuIGV4dGVuc2lvbiB0byB0aGUgSlNPTiBQb2ludGVyIHN5bnRheCwgYWxsb3dpbmcgcmVsYXRpdmUgbG9jYXRpb25zIGZyb20gd2l0aGluIHRoZSBkb2N1bWVudC4KLSAoMjAyMCkgW1czQyBXZWIgb2YgVGhpbmdzXShodHRwczovL3d3dy53My5vcmcvV29ULz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGUgV2ViIG9mIFRoaW5ncyAoV29UKSBzZWVrcyB0byBjb3VudGVyIHRoZSBmcmFnbWVudGF0aW9uIG9mIHRoZSBJb1QgYnkgdXNpbmcgYW5kIGV4dGVuZGluZyBleGlzdGluZywgc3RhbmRhcmRpemVkIFdlYiB0ZWNobm9sb2dpZXMuIFdvVCBtb2RlbHMgZGF0YSB1c2luZyBKU09OIFNjaGVtYS4KLSAoMjAxOSkgW0pTT04gSHlwZXItU2NoZW1hXShodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL2RyYWZ0LWhhbmRyZXdzLWpzb24tc2NoZW1hLWh5cGVyc2NoZW1hLTAyP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEpTT04gU2NoZW1hIGlzIGEgSlNPTi1iYXNlZCBmb3JtYXQgZm9yIGRlc2NyaWJpbmcgSlNPTiBkYXRhIHVzaW5nIHZhcmlvdXMgdm9jYWJ1bGFyaWVzLiAgVGhpcyBkb2N1bWVudCBzcGVjaWZpZXMgYSB2b2NhYnVsYXJ5IGZvciBhbm5vdGF0aW5nIEpTT04gZG9jdW1lbnRzIHdpdGggaHlwZXJsaW5rcy4gIFRoZXNlIGh5cGVybGlua3MgaW5jbHVkZSBhdHRyaWJ1dGVzIGRlc2NyaWJpbmcgaG93IHRvIG1hbmlwdWxhdGUgYW5kIGludGVyYWN0IHdpdGggcmVtb3RlIHJlc291cmNlcyB0aHJvdWdoIGh5cGVybWVkaWEgZW52aXJvbm1lbnRzIHN1Y2ggYXMgSFRUUCwgYXMgd2VsbCBhcyBkZXRlcm1pbmluZyB3aGV0aGVyIHRoZSBsaW5rIGlzIHVzYWJsZSBiYXNlZCBvbiB0aGUgaW5zdGFuY2UgdmFsdWUuCgojIyBCb29rcwoKLSAoMjAyNCkgW1VuaWZ5aW5nIEJ1c2luZXNzLCBEYXRhLCBhbmQgQ29kZTogRGVzaWduaW5nIERhdGEgUHJvZHVjdHMgd2l0aCBKU09OIFNjaGVtYV0oaHR0cHM6Ly93d3cub3JlaWxseS5jb20vbGlicmFyeS92aWV3L3VuaWZ5aW5nLWJ1c2luZXNzLWRhdGEvOTc4MTA5ODE0NDk5OS8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQ292ZXJzIHRvcGljcyBzdWNoIGFzIHdyaXRpbmcgeW91ciBvd24gSlNPTiBTY2hlbWEgdm9jYWJ1bGFyaWVzLCB1bmRlcnN0YW5kaW5nIEpTT04gU2NoZW1hIGFubm90YXRpb25zLCBhbmQgaG9zdGluZyB5b3VyIG93biBKU09OIFNjaGVtYSByZWdpc3RyaWVzLiBNb3JlIGltcG9ydGFudGx5LCBvdXIgYm9vayB0ZWFjaGVzIHlvdSBhIG1ldGhvZG9sb2d5IGZvciBlZmZlY3RpdmUgZGF0YSBtYW5hZ2VtZW50LgotICgyMDIxKSBbQVBJIGJ5IERlc2lnbl0oaHR0cHM6Ly9zbWl6ZWxsLmd1bXJvYWQuY29tL2wvYXBpYnlkZXNpZ24/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSW50cm9kdWNlcyBhbiBhcHByb2FjaCB0byBtZWFzdXJlIEFQSSBjb21wbGV4aXR5IGJ5IGFuYWx5emluZyBlbnRyb3B5IGluIEpTT04gU2NoZW1hIGRlZmluaXRpb25zLgotICgyMDE3KSBbSlNPTiBhdCBXb3JrXShodHRwczovL3d3dy5vcmVpbGx5LmNvbS9saWJyYXJ5L3ZpZXcvanNvbi1hdC13b3JrLzk3ODE0OTE5ODIzODkvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgY29tcHJlaGVuc2l2ZSBvdmVydmlldyBvZiB0aGUgSlNPTiBlY29zeXN0ZW0sIGluY2x1ZGluZyBKU09OIFNjaGVtYS4KLSAoMjAxNCkgW1VzaW5nIEpTT04gU2NoZW1hXShodHRwczovL2Jvb2tzLmFwcGxlLmNvbS91cy9ib29rL3VzaW5nLWpzb24tc2NoZW1hL2lkOTAzMjQ4NjMwP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIExlYXJuIGFuZCBBcHBseSBKU09OIFNjaGVtYSBieSBFeGFtcGxlLCB3aXRoIEphdmFTY3JpcHQgKE5vZGUuanMpIGFuZCBQeXRob24gUHJvZ3JhbXMuCgojIyBDb3Vyc2VzCgotICgyMDE3KSBbSlNPTiBTY2hlbWEgLSBDcmFzaCBDb3Vyc2UgZm9yIEJlZ2lubmVyc10oaHR0cHM6Ly93d3cudWRlbXkuY29tL2NvdXJzZS9qc29uLXNjaGVtYS1jcmFzaC1jb3Vyc2UtZm9yLWJlZ2lubmVycy8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gTGVhcm4gSlNPTiAmYW1wOyBKU09OIFNjaGVtYSBpbiBhIFF1aWNrIDMwLTQwIG1pbnV0ZXMgJmFtcDsgdXNlIGl0IGZvciB0aGUgcmVzdCBvZiB5b3VyIGxpZmUgZm9yIGNvbXBsZXggcHJvamVjdHMuCi0gKDIwMTcpIFtQcm9jZXNzaW5nIGFuZCBJbnRlcmNoYW5naW5nIEpTT04gRGF0YV0oaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2xlYXJuaW5nL3Byb2Nlc3NpbmctYW5kLWludGVyY2hhbmdpbmctanNvbi1kYXRhP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIGluLWRlcHRoIGd1aWRlIHRvIHdvcmtpbmcgd2l0aCBKU09OIGFuZCB0aGUgSlNPTiBlY29zeXN0ZW0gaW5jbHVkaW5nIHVzaW5nIEpTT04gU2NoZW1hIGZvciB2YWxpZGF0aW9uIHB1cnBvc2VzLgoKIyMgVmlkZW9zCgotICgyMDIyKSBbSlNPTiBTY2hlbWEgaW4gUHJvZHVjdGlvbjogIzMgTWFkcyBLcmlzdGVuc2VuIGF0IE1pY3Jvc29mdF0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj0teVlUeExaWms1OD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBNYWRzIHNoYXJlcyB0aGUgc3Rvcnkgb2YgYnJpbmdpbmcgSlNPTiBTY2hlbWEgc3VwcG9ydCBpbnRvIFZpc3VhbCBTdHVkaW8gYmFjayBpbiB2ZXJzaW9uIDIwMTMsIHRoZSBmaXJzdCBlZGl0b3Igc3VwcG9ydGluZyBKU09OIFNjaGVtYS4gV2hhdCYjeDI3O3MgY2FsbGVkIC5OZXQgQ29yZSB0b2RheSBuZWVkZWQgdG9vbGluZyBmb3IgdGhlaXIgJnF1b3Q7cHJvamVjdC5qc29uJnF1b3Q7IGZpbGUsIHNpbWlsYXIgdG8gYSAmcXVvdDtwYWNrYWdlLmpzb24mcXVvdDsgZmlsZS4gSlNPTiBTY2hlbWEgZW5kZWQgdXAgcGxheWluZyBhIGtleSByb2xlIGluIHRoZSBhdXRvY29tcGxldGlvbiBhbmQgdmFsaWRhdGlvbiBpbmZhc3RydWN0dXJlIG9udG9wIG9mIGEgYmFzaWMgSlNPTiBlZGl0b3IuCi0gKDIwMjIpIFtKU09OIFNjaGVtYSBpbiBQcm9kdWN0aW9uIC0gIzYgU3VyZXNoIFNyaW5pdmFzIGF0IE9wZW5NZXRhZGF0YV0oaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1aclZUWndtVFIzaz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBXZSB0YWxrIHRvIFN1cmVzaCBTcmluaXZhcywgQ28tRm91bmRlciBhdCBDb2xsYXRlLCBidWlsZGluZyBPcGVuTWV0YWRhdGEuIChQcmV2aW91c2x5IGVuZ2luZWVyaW5nIGxlYWRlcnNoaXAgYXQgVWJlciBhbmQgRm91bmRlciBvZiBIb3J0b253b3Jrcy4pLgotICgyMDIyKSBbSlNPTiBTY2hlbWEgaW4gUHJvZHVjdGlvbiAtICM1IEplbnMgTmV1c2UgYXQgV3VuZGVyZ3JhcGhdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9X1RDVTZkYTBHQTg/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSmVucyBOZXVzZSwgRm91bmRlciBvZiBXdW5kZXJncmFwaCBzaGFyZXMgaG93IFd1bmRlcmdyYXBoIGNvbXBpbGVzIEdyYXBoUUwgZGVmaW5pdGlvbnMgaW50byBKU09OIFJQQyBhbmQgY3JlYXRlIEpTT04gU2NoZW1hIGRlZmluaXRpb25zIGZvciBlYWNoIEpTT04gUlBDIGVuZHBvaW50LiBJbnB1dCBkYXRhIGlzIHZhbGlkYXRlZCB1c2luZyBKU09OIFNjaGVtYSBhdCB0aGUgbWlkZGxld2FyZS1sZXZlbCBiZWZvcmUgZXhlY3V0aW5nIHRoZSBjb3JyZXNwb25kaW5nIEdyYXBoUUwgcXVlcnkuCi0gKDIwMjIpIFtKU09OIFNjaGVtYSBpbiBQcm9kdWN0aW9uIC0gIzQgRGF2aWQgQnJvd25tYW4gYXQgWmFwaWVyXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXlETDk4c2Q0S1ZFP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIERhdmlkIHNoYXJlcyB0aGUgc3Rvcnkgb2YgdXNpbmcgSlNPTiBTY2hlbWEgYXQgWmFwaWVyIHRvIHZhbGlkYXRlIGFuZCBkb2N1bWVudCB0aGVpciBpbnRlcmdyYXRpb24gcGF5bG9hZHMsIGVuYWJsaW5nIGEgYmV0dGVyIGRldmVsb3BlciBleHBlcmllbmNlIGZvciB0aGVpciA0MDAwKyBpbnRlcmdyYXRpb24gcGFydG5lcnMuLgotICgyMDIyKSBbSlNPTiBTY2hlbWEgaW4gUHJvZHVjdGlvbiAtICMyIEtpbiBMYW5lIGF0IEY1XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PXBpYlpGMDQ5enFFP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEtpbiBzaGFyZXMgdGhlIGNoYWxsZW5nZXMgb2YgYnVpbGRpbmcgYSBjb21wYW55IHdpZGUgaW5kZXggb2YgZGF0YSBzdHJ1Y3R1cmVzIChvciBTY2hlbWEgUmVnaXN0cnkpLCBhaW1pbmcgdG8gaGVscCB1bmRlcnN0YW5kIHByZXZpb3VzLCBhbmQgYXZvaWQgZnV0dXJlLCB1bmV4cGVjdGVkIGJyZWFraW5nIGNoYW5nZXMgdGhhdCByZWFsbHkgaW1wYWN0IGN1c3RvbWVycy4KLSAoMjAyMikgW0pTT04gU2NoZW1hIGluIFByb2R1Y3Rpb24gLSAjMSBDaHVjayBSZWV2ZXMgYXQgWm9uZXNdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9Zmt6aU1RRDdwcVE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQmVuIHRhbGtzIHRvIENodWNrIFJlZXZlcywgcHJldmlvdXNseSBhdCBab25lcywgYWJvdXQgaG93IHRoZXkgdXNlZCBKU09OIFNjaGVtYSB0byB2YWxpZGF0ZSBkYXRhIGFuZCBrZWVwIGl0IGluIGEgY29uc2lzdGVudCBmb3JtYXQgYWNyb3NzIHRoZWlyIGFwcGxpY2F0aW9uLiBDaHVjayBzaGFyZXMgaG93IHVzaW5nIGEgcHVibGljIEFQSSBnYXRld2F5IHRvIHZhbGlkYXRlIGluY29taW5nIGRhdGEgc2F2ZWQgZGV2ZWxvcGVycyB0aW1lIGFuZCBjb21wdXRlIGVmZm9ydCwgbWFraW5nIHN1cmUgb25seSB2YWxpZCBkYXRhIHdhcyBwYXNzZWQgZG93bnN0cmVhbSB0byBzZXJ2ZXJsZXNzIGZ1bmN0aW9ucyBvciBvdGhlciBzZXJ2aWNlcy4KLSAoMjAyMikgW0pTT04gU2NoZW1hIEluIFByb2R1Y3Rpb24gLSBZb3UgQ2FuIFVzZSBJdCBUb2RheSAtIEJlbiBIdXR0b24sIFBvc3RtYW5dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9NDhRZ2ptd0xXaDA/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSGVhciB0aGUgYWJvdXQgdGhlIGpvdXJuZXkgb2Ygb3JnYW5pemF0aW9ucyB0aGF0IHVzZSBKU09OIFNjaGVtYSBpbiBwcm9kdWN0aW9uIHRvZGF5LCBhbmQgbGVhcm4gYWJvdXQgaG93IEpTT04gU2NoZW1hIGNvbnRpbnVlcyB0byBkZWxpdmVyIHZhbHVlLgotICgyMDIxKSBbU28geW91IHRoaW5rIHlvdSB1bmRlcnN0YW5kIEpTT04gU2NoZW1hPyAtIEJlbiBIdXR0b25dKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9dk1HME5DRGlmSTA/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSW4gdGhpcyBzZXNzaW9uIHlvdSYjeDI3O2xsIGxlYXJuIHNvbWUga2V5IGZ1bmRhbWVudGFscywgaW50cmFjYWNpZXMgdGhhdCBldmVuIGNhdGNoIG91dCB0aGUgZXhwZXJpZW5jZWQsIGFuZCBob3cgdG8gZGV2ZWxvcCB5b3VyIG93biBpbnRlcm9wZXJhYmxlIEpTT04gU2NoZW1hIFZvY2FidWxhcnkuCi0gKDIwMjEpIFtNYWludGFpbmluZyBKU09OIFNjaGVtYXMgYXQgU2NhbGUgLSBKYXNvbiBEZXNyb3NpZXJzXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUdqSnBSc1ZmZmcwP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEluIHRoaXMgdGFsaywgd2Ugd2lsbCBjb3ZlciB0aGUga2V5d29yZHMsIGNvbmNlcHRzLCBhbmQgcGF0dGVybnMgZm9yIG1haW50YWluaW5nIGxhcmdlIHNjaGVtYXMgb3IgbGFyZ2UgY29sbGVjdGlvbnMgb2Ygc2NoZW1hcy4gV2UmI3gyNztsbCB0YWNrbGUgcHJvYmxlbXMgbGlrZSBob3cgdG8gYnJlYWtkb3duIGFuZCBvcmdhbml6ZSBzY2hlbWFzLCBob3cgdG8gYnVuZGxlIHNjaGVtYXMsIGhvdyB0byBtYWtlIGxhcmdlIHNjaGVtYXMgZWZmaWNpZW50LCBob3cgdG8gZ2V0IGJldHRlciBlcnJvciBtZXNzYWdlcyBmcm9tIGxhcmdlIHNjaGVtYXMsIGFuZCBtb3JlLgotICgyMDIxKSBbSlNPTiBTY2hlbWEgVmFsaWRhdGlvbiBpbiBQb3N0bWFuXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PThCZnNoVjVuNmFjP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIHR1dG9yaWFsIG9mIHBlcmZvcm1pbmcgSlNPTiBTY2hlbWEgdmFsaWRhdGlvbiBpbiBQb3N0bWFuIGluIEFQSSB0ZXN0cy4KLSAoMjAyMSkgW0NvbmZpZ3VyaW5nIFVtYnJhY28gb24gLk5FVCBDb3JlIC0gSlNPTiBTY2hlbWFdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9cnBVZy1veVN3OGc/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQ29uZmlndXJpbmcgVW1icmFjbyBvbiAuTkVUIENvcmUgd2l0aCBKU09OIFNjaGVtYS1wb3dlcmVkIGF1dG9jb21wbGV0aW9ucyBmb3IgYXBwc2V0dGluZ3MuanNvbiB1c2luZyBTY2hlbWFTdG9yZS4KLSAoMjAyMSkgW0FQSSBTdG9yeXRlbGxpbmcgd2l0aCBCZW4gSHV0dG9uXShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTR4YkE4MmxvX2xjP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoaXMgZXBpc29kZSB3ZSBzaXQgZG93biB3aXRoIEJlbiBIdXR0b24sIHRoZSBsZWFkIGJlaGluZCB0aGUgSlNPTiBTY2hlbWEgY29tbXVuaXR5IHRvIHRhbGsgYWJvdXQgdm9jYWJ1bGFyaWVzIGFuZCBvdGhlciB3YXlzIHdlIHZhbGlkYXRlIGFuZCBhbm5vdGF0ZSBob3cgd2UgdGVsbCBzdG9yaWVzIHdlIHRlbGwgaW4gdGhlIEFQSSBzcGFjZS4KLSAoMjAyMCkgW1doYXQgaXMgSlNPTiBTY2hlbWFdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9a0stX2dMN1ZzYzA/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBiYXNpYyBpbnRyb2R1Y3Rpb24gdG8gSlNPTiBTY2hlbWEgc2hvd2luZyBob3cgdG8gYXV0by1nZW5lcmF0ZSBKU09OIFNjaGVtYSBkb2N1bWVudCBmcm9tIGFuIGV4aXN0aW5nIEpTT04gZG9jdW1lbnQuCi0gKDIwMTkpIFtXaGF0IGlzIGEgSlNPTiBTY2hlbWE/IEdlbmVyYXRlLCBNb2RpZnksIGFuZCBVbmRlcnN0YW5kIGEgSlNPTiBTY2hlbWE6IEV4YW1wbGVdKGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9aEdYeFh5Sm1hVW8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gaW4tZGVwdGggaW50cm9kdWN0aW9uIHRvIEpTT04gU2NoZW1hIGluY2x1ZGluZyBhdXRvLWdlbmVyYXRpbmcgSlNPTiBTY2hlbWEgZG9jdW1lbnRzIHVzaW5nIFF1aWNrVHlwZS5pby4KLSAoMjAxOSkgW0pTT04gU2NoZW1hIFZhbGlkYXRpb246IEhvdyB0byBWYWxpZGF0ZSBKU09OIFNjaGVtYSB3aXRoIFBvc3RtYW4/XShodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PVgwNzJlS3RPSWlvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIGludHJvZHVjdGlvbiB0byBKU09OIFNjaGVtYSBhbmQgaG93IHRvIHVzZSBpdCBpbiBQb3N0bWFuLgotICgyMDE3KSBbSlNPTiBTY2hlbWEgLSB0aGUgR29vZCwgdGhlIEJhZCBhbmQgdGhlIFVnbHldKGh0dHBzOi8vdmltZW8uY29tLzIyMjQ4OTI4OD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBXaXRoIEpTT04gU2NoZW1hIHlvdSBhcmUgcmVxdWlyZWQgdG8gZGVmaW5lIHlvdXIgZGF0YSBhbmQgdGhlIGF2YWlsYWJsZSB0b29saW5nIHRvIGRvIHNvIGlzIG5vdCByZWFsbHkgZ3JlYXQgKHlldCkuIFRoaXMgcHJlc2VudGF0aW9uIHByb3ZpZGVzIHlvdSB3aXRoIGNyaXRlcmlhIHRvIGp1ZGdlIHdoZXRoZXIgSlNPTiBTY2hlbWEgY291bGQgYmUgYmVuZWZpY2lhbCBmb3IgeW91ciBwcm9qZWN0IG9yIGlzIGp1c3QgdG9vIG11Y2ggb3ZlcmhlYWQuCgojIyBQb2RjYXN0cwoKLSAoMjAyMSkgW0FQSSBMaWZlY3ljbGVzLCBTcGVjaWZpY2F0aW9ucywgYW5kIFN0YW5kYXJkcyB3aXRoIEtpbiBMYW5lXShodHRwczovL3d3dy5pbmZvcS5jb20vcG9kY2FzdHMvYXBpLWxpZmVjeWNsZXMtc3BlY2lmaWNhdGlvbnMtc3RhbmRhcmRzLz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaG9tYXMgQmV0dHMgdGFsa3Mgd2l0aCBLaW4gTGFuZSBhYm91dCBtYW5hZ2luZyB5b3VyIEFQSSBsaWZlY3ljbGUgdXNpbmcgc3RhbmRhcmRzIGFuZCBzcGVjaWZpY2F0aW9ucywgaW5jbHVkaW5nIE9wZW5BUEksIEFzeW5jQVBJLCBhbmQgSlNPTiBTY2hlbWEuIFRoZXNlIHNwZWNpZmljYXRpb25zIGFuZCB0aGUgdG9vbGluZyBiYXNlZCBvbiB0aGVtIGNhbiBoZWxwIHJlZHVjZSBjb21tdW5pY2F0aW9uIHByb2JsZW1zLCBieSBjcmVhdGluZyBkb2N1bWVudGF0aW9uLCBnZW5lcmF0aW5nIGNvZGUsIGFuZCBhdXRvbWF0aW5nIHRlc3RpbmcuCgojIyBQYXBlcnMKCi0gKDIwMjQpIFtWYWxpZGF0aW9uIG9mIE1vZGVybiBKU09OIFNjaGVtYTogRm9ybWFsaXphdGlvbiBhbmQgQ29tcGxleGl0eV0oaHR0cHM6Ly9hcnhpdi5vcmcvYWJzLzIzMDcuMTAwMzQ/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSW4gdGhpcyBwYXBlciwgd2UgZ2l2ZSB0aGUgZmlyc3QgZm9ybWFsIGRlc2NyaXB0aW9uIG9mIE1vZGVybiBKU09OIFNjaGVtYSwgd2hpY2ggd2UgY29uc2lkZXIgYSBjZW50cmFsIGNvbnRyaWJ1dGlvbiBvZiB0aGUgd29yayB0aGF0IHdlIHByZXNlbnQgaGVyZS4gV2UgdGhlbiBwcm92ZSB0aGF0IGl0cyBkYXRhIHZhbGlkYXRpb24gcHJvYmxlbSBpcyBQU1BBQ0UtY29tcGxldGUuIFdlIHByb3ZlIHRoYXQgdGhlIG9yaWdpbiBvZiB0aGUgcHJvYmxlbSBsaWVzIGluIGR5bmFtaWMgcmVmZXJlbmNlcywgYW5kIG5vdCBpbiBhbm5vdGF0aW9uLWRlcGVuZGVudCB2YWxpZGF0aW9uLiBXZSBzdHVkeSB0aGUgc2NoZW1hIGFuZCBkYXRhIGNvbXBsZXhpdGllcywgc2hvd2luZyB0aGF0IHRoZSBwcm9ibGVtIGlzIFBTUEFDRS1jb21wbGV0ZSB3aXRoIHJlc3BlY3QgdG8gdGhlIHNjaGVtYSBzaXplIGV2ZW4gd2l0aCBhIGZpeGVkIGluc3RhbmNlLCBidXQgaXMgaW4gUFRJTUUgd2hlbiB0aGUgc2NoZW1hIGlzIGZpeGVkIGFuZCBvbmx5IHRoZSBpbnN0YW5jZSBzaXplIGlzIGFsbG93ZWQgdG8gdmFyeS4gRmluYWxseSwgd2UgcnVuIGV4cGVyaW1lbnRzIHRoYXQgc2hvdyB0aGF0IHRoZXJlIGFyZSBmYW1pbGllcyBvZiBzY2hlbWFzIHdoZXJlIHRoZSBkaWZmZXJlbmNlIGluIGFzeW1wdG90aWMgY29tcGxleGl0eSBiZXR3ZWVuIGR5bmFtaWMgYW5kIHN0YXRpYyByZWZlcmVuY2VzIGlzIGV4dHJlbWVseSB2aXNpYmxlLCBldmVuIHdpdGggc21hbGwgc2NoZW1hcy4uCi0gKDIwMjMpIFtKU09Ob2lkOiBNb25vaWQtYmFzZWQgRW5yaWNobWVudCBmb3IgQ29uZmlndXJhYmxlIGFuZCBTY2FsYWJsZSBEYXRhLURyaXZlbiBTY2hlbWEgRGlzY292ZXJ5XShodHRwczovL2FyeGl2Lm9yZy9hYnMvMjMwNy4wMzExMz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBNZWFuaW5nZnVsIHNjaGVtYSBpbmZvcm1hdGlvbiBmb3Igc2VtaS1zdHJ1Y3R1cmVkIGRhdGEuCi0gKDIwMjMpIFtKU09Ob2lkOiBEaXN0cmlidXRlZCBKU09OIFNjaGVtYSBEaXNjb3ZlcnldKGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRhdW5pdHlsYWIvanNvbm9pZC1kaXNjb3Zlcnk/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSB0b29sIGZvciBkaXN0cmlidXRlZCBKU09OIHNjaGVtYSBkaXNjb3ZlcnkgaW5jbHVkaW5nIG1hbnkgcHJvcGVydGllcyBvZiB0aGUgZGF0YS4KLSAoMjAyMykgW0NvbXByZWhlbmRpbmcgU2VtYW50aWMgVHlwZXMgaW4gSlNPTiBEYXRhIHdpdGggR3JhcGggTmV1cmFsIE5ldHdvcmtzXShodHRwczovL2FyeGl2Lm9yZy9hYnMvMjMwNy4xMjgwNz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBHcmFwaCBuZXVyYWwgbmV0d29ya3MgZm9yIHNlbWFudGljIHR5cGUgZGV0ZWN0aW9uIGluIEpTT04uCi0gKDIwMjMpIFtBbiBBbmFseXNpcyBvZiBEZWZlY3RzIGluIFB1YmxpYyBKU09OIFNjaGVtYXNdKGh0dHBzOi8vd3d3LmNyaS5taW5lc3BhcmlzLnBzbC5ldS9jbGFzc2VtZW50L2RvYy9BLTc5NC5wZGY/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW5hbHlzaXMgb2YgY29tbW9uIGRlZmVjdHMgZm91bmQgaW4gcHVibGljbHkgYXZhaWxhYmxlIHNjaGVtYXMgbGVhZGluZyB0byByZWNvbW1lbmQgY2hhbmdlcyB0byB0aGUgc3BlYy4KLSAoMjAyMikgW1dpdG5lc3MgR2VuZXJhdGlvbiBmb3IgSlNPTiBTY2hlbWFdKGh0dHBzOi8vYXJ4aXYub3JnL2Ficy8yMjAyLjEyODQ5P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEpTT04gU2NoZW1hIGlzIGFuIGltcG9ydGFudCwgZXZvbHZpbmcgc3RhbmRhcmQgc2NoZW1hIGxhbmd1YWdlIGZvciBmYW1pbGllcyBvZiBKU09OIGRvY3VtZW50cy4gSXQgaXMgYmFzZWQgb24gYSBjb21wbGV4IGNvbWJpbmF0aW9uIG9mIHN0cnVjdHVyYWwgYW5kIEJvb2xlYW4gYXNzZXJ0aW9ucywgYW5kIGZlYXR1cmVzIG5lZ2F0aW9uIGFuZCByZWN1cnNpb24uIFRoZSBzdGF0aWMgYW5hbHlzaXMgb2YgSlNPTiBTY2hlbWEgZG9jdW1lbnRzIGNvbXByaXNlcyBwcmFjdGljYWxseSByZWxldmFudCBwcm9ibGVtcywgaW5jbHVkaW5nIHNjaGVtYSBzYXRpc2ZpYWJpbGl0eSwgaW5jbHVzaW9uLCBhbmQgZXF1aXZhbGVuY2UuIFRoZXNlIHRocmVlIHByb2JsZW1zIGNhbiBiZSByZWR1Y2VkIHRvIHdpdG5lc3MgZ2VuZXJhdGlvbjogZ2l2ZW4gYSBzY2hlbWEsIGdlbmVyYXRlIGFuIGVsZW1lbnQgb2YgdGhlIHNjaGVtYSwgaWYgaXQgZXhpc3RzLCBhbmQgcmVwb3J0IGZhaWx1cmUgb3RoZXJ3aXNlLgotICgyMDIyKSBbVmFsaWRhdGluZyBTdHJlYW1pbmcgSlNPTiBEb2N1bWVudHMgd2l0aCBMZWFybmVkIFZQQXNdKGh0dHBzOi8vYXJ4aXYub3JnL2Ficy8yMjExLjA4ODkxP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoaXMgcGFwZXIgcHJlc2VudHMgYSBuZXcgc3RyZWFtaW5nIGFsZ29yaXRobSB0byB2YWxpZGF0ZSBKU09OIGRvY3VtZW50cyBhZ2FpbnN0IGEgc2V0IG9mIGNvbnN0cmFpbnRzIGdpdmVuIGFzIGEgSlNPTiBzY2hlbWEuIEl0IHByb3ZlcyB0aGF0IHRoZXJlIGFsd2F5cyBleGlzdHMgYSB2aXNpYmx5IHB1c2hkb3duIGF1dG9tYXRvbiAoVlBBKSB0aGF0IGFjY2VwdHMgdGhlIHNhbWUgc2V0IG9mIEpTT04gZG9jdW1lbnRzIGFzIGEgSlNPTiBzY2hlbWEuCi0gKDIwMjIpIFtUaGUgVXNhZ2Ugb2YgTmVnYXRpb24gaW4gUmVhbC1Xb3JsZCBKU09OIFNjaGVtYSBEb2N1bWVudHNdKGh0dHA6Ly9iaWxpb3NvLmlzdGkuY25yLml0L3NlYmQyMDIyL3ByZXByaW50L1NFQkRfMjAyMl9DYW1lcmEtcmVhZHlfUERGXzgucGRmP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIE1hbnkgc29mdHdhcmUgdG9vbHMsIGJ1dCBhbHNvIGZvcm1hbCBmcmFtZXdvcmtzIGZvciB3b3JraW5nIHdpdGggSlNPTiBTY2hlbWEsIGRvIG5vdCBmdWxseSBzdXBwb3J0IG5lZ2F0aW9uLiBUaGlzIG1vdGl2YXRlcyB1cyB0byBzdHVkeSB3aGV0aGVyIG5lZ2F0aW9uIGlzIGFjdHVhbGx5IHVzZWQgaW4gcHJhY3RpY2UsIGZvciB3aGljaCBhaW1zLCBhbmQgd2hldGhlciBpdCBjb3VsZCwgaW4gcHJpbmNpcGxlLCBiZSByZXBsYWNlZCBieSBzaW1wbGVyIG9wZXJhdG9ycy4gV2UgaGF2ZSBjb2xsZWN0ZWQgYSBsYXJnZSBjb3JwdXMgb2YgODBrIG9wZW4gc291cmNlIEpTT04gU2NoZW1hIGRvY3VtZW50cy4gV2UgcGVyZm9ybSBhIHN5c3RlbWF0aWMgYW5hbHlzaXMsIHF1YW50aWZ5IHVzYWdlIHBhdHRlcm5zIG9mIG5lZ2F0aW9uLCBhbmQgYWxzbyBxdWFsaXRhdGl2ZWx5IGFuYWx5emUgc2NoZW1hcy4gV2Ugc2hvdyB0aGF0IG5lZ2F0aW9uIGlzIGluZGVlZCB1c2VkLCBhbGJlaXQgaW5mcmVxdWVudGx5LCBmb2xsb3dpbmcgYSBzdGFibGUgc2V0IG9mIHBhdHRlcm5zLgotICgyMDIyKSBbSlNPTiBCaW5QYWNrOiBBIHNwYWNlLWVmZmljaWVudCBzY2hlbWEtZHJpdmVuIGFuZCBzY2hlbWEtbGVzcyBiaW5hcnkgc2VyaWFsaXphdGlvbiBzcGVjaWZpY2F0aW9uIGJhc2VkIG9uIEpTT04gU2NoZW1hXShodHRwczovL3d3dy5qdmlvdHRpLmNvbS9hc3NldHMvZGlzc2VydGF0aW9uLnBkZj91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBIHN1cnZleSBhbmQgYmVuY2htYXJrIG9mIEpTT04tY29tcGF0aWJsZSBiaW5hcnkgc2VyaWFsaXphdGlvbiBzcGVjaWZpY2F0aW9ucyBmb2xsb3dlZCBieSB0aGUgaW50cm9kdWN0aW9uIG9mIEpTT04gQmluUGFjaywgYSBub3ZlbCBwcm90b2NvbC1pbmRlcGVuZGVudCBzY2hlbWEtZHJpdmVuIGFuZCBzY2hlbWEtbGVzcyBiaW5hcnkgc2VyaWFsaXphdGlvbiBzcGVjaWZpY2F0aW9uIHRoYXQgaXMgc3RyaWN0bHktY29tcGF0aWJsZSB3aXRoIEpTT04gYW5kIHRha2VzIGFkdmFudGFnZSBvZiBKU09OIFNjaGVtYSBmb3JtYWwgZGVmaW5pdGlvbnMgdG8gcHJvZHVjZSBiaXQtc3RyaW5ncyB0aGF0IGFyZSBzcGFjZS1lZmZpY2llbnQgaW4gY29tcGFyaXNvbiB0byBldmVyeSBjb25zaWRlcmVkIGFsdGVybmF0aXZlIHNlcmlhbGl6YXRpb24gc3BlY2lmaWNhdGlvbi4KLSAoMjAyMikgW0ltcGxpY2l0IEpTT04gU2NoZW1hIFZlcnNpb25pbmcgVHJpZ2dlcmVkIGJ5IFRlbXBvcmFsIFVwZGF0ZXMgdG8gSlNPTi1CYXNlZCBCaWcgRGF0YSBpbiB0aGUgz4RKU2NoZW1hIEZyYW1ld29ya10oaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9jaGFwdGVyLzEwLjEwMDcvOTc4LTMtMDMxLTA3OTY5LTZfMz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGlzIHBhcGVyIHByb3Bvc2VzIGFuIGFwcHJvYWNoIGZvciBoYW5kbGluZyBpbXBsaWNpdCBzY2hlbWEgY2hhbmdlcyB0cmlnZ2VyZWQgYnkgdGVtcG9yYWwgdXBkYXRlcyBvZiBKU09OLWJhc2VkIEJpZyBEYXRhLiBNb3JlIHByZWNpc2VseSwgd2hlbiBhIHVzZXIgc3BlY2lmaWVzIGEgdGVtcG9yYWwgSlNPTiB1cGRhdGUgb3BlcmF0aW9uIHRoYXQgbW9kaWZpZXMgYSBzbmFwc2hvdCBKU09OIGNvbXBvbmVudCBhc3NpZ25pbmcgYSB2YWxpZC10aW1lIHRpbWVzdGFtcCB0byBpdHMgbmV3IHZhbHVlLCB0aGUgZXhlY3V0aW9uIG9mIHN1Y2ggYW4gb3BlcmF0aW9uIHJlcXVpcmVzIHRoZSBKU09OIGNvbXBvbmVudCB0byBiZWNvbWUgdGVtcG9yYWwsIHdoaWNoIGlzIGZvciBhbGwgaW50ZW50cyBhIHNjaGVtYSBjaGFuZ2UuIFRodXMsIGEgbmV3IHZlcnNpb24gb2YgdGhlIM+ESlNjaGVtYSB0ZW1wb3JhbCBjaGFyYWN0ZXJpc3RpY3MgZG9jdW1lbnQgaXMgZ2VuZXJhdGVkLCB3aXRoIHRoZSBhZGRpdGlvbiBvZiBhIG5ldyB2YWxpZC10aW1lIGNoYXJhY3RlcmlzdGljLiBOZXcgdmVyc2lvbnMgb2YgdGhlIHRlbXBvcmFsIEpTT04gc2NoZW1hIGFuZCBvZiB0aGUgdGVtcG9yYWwgSlNPTiBkb2N1bWVudCBhcmUgYWxzbyBhY2NvcmRpbmdseSBjcmVhdGVkLgotICgyMDIxKSBbVElMVDogQSBHRFBSLUFsaWduZWQgVHJhbnNwYXJlbmN5IEluZm9ybWF0aW9uIExhbmd1YWdlIGFuZCBUb29sa2l0IGZvciBQcmFjdGljYWwgUHJpdmFjeSBFbmdpbmVlcmluZ10oaHR0cHM6Ly9kbC5hY20ub3JnL2RvaS8xMC4xMTQ1LzM0NDIxODguMzQ0NTkyNT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBXZSBwcmVzZW50IFRJTFQsIGEgdHJhbnNwYXJlbmN5IGluZm9ybWF0aW9uIGxhbmd1YWdlIGFuZCB0b29sa2l0IGV4cGxpY2l0bHkgZGVzaWduZWQgdG8gcmVwcmVzZW50IGFuZCBwcm9jZXNzIHRyYW5zcGFyZW5jeSBpbmZvcm1hdGlvbiBpbiBsaW5lIHdpdGggdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgR0RQUiBhbmQgYWxsb3dpbmcgZm9yIGEgbW9yZSBhdXRvbWF0ZWQgYW5kIGFkYXB0aXZlIHVzZSBvZiBzdWNoIGluZm9ybWF0aW9uIHRoYW4gZXN0YWJsaXNoZWQsIGxlZ2FsZXNlIGRhdGEgcHJvdGVjdGlvbiBwb2xpY2llcyBkby4KLSAoMjAyMSkgW05vdCBFbGltaW5hdGlvbiBhbmQgV2l0bmVzcyBHZW5lcmF0aW9uIGZvciBKU09OIFNjaGVtYV0oaHR0cHM6Ly9hcnhpdi5vcmcvYWJzLzIxMDQuMTQ4Mjg/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSW4gdGhpcyBwYXBlciwgd2UgcHJlc2VudCBhbiBhbGdlYnJhaWMgY2hhcmFjdGVyaXphdGlvbiBvZiBKU09OIFNjaGVtYSwgb2J0YWluZWQgYnkgYWRkaW5nIG9wcG9ydHVuZSBvcGVyYXRvcnMsIGFuZCBieSBtaXJyb3JpbmcgZXhpc3Rpbmcgb25lcy4gV2UgcHJlc2VudCB0aGVuIGFsZ2VicmEtYmFzZWQgYXBwcm9hY2hlcyBmb3IgZGVhbGluZyB3aXRoIG5vdC1lbGltaW5hdGlvbiBhbmQgd2l0bmVzcyBnZW5lcmF0aW9uIHByb2JsZW1zLCB3aGljaCBwbGF5IGEgY2VudHJhbCByb2xlIGFzIHRoZXkgbGVhZCB0byBzb2x1dGlvbnMgZm9yIHRoZSBvdGhlciBtZW50aW9uZWQgY29tcGxleCBwcm9ibGVtcy4KLSAoMjAyMSkgW0Zhc3QgRGlzY292ZXJ5IG9mIE5lc3RlZCBEZXBlbmRlbmNpZXMgb24gSlNPTiBEYXRhXShodHRwczovL2FyeGl2Lm9yZy9hYnMvMjExMS4xMDM5OD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBFZmZpY2llbnQgZGVwZW5kZW5jeSBtaW5pbmcgYWxnb3JpdGhtcyBmb3Igbm9uLXJlbGF0aW9uYWwgZGF0YS4KLSAoMjAyMSkgW0VuaGFuY2luZyBKU09OIFNjaGVtYSBEaXNjb3ZlcnkgYnkgVW5jb3ZlcmluZyBIaWRkZW4gRGF0YV0oaHR0cHM6Ly9jZXVyLXdzLm9yZy9Wb2wtMjk3MS9wYXBlcjExLnBkZj91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBFbmhhbmNpbmcgZGlzY292ZXJlZCBKU09OIFNjaGVtYXMgYnkgZGlzYW1iaWd1YXRpbmcgZGF0YSBhbmQgbWV0YWRhdGEuCi0gKDIwMjEpIFtEZXJpdmluZyBTZW1hbnRpY3MtQXdhcmUgRnV6emVycyBmcm9tIFdlYiBBUEkgU2NoZW1hc10oaHR0cHM6Ly9hcnhpdi5vcmcvYWJzLzIxMTIuMTAzMjg/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gRGlzY3Vzc2VzIEpTT04gU2NoZW1hIGNhbm9uaWNhbGl6YXRpb24gYW5kIEpTT04gU2NoZW1hIGluc3RhbmNlIGRlcml2YXRpb24gaW4gdGhlIGNvbnRleHQgb2YgcHJvcGVydHktYmFzZWQgdGVzdGluZyBvZiBBUElzLgotICgyMDIwKSBbVHlwZSBTYWZldHkgd2l0aCBKU09OIFN1YnNjaGVtYV0oaHR0cHM6Ly9hcnhpdi5vcmcvYWJzLzE5MTEuMTI2NTE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gRGVjaWRpbmcgd2hldGhlciBvbmUgc2NoZW1hIGlzIGEgc3Vic2NoZW1hIG9mIGFub3RoZXIgaXMgbm9uLXRyaXZpYWwgYmVjYXVzZSBvZiB0aGUgcmljaG5lc3Mgb2YgdGhlIEpTT04gU2NoZW1hIHNwZWNpZmljYXRpb24gbGFuZ3VhZ2UuIEdpdmVuIGEgcGFpciBvZiBzY2hlbWFzLCBvdXIgYXBwcm9hY2ggZmlyc3QgY2Fub25pY2FsaXplcyBhbmQgc2ltcGxpZmllcyBib3RoIHNjaGVtYXMsIHRoZW4gZGVjaWRlcyB0aGUgc3Vic2NoZW1hIHF1ZXN0aW9uIG9uIHRoZSBjYW5vbmljYWwgZm9ybXMsIGRpc3BhdGNoaW5nIHNpbXBsZXIgc3Vic2NoZW1hIHF1ZXJpZXMgdG8gdHlwZS1zcGVjaWZpYyBjaGVja2Vycy4KLSAoMjAyMCkgW0pTT04gU2NoZW1hIEluZmVyZW5jZSBBcHByb2FjaGVzXShodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2NoYXB0ZXIvMTAuMTAwNy85NzgtMy0wMzAtNjU4NDctMl8xNj91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBJbiB0aGUgY29udGV4dCBvZiBkb2N1bWVudCBOb1NRTCBkYXRhYmFzZXMsIG5hbWVseSB0aG9zZSBhc3N1bWluZyB0aGUgSlNPTiBkYXRhIGZvcm1hdCwgdGhpcyBwYXBlciBmb2N1c2VzIG9uIHNldmVyYWwgcmVwcmVzZW50YXRpdmVzIG9mIHRoZSBleGlzdGluZyBpbmZlcmVuY2UgYXBwcm9hY2hlcyBhbmQgcHJvdmlkZSB0aGVpciB0aG9yb3VnaCBjb21wYXJpc29uLgotICgyMDIwKSBbQ2hhbGxlbmdlcyBpbiBDaGVja2luZyBKU09OIFNjaGVtYSBDb250YWlubWVudCBvdmVyIEV2b2x2aW5nIFJlYWwtV29ybGQgU2NoZW1hc10oaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9jaGFwdGVyLzEwLjEwMDcvOTc4LTMtMDMwLTY1ODQ3LTJfMjA/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhpcyBwYXBlciBwcmVzZW50cyB0aGUgcmVzdWx0cyBvZiBhbiBlbXBpcmljYWwgc3R1ZHkgb2YgdGhlIGZpcnN0IGdlbmVyYXRpb24gb2YgdG9vbHMgZm9yIGNoZWNraW5nIEpTT04gU2NoZW1hIGNvbnRhaW5tZW50IHdoaWNoIGlzIGFwcGxpZWQgdG8gYSBkaXZlcnNlIGNvbGxlY3Rpb24gb2Ygb3ZlciAyMzAgcmVhbC13b3JsZCBzY2hlbWFzIGFuZCB0aGVpciBhbHRvZ2V0aGVyIDFrIGhpc3RvcmljIHZlcnNpb25zLgotICgyMDE5KSBbV2hhdCBBcmUgUmVhbCBKU09OIFNjaGVtYXMgTGlrZT9dKGh0dHBzOi8vbGluay5zcHJpbmdlci5jb20vY2hhcHRlci8xMC4xMDA3Lzk3OC0zLTAzMC0zNDE0Ni02Xzk/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQSBmaXJzdCBlbXBpcmljYWwgYW5hbHlzaXMgb2YgYSBjdXJhdGVkIGNvbGxlY3Rpb24gb2YgcmVhbC13b3JsZCBKU09OIFNjaGVtYXMuIEtub3dpbmcgd2hhdCByZWFsIEpTT04gU2NoZW1hcyBhcmUgbGlrZSAodG8gYm9ycm93IGZyb20gYSB0aXRsZSBvZiBhIHJlbGF0ZWQgc3R1ZHkgb24gRFREcykgaGVscHMgcHJhY3RpdGlvbmVycyBhbmQgcmVzZWFyY2hlcnMgaW4gbWFraW5nIHJlYWxpc3RpYyBhc3N1bXB0aW9ucyB3aGVuIGJ1aWxkaW5nIHRvb2xzIGZvciBKU09OIFNjaGVtYSBwcm9jZXNzaW5nLgotICgyMDE4KSBbVG9wLURvd24gTW9kZWwtRHJpdmVuIEVuZ2luZWVyaW5nIG9mIFdlYiBTZXJ2aWNlcyBmcm9tIEV4dGVuZGVkIE9wZW5BUEkgTW9kZWxzXShodHRwczovL2llZWV4cGxvcmUuaWVlZS5vcmcvYWJzdHJhY3QvZG9jdW1lbnQvOTAwMDAyMD91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBTaG93cyBob3cgT3BlbkFQSSBjYW4gYmUgZXh0ZW5kZWQgdG8gYWRkIGltcGxlbWVudGF0aW9uIGRldGFpbHMgaW5zaWRlIG1vZGVscy4gVGhlc2UgZXh0ZW5zaW9ucyBsaW5rIHNlcnZpY2VzIHRvIGFzc2VtYmxpZXMgb2YgY29tcG9uZW50cyB0aGF0IGRlc2NyaWJlIGNvbXB1dGF0aW9ucy4gSGVuY2UgYSB0b3AtZG93biBkZXZlbG9wbWVudCBwcm9jZXNzIHRoYXQga2VlcHMgbW9kZWwgYW5kIGltcGxlbWVudGF0aW9uIGFsaWduZWQuCi0gKDIwMTgpIFtBbiBBcHByb2FjaCBmb3IgU2NoZW1hIEV4dHJhY3Rpb24gb2YgSlNPTiBhbmQgRXh0ZW5kZWQgSlNPTiBEb2N1bWVudCBDb2xsZWN0aW9uc10oaHR0cHM6Ly9pZWVleHBsb3JlLmllZWUub3JnL2Fic3RyYWN0L2RvY3VtZW50Lzg0MjQ3MzE/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhpcyBwYXBlciBwcmVzZW50cyBhbiBhcHByb2FjaCB0aGF0IGV4dHJhY3RzIGEgc2NoZW1hIGZyb20gYSBKU09OIG9yIEV4dGVuZGVkIEpTT04gZG9jdW1lbnQgY29sbGVjdGlvbiBzdG9yZWQgaW4gYSBOb1NRTCBkb2N1bWVudC1vcmllbnRlZCBkYXRhYmFzZSBvciBvdGhlciBkb2N1bWVudCByZXBvc2l0b3J5LiBBZ2dyZWdhdGlvbiBvcGVyYXRpb25zIGFyZSBjb25zaWRlcmVkIGluIG9yZGVyIHRvIG9idGFpbiBhIHNjaGVtYSBmb3IgZWFjaCBkaXN0aW5jdCBzdHJ1Y3R1cmUgaW4gdGhlIGNvbGxlY3Rpb24sIGFuZCBhIGhpZXJhcmNoaWNhbCBkYXRhIHN0cnVjdHVyZSBpcyBwcm9wb3NlZCB0byBncm91cCB0aGVzZSBzY2hlbWFzIGluIG9yZGVyIHRvIGdlbmVyYXRlIGEgZ2xvYmFsIHNjaGVtYSBpbiBKU09OIFNjaGVtYSBmb3JtYXQuCi0gKDIwMTcpIFtTY2hlbWEgSW5mZXJlbmNlIGZvciBNYXNzaXZlIEpTT04gRGF0YXNldHNdKGh0dHBzOi8vaGFsLmFyY2hpdmVzLW91dmVydGVzLmZyL2hhbC0wMTQ5MTc2NT91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBSZWNlbnQgeWVhcnMgaGF2ZSBzZWVuIHRoZSB3aWRlc3ByZWFkIHVzZSBvZiBKU09OIGFzIGEgZGF0YSBmb3JtYXQgdG8gcmVwcmVzZW50IG1hc3NpdmUgZGF0YSBjb2xsZWN0aW9ucy4gSlNPTiBkYXRhIGNvbGxlY3Rpb25zIGFyZSB1c3VhbGx5IHNjaGVtYWxlc3MuIFdoaWxlIHRoaXMgZW5zdXJlcyBzZXZlcmFsIGFkdmFudGFnZXMsIHRoZSBhYnNlbmNlIG9mIHNjaGVtYSBpbmZvcm1hdGlvbiBoYXMgaW1wb3J0YW50IG5lZ2F0aXZlIGNvbnNlcXVlbmNlczogdGhlIGNvcnJlY3RuZXNzIG9mIGNvbXBsZXggcXVlcmllcyBhbmQgcHJvZ3JhbXMgY2Fubm90IGJlIHN0YXRpY2FsbHkgY2hlY2tlZCwgdXNlcnMgY2Fubm90IHJlbHkgb24gc2NoZW1hIGluZm9ybWF0aW9uIHRvIHF1aWNrbHkgZmlndXJlIG91dCBzdHJ1Y3R1cmFsIHByb3BlcnRpZXMgdGhhdCBjb3VsZCBzcGVlZCB1cCB0aGUgZm9ybXVsYXRpb24gb2YgY29ycmVjdCBxdWVyaWVzLCBhbmQgbWFueSBzY2hlbWEtYmFzZWQgb3B0aW1pemF0aW9ucyBhcmUgbm90IHBvc3NpYmxlLiBJbiB0aGlzIHBhcGVyIHdlIGRlYWwgd2l0aCB0aGUgcHJvYmxlbSBvZiBpbmZlcnJpbmcgYSBzY2hlbWEgZnJvbSBtYXNzaXZlIEpTT04gZGF0YSBzZXRzLgotICgyMDE3KSBbRXhhbXBsZS1Ecml2ZW4gV2ViIEFQSSBTcGVjaWZpY2F0aW9uIERpc2NvdmVyeV0oaHR0cHM6Ly9saW5rLnNwcmluZ2VyLmNvbS9jaGFwdGVyLzEwLjEwMDcvOTc4LTMtMzE5LTYxNDgyLTNfMTY/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gSW4gdGhpcyBwYXBlciB3ZSBwcmVzZW50IGFuIGV4YW1wbGUtZHJpdmVuIGRpc2NvdmVyeSBwcm9jZXNzIHRoYXQgZ2VuZXJhdGVzIG1vZGVsLWJhc2VkIE9wZW5BUEkgc3BlY2lmaWNhdGlvbnMgZm9yIFJFU1QgV2ViIEFQSXMgYnkgdXNpbmcgQVBJIGNhbGwgZXhhbXBsZXMuIEEgdG9vbCBpbXBsZW1lbnRpbmcgb3VyIGFwcHJvYWNoIGFuZCBhIGNvbW11bml0eS1kcml2ZW4gcmVwb3NpdG9yeSBmb3IgdGhlIGRpc2NvdmVyZWQgQVBJcyBhcmUgYWxzbyBwcmVzZW50ZWQuCi0gKDIwMTcpIFtEZWZpbml0aW9uIG9mIFJFU1Qgd2ViIHNlcnZpY2VzIHdpdGggSlNPTiBzY2hlbWFdKGh0dHBzOi8vZGwuYWNtLm9yZy9kb2kvYWJzLzEwLjEwMDIvc3BlLjI0NjY/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gVGhlIGFpbSBvZiB0aGlzIGFydGljbGUgaXMgdG8gZGVtb25zdHJhdGUgaG93IEpTT04gU2NoZW1hLCBhbmQgcGFydGljdWxhcmx5IHRoZSBKU09OIEh5cGVyIFNjaGVtYSBleHRlbnNpb24sIGlzIHN1aXRhYmxlIHRvIGRlc2NyaWJlIEpTT04tYmFzZWQgd2ViIHNlcnZpY2VzIHRoYXQgZm9sbG93IHRoZSBSRVNUIGFyY2hpdGVjdHVyYWwgcGF0dGVybi4KLSAoMjAxNikgW8+ESlNjaGVtYTogQSBGcmFtZXdvcmsgZm9yIE1hbmFnaW5nIFRlbXBvcmFsIEpTT04tQmFzZWQgTm9TUUwgRGF0YWJhc2VzXShodHRwczovL2xpbmsuc3ByaW5nZXIuY29tL2NoYXB0ZXIvMTAuMTAwNy85NzgtMy0zMTktNDQ0MDYtMl8xMz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBUaGlzIHBhcGVyIHByb3Bvc2VzIGEgZnJhbWV3b3JrIGNhbGxlZCBUZW1wb3JhbCBKU09OIFNjaGVtYSAoz4RKU2NoZW1hKSwgaW5zcGlyZWQgYnkgdGhlIM+EWFNjaGVtYSBmcmFtZXdvcmsgZGVmaW5lZCBmb3IgWE1MIGRhdGEuIM+ESlNjaGVtYSBhbGxvd3MgZGVmaW5pbmcgYSB0ZW1wb3JhbCBKU09OIHNjaGVtYSBmcm9tIGEgY29udmVudGlvbmFsIEpTT04gc2NoZW1hIGFuZCBhIHNldCBvZiB0ZW1wb3JhbCBsb2dpY2FsIGFuZCBwaHlzaWNhbCBjaGFyYWN0ZXJpc3RpY3MuIE91ciBmcmFtZXdvcmsgZ3VhcmFudGVlcyBsb2dpY2FsIGFuZCBwaHlzaWNhbCBkYXRhIGluZGVwZW5kZW5jZSBmb3IgdGVtcG9yYWwgc2NoZW1hcyBhbmQgcHJvdmlkZXMgYSBsb3ctaW1wYWN0IHNvbHV0aW9uIHNpbmNlIGl0IHJlcXVpcmVzIG5laXRoZXIgbW9kaWZpY2F0aW9ucyBvZiBleGlzdGluZyBKU09OIGRvY3VtZW50cywgbm9yIGV4dGVuc2lvbnMgdG8gdGhlIEpTT04gZm9ybWF0LCB0aGUgSlNPTiBTY2hlbWEgbGFuZ3VhZ2UsIGFuZCBhbGwgcmVsYXRlZCB0b29scyBhbmQgbGFuZ3VhZ2VzLgotICgyMDE2KSBbRm91bmRhdGlvbnMgb2YgSlNPTiBTY2hlbWFdKGh0dHBzOi8vZGwuYWNtLm9yZy9kb2kvYWJzLzEwLjExNDUvMjg3MjQyNy4yODgzMDI5P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEluIHRoaXMgcGFwZXIgd2UgcHJvdmlkZSB0aGUgZmlyc3QgZm9ybWFsIGRlZmluaXRpb24gb2Ygc3ludGF4IGFuZCBzZW1hbnRpY3MgZm9yIEpTT04gU2NoZW1hIGFuZCB1c2UgaXQgdG8gc2hvdyB0aGF0IGltcGxlbWVudGluZyB0aGlzIGxheWVyIG9uIHRvcCBvZiBKU09OIGlzIGZlYXNpYmxlIGluIHByYWN0aWNlLgotICgyMDE1KSBbU2NoZW1hIGV4dHJhY3Rpb24gYW5kIHN0cnVjdHVyYWwgb3V0bGllciBkZXRlY3Rpb24gZm9yIEpTT04tYmFzZWQgbm9zcWwgZGF0YSBzdG9yZXNdKGh0dHBzOi8vZGwuZ2kuZGUvaGFuZGxlLzIwLjUwMC4xMjExNi8yNDIwP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFJhdGhlciB0aGFuIGRlc2lnbmluZyB0aGUgc2NoZW1hIHVwIGZyb250LCBleHRyYWN0aW5nIGEgc2NoZW1hIGluIGhpbmRzaWdodCBjYW4gYmUgc2VlbiBhcyBhIHJldmVyc2UtZW5naW5lZXJpbmcgc3RlcC4gQmFzZWQgb24gdGhlIGV4dHJhY3RlZCBzY2hlbWEgaW5mb3JtYXRpb24sIHdlIHByb3Bvc2Ugc2V0IG9mIHNpbWlsYXJpdHkgbWVhc3VyZXMgdGhhdCBjYXB0dXJlIHRoZSBkZWdyZWUgb2YgaGV0ZXJvZ2VuZWl0eSBvZiBKU09OIGRhdGEgYW5kIHdoaWNoIHJldmVhbCBzdHJ1Y3R1cmFsIG91dGxpZXJzIGluIHRoZSBkYXRhLgotICgyMDE0KSBbSnNvbmdlbjogYSBxdWlja2NoZWNrIGJhc2VkIGxpYnJhcnkgZm9yIHRlc3RpbmcgSlNPTiB3ZWIgc2VydmljZXNdKGh0dHBzOi8vZGwuYWNtLm9yZy9kb2kvYWJzLzEwLjExNDUvMjYzMzQ0OC4yNjMzNDU0P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoaXMgYXJ0aWNsZSBkZXNjcmliZXMgYSBzeXN0ZW1hdGljIGFwcHJvYWNoIHRvIHRlc3RpbmcgYmVoYXZpb3VyYWwgYXNwZWN0cyBvZiBXZWIgU2VydmljZXMgdGhhdCBjb21tdW5pY2F0ZSB1c2luZyB0aGUgSlNPTiBkYXRhIGZvcm1hdC4gVG8gZ2VuZXJhdGUgcmFuZG9tIEpTT04gZGF0YSBmb3IgcG9wdWxhdGluZyB0ZXN0cyB3ZSBoYXZlIGRldmVsb3BlZCBhIG5ldyBsaWJyYXJ5LCBqc29uZ2VuLCB3aGljaCBnaXZlbiBhIGNoYXJhY3RlcmlzYXRpb24gb2YgdGhlIEpTT04gZGF0YSBhcyBhIEpTT04gc2NoZW1hLCAoaSkgYXV0b21hdGljYWxseSBkZXJpdmVzIGEgUXVpY2tDaGVjayBnZW5lcmF0b3Igd2hpY2ggY2FuIGdlbmVyYXRlIGFuIGluZmluaXRlIG51bWJlciBvZiBKU09OIHZhbHVlcyB0aGF0IHZhbGlkYXRlIGFnYWluc3QgdGhlIHNjaGVtYSwgYW5kIChpaSkgcHJvdmlkZXMgYSBnZW5lcmljIFF1aWNrQ2hlY2sgc3RhdGUgbWFjaGluZSB3aGljaCBpcyBjYXBhYmxlIG9mIGZvbGxvd2luZyB0aGUgKGh5cGVyKWxpbmtzIGRvY3VtZW50ZWQgaW4gdGhlIEpTT04gc2NoZW1hLCB0byBhdXRvbWF0aWNhbGx5IGV4cGxvcmUgdGhlIHdlYiBzZXJ2aWNlLgotICgyMDEyKSBbVXNlciBwcm9maWxlIGludGVncmF0aW9uIG1hZGUgZWFzeTogbW9kZWwtZHJpdmVuIGV4dHJhY3Rpb24gYW5kIHRyYW5zZm9ybWF0aW9uIG9mIHNvY2lhbCBuZXR3b3JrIHNjaGVtYXNdKGh0dHBzOi8vZGwuYWNtLm9yZy9kb2kvYWJzLzEwLjExNDUvMjE4Nzk4MC4yMTg4MjI3P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoaXMgcGFwZXIgcHJlc2VudHMsIGZpcnN0bHksIGEgc2VtaS1hdXRvbWF0aWMgYXBwcm9hY2ggdG8gZXh0cmFjdCBzY2hlbWEgaW5mb3JtYXRpb24gZnJvbSBpbnN0YW5jZSBkYXRhLiBTZWNvbmRseSwgdHJhbnNmb3JtYXRpb25zIG9mIHRoZSBkZXJpdmVkIHNjaGVtYXMgdG8gZGlmZmVyZW50IHRlY2huaWNhbCBzcGFjZXMgYXJlIHV0aWxpemVkLCB0aGVyZWJ5IGFsbG93aW5nLCBhbW9uZ3N0IG90aGVyIGJlbmVmaXRzLCB0aGUgYXBwbGljYXRpb24gb2YgZXN0YWJsaXNoZWQgaW50ZWdyYXRpb24gdG9vbHMgYW5kIG1ldGhvZHMuIEZpbmFsbHksIGFzIGEgY2FzZSBzdHVkeSwgc2NoZW1hcyBhcmUgZGVyaXZlZCBmb3IgRmFjZWJvb2ssIEdvb2dsZSssIGFuZCBMaW5rZWRJbi4KCiMjIFRvb2xzCgotIFtUeXBlZFdlYmhvb2sudG9vbHNdKGh0dHBzOi8vdHlwZWR3ZWJob29rLnRvb2xzP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIG9ubGluZSB3ZWJob29rIHRlc3RpbmcgdG9vbCB0aGF0IGlzIGFibGUgdG8gZ2VuZXJhdGUgSlNPTiBTY2hlbWEgZGVmaW5pdGlvbnMgb3V0IG9mIGluY29taW5nIGRhdGEuCi0gW1F1aWNrVHlwZS5pb10oaHR0cHM6Ly9hcHAucXVpY2t0eXBlLmlvP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIG9ubGluZSBKU09OIFNjaGVtYSBjb2RlLWdlbmVyYXRpb24gdXRpbGl0eSB3aXRoIGRpdmVyc2UgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2Ugc3VwcG9ydC4KLSBbSlNPTnNjaGVtYS5OZXRdKGh0dHBzOi8vd3d3Lmpzb25zY2hlbWEubmV0P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIG9ubGluZSB0b29sIHRoYXQgZ2VuZXJhdGVzIEpTT04gc2NoZW1hIGZyb20gSlNPTiBkb2N1bWVudHMuCi0gW0pTT05TY2hlbWEuZGV2XShodHRwczovL2pzb25zY2hlbWEuZGV2P3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIG9ubGluZSBKU09OIFNjaGVtYSB2YWxpZGF0b3IgY3JlYXRlZCBieSB0aGUgSlNPTiBTY2hlbWEgc3BlY2lmaWNhdGlvbiBsZWFkLgotIFtKU09OQnVkZHldKGh0dHBzOi8vd3d3Lmpzb24tYnVkZHkuY29tP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEEgSlNPTiBlZGl0b3IgYW5kIHZhbGlkYXRvciBkZXNrdG9wIGFwcGxpY2F0aW9uIGZvciBXaW5kb3dzLgotIFtKU09OIFNjaGVtYSBWaWV3ZXJdKGh0dHA6Ly9qbGJsY2MuZ2l0aHViLmlvL2pzb24tc2NoZW1hLXZpZXdlci8/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gb25saW5lIHRvb2wgdG8gdmlzdWFsaXplIEpTT04gU2NoZW1hIGRlZmluaXRpb25zLgotIFtKU09OIFNjaGVtYSBWYWxpZGF0b3IgYW5kIEdlbmVyYXRvcl0oaHR0cHM6Ly9leHRlbmRzY2xhc3MuY29tL2pzb24tc2NoZW1hLXZhbGlkYXRvci5odG1sP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIEFuIG9ubGluZSBKU09OIFNjaGVtYSB2YWxpZGF0b3IgdGhhdCBjYW4gZ2VuZXJhdGUgSlNPTiBTY2hlbWEgZnJvbSBKU09OIGRvY3VtZW50cyBhbmQgZ2VuZXJhdGUgcmFuZG9tIEpTT04gZG9jdW1lbnRzIGZyb20gSlNPTiBTY2hlbWEuCi0gW0pTT04gU2NoZW1hIFZhbGlkYXRvcl0oaHR0cHM6Ly93d3cuanNvbnNjaGVtYXZhbGlkYXRvci5uZXQ/dXRtX3NvdXJjZT1hd2Vzb21lLWpzb25zY2hlbWEpIC0gQW4gb25saW5lIEpTT04gU2NoZW1hIHZhbGlkYXRvciB3aXRoIHN1cHBvcnQgZm9yIEpTT04gU2NoZW1hIERyYWZ0IDMsIERyYWZ0IDQsIERyYWZ0IDYsIERyYWZ0IDcgYW5kIERyYWZ0IDIwMTktMDkuCi0gW0pTT04gU2NoZW1hIENMSV0oaHR0cHM6Ly9naXRodWIuY29tL2ludGVsbGlnZW5jZS1haS9qc29uc2NoZW1hP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIFRoZSBDTEkgZm9yIHdvcmtpbmcgd2l0aCBKU09OIFNjaGVtYS4gQ292ZXJzIGZvcm1hdHRpbmcsIGxpbnRpbmcsIHRlc3RpbmcsIGJ1bmRsaW5nLCBhbmQgbW9yZSBmb3IgYm90aCBsb2NhbCBkZXZlbG9wbWVudCBhbmQgQ0kvQ0QgcGlwZWxpbmVzLgotIFtIeXBlcmp1bXAgSlNPTiBTY2hlbWEgVmFsaWRhdG9yXShodHRwczovL2pzb24tc2NoZW1hLmh5cGVyanVtcC5pbz91dG1fc291cmNlPWF3ZXNvbWUtanNvbnNjaGVtYSkgLSBBbiBvbmxpbmUgSlNPTiBTY2hlbWEgdmFsaWRhdG9yIHRoYXQgc3VwcG9ydHMgRHJhZnQgMDQsIDA2LCAwNywgMjAxOS0wOSwgYW5kIDIwMjAtMTIuCi0gW0FsdGVyU2NoZW1hXShodHRwczovL2FsdGVyc2NoZW1hLnNvdXJjZW1ldGEuY29tP3V0bV9zb3VyY2U9YXdlc29tZS1qc29uc2NoZW1hKSAtIENvbnZlcnQgYSBKU09OIFNjaGVtYSBkZWZpbml0aW9uIGJldHdlZW4gc3BlY2lmaWNhdGlvbiB2ZXJzaW9ucy4KCiMjIExpYnJhcmllcwoKVGhlIEpTT04gU2NoZW1hIHdlYnNpdGUgaW5jbHVkZXMgYW4gZXh0ZW5zaXZlIGxpc3Qgb2YgaW1wbGVtZW50YXRpb25zIGFuZApyZWxhdGVkIGxpYnJhcmllczogaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvaW1wbGVtZW50YXRpb25zLmh0bWwuCgotLS0KCj4gU3BlY2lhbCB0aGFua3MgdG8gW0BraW5sYW5lXShodHRwczovL2dpdGh1Yi5jb20va2lubGFuZSkgZm9yIGN1cmF0aW5nIHRoZQppbml0aWFsIHZlcnNpb24gb2YgdGhpcyBsaXN0Lgo= + readmeEtag: '"ea667ba21dca28d156fe230db8bfe114ec2aeb06"' + readmeLastModified: Thu, 26 Sep 2024 20:17:59 GMT repositoryId: 404698785 description: >- A curated list of awesome JSON Schema resources, tutorials, tools, and more created: '2021-09-09T11:39:06Z' - updated: '2024-09-18T23:05:16Z' + updated: '2024-09-26T20:18:18Z' language: Handlebars archived: false stars: 118 @@ -10392,8 +10392,8 @@ owner: sourcemeta logo: https://avatars.githubusercontent.com/u/74150453?v=4 license: CC0-1.0 - repoEtag: '"eed11c8b60e1529272094018f4987dd543f7c5aab53b5e0e83c9e47f303e03ef"' - repoLastModified: Wed, 18 Sep 2024 23:05:16 GMT + repoEtag: '"4b8211c54a3a80fc6b3205b442d40941eb7a2ad5aace90ce0f04fec938620daf"' + repoLastModified: Thu, 26 Sep 2024 20:18:18 GMT foundInMaster: true category: Converters id: 40df0f4f4e0e95da0b9f4aeb27567a36 @@ -10520,17 +10520,17 @@ repositoryId: 285621457 description: OpenAPI - Getting started, and the specification explained created: '2020-08-06T16:40:47Z' - updated: '2024-09-22T06:06:23Z' + updated: '2024-09-26T17:20:06Z' language: Markdown archived: false - stars: 112 + stars: 113 watchers: 22 forks: 56 owner: OAI logo: https://avatars.githubusercontent.com/u/16343502?v=4 license: CC-BY-4.0 - repoEtag: '"e32f79d2fd36a9408fbe3c73236575d7eaf098909ddee78f29e6ea5c1f8d4d56"' - repoLastModified: Sun, 22 Sep 2024 06:06:23 GMT + repoEtag: '"e27a2dc39790cd9ebbedf20650340db39a2de2843f5123c1220f936c18491d0f"' + repoLastModified: Thu, 26 Sep 2024 17:20:06 GMT category: - Parsers - Server Implementations @@ -10660,7 +10660,7 @@ repositoryId: 264196717 description: The OpenAPI v3 specification for DigitalOcean's public API. created: '2020-05-15T13:10:36Z' - updated: '2024-09-24T23:10:44Z' + updated: '2024-09-26T17:37:03Z' language: JavaScript archived: false stars: 107 @@ -10669,8 +10669,8 @@ owner: digitalocean logo: https://avatars.githubusercontent.com/u/4650108?v=4 license: Apache-2.0 - repoEtag: '"7208e15a47db67509e5a9d70e6fcc883ff31fa931ee5abf7146d50dcd95c7cc7"' - repoLastModified: Tue, 24 Sep 2024 23:10:44 GMT + repoEtag: '"9a9ed27ad58c738803aa61fa1c901f096b42d98430c68a15a073fa84b447519b"' + repoLastModified: Thu, 26 Sep 2024 17:37:03 GMT foundInMaster: true category: - Testing @@ -10859,7 +10859,7 @@ A collection of open-source and commercial tools for creating your APIs with OpenAPI - Sourced from and published for the community created: '2022-01-14T19:24:14Z' - updated: '2024-09-25T12:48:13Z' + updated: '2024-09-26T03:33:49Z' language: JavaScript archived: false stars: 97 @@ -10867,8 +10867,8 @@ forks: 26 owner: OAI logo: https://avatars.githubusercontent.com/u/16343502?v=4 - repoEtag: '"c0119f321d72bc20f845aaae0719608b83cd02e7d6bb76aa28f26f2d5d80590e"' - repoLastModified: Wed, 25 Sep 2024 12:48:13 GMT + repoEtag: '"a01dbbec7547985cee2d1289e7a11a4d2b809afa8f536ec7530bffbdda0cf3b6"' + repoLastModified: Thu, 26 Sep 2024 03:33:49 GMT category: Server Implementations foundInMaster: true oldLocations: @@ -10965,17 +10965,17 @@ repositoryId: 220618185 description: Enrich your OpenAPI 3.0 JSON with code samples created: '2019-11-09T09:13:16Z' - updated: '2024-09-04T16:22:44Z' + updated: '2024-09-26T05:41:00Z' language: JavaScript archived: false - stars: 91 + stars: 92 watchers: 9 forks: 13 owner: cdwv logo: https://avatars.githubusercontent.com/u/6742687?v=4 license: MIT - repoEtag: '"b88a4b46b7ebb062f047b4d568636eb42aab5d8eb805c4d9fddb52497aeb82ce"' - repoLastModified: Wed, 04 Sep 2024 16:22:44 GMT + repoEtag: '"b0b77dad5fa046f7e9982c3df81e2c10e1c4aca3fa4cae74fd7d0e863e86faf1"' + repoLastModified: Thu, 26 Sep 2024 05:41:00 GMT foundInMaster: true category: - Documentation @@ -11055,7 +11055,7 @@ owner: jellyfin logo: https://avatars.githubusercontent.com/u/45698031?v=4 license: LGPL-3.0 - repoEtag: '"86256290a9d1dce5f8e8a8726979876e20faac736ec184e6aaf8b3366a909a2a"' + repoEtag: '"f4065de6b866aed29ef91f4829fd3d236446d63561d4ab31dd3b35e817cdfae7"' repoLastModified: Tue, 24 Sep 2024 06:46:11 GMT foundInMaster: true category: Testing @@ -11205,7 +11205,7 @@ repositoryId: 714590129 description: Generate .http files from OpenAPI (Swagger) specifications created: '2023-11-05T10:19:39Z' - updated: '2024-09-23T10:03:28Z' + updated: '2024-09-26T08:27:42Z' language: C# archived: false stars: 76 @@ -11214,8 +11214,8 @@ owner: christianhelle logo: https://avatars.githubusercontent.com/u/710400?v=4 license: MIT - repoEtag: '"b0f21e3e1ffc25e3ed252c1eeac74c0904c3ea68ad5957385878eb6bd69588b8"' - repoLastModified: Mon, 23 Sep 2024 10:03:28 GMT + repoEtag: '"fcee1b195e3f9be0d7e6f68a4ffe6426d37b586a5e2e2b57a521e22cab9ee873"' + repoLastModified: Thu, 26 Sep 2024 08:27:42 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -11351,7 +11351,7 @@ forks: 11 owner: stoplightio logo: https://avatars.githubusercontent.com/u/10767217?v=4 - repoEtag: '"85003acb5e31e1460951ba3e1effacf23bd353699f5f05c40ff370298d23fa36"' + repoEtag: '"24181f4d55f0be9e12c8c97dad7ef2c5a33beda5010990e1c46e358addd5a4ac"' repoLastModified: Wed, 18 Sep 2024 13:34:29 GMT category: Server Implementations foundInMaster: true @@ -11623,17 +11623,17 @@ repositoryId: 506151512 description: 'A client generator from openapi for python. ' created: '2022-06-22T07:56:40Z' - updated: '2024-09-24T17:57:13Z' + updated: '2024-09-27T02:57:44Z' language: Python archived: false - stars: 54 + stars: 55 watchers: 2 forks: 22 owner: MarcoMuellner logo: https://avatars.githubusercontent.com/u/13886384?v=4 license: MIT - repoEtag: '"15eb14172bca571a556dd9beb2650e54a1de44de3551313bba5c11000c53c293"' - repoLastModified: Tue, 24 Sep 2024 17:57:13 GMT + repoEtag: '"c239d88a89864f5bb9c62e8bd83fe0e5b9af91f0423bbfafe7f296940c90caa4"' + repoLastModified: Fri, 27 Sep 2024 02:57:44 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -11648,7 +11648,7 @@ repositoryId: 699872484 description: Generate SDKs and docs for your API created: '2023-10-03T14:04:44Z' - updated: '2024-09-25T00:17:45Z' + updated: '2024-09-26T17:34:59Z' language: Rust archived: false stars: 55 @@ -11657,8 +11657,8 @@ owner: Sideko-Inc logo: https://avatars.githubusercontent.com/u/122366043?v=4 license: NOASSERTION - repoEtag: '"b4dff3562fc1992c4787e5df10f757d9d823d48d19505465ccf2383a2cb608e4"' - repoLastModified: Wed, 25 Sep 2024 00:17:45 GMT + repoEtag: '"b4541726520c9f1d617cc2dfe34ac6c2cb9bd70bf917e93a056c9bfde2af644e"' + repoLastModified: Thu, 26 Sep 2024 17:34:59 GMT category: SDK foundInMaster: true oldLocations: @@ -11920,17 +11920,17 @@ repositoryId: 591235475 description: A typed fetch client for openapi-typescript for use with SvelteKit created: '2023-01-20T08:55:39Z' - updated: '2024-09-25T19:40:35Z' + updated: '2024-09-26T17:20:10Z' language: TypeScript archived: false - stars: 50 + stars: 51 watchers: 1 forks: 3 owner: cocreators-ee logo: https://avatars.githubusercontent.com/u/25827530?v=4 license: MIT - repoEtag: '"016f1ebf7536d2aa635d6a0a7a277da42ddb7e74315332b07f204f7053d0b846"' - repoLastModified: Wed, 25 Sep 2024 19:40:35 GMT + repoEtag: '"212cedc9db9add26a61330ff94ebfce4fc4dcbe69c7fee3c76e187298f23d4c9"' + repoLastModified: Thu, 26 Sep 2024 17:20:10 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -12033,7 +12033,7 @@ This GitHub Actions validates OpenAPI (OAS) definition file using Swagger Editor. created: '2021-03-05T18:37:29Z' - updated: '2024-09-19T04:26:25Z' + updated: '2024-09-26T04:09:26Z' language: JavaScript archived: false stars: 46 @@ -12042,8 +12042,8 @@ owner: swaggerexpert logo: https://avatars.githubusercontent.com/u/172408630?v=4 license: BSD-3-Clause - repoEtag: '"a722f5632ed175887cd2fd0d9eba4d762934fe39beaf551b970496759606568b"' - repoLastModified: Thu, 19 Sep 2024 04:26:25 GMT + repoEtag: '"95a2a8a0f7c23f1f6caf328ff8e104bcbec4d73e45f1bc089a525514890bf1f6"' + repoLastModified: Thu, 26 Sep 2024 04:09:26 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -12058,17 +12058,17 @@ repositoryId: 599199253 description: Generate OpenAPI 3.0 specifications from Go code. created: '2023-02-08T16:53:48Z' - updated: '2024-09-24T13:50:07Z' + updated: '2024-09-26T19:24:49Z' language: Go archived: false - stars: 46 + stars: 47 watchers: 3 forks: 17 owner: a-h logo: https://avatars.githubusercontent.com/u/1029947?v=4 license: MIT - repoEtag: '"7b0f8e1d1753cf621bf6bd8466d57be321b97907664b2afe9f955a785fdf3800"' - repoLastModified: Tue, 24 Sep 2024 13:50:07 GMT + repoEtag: '"b7ca72c2a9c8830d2d687944838a1eb4af1c08c8206047b689cc20862a12e8c2"' + repoLastModified: Thu, 26 Sep 2024 19:24:49 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -12109,17 +12109,17 @@ Annotation processor for compile-time OpenAPI & JsonSchema, with out-of-the-box support for Javalin 5.x, Swagger & ReDoc created: '2021-05-04T16:10:52Z' - updated: '2024-09-25T18:45:08Z' + updated: '2024-09-26T03:35:55Z' language: Kotlin archived: false - stars: 45 + stars: 44 watchers: 6 forks: 17 owner: javalin logo: https://avatars.githubusercontent.com/u/28701086?v=4 license: Apache-2.0 - repoEtag: '"6e7fdc946225cb15ea438a8df263e3fb3f2a845f6cf8bfb7e23fad34ed3cc966"' - repoLastModified: Wed, 25 Sep 2024 18:45:08 GMT + repoEtag: '"1c74786ebbe8206d11fc57221524d0e064c0ef41962f7e6f7ea2df9a7bdcc0b0"' + repoLastModified: Thu, 26 Sep 2024 03:35:55 GMT category: SDK foundInMaster: true oldLocations: @@ -12410,17 +12410,17 @@ Set of tools for codegen, preprocessing and validation of json-schema and openapi spec created: '2020-12-06T16:48:56Z' - updated: '2024-09-05T16:59:24Z' + updated: '2024-09-26T19:05:35Z' language: Rust archived: false - stars: 40 + stars: 41 watchers: 8 forks: 13 owner: kstasik logo: https://avatars.githubusercontent.com/u/676617?v=4 license: MIT - repoEtag: '"8e5355f3c8885d4ae0f270bffdeb03fc2ec7e9dd11429fdf4e82e8f4dcb98a24"' - repoLastModified: Thu, 05 Sep 2024 16:59:24 GMT + repoEtag: '"eff9273bad62c74c40c09cee549feb5a20e4662411e92002cf79a3bb9beb96c7"' + repoLastModified: Thu, 26 Sep 2024 19:05:35 GMT category: Parsers foundInMaster: true id: 152cddaa4f413487d9d5bab9d4eb78cb @@ -12464,17 +12464,17 @@ Full stack, modern web application generator. Using FastAPI, MySQL as database, Docker, automatic HTTPS and more. created: '2022-04-09T05:32:37Z' - updated: '2024-07-13T15:03:10Z' + updated: '2024-09-26T11:59:34Z' language: Python archived: false - stars: 39 + stars: 40 watchers: 3 forks: 14 owner: vuongtlt13 logo: https://avatars.githubusercontent.com/u/14292473?v=4 license: MIT - repoEtag: '"8dda2aa8ed1d0d1fdfdfa323a3ed9938912241099ffd237a910061f30ebe2e2f"' - repoLastModified: Sat, 13 Jul 2024 15:03:10 GMT + repoEtag: '"11f36530a3f23f1134e9c2a5de6f12102de0ff3a7201a664b027a8ad694fefcc"' + repoLastModified: Thu, 26 Sep 2024 11:59:34 GMT foundInMaster: true category: Server Implementations id: 288909aadff60d6d617f878d02cb018c @@ -12734,13 +12734,13 @@ id: 34e64ff1cbcafbe26c37c0f650f0929a repositoryMetadata: base64Readme: >- - T3BlbkFQSS1TZWFyY2ggY29tYmluZXMgbXVsdGlwbGUgT3BlbkFQSXMgaW4gYSBmYXN0LCBvcmdhbml6ZWQsIGFuZCBzZWFyY2hhYmxlIGludGVyZmFjZS4KCk9wZW5BUElzIGFyZSBlZmZlY3RpdmVseSBjbG9zZWQgaWYgdGhlcmUgaXNuJ3QgYW4gYWNjZXNzaWJsZSB3YXkgdG8gZmluZCBhbmQgdXNlIHRoZW0uIEJpZyBjb21tZXJjaWFsIEFQSSBkaXJlY3RvcmllcyBzdWNoIGFzIGh0dHBzOi8vcmFwaWRhcGkuY29tIGFyZSBjdXJyZW50bHkgZG9taW5hdGluZyB0aGUgc2VhcmNoIHJlc3VsdHMgYW5kIHRoZSAjIG9mIEFQSXMgaW5kZXhlZCwgbGVhZGluZyBtYW55IGRldmVsb3BlcnMgdG8gYSBub24tb3BlbiBBUEkgZ2F0ZXdheS4gT3BlbiBTb3VyY2UgaXMgZmFyIGJlaGluZC4KClRoZSBiZXN0IE9wZW5BUEkgZGlyZWN0b3J5IGFzIG9mIHlldCBpcyBodHRwczovL2FwaXMuZ3VydSBidXQgdGhpcyBkb2Vzbid0IGV2ZW4gcmVhY2ggMTAlIG9mIHRoZSBhbW91bnQgb2YgbGlzdGVkIEFQSXMgYW5kIHRoZXJlIGlzIG1hbnkgcm9vbSBmb3IgaW1wcm92ZW1lbnQuCgpUaGUgdmlzaW9uIG9mIGh0dHBzOi8vb3BlbmFwaXNlYXJjaC5jb20gaXMgdG8gbWFrZSBPcGVuQVBJcyB0cnVseSBvcGVuIGJ5IG1ha2luZyBpdCBhY2Nlc3NpYmxlIChlYXN5IHRvIGZpbmQgd2hhdCB5b3UncmUgbG9va2luZyBmb3IpIGFuZCBpbXByb3ZpbmcgbGlzdGluZyBxdWFsaXR5LgoKIVtdKGV4cGxvcmVyLmRyYXdpby5wbmcpCgojIEdvYWxzCgpUYXJnZXRlZCBpbXByb3ZlbWVudHMgY29tcGFyZWQgdG8gaHR0cHM6Ly9hcGlzLmd1cnU6CgotIFNlbWFudGljIHNlYXJjaAotIFJlbGF0ZWQgQVBJcwotIFByb2dyYW1tYXRpYyBSZWdpc3RyeQotIEltcHJvdmVkIFdlYnNpdGUKLSBDaGF0IHdpdGggT3BlbkFQSXMKCldpc2hsaXN0OgoKLSBFMkUgVGVzdGluZyBvZiBPcGVuQVBJcwotIH5+T3BlbkFQSSBGaXJlaG9zZX5+Ci0gQUkgQ3Jhd2xlciBmb3IgT3BlbkFQSSBEaXNjb3ZlcnkKLSBBSSBDcmF3bGVyIHRvIGF1Z21lbnQgT3BlbkFQSSBNZXRhZGF0YQogIC0gQWRkcyBhdXRoZW50aWNhdGlvbiArIHNjb3BlIGluZm8KICAtIEFkZHMgdXNlZnVsIGxpbmtzCiAgLSBBZGRzIHJldmlld3MKICAtIEFkZHMgcHJpY2luZyBpbmZvLCByYXRlbGltaXQgaW5mbywgZXRjCgojIyBOb24tZ29hbHMKCi0gQXV0b21hdGljYWxseSBjdXN0b21pc2UgdGhlbWluZy4gQSBsaXR0bGUgaXMgb2ssIGJ1dCBkb24ndCBnbyB0byBmYXIgYXMgdGhlcmUgbWF5IGJlCi0gQ3JlYXRlIGEgZG9jcyByZWZlcmVuY2Ugd2Vic2l0ZSBsaWtlIFtyZWFkbWUuY29tXShodHRwczovL3JlYWRtZS5jb20pICh0aGVyZSBhcmUgbWFueSkKLSBBZGQgd2VpcmQgY3VzdG9tIGxvZ2ljIHRoYXQgaXMgbm9uLXN0YW5kYXJkIHRvIHRoZSBPcGVuQVBJLiBJbnN0ZWFkLCBJIGFpbSB0byBjcmVhdGUgYSBsYXllciBvbiB0b3Agb2Ygb3BlbmFwaXMgdG8gaW1wcm92ZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIHN0YW5kYXJkLiBJJ2xsIHVzZSBbYWN0aW9uc2NoZW1hXShodHRwczovL2FjdGlvbnNjaGVtYS5jb20pIGZvciB0aGlzLgoKIyBUT0RPCgpDdXJyZW50bHkgaW5kZXhhdGlvbiBoYXMgbWFueSBlcnJvcnMgYW5kIGJhZCB2YWxpZGF0aW9uLiAqKkltcHJvdmVkIGFwaSBpbmRleGF0aW9uIGFuZCB2YWxpZGF0aW9uKiogaXMgdG9wIHByaW9yaXR5CgotIFRoZXJlJ3Mgc3RpbGwgYSBidWcgaW4gcHJvdmlkZXJzbHVnIGJlaW5nIHNsdWdpZmllZCBjb250YWluaW5nIHRoaW5ncyBsaWtlICc6Jy4gdGhpcyBzaG91bGRuJ3QgYmUgcmVtb3ZlZCEKLSBBZGQgY3JlYXRlZEF0IGRhdGUgdG8gb3BlbmFwaXNlYXJjaCBzdG9yYWdlCi0gRW5zdXJlIGRhaWx5IGNyb24gaXMgY2hlYXAvZWZmaWNpZW50Ci0g4p2MIG9wZW5hcGlzZWFyY2guY29tOiBWZWN0b3IgbWV0YWRhdGEgZG9lc24ndCBmaXQgZm9yIGdpdGh1Yi5jb20gYW5kIGEgZG96ZW4gb3RoZXJzLiBMZXQncyBkZWJ1ZyB0aGUgZ2l0aHViLmNvbSBvbmUKLSBFbnN1cmUgaWYgbWV0YWRhdGEgZG9lc24ndCBmaXQsIHdlIHNraXAgaXQuCi0gUmVtb3ZlIGFsbCBpdGVtcyB0aGF0IGRvbid0IGhhdmUgbWV0YWRhdGEgbm93IHRvIHByZXZlbnQgZG93bnN0cmVhbSBlcnJvcnMKLSDinYwgb3BlbmFwaXNlYXJjaC5jb206IGAvYXBpL3RyYWt0LnR2L29wZW5hcGkuanNvbmAgZmFpbGVkIGZldGNoaW5nIG9wZW5hcGkgeyBzdGF0dXM6IDIwMCwgc3RhdHVzVGV4dDogJ09LJyB9ICoqTG90IG9mIG9wZW5hcGlzIGNhbid0IGJlIGZvdW5kIHlldCBhcmUgc3RpbGwgYWRkZWQgaW50byB0aGUgc2VhcmNoIHJlc3VsdHMuIHdlIG5lZWQgdG8gYWRkIHZhbGlkYXRpb24gc28gd2UgZG9uJ3QgY3JlYXRlIGRvd25zdHJlYW0gcHJvYmxlbXMqKgoKSSdtIGhhcHB5IGFmdGVyIGFsbCBzZWFyY2ggcmVzdWx0czoKCi0gYXJlIG9wZW5hcGlzIHRoYXQgZXhpc3QKLSBhcmUgaW4gdmFsaWQgT3BlbkFQSSBmb3JtYXQKClRoZW4uLi4KCvCfpJQgcHV0IGNoYXQgYXdheSwgaXMgbm90IG5lZWRlZCB0byBiZSBhIHZhbHVlIHByb3Bvc2l0aW9uIG9mIHRoaXMgc2l0ZS4uLgoK8J+klCBlbWFpbCBhcGlzLmd1cnUKCvCfpJQgU2hhbGwgSSBwdXQgYWN0aW9uc2NoZW1hLmNvbSBsaXZlPwoK8J+klCBTZWUgW2JhY2tsb2ddKEJBQ0tMT0cubWQpLiBtdWNoIG1vcmUgdG8gZG8K - readmeEtag: '"26b3c0bd59323c6b36bbba2fdc45e90cae06f9df"' - readmeLastModified: Wed, 25 Sep 2024 12:47:58 GMT + T3BlbkFQSS1TZWFyY2ggY29tYmluZXMgbXVsdGlwbGUgT3BlbkFQSXMgaW4gYSBmYXN0LCBvcmdhbml6ZWQsIGFuZCBzZWFyY2hhYmxlIGludGVyZmFjZS4KCk9wZW5BUElzIGFyZSBlZmZlY3RpdmVseSBjbG9zZWQgaWYgdGhlcmUgaXNuJ3QgYW4gYWNjZXNzaWJsZSB3YXkgdG8gZmluZCBhbmQgdXNlIHRoZW0uIEJpZyBjb21tZXJjaWFsIEFQSSBkaXJlY3RvcmllcyBzdWNoIGFzIGh0dHBzOi8vcmFwaWRhcGkuY29tIGFyZSBjdXJyZW50bHkgZG9taW5hdGluZyB0aGUgc2VhcmNoIHJlc3VsdHMgYW5kIHRoZSAjIG9mIEFQSXMgaW5kZXhlZCwgbGVhZGluZyBtYW55IGRldmVsb3BlcnMgdG8gYSBub24tb3BlbiBBUEkgZ2F0ZXdheS4gT3BlbiBTb3VyY2UgaXMgZmFyIGJlaGluZC4KClRoZSBiZXN0IE9wZW5BUEkgZGlyZWN0b3J5IGFzIG9mIHlldCBpcyBodHRwczovL2FwaXMuZ3VydSBidXQgdGhpcyBkb2Vzbid0IGV2ZW4gcmVhY2ggMTAlIG9mIHRoZSBhbW91bnQgb2YgbGlzdGVkIEFQSXMgYW5kIHRoZXJlIGlzIG1hbnkgcm9vbSBmb3IgaW1wcm92ZW1lbnQuCgpUaGUgdmlzaW9uIG9mIGh0dHBzOi8vb3BlbmFwaXNlYXJjaC5jb20gaXMgdG8gbWFrZSBPcGVuQVBJcyB0cnVseSBvcGVuIGJ5IG1ha2luZyBpdCBhY2Nlc3NpYmxlIChlYXN5IHRvIGZpbmQgd2hhdCB5b3UncmUgbG9va2luZyBmb3IpIGFuZCBpbXByb3ZpbmcgbGlzdGluZyBxdWFsaXR5LgoKIVtdKGV4cGxvcmVyLmRyYXdpby5wbmcpCgojIEdvYWxzCgpUYXJnZXRlZCBpbXByb3ZlbWVudHMgY29tcGFyZWQgdG8gaHR0cHM6Ly9hcGlzLmd1cnU6CgotIFNlbWFudGljIHNlYXJjaAotIFJlbGF0ZWQgQVBJcwotIFByb2dyYW1tYXRpYyBSZWdpc3RyeQotIEltcHJvdmVkIFdlYnNpdGUKCldpc2hsaXN0OgoKLSBFMkUgVGVzdGluZyBvZiBPcGVuQVBJcwotIEFJIENyYXdsZXIgZm9yIEFQSSBEaXNjb3ZlcnkKLSBBSSBDcmF3bGVyIHRvIGF1Z21lbnQgT3BlbkFQSSBNZXRhZGF0YQogIC0gQWRkcyBhdXRoZW50aWNhdGlvbiArIHNjb3BlIGluZm8KICAtIEFkZHMgdXNlZnVsIGxpbmtzCiAgLSBBZGRzIHJldmlld3MKICAtIEFkZHMgcHJpY2luZyBpbmZvLCByYXRlbGltaXQgaW5mbywgZXRjCgojIyBOb24tZ29hbHMKCi0gQ3JlYXRlIGEgZG9jcyByZWZlcmVuY2Ugd2Vic2l0ZSBsaWtlIFtyZWFkbWUuY29tXShodHRwczovL3JlYWRtZS5jb20pICh0aGVyZSBhcmUgbWFueSkgLSBmb3IgdGhpcyB3ZSdyZSB1c2luZyBzdG9wbGlnaHQgbm93LgotIEFkZCB3ZWlyZCBjdXN0b20gbG9naWMgdGhhdCBpcyBub24tc3RhbmRhcmQgdG8gdGhlIE9wZW5BUEkuIEluc3RlYWQsIEkgYWltIHRvIGNyZWF0ZSBhIGxheWVyIG9uIHRvcCBvZiBvcGVuYXBpcyB0byBpbXByb3ZlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgc3RhbmRhcmQuIEknbGwgdXNlIFthY3Rpb25zY2hlbWFdKGh0dHBzOi8vYWN0aW9uc2NoZW1hLmNvbSkgZm9yIHRoaXMuCgojIFN5bmMgcHJvY2VzcwoKIVtdKHN5bmMuZHJhd2lvLnN2ZykKClRoaXMgaXMgdGhlIGludGVuZGVkIGRhaWx5IHN5bmNocm9uaXNhdGlvbiBwcm9jZXNzIHdoaWNoIGVuc3VyZXMgc2VhcmNoIHJlc3VsdHMgYXJlIHVwLXRvLWRhdGUgYW5kIG9mIGhpZ2ggcXVhbGl0eS4gQmVzaWRlcyBmaWx0ZXJpbmcgb3V0IGludmFsaWQgT3BlbkFQSXMsIE9wZW5BUElTZWFyY2ggYWxzbyBnZW5lcmF0ZXMgdXNlZnVsIG1ldGFkYXRhIHNvIGVuaGFuY2UgbGlzdGluZyBxdWFsaXR5LgoKIyBUT0RPCgojIFN0YWJpbGl6ZSArIENhY2hlIGNoYXQuYWN0aW9uc2NoZW1hLmNvbQoKLSBGaXggcHJvYmxlbSB3aXRoIHdlaXJkIGFudGhyb3BpYyBnZW5lcmF0aW9ucwotIENhY2ggaW5wdXRzIGlmIG5vIHRvb2xzIGFyZSBsZWZ0IG9yIGlmIGFsbG93ZWQgdG8gY2FjaGUKCiMgQ2FsY3VsYXRlZCBkYXRhCgotIEJyaW5nIGJhY2sgb3BlbmFwaVN1bW1hcnkgd2l0aG91dCBkZXBlbmRlbmN5Ci0gQ3JlYXRlIGluZm8ueC1nZW5lcmF0ZWQtZGVzY3JpcHRpb24gZm9yIGFsbCBpdGVtcyBiYXNlZCBvbiBzdW1tYXJ5IGFuZCBvdGhlciBtZXRhZGF0YS4KLSBDcmVhdGUgY2F0ZWdvcmllcyB1c2luZyBMTE0gdG9vICh1c2luZyB4LWdlbmVyYXRlZC1kZXNjcmlwdGlvbiBhbmQgaGFyZGNvZGVkIGNhdGVnb3JpZXMpCi0gMTAgcmVsYXRlZCBwcm92aWRlcnMgb3V0IG9mIDUwIHVzaW5nIHNlYXJjaCArIExMTQotIFJlaW5kZXggYWxsIHdpdGggZ2VuZXJhdGVkIGRlc2NyaXB0aW9uIGluIGRhdGEKCiMgTUFLSU5HIEFDVElPTlNDSEVNQSBTVEFCTEU6CgoxLiBBdCBzZW1hbnRpYy1vcGVyYXRpb24tc2VhcmNoLCBzeW5jIHdpdGggbWV0YWRhdGEKMi4gQWN0aW9uU2NoZW1hIEx1Y2t5IHNlYXJjaCBzaG91bGQgd29yayBhbmQgYmUgZmFzdAoKRm9yIG1vcmUgaWRlYXMgYW5kIHdpc2hlcywgc2VlIFtiYWNrbG9nXShCQUNLTE9HLm1kKQo= + readmeEtag: '"6cac655c1fe00f95c287e63fd200f3c4c35cb643"' + readmeLastModified: Thu, 26 Sep 2024 14:05:30 GMT repositoryId: 589525028 description: 🔎 Search Engine for Web APIs created: '2023-01-16T10:24:32Z' - updated: '2024-09-25T12:48:06Z' + updated: '2024-09-26T14:05:38Z' language: TypeScript archived: false stars: 35 @@ -12748,8 +12748,8 @@ forks: 0 owner: CodeFromAnywhere logo: https://avatars.githubusercontent.com/u/97664551?v=4 - repoEtag: '"3c1c7358cf1f15f4776b3a9def3c23f814fb43b1bd51e38731d5391fc79b0aaf"' - repoLastModified: Wed, 25 Sep 2024 12:48:06 GMT + repoEtag: '"65b5e7a642e057ace336f6d3b9b25d168607acc72ab1ebdf17168d0239a30878"' + repoLastModified: Thu, 26 Sep 2024 14:05:38 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -13186,7 +13186,7 @@ repositoryId: 393620909 description: RESTful API for managing a school created: '2021-08-07T08:06:01Z' - updated: '2024-09-25T13:15:44Z' + updated: '2024-09-26T12:00:10Z' language: Java archived: false stars: 28 @@ -13195,8 +13195,8 @@ owner: hei-school logo: https://avatars.githubusercontent.com/u/88576095?v=4 license: MIT - repoEtag: '"f25c7478d6c9699b47a209b72ae8cc91abdce060e1ca5bdae996fa0e22b73669"' - repoLastModified: Wed, 25 Sep 2024 13:15:44 GMT + repoEtag: '"4ee5b4ad730e0b689b04a584f443fa1cb368faaec1529cf0dc53f127642c5cf6"' + repoLastModified: Thu, 26 Sep 2024 12:00:10 GMT foundInMaster: true category: Code Generators id: bf98240ea893afa32efc180fb73dd5b6 @@ -13361,17 +13361,17 @@ repositoryId: 628094839 description: Event-based Webhook plugin for Keycloak created: '2023-04-14T22:47:31Z' - updated: '2024-09-25T05:00:10Z' + updated: '2024-09-26T14:03:59Z' language: Kotlin archived: false - stars: 27 + stars: 28 watchers: 1 forks: 6 owner: vymalo logo: https://avatars.githubusercontent.com/u/128943481?v=4 license: MIT - repoEtag: '"119614ab7ca74abae13f9b922ec2e633fbe2355a67e3bd58c72ee0f2574ff3ea"' - repoLastModified: Wed, 25 Sep 2024 05:00:10 GMT + repoEtag: '"98cd9e750b80437a50aaf5b3ebad6032cec25bbcf3f43738581e88ca3e14baf8"' + repoLastModified: Thu, 26 Sep 2024 14:03:59 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -13899,7 +13899,7 @@ repositoryId: 178213765 description: Generate schema sources for Scala, Java and Elm from an openapi 3.0 spec. created: '2019-03-28T13:53:17Z' - updated: '2024-09-25T22:10:42Z' + updated: '2024-09-26T23:09:48Z' language: Scala archived: false stars: 21 @@ -13908,8 +13908,8 @@ owner: eikek logo: https://avatars.githubusercontent.com/u/701128?v=4 license: MIT - repoEtag: '"7a3edca72fad7ac22f4ecd8d99dfe56ff04467a50d568ee7622593c6ef651357"' - repoLastModified: Wed, 25 Sep 2024 22:10:42 GMT + repoEtag: '"aa1fc40220c3cbe362041b675c2a4a1642a8150f2a0a409824c9ea3530f9a1ef"' + repoLastModified: Thu, 26 Sep 2024 23:09:48 GMT foundInMaster: true category: Parsers id: c55aff4f35aaeecc6904953f3eb67cb6 @@ -14277,7 +14277,7 @@ owner: mockoon logo: https://avatars.githubusercontent.com/u/49429147?v=4 license: NOASSERTION - repoEtag: '"6e7316aad47336a7a30efd6a9d172372da1b00f7922ea9b72a74bb327b268d3d"' + repoEtag: '"5eea2a33b719af5101e916b1414c907dbb7cf51ff6714daabac4304b0f9f1d38"' repoLastModified: Wed, 25 Sep 2024 08:42:06 GMT foundInMaster: true category: Testing @@ -14713,16 +14713,16 @@ repositoryId: 400815425 description: 单纯的文件服务, 目前仅仅集成了minio(人在电信外包差点没了) created: '2021-08-28T14:40:30Z' - updated: '2024-05-03T09:56:13Z' + updated: '2024-09-26T04:17:30Z' language: Java archived: false - stars: 17 + stars: 18 watchers: 2 forks: 5 owner: mikuhuyo logo: https://avatars.githubusercontent.com/u/42843191?v=4 - repoEtag: '"1d792bcc4a0b4079fa470e9cd529a6be4bc86fea1a33705a699d6180960759f6"' - repoLastModified: Fri, 03 May 2024 09:56:13 GMT + repoEtag: '"d6fced6abc99ffc6fb6b61d586214a74651b17a508ac2dfc10a11b3d5e0cc385"' + repoLastModified: Thu, 26 Sep 2024 04:17:30 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -14953,17 +14953,17 @@ repositoryId: 591983470 description: Apply overlays to OpenAPI descriptions created: '2023-01-22T15:11:54Z' - updated: '2024-08-11T07:25:59Z' + updated: '2024-09-26T09:18:12Z' language: JavaScript archived: false - stars: 16 + stars: 17 watchers: 3 forks: 3 owner: lornajane logo: https://avatars.githubusercontent.com/u/172607?v=4 license: Apache-2.0 - repoEtag: '"853de0a9df6a0ff6e4f440d982fe2d5d881c0047e74a28b8a22ed5e90fae5204"' - repoLastModified: Sun, 11 Aug 2024 07:25:59 GMT + repoEtag: '"35a2b8993a2f4692171e996eab000d2d2eedddc19888c1f392434ae1c468e45c"' + repoLastModified: Thu, 26 Sep 2024 09:18:12 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -15029,17 +15029,17 @@ repositoryId: 735775072 description: 一个基于vue3、springboot3、websocket、alpha-beta cut的五子棋游戏 created: '2023-12-26T03:35:56Z' - updated: '2024-09-24T05:53:55Z' + updated: '2024-09-26T13:49:16Z' language: Java archived: false - stars: 16 + stars: 18 watchers: 3 forks: 2 owner: AZCodingAccount logo: https://avatars.githubusercontent.com/u/145426558?v=4 license: MIT - repoEtag: '"866289f8121d0fefbf8152f1b3518eee6055863f4d9154d464478f43e2f8d66d"' - repoLastModified: Tue, 24 Sep 2024 05:53:55 GMT + repoEtag: '"cb50d8ed2c4557b5e955ab4e30dd3ba8e6a5f5a864f921fc2eeb407f529c09fd"' + repoLastModified: Thu, 26 Sep 2024 13:49:16 GMT category: Code Generators foundInMaster: true - source: openapi3 tags @@ -15664,7 +15664,7 @@ Yapily’s OpenAPI Specification. Use this complete definition of our API to generate client libraries in the language of your choice. created: '2022-01-11T16:20:08Z' - updated: '2024-09-19T09:34:56Z' + updated: '2024-09-26T12:50:35Z' language: null archived: false stars: 13 @@ -15672,8 +15672,8 @@ forks: 2 owner: yapily logo: https://avatars.githubusercontent.com/u/36482918?v=4 - repoEtag: '"0e0bd5d26c4ac5d56e0abadf975eb3b4cd87328a1a32c2fa0fbc82205cf28ad8"' - repoLastModified: Thu, 19 Sep 2024 09:34:56 GMT + repoEtag: '"6cae888c87951543b4d9fae91a2353b9c493c5ad8e81263e04690526136b1be3"' + repoLastModified: Thu, 26 Sep 2024 12:50:35 GMT foundInMaster: true category: - SDK @@ -15757,7 +15757,7 @@ owner: Jnig logo: https://avatars.githubusercontent.com/u/3729585?v=4 license: MIT - repoEtag: '"3de73c05c85310c4a447bd6721b204228cf8d9d08843757ffba4003a7137eed3"' + repoEtag: '"aadd6d9f55da9bbe108fe05e768621ee04bc9bf7ee938eba7994d1286cf7804d"' repoLastModified: Thu, 26 Sep 2024 01:13:56 GMT category: - Data Validators @@ -17390,7 +17390,7 @@ repositoryId: 740729887 description: The easiest way to share OpenAPI files created: '2024-01-09T00:11:59Z' - updated: '2024-09-25T15:59:09Z' + updated: '2024-09-26T15:17:59Z' language: Vue archived: false stars: 8 @@ -17398,8 +17398,8 @@ forks: 4 owner: scalar logo: https://avatars.githubusercontent.com/u/301879?v=4 - repoEtag: '"19656128f9cd51a338813901b2428c0c029f59000c1362cdaf5f74a03da3bbc4"' - repoLastModified: Wed, 25 Sep 2024 15:59:09 GMT + repoEtag: '"a21cdbb8dcc14eb743cd63db635b975e0541f68d40c45fc9287b27f60465d8a4"' + repoLastModified: Thu, 26 Sep 2024 15:17:59 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -17524,17 +17524,17 @@ A blockchain nonce tracker to be used in distributed tx executors with at-least-once semantics. created: '2021-05-24T12:38:30Z' - updated: '2023-07-14T18:34:39Z' + updated: '2024-09-26T10:17:59Z' language: Go archived: false - stars: 7 + stars: 8 watchers: 5 forks: 2 owner: welthee logo: https://avatars.githubusercontent.com/u/78427472?v=4 license: MIT - repoEtag: '"c2ab514b83e8c0a2b5b8b58aa7915ec53351568ace25947d3d349be5d55bd85d"' - repoLastModified: Fri, 14 Jul 2023 18:34:39 GMT + repoEtag: '"7307d28be4ae220de92cd4b160eff5b4605e1530ce6aed4504f8a2b73c24d29f"' + repoLastModified: Thu, 26 Sep 2024 10:17:59 GMT foundInMaster: true category: - Server @@ -18052,7 +18052,7 @@ owner: meabed logo: https://avatars.githubusercontent.com/u/45731?v=4 license: MIT - repoEtag: '"f52bf287a2d0e890a2ac00a326579510aa63aa5a01e8c0c87991864a1ff95a5a"' + repoEtag: '"2072c041fa6f57d09fd6a888f5b73ef7628d1b6ee3c22529e289603913ebefbc"' repoLastModified: Fri, 12 Jan 2024 18:23:08 GMT foundInMaster: true category: @@ -18683,7 +18683,7 @@ service from a set of OpenAPI specifications sourced from Azure REST API specs created: '2022-08-08T08:41:58Z' - updated: '2024-06-15T05:40:46Z' + updated: '2024-09-26T23:07:56Z' language: JavaScript archived: false stars: 6 @@ -18691,8 +18691,8 @@ forks: 0 owner: stackql logo: https://avatars.githubusercontent.com/u/95105302?v=4 - repoEtag: '"7029a6dc677a01a69de1e9fff1fd4a545bc3180a8be19f8e0d11cbf1c2ce0209"' - repoLastModified: Sat, 15 Jun 2024 05:40:46 GMT + repoEtag: '"4947ee8c5388f5e355592c99ad441da880a2ab848f727872f422443223089330"' + repoLastModified: Thu, 26 Sep 2024 23:07:56 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -19727,17 +19727,17 @@ microservice-based applications based on their OpenAPI3.0 interface description files. created: '2019-07-09T22:25:59Z' - updated: '2024-08-12T09:05:41Z' + updated: '2024-09-26T18:26:19Z' language: Kotlin archived: false - stars: 4 + stars: 5 watchers: 1 forks: 1 owner: martingrambow logo: https://avatars.githubusercontent.com/u/18425060?v=4 license: MIT - repoEtag: '"69bdcd59801aaa319036f95d221594f480150309692e4e2e55796dc87ab1b706"' - repoLastModified: Mon, 12 Aug 2024 09:05:41 GMT + repoEtag: '"b2b68fb2cdcbca0ff798fee463bfa53339dff1209301d76129ff032f21600db5"' + repoLastModified: Thu, 26 Sep 2024 18:26:19 GMT foundInMaster: true category: Server id: 75a45f8b179099c1bdb9fd6966eb5657 @@ -20938,7 +20938,7 @@ Template repo for creating Pulumi providers based on pulschema and pulumi-provider-framework created: '2022-11-08T10:44:25Z' - updated: '2024-09-24T03:21:42Z' + updated: '2024-09-26T03:44:15Z' language: Go archived: false stars: 3 @@ -20947,8 +20947,8 @@ owner: cloudy-sky-software logo: https://avatars.githubusercontent.com/u/97355959?v=4 license: Apache-2.0 - repoEtag: '"891cf04250a6d0dc1b07fa3bc8dae7a5f345071bc1226a89dcfd9e53713b219c"' - repoLastModified: Tue, 24 Sep 2024 03:21:42 GMT + repoEtag: '"a3785b50c511cd049d7ab82d3bc22a7a0f97b2ccad6f3d3445f0c8fdf04c89ea"' + repoLastModified: Thu, 26 Sep 2024 03:44:15 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -21203,7 +21203,7 @@ repositoryId: 129063014 description: an application development framework and toolkit created: '2018-04-11T08:44:52Z' - updated: '2024-09-26T00:09:46Z' + updated: '2024-09-26T16:05:00Z' language: Go archived: false stars: 3 @@ -21212,8 +21212,8 @@ owner: tsingsun logo: https://avatars.githubusercontent.com/u/5848549?v=4 license: Apache-2.0 - repoEtag: '"2db6c3916034abe84024f9bbb011765eb66c6842792ad5d434629bf3c89c9eb7"' - repoLastModified: Thu, 26 Sep 2024 00:09:46 GMT + repoEtag: '"bca34e4036596525abc9500386150ce9055f31ed3454d8bbd6c8985a4c32d776"' + repoLastModified: Thu, 26 Sep 2024 16:05:00 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -24892,7 +24892,7 @@ owner: protung logo: https://avatars.githubusercontent.com/u/81255167?v=4 license: MIT - repoEtag: '"fe90b9abd5358eb9194fcc5b2a8a9ca4763711fa3de91202d827b32cca3956aa"' + repoEtag: '"99f15379d7ce1627c3f361453e30321bccc2dfc8dd287e26556906bc484434e2"' repoLastModified: Thu, 05 Sep 2024 11:40:46 GMT category: - Server @@ -25382,7 +25382,7 @@ repositoryId: 819191357 description: Go's API server can generate open API documents Go的API服务器可以生成开放的API文档 created: '2024-06-24T02:43:37Z' - updated: '2024-09-25T07:06:41Z' + updated: '2024-09-26T08:34:52Z' language: Go archived: false stars: 1 @@ -25391,8 +25391,8 @@ owner: goodluckxu-go logo: https://avatars.githubusercontent.com/u/110141236?v=4 license: MIT - repoEtag: '"336d2796da2725cb229d482af28017895caf442e4f8d81c62304ba6f1c110c5b"' - repoLastModified: Wed, 25 Sep 2024 07:06:41 GMT + repoEtag: '"e80699da935d143d7a2f7d9e117f2be1c7c70ca04f7d79855aabe719c18f894d"' + repoLastModified: Thu, 26 Sep 2024 08:34:52 GMT category: Parsers foundInMaster: true v3_1: true @@ -26052,7 +26052,7 @@ repositoryId: 853046067 description: Generate Java Records from OpenAPI Specifications created: '2024-09-05T22:21:02Z' - updated: '2024-09-23T20:16:41Z' + updated: '2024-09-26T21:52:38Z' language: Java archived: false stars: 1 @@ -26061,8 +26061,8 @@ owner: Chrimle logo: https://avatars.githubusercontent.com/u/28791817?v=4 license: MIT - repoEtag: '"ede616d447bec40e11c4528374b5cd160c735df3dfefdca7a9f17be0019b03fe"' - repoLastModified: Mon, 23 Sep 2024 20:16:41 GMT + repoEtag: '"9232d383a4725006e4e431419e7b7d4424f4283c8d795a1a5b880f1228293d37"' + repoLastModified: Thu, 26 Sep 2024 21:52:38 GMT category: Parsers foundInMaster: true - source: openapi3 tags @@ -27419,7 +27419,7 @@ owner: fugerit-org logo: https://avatars.githubusercontent.com/u/37816284?v=4 license: Apache-2.0 - repoEtag: '"c088a5e37dd07f9cb7855561311a51d8cc97186e15683a0beb75935a94845c4e"' + repoEtag: '"3e3179ba3e966282abcf0713eda63739bc71b2139d2739ec2364ba1a4f7616a0"' repoLastModified: Sun, 02 Jun 2024 13:37:03 GMT category: Parsers foundInMaster: true @@ -31952,17 +31952,17 @@ Simple, Fast, Code first and Compile time generated OpenAPI documentation for Rust created: '2021-09-30T22:00:31Z' - updated: '2024-09-26T00:30:56Z' + updated: '2024-09-27T00:04:35Z' language: Rust archived: false - stars: 2226 + stars: 2228 watchers: 9 forks: 173 owner: juhaku logo: https://avatars.githubusercontent.com/u/26358664?v=4 license: Apache-2.0 - repoEtag: '"ea02221ea71a8499705c696c10ca36a1c4d55a8835aeb1d2b2068e93aa968354"' - repoLastModified: Thu, 26 Sep 2024 00:30:56 GMT + repoEtag: '"c6b33dd0d18800181d4ac6b489b87200bc212bedb3ce490114f662149c28f791"' + repoLastModified: Fri, 27 Sep 2024 00:04:35 GMT foundInMaster: true category: Parsers id: 14269a89115b3be71493769fca4d995e @@ -32618,17 +32618,17 @@ (TypeScript) from any valid OpenAPI v3 or Swagger v2 specification, either in yaml or json formats. 🍺 created: '2020-02-05T08:31:50Z' - updated: '2024-09-25T18:54:05Z' + updated: '2024-09-27T02:09:45Z' language: TypeScript archived: false - stars: 2865 + stars: 2867 watchers: 12 forks: 320 owner: orval-labs logo: https://avatars.githubusercontent.com/u/176128704?v=4 license: MIT - repoEtag: '"98f632de436a2ec4491a01f1c20b8fdb6668fd0ea913f1b94b7138d9df474231"' - repoLastModified: Wed, 25 Sep 2024 18:54:05 GMT + repoEtag: '"60ec966d71ab58339ae1a4a9ab31af560e0877cfab5ee5be72d737b9fa9d030b"' + repoLastModified: Fri, 27 Sep 2024 02:09:45 GMT foundInMaster: true oldLocations: - https://github.com/anymaniax/orval @@ -32732,13 +32732,13 @@ id: 69e0ef6db084252188c93ab7716b9309 repositoryMetadata: base64Readme: >- - IVtTdWRva3VydSBMb2dvXShodHRwczovL3N1ZG9rdXJ1LnMzLmFtYXpvbmF3cy5jb20vZ29sZExvZ29UZXh0LnBuZykKCiMgVGhlIE9mZmljaWFsIENyb3NzLVBsYXRmb3JtIEZyb250ZW5kIGZvciBvdXIgRnJlZSBPcGVuIFNvdXJjZSBTdWRva3UgUHJvamVjdAoKIyDwn5K7IFRyeSBvdXIgREVWIHNpdGUgYXQ6IGh0dHBzOi8vc3Vkb2t1cnUucGFnZXMuZGV2LwoKIyDirIfvuI8gRG93bmxvYWQgb3VyIGFscGhhIPCfk7FBbmRyb2lkLCDwn5CnTGludXgsIGFuZCDwn6qfV2luZG93cyBhcHAgYnVpbGRzIGF0OiBodHRwczovL3N1ZG9rdXJ1Lml0Y2guaW8vc3Vkb2t1cnUKClshW1BpcGVsaW5lXShodHRwczovL2dpdGh1Yi5jb20vU3Vkb0t1cnUvRnJvbnRlbmQvYWN0aW9ucy93b3JrZmxvd3MvcGlwZWxpbmUueW1sL2JhZGdlLnN2Zz9icmFuY2g9bWFpbildKGh0dHBzOi8vZ2l0aHViLmNvbS9TdWRvS3VydS9Gcm9udGVuZC9hY3Rpb25zL3dvcmtmbG93cy9waXBlbGluZS55bWwpClshW0NvdmVyYWxscyBDb3ZlcmFnZV0oaHR0cHM6Ly9jb3ZlcmFsbHMuaW8vcmVwb3MvZ2l0aHViL1N1ZG9LdXJ1L0Zyb250ZW5kL2JhZGdlLnN2Zz9icmFuY2g9bWFpbildKGh0dHBzOi8vY292ZXJhbGxzLmlvL2dpdGh1Yi9TdWRvS3VydS9Gcm9udGVuZD9icmFuY2g9bWFpbikKWyFbQ29kZWNvdiBDb3ZlcmFnZV0oaHR0cHM6Ly9jb2RlY292LmlvL2doL1N1ZG9LdXJ1L0Zyb250ZW5kL2dyYXBoL2JhZGdlLnN2Zz90b2tlbj1YUVNUS1BUQkZGKV0oaHR0cHM6Ly9jb2RlY292LmlvL2doL1N1ZG9LdXJ1L0Zyb250ZW5kKQpbIVtGT1NTQSBTdGF0dXNdKGh0dHBzOi8vYXBwLmZvc3NhLmNvbS9hcGkvcHJvamVjdHMvZ2l0JTJCZ2l0aHViLmNvbSUyRlN1ZG9LdXJ1JTJGRnJvbnRlbmQuc3ZnP3R5cGU9c2hpZWxkJmlzc3VlVHlwZT1saWNlbnNlKV0oaHR0cHM6Ly9hcHAuZm9zc2EuY29tL3Byb2plY3RzL2dpdCUyQmdpdGh1Yi5jb20lMkZTdWRvS3VydSUyRkZyb250ZW5kP3JlZj1iYWRnZV9zaGllbGQmaXNzdWVUeXBlPWxpY2Vuc2UpClshW0NvZGVGYWN0b3JdKGh0dHBzOi8vd3d3LmNvZGVmYWN0b3IuaW8vcmVwb3NpdG9yeS9naXRodWIvc3Vkb2t1cnUvZnJvbnRlbmQvYmFkZ2UpXShodHRwczovL3d3dy5jb2RlZmFjdG9yLmlvL3JlcG9zaXRvcnkvZ2l0aHViL3N1ZG9rdXJ1L2Zyb250ZW5kKQpbIVtDb2RhY3kgQmFkZ2VdKGh0dHBzOi8vYXBwLmNvZGFjeS5jb20vcHJvamVjdC9iYWRnZS9HcmFkZS8xMzQyZjg0MmExNGY0MGNjYTg1NmQ2ZTgxMjA0ZjhhYyldKGh0dHBzOi8vYXBwLmNvZGFjeS5jb20vZ2gvU3Vkb2t1cnUvRnJvbnRlbmQvZGFzaGJvYXJkP3V0bV9zb3VyY2U9Z2gmdXRtX21lZGl1bT1yZWZlcnJhbCZ1dG1fY29udGVudD0mdXRtX2NhbXBhaWduPUJhZGdlX2dyYWRlKQpbIVtNYWludGFpbmFiaWxpdHldKGh0dHBzOi8vYXBpLmNvZGVjbGltYXRlLmNvbS92MS9iYWRnZXMvNGNkMWQxMDI3YjdiMjUzMmM2ODAvbWFpbnRhaW5hYmlsaXR5KV0oaHR0cHM6Ly9jb2RlY2xpbWF0ZS5jb20vZ2l0aHViL1N1ZG9rdXJ1L0Zyb250ZW5kL21haW50YWluYWJpbGl0eSkKCiMjIFN1ZG9rdXJ1IGlzIGFuIG9wZW4tc291cmNlIHByb2plY3QgZm9jdXNlZCBvbiBkZXZlbG9waW5nIGEgd29ybGQtY2xhc3MsIGNyb3NzLXBsYXRmb3JtIFN1ZG9rdSBhcHAuIFdlIGFpbSB0byBwcm92aWRlIGEgZGVsaWdodGZ1bCB1c2VyIGV4cGVyaWVuY2Ugd2hpbGUgYWxzbyBjb250cmlidXRpbmcgdG8gdGhlIGNvbW11bml0eSBieSBidWlsZGluZyBhIGNvbGxlY3Rpb24gb2YgcmV1c2FibGUgc29mdHdhcmUgbW9kdWxlcy4gVGhlc2UgbW9kdWxlcyBhcmUgZGVzaWduZWQgdG8gYmUgZnJlZSwgd2VsbC1kb2N1bWVudGVkLCBtb2Rlcm4sIGFuZCBpbnRlcm9wZXJhYmxlLCBhbGxvd2luZyBkZXZlbG9wZXJzIHRvIGVhc2lseSBpbmNvcnBvcmF0ZSB0aGVtIGludG8gdGhlaXIgb3duIFN1ZG9rdS1yZWxhdGVkIHByb2plY3RzLgoKIyMjIFRoaXMgZnJvbnRlbmQgbW9kdWxlIGlzIHRoZSBwcmltYXJ5IHVzZXIgaW50ZXJmYWNlIGZvciBTdWRva3VydSwgcHJvdmlkaW5nIGEgY3Jvc3MtcGxhdGZvcm0gU3Vkb2t1IGV4cGVyaWVuY2UgYnVpbHQgd2l0aCBSZWFjdCBOYXRpdmUgV2ViIGFuZCBUeXBlU2NyaXB0LiBJdCBvZmZlcnMgYSBjbGVhbiwgaW50dWl0aXZlIGRlc2lnbiB3aXRoIGZlYXR1cmVzIHN1Y2ggYXM6CgotIPCfjq4gUGxheSBTdWRva3UgYWNyb3NzIDkgZGlmZmVyZW50IGRpZmZpY3VsdHkgbGV2ZWxzIGdlbmVyYXRlZCBieSB0aGUgU3Vkb2t1cnUgQ2xlYXJpbmdob3VzZSBtb2R1bGUKLSDwn46TIExlYXJuIGhvdyB0byBwbGF5IFN1ZG9rdSB3aXRoIGxlc3NvbnMgZnJvbSB0aGUgYmFzaWNzIGFsbCB0aGUgd2F5IHRvIGFkdmFuY2VkIHN0cmF0ZWdpZXMKLSDwn5OKIFN0YXRpc3RpY3MgdG8gdHJhY2sgeW91ciBwcm9ncmVzcwotIOKame+4jyBTZW5zaWJsZSBkZWZhdWx0IHNldHRpbmdzIGZvciBjYXN1YWwgcGxheWVycyB3aXRoIG9wdGlvbnMgdG8gY3VzdG9taXplIHRoZSBwbGF5aW5nIGV4cGVyaWVuY2UgZm9yIHVzZXJzIHdpdGggZGlmZmVyZW50IHBsYXlzdHlsZXMKLSDwn5OFIF9VcGNvbWluZ186IGN1c3RvbSBzdHJhdGVneSBiYXNlZCBoaW50cyBmcm9tIHRoZSBTdWRva3VydSBucG0gbGlicmFyeSBtb2R1bGUKLSDwn5OFIF9VcGNvbWluZ186IGRyaWxscyB3aGljaCBsZXQgeW91IHByYWN0aWNlIGluZGl2aWR1YWwgc3RyYXRlZ2llcyBhbHNvIHBvd2VyZWQgYnkgdGhlIFN1ZG9rdXJ1IG5wbSBsaWJyYXJ5IG1vZHVsZQoKIyDwn5al77iPIFN1cHBvcnRlZCBQbGF0Zm9ybXMKCiMjIFRpZXIgMSBTdXBwb3J0CgojIyMg8J+aoiBXZWIKCiMjIFRpZXIgMiBTdXBwb3J0CgojIyMg4pqS77iPIEFuZHJvaWQKCiMjIyDimpLvuI8gV2luZG93cwoKIyMjIOKaku+4jyBMaW51eAoKIyMgUGxhbm5lZCBTdXBwb3J0CgojIyMg8J+ThSBpT1MKCiMjIyDwn5OFIE1hY09TCgojIyBMZWdlbmQKCiMjIyDwn5qiIFRpZXIgMSBTdXBwb3J0IC0gV2UgaGF2ZSBmdWxsIGVuZCB0byBlbmQgdGVzdCBjb3ZlcmFnZSBmb3IgYWxsIG5ldyBhbmQgZXhpc3RpbmcgZnVuY3Rpb25hbGl0eS4gV2UgZG8gbWFudWFsIHRlc3Rpbmcgb2YgbmV3IGZlYXR1cmVzIGJlZm9yZSBkZXBsb3ltZW50LgoKIyMjIOKaku+4jyBUaWVyIDIgU3VwcG9ydCAtIFdlIGhhdmUgcGFydGlhbCBvciB6ZXJvIGVuZCB0byBlbmQgdGVzdCBjb3ZlcmFnZSBmb3IgbmV3IGFuZCBleGlzdGluZyBmdW5jdGlvbmFsaXR5LiBXZSBtYXkgbm90IGFsd2F5cyBkbyBtYW51YWwgdGVzdGluZyBvZiBuZXcgZmVhdHVyZXMgYmVmb3JlIGRlcGxveW1lbnQuCgojIyMg8J+ThSBQbGFubmVkIFN1cHBvcnQgLSBXZSBkbyBub3QgY3VycmVudGx5IHN1cHBvcnQgdGhpcyBwbGF0Zm9ybSwgYnV0IHdlIHBsYW4gb24gc3VwcG9ydGluZyBpbiB0aGUgZnV0dXJlLgoKIyDwn5ug77iPIExvY2FsIGRldmVsb3BtZW50CgojIyDimpnvuI8gR2VuZXJhbCBTZXR1cDoKCjEuIEdpdCBjbG9uZSB0aGlzIHJlcG9zaXRvcnkKMi4gSW5zdGFsbCBOb2RlLmpzIGB2MTkuNS4wYCBvciBsYXRlcgozLiBJbnN0YWxsIG5wbSBgOS4zLjFgIG9yIGxhdGVyCjQuIFJ1biBgbnBtIGlgIGluIHRoZSByb290IGZvbGRlcgoKIyMg8J+TsiBNb2JpbGUgU2V0dXAgKG5vdCBuZWVkZWQgdG8gcnVuIHdlYnNpdGUpOgoKMS4gQ29udGFjdCBUaG9tYXMgdG8gZ2V0IGFkZGVkIHRvIHRoZSBFeHBvIG9yZ2FuaXphdGlvbiBzbyB0aGF0IHlvdSBjYW4gbG9nIGluIHdpdGggeW91ciBvd24gZW1haWwgYW5kIHBhc3N3b3JkLgoyLiBEb3dubG9hZCB0aGUgZXhwbyBhcHAgb24geW91ciBtb2JpbGUgZGV2aWNlLgozLiBPbiB5b3VyIGRldmVsb3BtZW50IGRldmljZSwgZS5nLiwgbGFwdG9wLCBsb2dpbiBieSBydW5uaW5nOiBgZXhwbyBsb2dpbmAgYW5kIGZpbGwgb3V0IHRoZSBwYXJhbWV0ZXJzLgoKIyMg8J+Pg+KAjeKZgu+4jyBSdW5uaW5nIHRoZSBBcHBsaWNhdGlvbiBMb2NhbGx5CgoxLiBSdW4gYG5wbSBydW4gc3RhcnRgIGZyb20gdGhpcyByZXBvc2l0b3JpZXMgcm9vdCBmb2xkZXIKMi4gRm9yIGlPUywgc2NhbiB0aGUgUVIgY29kZSB3aXRoIHlvdXIgY2FtZXJhIGFwcCwgZm9yIEFuZHJvaWQgeW91IHdpbGwgbmVlZCB0byBzY2FuIHRoZSBjb2RlIGZyb20gd2l0aGluIHRoZSBFeHBvIGFwcC4KMy4gRm9yIFdlYiwgaGl0IHRoZSB3IGtleSB0byBzdGFydCB1cCB0aGUgd2Vic2l0ZSBhdCBgbG9jYWxob3N0OjE5MDAwYAoKIyMg8J+OrSBQbGF5d3JpZ2h0IEUyRSBUZXN0cwoKIyMjIOKame+4jyBTZXR1cAoKMS4gUnVuIGBucHggcGxheXdyaWdodCBpbnN0YWxsYCB0byBpbnN0YWxsIHBsYXl3cmlnaHQgZGVwZW5kZW5jaWVzCjIuIENyZWF0ZSBhIGAuZW52YCBmaWxlIGluIGZvciBsb2NhbCBkZXZlbG9wbWVudCBiYXNlZCBvbiB2YWx1ZXMgaW4gYC5lbnYuZXhhbXBsZWAKCiMjIyDwn4+D4oCN4pmC77iPIFJ1bm5pbmcgdGhlIFRlc3RzCgotIOKaoO+4jyBNYWtlIHN1cmUgdGhhdCB0aGUgd2Vic2l0ZSBpcyBydW5uaW5nIGxvY2FsbHkgKG9yIGNoYW5nZSBiYXNlVVJMIHRvIG1hdGNoIHdoZXJlIHlvdSB3YW50IHRvIHRlc3QpCi0g8J+SuyBSdW4gYG5wbSBydW4gcGxheXdyaWdodDp1aWAgdG8gcnVuIHRlc3RzIHVzaW5nIHBsYXl3cmlnaHQgdWkKLSDijKjvuI8gUnVuIGBucG0gcnVuIHBsYXl3cmlnaHQ6dGVzdGAgdG8gcnVuIHRlc3RzIHVzaW5nIHBsYXl3cmlnaHQgY2xpCi0g8J+TiyBSdW4gYG5wbSBydW4gcGxheXdyaWdodDpyZXBvcnRgIHRvIHZpZXcgcGxheXdyaWdodCByZXBvcnQKCiMjIyDwn5SnIFNldHVwIHRvIHVzZSBhIFNpbmdsZSBQdXp6bGUgZm9yIERlYnVnZ2luZwoKLSBJbiB0aGUgYGFwcC9BcGkvUHV6emxlcy50c2AgZmlsZSwgdGhlIGBzdGFydEdhbWVgIGZ1bmN0aW9uIGNhbiBiZSBtb2RpZmllZCBzbyB0aGF0IG9ubHkgYSBzaW5nbGUgZ2FtZSBpcyB1c2VkLgotIFJlcGxhY2UgYHJldHVybkdhbWVPZkRpZmZpY3VsdHkoZGlmZmljdWx0eSlgIHdpdGggYHJldHVybkdhbWVPZkRpZmZpY3VsdHkoImRldiIpYCBhbmQgdGhlIGRldiBwdXp6bGUgd2lsbCBiZSByZXRyaWV2ZWQuCi0gVGhlIGByZXR1cm5HYW1lT2ZEaWZmaWN1bHR5YCBmdW5jdGlvbiBjYW4gYWxzbyBiZSBtb2RpZmllZCB0byByZXR1cm4gYSBkZXNpcmVkIHB1enpsZS4gQnkgZGVmYXVsdCwgaXQgcmV0dXJucyB0aGUgZmlyc3QgYG5vdmljZWAgcHV6emxlLgoKIyMjIOKaoO+4jyBDeXByZXNzIEUyRSBUZXN0cyDimqDvuI8gKFdlIGFyZSBwaGFzaW5nIG91dCBDeXByZXNzIFRlc3RzKQoKUnVuIGBucG0gcnVuIHdlYjpkZXZgICAKVGhpcyBzdGFydHMgdGhlIHdlYnNpdGUgaW4gZGV2ZWxvcG1lbnQgbW9kZSwgd2l0aCBhY2Nlc3MgdG8gdGhlIGRldmVsb3BtZW50IHBsdWdpbnMuICAKUnVuIGBucG0gcnVuIG9wZW46Y3lwcmVzc2Agb3IgYG5weCBjeXByZXNzIG9wZW5gIHRvIG9wZW4gdXAgdGhlIGN5cHJlc3MgdGVzdGluZyBpbnRlcmZhY2UuICAKKipOb3RlOiBSdW5uaW5nIGluZGl2aWR1YWwgc3BlYyBmaWxlcyB3aWxsIG92ZXJyaWRlIHRoZSBjb2RlIGNvdmVyYWdlIG9mIHRoZSBwcmV2aW91cyBzcGVjIGZpbGUqKiAgClRvIGdlbmVyYXRlIGEgY29kZS1jb3ZlcmFnZSByZXBvcnQgZm9yIGFsbCBzcGVjIGZpbGVzLCBydW4gdGhlIGNvbW1hbmQgYG5weCBjeXByZXNzIHJ1bmAuIFRoaXMgd2lsbCBydW4gYWxsIG9mIHRoZSB0ZXN0cyBhdCB0aGUgc2FtZSB0aW1lIGFuZCBvdXRwdXQgYSBjb21iaW5lZCBjb2RlLWNvdmVyYWdlIHJlcG9ydCBhdCB0aGUgZW5kLiAgClRvIGRpc2FibGUgc2NyZWVuc2hvdHMgYW5kIHZpZGVvIGZvciBjeXByZXNzIHRlc3RzIHJ1biBgbnBtIHJ1biB0ZXN0OmN5cHJlc3NgICAKQWZ0ZXIgcnVubmluZyB0ZXN0cywgYC5ueWNfb3V0cHV0YCBhbmQgYGNvdmVyYWdlYCBmb2xkZXJzIGFyZSBnZW5lcmF0ZWQuIFRoZSBjb3ZlcmFnZSBmb2xkZXIgY29udGFpbnMgYWxsIG9mIHRoZSBjb2RlIGNvdmVyYWdlIHJlc3VsdHMgZnJvbSB0aGUgdGVzdHMuICAKTW9yZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgYXQgW2N5cHJlc3MgZG9jc10oaHR0cHM6Ly9naXRodWIuY29tL2N5cHJlc3MtaW8vY29kZS1jb3ZlcmFnZSkuICAKVGhlIGJlc3Qgd2F5IHRvIHZpZXcgY292ZXJhZ2UgcmVzdWx0cyBsb2NhbGx5IGlzIHRvIG9wZW4gdGhlIGBjb3ZlcmFnZS9sY292LXJlcG9ydC9pbmRleC5odG1sYCBmaWxlLgoKIyMg8J+boe+4j/CfkLYgUnVuIFNueWsgc2NhbnMKClRoZSBjb21tYW5kIHRvIHJ1biBhIFNueWsgT3BlbiBTb3VyY2Ugc2NhbiBpcyBgbnBtIHJ1biBzbnlrOm9wZW5zb3VyY2VgCgpUaGUgY29tbWFuZCB0byBydW4gYSBTbnlrIGNvZGUgc2NhbiBpcyBgbnBtIHJ1biBzbnlrOmNvZGVgCgpFeGlzdGluZyBpc3N1ZXMgaW4gdGhlIG1haW4gYnJhbmNoIGNhbiBiZSBbdmlld2VkIGhlcmVdKGh0dHBzOi8vYXBwLnNueWsuaW8vb3JnL3N1ZG9rdXJ1KQoKIyDwn5uj77iPIFJvYWRtYXAKCiMjIEdpdGh1YiBQcm9qZWN0IEthbmJhbiBCb2FyZHMKCldlIG9yZ2FuaXplIG91ciBmdXR1cmUgd29yayB1c2luZyB0aGUgW0Zyb250ZW5kIEdpdGh1YiBQcm9qZWN0IEJvYXJkXShodHRwczovL2dpdGh1Yi5jb20vb3Jncy9TdWRva3VydS9wcm9qZWN0cy80L3ZpZXdzLzEpIHdoaWNoIHdlIGN1cnJlbnRseSBoYXZlIGRpdmlkZWQgaW50byB0aGUgZm9sbG93aW5nIGNvbHVtbnMuIFdlIGFsc28gYXBwbHkgbGFiZWxzIHdoaWNoIGFyZSBbZG9jdW1lbnRlZCBoZXJlXShodHRwczovL2dpdGh1Yi5jb20vU3Vkb2t1cnUvRnJvbnRlbmQvbGFiZWxzKSBhbmQgd29yayB0b3dhcmRzIG1pbGVzdG9uZXMgW2xpc3RlZCBoZXJlXShodHRwczovL2dpdGh1Yi5jb20vU3Vkb2t1cnUvRnJvbnRlbmQvbWlsZXN0b25lcykuCgojIyMg8J+SoSBCYWNrbG9nCgpUaGlzIGlzIHRoZSBnZW5lcmFsIGJ1Y2tldCBmb3IgZXZlcnl0aGluZyB0aGF0IHdlIGFyZSBjb25zaWRlcmluZyBkb2luZyBzb21lZGF5IGJ1dCBkb2VzIG5vdCBmaXQgaW50byBhbnkgb2YgdGhlIGZvbGxvd2luZyBib2FyZHMuCgojIyMg4pqZ77iPIEluIGRldmVsb3BtZW50CgpUaGlzIGlzIGZvciBhbGwgdGhlIHRpY2tldHMgd2UgYXJlIGN1cnJlbnRseSB3b3JraW5nLiBSZXF1aXJlcyBhbiBhY2NlcHRhbmNlIGNyaXRlcmlhIHRvIGJlIGFkZGVkIHRvIHRoZSBkZXNjcmlwdGlvbiBhdCB0aGlzIHN0YWdlLgoKIyMjIPCfmqIgU2hpcHBlZAoKVGhpcyBpcyBmb3IgYWxsIHRoZSBjb29sIHRoaW5ncyB3ZSBoYXZlIGFscmVhZHkgYWNjb21wbGlzaGVkIQo= - readmeEtag: '"6354eb450e7226f37a0144ffb453e4ccd84ff260"' - readmeLastModified: Fri, 30 Aug 2024 01:26:44 GMT + IVtTdWRva3VydSBMb2dvXShodHRwczovL3N1ZG9rdXJ1LnMzLmFtYXpvbmF3cy5jb20vZ29sZExvZ29UZXh0LnBuZykKCiMgVGhlIE9mZmljaWFsIENyb3NzLVBsYXRmb3JtIEZyb250ZW5kIGZvciBvdXIgRnJlZSBPcGVuIFNvdXJjZSBTdWRva3UgUHJvamVjdAoKIyDwn5K7IFRyeSBvdXIgREVWIHNpdGUgYXQ6IGh0dHBzOi8vc3Vkb2t1cnUucGFnZXMuZGV2LwoKIyDirIfvuI8gRG93bmxvYWQgb3VyIGFscGhhIPCfk7FBbmRyb2lkLCDwn5CnTGludXgsIGFuZCDwn6qfV2luZG93cyBhcHAgYnVpbGRzIGF0OiBodHRwczovL3N1ZG9rdXJ1Lml0Y2guaW8vc3Vkb2t1cnUKClshW1BpcGVsaW5lXShodHRwczovL2dpdGh1Yi5jb20vU3Vkb0t1cnUvRnJvbnRlbmQvYWN0aW9ucy93b3JrZmxvd3MvcGlwZWxpbmUueW1sL2JhZGdlLnN2Zz9icmFuY2g9bWFpbildKGh0dHBzOi8vZ2l0aHViLmNvbS9TdWRvS3VydS9Gcm9udGVuZC9hY3Rpb25zL3dvcmtmbG93cy9waXBlbGluZS55bWwpClshW0NvdmVyYWxscyBDb3ZlcmFnZV0oaHR0cHM6Ly9jb3ZlcmFsbHMuaW8vcmVwb3MvZ2l0aHViL1N1ZG9LdXJ1L0Zyb250ZW5kL2JhZGdlLnN2Zz9icmFuY2g9bWFpbildKGh0dHBzOi8vY292ZXJhbGxzLmlvL2dpdGh1Yi9TdWRvS3VydS9Gcm9udGVuZD9icmFuY2g9bWFpbikKWyFbQ29kZWNvdiBDb3ZlcmFnZV0oaHR0cHM6Ly9jb2RlY292LmlvL2doL1N1ZG9LdXJ1L0Zyb250ZW5kL2dyYXBoL2JhZGdlLnN2Zz90b2tlbj1YUVNUS1BUQkZGKV0oaHR0cHM6Ly9jb2RlY292LmlvL2doL1N1ZG9LdXJ1L0Zyb250ZW5kKQpbIVtGT1NTQSBTdGF0dXNdKGh0dHBzOi8vYXBwLmZvc3NhLmNvbS9hcGkvcHJvamVjdHMvZ2l0JTJCZ2l0aHViLmNvbSUyRlN1ZG9LdXJ1JTJGRnJvbnRlbmQuc3ZnP3R5cGU9c2hpZWxkJmlzc3VlVHlwZT1saWNlbnNlKV0oaHR0cHM6Ly9hcHAuZm9zc2EuY29tL3Byb2plY3RzL2dpdCUyQmdpdGh1Yi5jb20lMkZTdWRvS3VydSUyRkZyb250ZW5kP3JlZj1iYWRnZV9zaGllbGQmaXNzdWVUeXBlPWxpY2Vuc2UpClshW0NvZGVGYWN0b3JdKGh0dHBzOi8vd3d3LmNvZGVmYWN0b3IuaW8vcmVwb3NpdG9yeS9naXRodWIvc3Vkb2t1cnUvZnJvbnRlbmQvYmFkZ2UpXShodHRwczovL3d3dy5jb2RlZmFjdG9yLmlvL3JlcG9zaXRvcnkvZ2l0aHViL3N1ZG9rdXJ1L2Zyb250ZW5kKQpbIVtDb2RhY3kgQmFkZ2VdKGh0dHBzOi8vYXBwLmNvZGFjeS5jb20vcHJvamVjdC9iYWRnZS9HcmFkZS8xMzQyZjg0MmExNGY0MGNjYTg1NmQ2ZTgxMjA0ZjhhYyldKGh0dHBzOi8vYXBwLmNvZGFjeS5jb20vZ2gvU3Vkb2t1cnUvRnJvbnRlbmQvZGFzaGJvYXJkP3V0bV9zb3VyY2U9Z2gmdXRtX21lZGl1bT1yZWZlcnJhbCZ1dG1fY29udGVudD0mdXRtX2NhbXBhaWduPUJhZGdlX2dyYWRlKQpbIVtNYWludGFpbmFiaWxpdHldKGh0dHBzOi8vYXBpLmNvZGVjbGltYXRlLmNvbS92MS9iYWRnZXMvNGNkMWQxMDI3YjdiMjUzMmM2ODAvbWFpbnRhaW5hYmlsaXR5KV0oaHR0cHM6Ly9jb2RlY2xpbWF0ZS5jb20vZ2l0aHViL1N1ZG9rdXJ1L0Zyb250ZW5kL21haW50YWluYWJpbGl0eSkKCiMjIFN1ZG9rdXJ1IGlzIGFuIG9wZW4tc291cmNlIHByb2plY3QgZm9jdXNlZCBvbiBkZXZlbG9waW5nIGEgd29ybGQtY2xhc3MsIGNyb3NzLXBsYXRmb3JtIFN1ZG9rdSBhcHAuIFdlIGFpbSB0byBwcm92aWRlIGEgZGVsaWdodGZ1bCB1c2VyIGV4cGVyaWVuY2Ugd2hpbGUgYWxzbyBjb250cmlidXRpbmcgdG8gdGhlIGNvbW11bml0eSBieSBidWlsZGluZyBhIGNvbGxlY3Rpb24gb2YgcmV1c2FibGUgc29mdHdhcmUgbW9kdWxlcy4gVGhlc2UgbW9kdWxlcyBhcmUgZGVzaWduZWQgdG8gYmUgZnJlZSwgd2VsbC1kb2N1bWVudGVkLCBtb2Rlcm4sIGFuZCBpbnRlcm9wZXJhYmxlLCBhbGxvd2luZyBkZXZlbG9wZXJzIHRvIGVhc2lseSBpbmNvcnBvcmF0ZSB0aGVtIGludG8gdGhlaXIgb3duIFN1ZG9rdS1yZWxhdGVkIHByb2plY3RzLgoKIyMjIFRoaXMgZnJvbnRlbmQgbW9kdWxlIGlzIHRoZSBwcmltYXJ5IHVzZXIgaW50ZXJmYWNlIGZvciBTdWRva3VydSwgcHJvdmlkaW5nIGEgY3Jvc3MtcGxhdGZvcm0gU3Vkb2t1IGV4cGVyaWVuY2UgYnVpbHQgd2l0aCBSZWFjdCBOYXRpdmUgV2ViIGFuZCBUeXBlU2NyaXB0LiBJdCBvZmZlcnMgYSBjbGVhbiwgaW50dWl0aXZlIGRlc2lnbiB3aXRoIGZlYXR1cmVzIHN1Y2ggYXM6CgotIPCfjq4gUGxheSBTdWRva3UgYWNyb3NzIDkgZGlmZmVyZW50IGRpZmZpY3VsdHkgbGV2ZWxzIGdlbmVyYXRlZCBieSB0aGUgU3Vkb2t1cnUgQ2xlYXJpbmdob3VzZSBtb2R1bGUKLSDwn46TIExlYXJuIGhvdyB0byBwbGF5IFN1ZG9rdSB3aXRoIGxlc3NvbnMgZnJvbSB0aGUgYmFzaWNzIGFsbCB0aGUgd2F5IHRvIGFkdmFuY2VkIHN0cmF0ZWdpZXMKLSDwn5OKIFN0YXRpc3RpY3MgdG8gdHJhY2sgeW91ciBwcm9ncmVzcwotIOKame+4jyBTZW5zaWJsZSBkZWZhdWx0IHNldHRpbmdzIGZvciBjYXN1YWwgcGxheWVycyB3aXRoIG9wdGlvbnMgdG8gY3VzdG9taXplIHRoZSBwbGF5aW5nIGV4cGVyaWVuY2UgZm9yIHVzZXJzIHdpdGggZGlmZmVyZW50IHBsYXlzdHlsZXMKLSDwn5OFIF9VcGNvbWluZ186IGN1c3RvbSBzdHJhdGVneSBiYXNlZCBoaW50cyBmcm9tIHRoZSBTdWRva3VydSBucG0gbGlicmFyeSBtb2R1bGUKLSDwn5OFIF9VcGNvbWluZ186IGRyaWxscyB3aGljaCBsZXQgeW91IHByYWN0aWNlIGluZGl2aWR1YWwgc3RyYXRlZ2llcyBhbHNvIHBvd2VyZWQgYnkgdGhlIFN1ZG9rdXJ1IG5wbSBsaWJyYXJ5IG1vZHVsZQoKIyDwn5al77iPIFN1cHBvcnRlZCBQbGF0Zm9ybXMKCiMjIFRpZXIgMSBTdXBwb3J0CgojIyMg8J+aoiBXZWIKCiMjIFRpZXIgMiBTdXBwb3J0CgojIyMg4pqS77iPIEFuZHJvaWQKCiMjIyDimpLvuI8gV2luZG93cwoKIyMjIOKaku+4jyBMaW51eAoKIyMgUGxhbm5lZCBTdXBwb3J0CgojIyMg8J+ThSBpT1MKCiMjIyDwn5OFIE1hY09TCgojIyBMZWdlbmQKCiMjIyDwn5qiIFRpZXIgMSBTdXBwb3J0IC0gV2UgaGF2ZSBmdWxsIGVuZCB0byBlbmQgdGVzdCBjb3ZlcmFnZSBmb3IgYWxsIG5ldyBhbmQgZXhpc3RpbmcgZnVuY3Rpb25hbGl0eS4gV2UgZG8gbWFudWFsIHRlc3Rpbmcgb2YgbmV3IGZlYXR1cmVzIGJlZm9yZSBkZXBsb3ltZW50LgoKIyMjIOKaku+4jyBUaWVyIDIgU3VwcG9ydCAtIFdlIGhhdmUgcGFydGlhbCBvciB6ZXJvIGVuZCB0byBlbmQgdGVzdCBjb3ZlcmFnZSBmb3IgbmV3IGFuZCBleGlzdGluZyBmdW5jdGlvbmFsaXR5LiBXZSBtYXkgbm90IGFsd2F5cyBkbyBtYW51YWwgdGVzdGluZyBvZiBuZXcgZmVhdHVyZXMgYmVmb3JlIGRlcGxveW1lbnQuCgojIyMg8J+ThSBQbGFubmVkIFN1cHBvcnQgLSBXZSBkbyBub3QgY3VycmVudGx5IHN1cHBvcnQgdGhpcyBwbGF0Zm9ybSwgYnV0IHdlIHBsYW4gb24gc3VwcG9ydGluZyBpbiB0aGUgZnV0dXJlLgoKIyDwn5ug77iPIExvY2FsIGRldmVsb3BtZW50CgojIyDimpnvuI8gR2VuZXJhbCBTZXR1cDoKCjEuIEdpdCBjbG9uZSB0aGlzIHJlcG9zaXRvcnkKMi4gSW5zdGFsbCBOb2RlLmpzIGB2MTkuNS4wYCBvciBsYXRlcgozLiBJbnN0YWxsIG5wbSBgOS4zLjFgIG9yIGxhdGVyCjQuIFJ1biBgbnBtIGlgIGluIHRoZSByb290IGZvbGRlcgoKIyMg8J+TsiBNb2JpbGUgU2V0dXAgKG5vdCBuZWVkZWQgdG8gcnVuIHdlYnNpdGUpOgoKMS4gQ29udGFjdCBUaG9tYXMgdG8gZ2V0IGFkZGVkIHRvIHRoZSBFeHBvIG9yZ2FuaXphdGlvbiBzbyB0aGF0IHlvdSBjYW4gbG9nIGluIHdpdGggeW91ciBvd24gZW1haWwgYW5kIHBhc3N3b3JkLgoyLiBEb3dubG9hZCB0aGUgZXhwbyBhcHAgb24geW91ciBtb2JpbGUgZGV2aWNlLgozLiBPbiB5b3VyIGRldmVsb3BtZW50IGRldmljZSwgZS5nLiwgbGFwdG9wLCBsb2dpbiBieSBydW5uaW5nOiBgZXhwbyBsb2dpbmAgYW5kIGZpbGwgb3V0IHRoZSBwYXJhbWV0ZXJzLgoKIyMg8J+Pg+KAjeKZgu+4jyBSdW5uaW5nIHRoZSBBcHBsaWNhdGlvbiBMb2NhbGx5CgoxLiBSdW4gYG5wbSBydW4gc3RhcnRgIGZyb20gdGhpcyByZXBvc2l0b3JpZXMgcm9vdCBmb2xkZXIKMi4gRm9yIGlPUywgc2NhbiB0aGUgUVIgY29kZSB3aXRoIHlvdXIgY2FtZXJhIGFwcCwgZm9yIEFuZHJvaWQgeW91IHdpbGwgbmVlZCB0byBzY2FuIHRoZSBjb2RlIGZyb20gd2l0aGluIHRoZSBFeHBvIGFwcC4KMy4gRm9yIFdlYiwgaGl0IHRoZSB3IGtleSB0byBzdGFydCB1cCB0aGUgd2Vic2l0ZSBhdCBgbG9jYWxob3N0OjE5MDAwYAoKIyMg8J+nrSBOYXZpZ2F0aW5nIHRoZSBDb2RlYmFzZQoKPGRldGFpbHM+CjxzdW1tYXJ5PmFwcDwvc3VtbWFyeT4KCvCfk4IgYXBwLyBpcyB0aGUgcGFyZW50IGZvbGRlciBmb3IgYWxsIHRoZSBhcHBsaWNhdGlvbiBjb2RlCgotIPCfk6EgQXBpLyBjb250YWlucyBjbGFzc2VzIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGludGVyYWN0IHdpdGggTG9jYWxTdG9yYWdlIHN0YXRlIGRhdGEKCi0g8J+WvO+4jyDvuI9Db21wb25lbnRzLyBjb250YWlucyB0aGUgUmVhY3QgY29tcG9uZW50cyBkaXNwbGF5ZWQgb24gdGhlIHBhZ2VzCiAgLSBDb250YWlucyBmb2xkZXJzIHRvIHN0b3JlIGNvbXBvbmVudHMgZm9yIHZhcmlvdXMgcGFnZXMKICAtIER1ZSB0byBpdHMgc2l6ZSBhbmQgY29tcGxleGl0eSB3ZSdsbCBicmVhayBkb3duIFN1ZG9rdUJvYXJkIGRpcmVjdG9yeSBmdXJ0aGVyLgogICAgLSBJbiBhZGRpdGlvbiB0byB0aGUgU3Vkb2t1Qm9hcmQudHN4IGNvbXBvbmVudCwgU3Vkb2t1Qm9hcmQgY29udGFpbnMgYSBmb2xkZXIgb2Ygc3ViY29tcG9uZW50cyAvQ29tcG9uZW50cywgYSBmb2xkZXIgb2YgaGVscGVyIGZ1bmN0aW9ucyAvRnVuY3Rpb25zLCBhbmQgYSBzdWRva3UudHMgZmlsZSB3aXRoIGV2ZW4gbW9yZSBoZWxwZXIgZnVuY3Rpb25zLgotIOKam++4jyBDb250ZXh0cy8gY29udGFpbnMgdGhlIFJlYWN0IGNvbnRleHRzIGNvZGUKICAtIFRPRE86IGV4cGxhaW4gdGhpcyBmb2xkZXIgYmV0dGVyCi0g8J+UoiBEYXRhLyBjb250YWlucyBmaWxlcyBmaWxsZWQgd2l0aCBTdWRva3UgcHV6emxlcyB0byBzZXJ2ZSB0byB0aGUgdXNlcgotIPCflKggRnVuY3Rpb25zLyBjb250YWlucyBmaWxlcyBvZiBoZWxwZXIgZnVuY3Rpb25zCi0g8J+nrSBOYXZpZ2F0aW9uLyBjb250YWlucyBjb2RlIGZvciBEcmF3ZXIgbmF2aWdhdGlvbgotIPCfk4QgUGFnZXMvIGNvbnRhaW5zIHRoZSBhcHBsaWNhdGlvbnMgcGFnZXMKICAtIENvbnRhY3RQYWdlLnRzeCBsZXRzIHVzZXJzIHByb3ZpZGUgdXMgd2l0aCBmZWVkYmFjayBmcm9tIGluc2lkZSB0aGUgYXBwCiAgICAtIDxpbWcgc3JjPSJkb2NzL1BhZ2VTY3JlZW5zaG90cy9Db250YWN0LnBuZyIgYWx0PSJDb250YWN0UGFnZSBTY3JlZW5zaG90IiB3aWR0aD00MDA+CiAgLSBEcmlsbEdhbWUudHN4IGlzIG5vdCBjdXJyZW50bHkgYXZhaWxhYmxlIHRvIHVzZXJzCiAgLSBEcmlsbFBhZ2UudHN4IGlzIG5vdCBjdXJyZW50bHkgYXZhaWxhYmxlIHRvIHVzZXJzCiAgLSBIb21lUGFnZS50c3ggaXMgdGhlIHVzZXJzIGVudHJ5IGludG8gdGhlIGFwcAogICAgLSA8aW1nIHNyYz0iZG9jcy9QYWdlU2NyZWVuc2hvdHMvSG9tZS5wbmciIGFsdD0iSG9tZVBhZ2UgU2NyZWVuc2hvdCIgd2lkdGg9NDAwPgogIC0gTGVhcm5QYWdlLnRzeCBsZXRzIHVzZXJzIHNlbGVjdCBsZXNzb25zIHRvIHN0YXJ0CiAgICAtIDxpbWcgc3JjPSJkb2NzL1BhZ2VTY3JlZW5zaG90cy9MZWFybi5wbmciIGFsdD0iTGVhcm5QYWdlIFNjcmVlbnNob3QiIHdpZHRoPTQwMD4KICAtIExlc3Nvbi50c3ggbGV0cyB1c2VycyBjb21wbGV0ZSBsZXNzb25zCiAgICAtIDxpbWcgc3JjPSJkb2NzL1BhZ2VTY3JlZW5zaG90cy9MZXNzb24ucG5nIiBhbHQ9Ikxlc3NvbiBTY3JlZW5zaG90IiB3aWR0aD00MDA+CiAgLSBQbGF5UGFnZS50c3ggbGV0cyB1c2VycyBzZWxlY3QgcHV6emxlIHRvIHBsYXkgYmFzZWQgb24gZGlmZmljdWx0eQogICAgLSA8aW1nIHNyYz0iZG9jcy9QYWdlU2NyZWVuc2hvdHMvUGxheS5wbmciIGFsdD0iUGxheSBTY3JlZW5zaG90IiB3aWR0aD00MDA+CiAgLSBQcm9maWxlUGFnZS50c3ggbGV0cyB1c2VycyBzZWxlY3QgcHJlZmVyZW5jZXMgZS5nLiB0aGVtZQogICAgLSA8aW1nIHNyYz0iZG9jcy9QYWdlU2NyZWVuc2hvdHMvUHJvZmlsZS5wbmciIGFsdD0iUHJvZmlsZSBTY3JlZW5zaG90IiB3aWR0aD00MDA+CiAgLSBSZWxlYXNlTm90ZXNQYWdlLnRzeCBsZXRzIHVzZXJzIHNlZSB3aGF0J3MgYWRkZWQgdG8gdGhlIGFwcCB3aXRoIGVhY2ggdmVyc2lvbiB1cGRhdGUKICAgIC0gPGltZyBzcmM9ImRvY3MvUGFnZVNjcmVlbnNob3RzL1JlbGVhc2VOb3Rlcy5wbmciIGFsdD0iUmVsZWFzZU5vdGVzIFNjcmVlbnNob3QiIHdpZHRoPTQwMD4KICAtIFN0YXRpc3RpY3NQYWdlLnRzeCBsZXRzIHVzZXJzIHNlZSB0aGVpciBTdWRva3UgcGxheWluZyBzdGF0aXN0aWNzCiAgICAtIDxpbWcgc3JjPSJkb2NzL1BhZ2VTY3JlZW5zaG90cy9TdGF0aXN0aWNzLnBuZyIgYWx0PSJTdGF0aXN0aWNzIFNjcmVlbnNob3QiIHdpZHRoPTQwMD4KICAtIFN1ZG9rdVBhZ2UudHN4IGxldHMgdXNlcnMgcGxheSBTdWRva3UhCiAgICAtIDxpbWcgc3JjPSJkb2NzL1BhZ2VTY3JlZW5zaG90cy9TdWRva3UucG5nIiBhbHQ9IlN1ZG9rdSBTY3JlZW5zaG90IiB3aWR0aD00MDA+Ci0g8J+OqCBTdHlsaW5nLyBjb250YWlucyBjb2RlIGZvciB0aGVtZSBhbmQgaGlnaGxpZ2h0aW5nIGNvbG9ycwoKPC9kZXRhaWxzPgoKPGRldGFpbHM+CjxzdW1tYXJ5PmRvY3M8L3N1bW1hcnk+Cgrwn5OCIGRvY3MvIGlzIHRoZSBwYXJlbnQgZm9sZGVyIGZvciBhbGwgdGhlIGRvY3VtZW50YXRpb24KCi0g8J+ToSBCYWNrZW5kQXBpQ2FsbHMvIGNvbnRhaW5zIGRvY3MgdG8gaGVscCB1bmRlcnN0YW5kIGhvdyB0byBtYWtlIEFQSSBjYWxscyB0byBTdWRva3VydSBucG0gbGlicmFyeQotIPCflrzvuI8gQ29tcG9uZW50cy8gY29udGFpbnMgdmFyaW91cyBkb2NzIHJlbGF0ZWQgdG8gU3Vkb2t1IGxvZ2ljLCB0ZXJtaW5vbG9neSwgYW5kIGhpZ2hsaWdodGluZwotIPCfk5wgRGVzaWduRGVjaXNpb25zLyBjb250YWlucyBkb2NzIGV4cGxhaW5pbmcgc29tZSBoaXN0b3JpY2FsIGRlc2lnbiBkZWNpc2lvbnMgbWFkZSBpbiB0aGUgYXBwcyBkZXZlbG9wbWVudAotIPCfk7ggUGFnZVNjcmVlbnNob3RzLyBjb250YWlucyBzY3JlZW5zaG90cyBvZiB0aGUgYXBwcyBwYWdlcyB1c2VkIGFzIHJlZmVyZW5jZSBpbiB0aGlzIFJFQURNRQoKPC9kZXRhaWxzPgoKPGRldGFpbHM+CjxzdW1tYXJ5PmUyZS93ZWI8L3N1bW1hcnk+CgotIPCflrzvuI8gY29tcG9uZW50cy8gY29udGFpbnMgdGVzdGluZyBjb21wb25lbnRzIHRvIGhlbHAgYXNzZXJ0IHRoaW5ncyBhYm91dCBjb21wb25lbnRzIGluY2x1ZGluZyB0aGUgU3Vkb2t1Qm9hcmQgaXRzZWxmCi0g8J+ThCBwYWdlLyBjb250YWlucyB0ZXN0aW5nIGNvbXBvbmVudHMgdG8gaGVscCBhc3NlcnQgdGhpbmdzIGFib3V0IHBhZ2VzCi0g8J+OrSBzcGVjcy8gY29udGFpbnMgdGhlIGFjdHVhbCBQbGF5d3JpZ2h0IGUyZSB0ZXN0cwotIPCflKIgZGF0YS50cyBjb250YWlucyB0ZXN0IFN1ZG9rdSBnYW1lIG9iamVjdHMKLSDwn4+X77iPIGZpeHR1cmUudHMgY29udGFpbnMgdGVzdCBmaXh0dXJlcyBpbmNsdWRpbmcgdG8gYXV0b21hdGljYWxseSBnZXQgdGhpbmdzIHNldHVwIGxpa2UgbmF2aWdhdGluZyB0byBhIHBhZ2UgdG8gYmUgdGVzdGVkCgo8L2RldGFpbHM+CgojIyDwn46tIFBsYXl3cmlnaHQgRTJFIFRlc3RzCgojIyMg4pqZ77iPIFNldHVwCgoxLiBSdW4gYG5weCBwbGF5d3JpZ2h0IGluc3RhbGxgIHRvIGluc3RhbGwgcGxheXdyaWdodCBkZXBlbmRlbmNpZXMKMi4gQ3JlYXRlIGEgYC5lbnZgIGZpbGUgaW4gZm9yIGxvY2FsIGRldmVsb3BtZW50IGJhc2VkIG9uIHZhbHVlcyBpbiBgLmVudi5leGFtcGxlYAoKIyMjIPCfj4PigI3imYLvuI8gUnVubmluZyB0aGUgVGVzdHMKCi0g4pqg77iPIE1ha2Ugc3VyZSB0aGF0IHRoZSB3ZWJzaXRlIGlzIHJ1bm5pbmcgbG9jYWxseSAob3IgY2hhbmdlIGJhc2VVUkwgdG8gbWF0Y2ggd2hlcmUgeW91IHdhbnQgdG8gdGVzdCkKLSDwn5K7IFJ1biBgbnBtIHJ1biBwbGF5d3JpZ2h0OnVpYCB0byBydW4gdGVzdHMgdXNpbmcgcGxheXdyaWdodCB1aQotIOKMqO+4jyBSdW4gYG5wbSBydW4gcGxheXdyaWdodDp0ZXN0YCB0byBydW4gdGVzdHMgdXNpbmcgcGxheXdyaWdodCBjbGkKLSDwn5OLIFJ1biBgbnBtIHJ1biBwbGF5d3JpZ2h0OnJlcG9ydGAgdG8gdmlldyBwbGF5d3JpZ2h0IHJlcG9ydAoKIyMjIPCflKcgU2V0dXAgdG8gdXNlIGEgU2luZ2xlIFB1enpsZSBmb3IgRGVidWdnaW5nCgotIEluIHRoZSBgYXBwL0FwaS9QdXp6bGVzLnRzYCBmaWxlLCB0aGUgYHN0YXJ0R2FtZWAgZnVuY3Rpb24gY2FuIGJlIG1vZGlmaWVkIHNvIHRoYXQgb25seSBhIHNpbmdsZSBnYW1lIGlzIHVzZWQuCi0gUmVwbGFjZSBgcmV0dXJuR2FtZU9mRGlmZmljdWx0eShkaWZmaWN1bHR5KWAgd2l0aCBgcmV0dXJuR2FtZU9mRGlmZmljdWx0eSgiZGV2IilgIGFuZCB0aGUgZGV2IHB1enpsZSB3aWxsIGJlIHJldHJpZXZlZC4KLSBUaGUgYHJldHVybkdhbWVPZkRpZmZpY3VsdHlgIGZ1bmN0aW9uIGNhbiBhbHNvIGJlIG1vZGlmaWVkIHRvIHJldHVybiBhIGRlc2lyZWQgcHV6emxlLiBCeSBkZWZhdWx0LCBpdCByZXR1cm5zIHRoZSBmaXJzdCBgbm92aWNlYCBwdXp6bGUuCgojIyMg4pqg77iPIEN5cHJlc3MgRTJFIFRlc3RzIOKaoO+4jyAoV2UgYXJlIHBoYXNpbmcgb3V0IEN5cHJlc3MgVGVzdHMpCgpSdW4gYG5wbSBydW4gd2ViOmRldmAgIApUaGlzIHN0YXJ0cyB0aGUgd2Vic2l0ZSBpbiBkZXZlbG9wbWVudCBtb2RlLCB3aXRoIGFjY2VzcyB0byB0aGUgZGV2ZWxvcG1lbnQgcGx1Z2lucy4gIApSdW4gYG5wbSBydW4gb3BlbjpjeXByZXNzYCBvciBgbnB4IGN5cHJlc3Mgb3BlbmAgdG8gb3BlbiB1cCB0aGUgY3lwcmVzcyB0ZXN0aW5nIGludGVyZmFjZS4gIAoqKk5vdGU6IFJ1bm5pbmcgaW5kaXZpZHVhbCBzcGVjIGZpbGVzIHdpbGwgb3ZlcnJpZGUgdGhlIGNvZGUgY292ZXJhZ2Ugb2YgdGhlIHByZXZpb3VzIHNwZWMgZmlsZSoqICAKVG8gZ2VuZXJhdGUgYSBjb2RlLWNvdmVyYWdlIHJlcG9ydCBmb3IgYWxsIHNwZWMgZmlsZXMsIHJ1biB0aGUgY29tbWFuZCBgbnB4IGN5cHJlc3MgcnVuYC4gVGhpcyB3aWxsIHJ1biBhbGwgb2YgdGhlIHRlc3RzIGF0IHRoZSBzYW1lIHRpbWUgYW5kIG91dHB1dCBhIGNvbWJpbmVkIGNvZGUtY292ZXJhZ2UgcmVwb3J0IGF0IHRoZSBlbmQuICAKVG8gZGlzYWJsZSBzY3JlZW5zaG90cyBhbmQgdmlkZW8gZm9yIGN5cHJlc3MgdGVzdHMgcnVuIGBucG0gcnVuIHRlc3Q6Y3lwcmVzc2AgIApBZnRlciBydW5uaW5nIHRlc3RzLCBgLm55Y19vdXRwdXRgIGFuZCBgY292ZXJhZ2VgIGZvbGRlcnMgYXJlIGdlbmVyYXRlZC4gVGhlIGNvdmVyYWdlIGZvbGRlciBjb250YWlucyBhbGwgb2YgdGhlIGNvZGUgY292ZXJhZ2UgcmVzdWx0cyBmcm9tIHRoZSB0ZXN0cy4gIApNb3JlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBhdCBbY3lwcmVzcyBkb2NzXShodHRwczovL2dpdGh1Yi5jb20vY3lwcmVzcy1pby9jb2RlLWNvdmVyYWdlKS4gIApUaGUgYmVzdCB3YXkgdG8gdmlldyBjb3ZlcmFnZSByZXN1bHRzIGxvY2FsbHkgaXMgdG8gb3BlbiB0aGUgYGNvdmVyYWdlL2xjb3YtcmVwb3J0L2luZGV4Lmh0bWxgIGZpbGUuCgojIyDwn5uh77iP8J+QtiBSdW4gU255ayBzY2FucwoKVGhlIGNvbW1hbmQgdG8gcnVuIGEgU255ayBPcGVuIFNvdXJjZSBzY2FuIGlzIGBucG0gcnVuIHNueWs6b3BlbnNvdXJjZWAKClRoZSBjb21tYW5kIHRvIHJ1biBhIFNueWsgY29kZSBzY2FuIGlzIGBucG0gcnVuIHNueWs6Y29kZWAKCkV4aXN0aW5nIGlzc3VlcyBpbiB0aGUgbWFpbiBicmFuY2ggY2FuIGJlIFt2aWV3ZWQgaGVyZV0oaHR0cHM6Ly9hcHAuc255ay5pby9vcmcvc3Vkb2t1cnUpCgojIPCfm6PvuI8gUm9hZG1hcAoKIyMgR2l0aHViIFByb2plY3QgS2FuYmFuIEJvYXJkcwoKV2Ugb3JnYW5pemUgb3VyIGZ1dHVyZSB3b3JrIHVzaW5nIHRoZSBbRnJvbnRlbmQgR2l0aHViIFByb2plY3QgQm9hcmRdKGh0dHBzOi8vZ2l0aHViLmNvbS9vcmdzL1N1ZG9rdXJ1L3Byb2plY3RzLzQvdmlld3MvMSkgd2hpY2ggd2UgY3VycmVudGx5IGhhdmUgZGl2aWRlZCBpbnRvIHRoZSBmb2xsb3dpbmcgY29sdW1ucy4gV2UgYWxzbyBhcHBseSBsYWJlbHMgd2hpY2ggYXJlIFtkb2N1bWVudGVkIGhlcmVdKGh0dHBzOi8vZ2l0aHViLmNvbS9TdWRva3VydS9Gcm9udGVuZC9sYWJlbHMpIGFuZCB3b3JrIHRvd2FyZHMgbWlsZXN0b25lcyBbbGlzdGVkIGhlcmVdKGh0dHBzOi8vZ2l0aHViLmNvbS9TdWRva3VydS9Gcm9udGVuZC9taWxlc3RvbmVzKS4KCiMjIyDwn5KhIEJhY2tsb2cKClRoaXMgaXMgdGhlIGdlbmVyYWwgYnVja2V0IGZvciBldmVyeXRoaW5nIHRoYXQgd2UgYXJlIGNvbnNpZGVyaW5nIGRvaW5nIHNvbWVkYXkgYnV0IGRvZXMgbm90IGZpdCBpbnRvIGFueSBvZiB0aGUgZm9sbG93aW5nIGJvYXJkcy4KCiMjIyDimpnvuI8gSW4gZGV2ZWxvcG1lbnQKClRoaXMgaXMgZm9yIGFsbCB0aGUgdGlja2V0cyB3ZSBhcmUgY3VycmVudGx5IHdvcmtpbmcuIFJlcXVpcmVzIGFuIGFjY2VwdGFuY2UgY3JpdGVyaWEgdG8gYmUgYWRkZWQgdG8gdGhlIGRlc2NyaXB0aW9uIGF0IHRoaXMgc3RhZ2UuCgojIyMg8J+aoiBTaGlwcGVkCgpUaGlzIGlzIGZvciBhbGwgdGhlIGNvb2wgdGhpbmdzIHdlIGhhdmUgYWxyZWFkeSBhY2NvbXBsaXNoZWQhCg== + readmeEtag: '"60deb1e9e345a9d3dbdb6859a399347ec8128310"' + readmeLastModified: Thu, 26 Sep 2024 23:07:25 GMT repositoryId: 559579865 description: null created: '2022-10-30T14:59:36Z' - updated: '2024-09-12T23:50:22Z' + updated: '2024-09-26T23:07:30Z' language: TypeScript archived: false stars: 2 @@ -32747,8 +32747,8 @@ owner: Sudokuru logo: https://avatars.githubusercontent.com/u/114212382?v=4 license: GPL-3.0 - repoEtag: '"d5e29cf2854fe46a12d04c2eaf697507ffb3026b137659d3f68b632d396699ed"' - repoLastModified: Thu, 12 Sep 2024 23:50:22 GMT + repoEtag: '"e495ace23d844c9083b91c5fe8862f9b4a55d19987a25e08de4d3fe224298b04"' + repoLastModified: Thu, 26 Sep 2024 23:07:30 GMT category: Server Implementations foundInMaster: true - source: openapi3 tags @@ -33124,7 +33124,7 @@ owner: mtkhawaja logo: https://avatars.githubusercontent.com/u/36654508?v=4 license: Apache-2.0 - repoEtag: '"10a8bf264a35d8e63def6d50fe184968b62a58bc02b78969a8a4df5f63483a69"' + repoEtag: '"6b090681956056ef948851043c9314eaea104046ee31f4e5c965e019d81f9aa9"' repoLastModified: Mon, 11 Mar 2024 10:37:33 GMT category: Server Implementations foundInMaster: true @@ -33359,7 +33359,7 @@ applications. Currently targeting whitebox and blackbox testing of Web APIs, like REST, GraphQL and RPC (e.g., gRPC and Thrift). created: '2017-05-25T09:11:23Z' - updated: '2024-09-25T12:33:35Z' + updated: '2024-09-26T18:59:56Z' language: Kotlin archived: false stars: 499 @@ -33368,8 +33368,8 @@ owner: WebFuzzing logo: https://avatars.githubusercontent.com/u/29148026?v=4 license: LGPL-3.0 - repoEtag: '"5886a4ae9c96ad69be0722e0721efe3b47a16f01062f97c3b8a3775ef8d2b051"' - repoLastModified: Wed, 25 Sep 2024 12:33:35 GMT + repoEtag: '"ce89cb9c615ac22cdd9b5a8b57403454f613a1c3761f6453d31bcefb52e4c984"' + repoLastModified: Thu, 26 Sep 2024 18:59:56 GMT foundInMaster: true id: d1d3d85149c4a9437dbdbf157cf3d7c7 oldLocations: @@ -34687,17 +34687,17 @@ repositoryId: 586543156 description: The ultimate toolkit for working with APIs. created: '2023-01-08T14:15:23Z' - updated: '2024-09-26T01:50:53Z' + updated: '2024-09-26T14:54:12Z' language: TypeScript archived: false - stars: 658 + stars: 659 watchers: 5 forks: 50 owner: kubb-labs logo: https://avatars.githubusercontent.com/u/122118236?v=4 license: MIT - repoEtag: '"bc092c5b9a624517726e2978b638cc986b8250819f74bd834eb355910d9492c0"' - repoLastModified: Thu, 26 Sep 2024 01:50:53 GMT + repoEtag: '"0554b387007167b990c02cc1d339e9bcda8f4ba6294a2ebede24f62932bbd06c"' + repoLastModified: Thu, 26 Sep 2024 14:54:12 GMT foundInMaster: true oldLocations: - https://github.com/kubb-project/kubb @@ -34778,7 +34778,7 @@ forks: 30 owner: apicat logo: https://avatars.githubusercontent.com/u/64158984?v=4 - repoEtag: '"69132aa5f6a38a148adfbfd55e41e264a9c98983e4535ced524f24556b69249e"' + repoEtag: '"e448c8a7463d764754ec289c7a62780324044a7c9347bc077da2aea4ad351943"' repoLastModified: Mon, 23 Sep 2024 20:29:51 GMT category: Server Implementations foundInMaster: true @@ -34795,17 +34795,17 @@ Full stack, modern web application template. Using FastAPI, React, SQLModel, PostgreSQL, Docker, GitHub Actions, automatic HTTPS and more. created: '2019-02-23T15:08:34Z' - updated: '2024-09-26T03:11:07Z' + updated: '2024-09-27T01:44:26Z' language: TypeScript archived: false - stars: 26354 - watchers: 265 - forks: 4627 + stars: 26371 + watchers: 264 + forks: 4634 owner: fastapi logo: https://avatars.githubusercontent.com/u/156354296?v=4 license: MIT - repoEtag: '"777fc9c83eb323b849890415a92cc4725c88d60fabe8f81601ee632530646a40"' - repoLastModified: Thu, 26 Sep 2024 03:11:07 GMT + repoEtag: '"94a4bf06e9971d2be97244a47a74dd2ac41860dac657d2b01e3c02f082beaa11"' + repoLastModified: Fri, 27 Sep 2024 01:44:26 GMT foundInMaster: true category: Server Implementations id: 0354007b562b4efc3f08ce3da7f03afb @@ -34830,7 +34830,7 @@ forks: 4 owner: iStandaarden logo: https://avatars.githubusercontent.com/u/54351663?v=4 - repoEtag: '"6170953564b62ec82aed067a6e5a0a3542bd1d393a5237b6e33ef617cc642404"' + repoEtag: '"7cd8efac6ae5e7635215777cd5220151d8c6c2f1d3657fa57298ef68a5a56abf"' repoLastModified: Mon, 26 Aug 2024 11:55:55 GMT foundInMaster: true category: Documentation @@ -39694,17 +39694,17 @@ Examples and server integrations for generating the Swagger API Specification, which enables easy access to your REST API created: '2011-07-05T23:44:11Z' - updated: '2024-09-25T20:25:04Z' + updated: '2024-09-26T11:22:03Z' language: Java archived: false - stars: 7373 + stars: 7372 watchers: 310 forks: 2173 owner: swagger-api logo: https://avatars.githubusercontent.com/u/7658037?v=4 license: Apache-2.0 - repoEtag: '"a72c9c15aad5aa94802c9ab6a8b1633a47c33cce6193258435fdc7ccd581ba5d"' - repoLastModified: Wed, 25 Sep 2024 20:25:04 GMT + repoEtag: '"d679a3927c2f2d5b7c3406dac30801cbbc13feefa879221bb2c61d23fac272fc"' + repoLastModified: Thu, 26 Sep 2024 11:22:03 GMT id: 266d60df2d48ad8a47539de3c1071f3a - source: IMPLEMENTATIONS.md name: Microsoft.OpenApi.net @@ -39727,17 +39727,17 @@ in .NET along with common serializers to extract raw OpenAPI JSON and YAML documents from the model. created: '2017-07-14T00:24:14Z' - updated: '2024-09-26T02:51:56Z' + updated: '2024-09-26T15:51:13Z' language: C# archived: false - stars: 1389 + stars: 1391 watchers: 64 forks: 230 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"6446f6909cfd82231a12192e41d1c9f83275b940e6e2a679adf78b1f30193500"' - repoLastModified: Thu, 26 Sep 2024 02:51:56 GMT + repoEtag: '"5b6c10b4481c977fa7977af73f051bf4b19d8a2ab0ccd194f1c2dc0912e8135d"' + repoLastModified: Thu, 26 Sep 2024 15:51:13 GMT id: f3215034d64cfcbcc28a4bdb0205a075 - source: IMPLEMENTATIONS.md name: openapi-validator @@ -39933,17 +39933,17 @@ repositoryId: 32223373 description: A model-based test case generator created: '2015-03-14T17:22:38Z' - updated: '2024-09-15T01:19:26Z' + updated: '2024-09-26T17:27:56Z' language: Java archived: false - stars: 217 + stars: 218 watchers: 20 forks: 53 owner: Cornutum logo: https://avatars.githubusercontent.com/u/11477145?v=4 license: MIT - repoEtag: '"5830883b5647b431645d510c02afa64a545071cfc47647ea5a560c526d8450e3"' - repoLastModified: Sun, 15 Sep 2024 01:19:26 GMT + repoEtag: '"40a77919a7097e1315eca5559ef94db3eee622c723287eb53b61d30e94d3abf9"' + repoLastModified: Thu, 26 Sep 2024 17:27:56 GMT id: 14da7572a7632f9a9fb1c1ab2acef586 - source: IMPLEMENTATIONS.md name: Vert.x Web API Contract @@ -40036,17 +40036,17 @@ repositoryId: 30567860 description: Single file PHP script that adds a REST API to a SQL database created: '2015-02-10T01:08:52Z' - updated: '2024-09-25T20:37:00Z' + updated: '2024-09-26T15:05:44Z' language: PHP archived: false - stars: 3589 + stars: 3590 watchers: 171 forks: 1007 owner: mevdschee logo: https://avatars.githubusercontent.com/u/1288217?v=4 license: MIT - repoEtag: '"4b8ac1d97132788397abe34466d2541efa3697a80d5070d930268c3f34468213"' - repoLastModified: Wed, 25 Sep 2024 20:37:00 GMT + repoEtag: '"f6b311be545d60496469a9300bc218bd2d6635d164aaf44153acdc9969e00bf5"' + repoLastModified: Thu, 26 Sep 2024 15:05:44 GMT id: 84a7be428932f7789a8ad1a220b22216 - source: IMPLEMENTATIONS.md name: Fastify OpenAPI v3 @@ -40912,17 +40912,17 @@ LoopBack makes it easy to build modern API applications that require complex integrations. created: '2017-01-09T17:27:14Z' - updated: '2024-09-25T11:04:50Z' + updated: '2024-09-26T22:31:49Z' language: TypeScript archived: false - stars: 4930 + stars: 4934 watchers: 136 forks: 1063 owner: loopbackio logo: https://avatars.githubusercontent.com/u/22173486?v=4 license: NOASSERTION - repoEtag: '"919df5a0484ba6e65137b71ee3a9d11cf4ad443b8ee491fb1bed9c99a7e09af9"' - repoLastModified: Wed, 25 Sep 2024 11:04:50 GMT + repoEtag: '"15f9979e7597a7eef1e5aa03391fa595ed4ba39ca7e312b050da5c0e35b28ae9"' + repoLastModified: Thu, 26 Sep 2024 22:31:49 GMT foundInMaster: true id: 9132c25ad468bed25b9dbbe3a352abc2 v3: true @@ -40994,17 +40994,17 @@ testing cloud services through their REST APIs and finding security and reliability bugs in these services. created: '2020-07-24T21:40:11Z' - updated: '2024-09-25T20:45:04Z' + updated: '2024-09-26T22:47:41Z' language: Python archived: false - stars: 2570 + stars: 2578 watchers: 35 forks: 296 owner: microsoft logo: https://avatars.githubusercontent.com/u/6154722?v=4 license: MIT - repoEtag: '"b5c1513029c2f567f2a28a74fe337b6ecca6237dcc5cdfd1c5eed4604ca5d54e"' - repoLastModified: Wed, 25 Sep 2024 20:45:04 GMT + repoEtag: '"01787900f6241ff40f6265413da409598552d357e3a311f873a66b3d23e47919"' + repoLastModified: Thu, 26 Sep 2024 22:47:41 GMT foundInMaster: true oldLocations: - https://github.com/microsoft/restler @@ -41717,7 +41717,7 @@ Protobuf v3 (for grpc) based lightweight microservice framework. It supports monolith service application as well. created: '2021-02-24T07:21:40Z' - updated: '2024-09-25T16:08:02Z' + updated: '2024-09-26T14:49:15Z' language: Go archived: false stars: 1430 @@ -41726,8 +41726,8 @@ owner: unionj-cloud logo: https://avatars.githubusercontent.com/u/79033021?v=4 license: MIT - repoEtag: '"67467c8e63cf3e436f5a0aaa928048bed732fc01bb3c07296c063d223a5489ed"' - repoLastModified: Wed, 25 Sep 2024 16:08:02 GMT + repoEtag: '"efc14bab755661d2f4bfdd2e207b30aae03eda8a9c5303bcbf8d359e07fc26ca"' + repoLastModified: Thu, 26 Sep 2024 14:49:15 GMT foundInMaster: true category: SDK id: aab01f8bda6c542fdacf9ee8dfa7d20d