IyBGaW5uaXNoIHRyYW5zbGF0aW9uIG9mIGljb252LgojIENvcHlyaWdodCAoQykgMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBNYXR0aSBLb3NraW1pZXMgPG1hdHRpQGFwdWxhbnRhLmZpPiwgMjAwMi4KIyAKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IGxpYmljb252IDEuOFxuIgoiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGJ1Zy1nbnUtbGliaWNvbnZAZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDQtMDEtMjIgMTE6NTQrMDEwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMi0wNy0wNSAxMzo0MyV6XG4iCiJMYXN0LVRyYW5zbGF0b3I6IE1hdHRpIEtvc2tpbWllcyA8bWF0dGlAYXB1bGFudGEuZmk+XG4iCiJMYW5ndWFnZS1UZWFtOiBGaW5uaXNoIDx0cmFuc2xhdGlvbi10ZWFtLWZpQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9aXNvLTg4NTktMTVcbiIKIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKCiM6IHNyYy9pY29udi5jOjU0Cm1zZ2lkICJVc2FnZTogaWNvbnYgWy1jXSBbLXNdIFstZiBmcm9tY29kZV0gWy10IHRvY29kZV0gW2ZpbGUgLi4uXSIKbXNnc3RyICIiCiJL5Hl0dPY6IGljb252IFstY10gWy1zXSBbLWYgc3n2dHT2a29vZGF1c10gWy10IHR1bG9za29vZGF1c10gW3RpZWRvc3RvIC4uLl0iCgojOiBzcmMvaWNvbnYuYzo1Ngptc2dpZCAib3I6ICAgIGljb252IC1sIgptc2dzdHIgInRhaTogICAgaWNvbnYgLWwiCgojOiBzcmMvaWNvbnYuYzo2NgojLCBjLWZvcm1hdAptc2dpZCAiIgoiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk9cbiIKIndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLlxuIgptc2dzdHIgIiIKIlTkdOQgb2hqZWxtYWEgbGV2aXRldOTkbiBzaWlu5CB0b2l2b3NzYSwgZXR05CBzZSBvbGlzaSBoefZkeWxsaW5lbixcbiIKIm11dHRhIGlsbWFuIG1pdOTkbiB0YWt1dXRhOyBpbG1hbiBlZGVzIGhpbGphaXN0YSB0YWt1dXRhIGthdXBhbGxpc2VzdGlcbiIKImh5duRrc3l0dOR25HN05CBsYWFkdXN0YSB0YWkgc292ZWx0dXZ1dWRlc3RhIHRpZXR0eXluIHRhcmtvaXR1a3NlZW4uXG4iCiJLYXRzbyBHUEwtbGlzZW5zc2lzdOQgbGlz5OQgeWtzaXR5aXNrb2h0aWEuXG4iCgojOiBzcmMvaWNvbnYuYzo2OQojLCBjLWZvcm1hdAptc2dpZCAiV3JpdHRlbiBieSAlcy5cbiIKbXNnc3RyICJLaXJqb2l0dGFudXQgJXMuXG4iCgojOiBzcmMvaWNvbnYuYzoxMDUgc3JjL2ljb252LmM6MTM3IHNyYy9pY29udi5jOjE4NwojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiBpbmNvbXBsZXRlIGNoYXJhY3RlciBvciBzaGlmdCBzZXF1ZW5jZVxuIgptc2dzdHIgImljb252OiAlczogZXDkdOR5ZGVsbGluZW4gdmFpaHRvLSB0YWkgbWVya2tpam9ub1xuIgoKIzogc3JjL2ljb252LmM6MTMxIHNyYy9pY29udi5jOjE4MgojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiBjYW5ub3QgY29udmVydFxuIgptc2dzdHIgImljb252OiAlczogZWkgdm9pIG11dW50YWFcbiIKCiM6IHNyYy9pY29udi5jOjE1MyBzcmMvaWNvbnYuYzoxOTIgc3JjL2ljb252LmM6MzEwCiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogJXM6ICIKbXNnc3RyICJpY29udjogJXM6ICIKCiM6IHNyYy9pY29udi5jOjIwMQojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6ICVzOiBJL08gZXJyb3JcbiIKbXNnc3RyICJpY29udjogJXM6IEkvTy12aXJoZVxuIgoKIzogc3JjL2ljb252LmM6Mjk0CiMsIGMtZm9ybWF0Cm1zZ2lkICJpY29udjogY29udmVyc2lvbiBmcm9tICVzIHVuc3VwcG9ydGVkXG4iCm1zZ3N0ciAiaWNvbnY6IG11dW5ub3MgJXMta29vZGF1a3Nlc3RhIGVpIG9sZSB0dWV0dHVcbiIKCiM6IHNyYy9pY29udi5jOjI5NgojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6IGNvbnZlcnNpb24gdG8gJXMgdW5zdXBwb3J0ZWRcbiIKbXNnc3RyICJpY29udjogbXV1bm5vcyAlcy1rb29kYXVrc2VlbiBlaSB0dWV0dHVcbiIKCiM6IHNyYy9pY29udi5jOjI5OAojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6IGNvbnZlcnNpb24gZnJvbSAlcyB0byAlcyB1bnN1cHBvcnRlZFxuIgptc2dzdHIgImljb252OiBtdXVubm9zICVzLWtvb2RhdWtzZXN0YSAlcy1rb29kYXVrc2VlbiBlaSBvbGUgdHVldHR1XG4iCgojOiBzcmMvaWNvbnYuYzozMDIKbXNnaWQgIihzdGRpbikiCm1zZ3N0ciAiKG9sZXR1c3N59nRlKSIKCiM6IHNyYy9pY29udi5jOjMyMwojLCBjLWZvcm1hdAptc2dpZCAiaWNvbnY6IEkvTyBlcnJvclxuIgptc2dzdHIgImljb252OiBJL08tdmlyaGVcbiIKCiN+IG1zZ2lkICIiCiN+ICJVc2FnZTogaWNvbnYgWy0tYmluYXJ5XSBbLWNdIFstc10gWy1mIGZyb21jb2RlXSBbLXQgdG9jb2RlXSBbZmlsZSAuLi5dIgojfiBtc2dzdHIgIiIKI34gIkvkeXR09jogaWNvbnYgWy0tYmluYXJ5XSBbLWNdIFstc10gWy1mIHN59nR09mtvb2RhdXNdIFstdCB0dWxvc2tvb2RhdXNdICIKI34gIlt0aWVkb3N0byAuLi5dIgo=